At a glance

filewhat it iswhat opens it
.scad An editable 3D design file. Change a number and the shape changes. OpenSCAD
.stl The same shape, ready to send to a 3D printer. Any slicer or mesh viewer
.json A list of every setting you chose and every number the tool worked out. Any text editor

.scad — parametric OpenSCAD

The geometry expressed as parameters you can change, rather than a frozen mesh. Open it, edit a number at the top, press F5, and the part updates.

Millimetres. Its lengths come out in millimetres, worked out from whole-pixel and whole-layer counts and the pitch and layer height set at its top.

Standalone. The file carries no use<> and no include<>. Everything it needs is in the one file, so it renders wherever you put it and does not depend on a library being installed or on any surrounding directory.

Renders clean. It renders in OpenSCAD 2021.01 with zero warnings. The design-tool verifiers treat any line of OpenSCAD output containing WARNING or ERROR as a failure, so a file that warned would not ship.

view_mode — and why it cannot affect your part

The file has a view_mode parameter with two values:

valuewhat you see
"part" The real solid. The thing that gets printed: an opaque block with the fluid network as internal voids.
"ghost" An inspection view. The block is drawn transparent and the fluid network is shown in colour inside it, so you can see the channels you cannot otherwise see.

Ghost is preview-only. It is guarded by OpenSCAD’s $preview, which is true in the F5 preview and false in an F6 render. So F6 and STL export always give you the real part, whatever view_mode is set to. You cannot accidentally export the inspection view, and you cannot accidentally export the fluid network as a solid.

This is checked rather than asserted: scripts/verify_scad_ghost.py renders every case in both modes and compares the exported geometry, its volume, its bounding box and its Euler characteristic. A guard failure would change all of them.

.stl — the mesh

propertyvalue
EncodingBinary
UnitsMillimetres
OrientationZ up
OriginThe block’s minimum corner

Hand-constructed and watertight. The mesh is built triangle by triangle in the browser from the same geometry the .scad describes. No CSG library is involved — there is no boolean solver to produce a near-miss intersection, a sliver face or an inverted normal. Every case the verifiers cover is asserted watertight, consistently wound and of positive volume, with its volume checked against a closed-form expression computed independently of the mesh.

Origin at the minimum corner means the part sits in the positive octant, so a slicer places it on the build plate without you having to move it first.

.json — the record

Every input parameter, and every value the tool computed from them, in one file. Lengths are in micrometres unless a name says otherwise, with the pixel and layer counts beside them; its units entry says which is which.

It exists for reproducibility. A .stl tells you the shape but not the intent; the JSON tells you which pitch was selected, what was typed versus what the grid rounded it to, and what the tool reported back. Keep it beside the geometry and the design can be reconstructed and re-derived later, including the parts of it that were a judgement call.

Its asked_and_used entry lists every number box shown when the file was made, by the name the tool’s address gives it: the number asked for and its unit (um for a length typed into its µm box), and the number the files use and its unit. A channel width typed as 301 µm on the BYU grid, 7.6 µm a pixel, reads "asked": 301, "asked_unit": "um", "used": 40, "used_unit": "px", "used_um": 304; typed as 305 µm, it reads 305 asked and the same 40 px used.

Files attached to library entries

The three formats above are what the generators produce. Entries in the library are a separate matter: each carries its own set of files attached to that entry, and the set varies from entry to entry. What an entry offers is listed on its own page, under Files to download.

← Back to documentation · Open the design tools