Exporting and Sharing
Your .scad file is the recipe. Your slicer needs the baked cake.
This chapter is the handoff: formats, mesh resolution, and the
units trap.
The three formats
| Format | What it carries | Use it when |
|---|---|---|
| STL | Triangles only. No units, no color, no metadata. | Slicing. The universal minimum every slicer reads. |
| 3MF | Triangles + units + colors + print settings hints. | Slicing, when your slicer supports it (most modern ones do). Strictly better than STL. |
| STEP | Real solid geometry — curves stay curves. | Sharing the design with someone using different CAD software. Editable, precise. |
The rule of thumb: STL (or 3MF) to the printer, STEP to
another human, .scad/.FCStd to your future self. Never
treat an STL as an archive of the design — it's the one format you
can't cleanly edit.
Exporting from OpenSCAD
openscad -o bracket.stl bracket.scad
For 3MF: openscad -o bracket.3mf bracket.scad. Same command,
better container. For STEP, OpenSCAD can't help — STEP export is a
parametric-modeler feature (FreeCAD: File → Export → STEP).
Mesh resolution: $fn and the faceting tradeoff
An STL approximates curves with flat triangles. Too few and your "circle" is visibly a hexagon; too many and the file balloons.
$fn = 24–32: fine for holes and small features while designing.$fn = 64: the final export for visible curves.$fn = 128+: diminishing returns — your 0.4 mm nozzle can't resolve the difference, but your slicer will take longer to think about it.
Check: export the bracket at $fn = 32 and $fn = 64 and
compare file sizes. The 64 version is bigger but not absurdly so;
if a simple part exports to tens of megabytes, something (usually
a $fn on a big flat part, or minkowski()) got out of hand.
The units trap
STL files carry no unit information — just numbers. Everyone assumes millimeters, and usually that's right. The trap:
- You model in inches (or import a model made in inches).
- You export numbers like
2.5. - The slicer reads
2.5 mm. Your 2.5-inch part arrives the size of a grain of rice.
Defenses: model in millimeters from the start (Thinking in 3D); when importing someone else's STL, check the slicer's reported dimensions before printing — a phone stand that previews at 1800 mm long was modeled in inches (or cm).
Sharing your designs
- Printables / Thingiverse / MakerWorld: share the STL/3MF
and the source (
.scador STEP). Source included is what separates a file dump from a design others can adapt. - License: pick one and state it. CC BY-SA and MIT are common for hobby designs; "all rights reserved" is also fine — just say so instead of leaving it ambiguous.
- Document the parameters: a README that says "M4 holes, 5 mm plate, prints without supports" is worth more than a fourth photo. Future-you is also a downloader.
Versioning designs
.scad files are text — they belong in git, like any code. Commit
the script; optionally commit the exported STL too (it's a build
artifact, but handy for downloaders). A commit message like
"bracket: widen base to 80 mm for the new shelf" beats "update"
every time. (Git itself is covered in Git for Mere
Mortals.)
Next: Troubleshooting