# hexenwerkzeug > Three free tools that run in your browser tab: cicada, a CAD editor that opens native DWG and DXF; schmelze, 3D modelling with booleans and a slicer; seance, a sample workbench with drum stem separation, BS.1770-4 loudness metering and break slicing. No install, no upload, no sign-in. Every tool is one self-contained page. Files arrive by drag and drop or a file picker, and every result is a file the page makes itself. There is no API to call and no upload endpoint: to use a tool, load its page. ## Tools - [cicada](https://hexenwerkzeug.com/tools/cicada): CAD for DWG and DXF. Draw, snap, trim, offset and dimension, with layers and undo. Opens native DWG and DXF, saves DXF and SVG. - [schmelze](https://hexenwerkzeug.com/tools/schmelze): 3D modelling and slicing. Model with solids and booleans, move parts with a gizmo, then slice them for the Prusa MINI. STL in and out, OBJ and glTF out. - [seance](https://hexenwerkzeug.com/tools/seance): sample workbench. See a sample as a spectrogram, split drums into stems, slice a break at its hits and measure loudness to BS.1770-4. ## Driving a tool as an agent Once a tool page has loaded it exposes one global: ```js window.hexenwerkzeug = { tool, // the tool's id, for example "cicada" version, describe(), // one sentence about the current document commands(), // [{ name, description, inputSchema }], JSON Schema run(name, args) // { ok, message?, errors?, description, data? } } const { ok, description } = await window.hexenwerkzeug.run("status", {}) ``` `commands()` is the same list that draws the toolbar, fills the command palette and parses the command line, so there is nothing a person can do that an agent cannot. `run()` checks its arguments against the schema before it runs and returns the new `describe()`. Commands that destroy work are marked `destructive: true`. `run("status", {})` is always safe and tells you the page has finished loading. Always await `run()`: seance returns a promise because separating stems takes seconds. The sentence from `describe()` is also the accessible name of the drawing surface, so a screen reader and an agent read the same text. ## Guides What each tool does with a given file format or task, and where it stops. - [Open a DWG file in your browser](https://hexenwerkzeug.com/dwg-viewer): Open DWG drawings from AutoCAD 2.1 to 2018 and later in a browser tab, without AutoCAD and without uploading them. Save what you see as DXF or SVG. Free. - [View and edit a DXF file in your browser](https://hexenwerkzeug.com/dxf-viewer): Open a DXF in a browser tab, measure it, change it and save it again as DXF or SVG. Layers, blocks, text and dimensions come through. Free, nothing uploaded. - [cicada as a free AutoCAD alternative: what it does and what it does not](https://hexenwerkzeug.com/free-autocad-alternative): cicada is a free 2D CAD editor in a browser tab that opens DWG and DXF. Who it suits, who it does not, and how it compares with other free options. - [Convert a DWG to DXF in your browser](https://hexenwerkzeug.com/dwg-to-dxf): Open a DWG from AutoCAD 2.1 to 2018 and later in a browser tab and save it as DXF R2018. Free, without AutoCAD, and the file is never uploaded. - [Open an STL file in your browser](https://hexenwerkzeug.com/stl-viewer): Look at an STL from every side, read its size in millimetres, scale and combine it, then save it as STL, OBJ or glTF. Free, in your browser, no upload. - [Slice an STL in your browser and look at every layer](https://hexenwerkzeug.com/stl-slicer): Pick a printer and a layer height, slice your STL and scrub through its layers, with its height, volume and layer count. Free, in the browser, nothing uploaded. - [Split a drum loop into kick, snare and cymbals](https://hexenwerkzeug.com/drum-stem-separation): Pull a drum loop or break apart into kick, snare, cymbals and the rest in your browser, then save each stem as a 24-bit WAV. Free, nothing uploaded. - [Chop a drum break into one-shots](https://hexenwerkzeug.com/sample-chopper): Find every hit in a break, audition the slices and save each as a 24-bit WAV, cut on a zero crossing so nothing clicks. Free, in your browser. - [Measure loudness in LUFS, in your browser](https://hexenwerkzeug.com/lufs-meter): Integrated, short-term and momentary LUFS, loudness range and true peak to BS.1770-4 and EBU R128, checked against reference tones. Free, no upload. - [Trim a WAV and cut a loop to the beat](https://hexenwerkzeug.com/wav-trimmer): Mark a region, snap it to the beat, loop it to check the seam and save it as a 24-bit WAV at your file's sample rate. Free, in your browser, no upload. ## Blog - [STL, OBJ and glTF: the units and axes each one assumes](https://hexenwerkzeug.com/blog/3d-file-formats): Why a part arrives a thousand times too big or on its side: what STL, OBJ, glTF and 3MF say about units and the up axis, and how schmelze writes each. - [Splitting drums without a neural network](https://hexenwerkzeug.com/blog/drum-separation-without-ai): How seance splits a drum loop into kick, snare and cymbals with plain signal processing, how each build measures it, and a separator we dropped. - [Which AutoCAD wrote this DWG? Read the first six bytes](https://hexenwerkzeug.com/blog/dwg-versions): Every DWG starts with a version code such as AC1032. What each code means, how to read it without AutoCAD, and what changed inside the file from R13 to 2018. - [What a LUFS meter measures, in five steps](https://hexenwerkzeug.com/blog/what-lufs-measures): Integrated loudness is a filter, a mean square, two gates and a logarithm. How BS.1770-4 gets one LUFS number, and why true peak is not sample peak. - [The two bits that sent our DWG reader the wrong way](https://hexenwerkzeug.com/blog/the-number-that-was-not-there): Our DWG reader decoded one field with the wrong encoding. The number looked plausible, became the plan, and the plan solved a problem that did not exist. ## More - [Sitemap](https://hexenwerkzeug.com/sitemap.xml) - [Feed](https://hexenwerkzeug.com/blog/feed.xml)