STL or 3MF for 3D-printed orthotic insoles: which format to use and why
Read in: Español
If you design orthotic insoles for 3D printing, sooner or later you have to pick an export format. The two you will almost always come across are STL and 3MF. Both will get you a print, but they don't carry the same information — and with an insole that difference matters, because when firmness varies by zone, the print settings are part of the prescription.
Quick summary
| STL | 3MF | |
|---|---|---|
| What it contains | Only the triangle mesh | Mesh + units + metadata + (optionally) slicer settings |
| Units | Not declared (millimetres are assumed) | Declared in the file |
| Print settings | No | Yes, in each slicer's project format |
| Different firmness per zone | No (has to be set up by hand) | Yes, through modifiers |
| Compatibility | Universal | Very broad for geometry; settings depend on the slicer |
STL: geometry and nothing else
STL is the oldest and most universal 3D-printing format. It describes the surface of the part as a list of triangles, and that's it: no units, no material, no infill, no intended orientation.
That has clear advantages:
- Every slicer opens it: Bambu Studio, OrcaSlicer, PrusaSlicer, Ultimaker Cura…
- It's easy to review and archive: it's pure geometry, and you can compute a fingerprint (hash) of the file to know exactly which design a given part was made from.
And one important limitation for insoles: everything that isn't shape has to be set up again in the slicer every time. TPU material, infill density and pattern, supports, bed adhesion… If the prescription calls for a softer rearfoot than forefoot, that information simply doesn't exist in an STL, and it depends on someone re-entering it correctly.
3MF: the part and how to print it
3MF is a more modern format (a compressed package with XML inside) designed precisely to cover what STL doesn't. Besides the mesh, it declares units and can include metadata and configuration.
There is one nuance worth knowing: the geometry in a 3MF is standard, but the embedded print settings are specific to each slicer. Bambu Studio and OrcaSlicer (a fork of it) read their own project format; PrusaSlicer uses a different one, and Cura another. In practice:
- A 3MF project prepared for Bambu Studio opens in Bambu Studio or OrcaSlicer with the part placed on the plate and the profiles loaded: slice and print.
- The same file opened in PrusaSlicer or Cura loads the geometry correctly, but not the settings. Those slicers need a 3MF prepared in their own format.
Why it matters for insoles: per-zone firmness
In an insole printed in TPU, how hard it feels depends far more on the internal infill than on the material. The same design can behave as soft or firm just by changing the infill density.
And prescriptions are rarely uniform: a softer rearfoot for a heel spur or plantar fasciitis, a softer forefoot for metatarsalgia… 3MF can carry that inside the file through modifiers: volumes that tell the slicer "in this zone, use a different infill density". The slicer only changes the infill where the modifier intersects the part.
With an STL, the same insole comes out with a single infill unless someone adds the modifiers by hand for every print. That's exactly the kind of manual step where errors creep in.
So which one should I use?
- Your design software exports a 3MF for your slicer (Bambu Studio, OrcaSlicer, PrusaSlicer or Cura): use that 3MF project. You cut down manual setup and per-zone firmness reaches the printer intact.
- There's no 3MF prepared for your slicer, or you outsource manufacturing: use the STL as the geometry reference, and document the print parameters separately (material, infill, per-zone firmness) so they can be reproduced.
- For archiving and traceability: always keep the STL alongside the custom-made device documentation. It is the most stable record of which geometry was manufactured.
Neither format replaces validation: every combination of printer, material and parameters must be checked with real parts before using it with patients.
How Podia3D handles it
In Podia3D you can export both from the same parametric design:
- A manufacturing STL, validated as a closed (watertight) mesh, for any slicer.
- A 3MF project for the slicer you use, with per-zone firmness (rearfoot, midfoot, forefoot) already turned into infill modifiers:
- Bambu Studio / OrcaSlicer: also with the TPU profile, plate orientation and print settings loaded.
- PrusaSlicer (and SuperSlicer): modifiers in Prusa's own format; keep a TPU profile active.
- Cura: modifiers as infill meshes; material and global settings come from your active TPU profile.
Podia3D is a prototype in its pilot phase and is not certified as medical device software. You can try it now in your browser, no sign-up needed: you start with a sample case loaded, and when you want to export the STL or 3MF to open in your slicer, we just ask for your email.