kapy academy

Exporting Your Model

9 min readUpdated Aug 2026

Use Export… in the header to turn the document into a file: an STL for your slicer, or a STEP for another CAD package. Pick the format, decide which parameter values to use, and press Export. The file lands in your browser's downloads.

Find the right icon first. The header buttons carry no labels, only tooltips, and the two export icons sit side by side. The rightmost opens the dialog this article is about; the one to its left is Export .kpy, which downloads the parametric document without asking anything. Hover before you click.

What leaves the documentFormat first, then what the parameters do. Current values exports the document as it stands; Custom changes them for this file alone.

The two formats

STL or STEP
STL STEP
What it is A triangle mesh Exact geometry, curves and all
Use it for Slicing and printing Handing the part to another CAD package
Files you get One per body written — visible bodies plus every support One, holding every body
Hidden bodies Left out, unless they are supports Left out
Print supports Included even when hidden, each in its own file Never included
Ghost placeholders Included Left out
Threads Cut for real, always Cut for real, or the export fails
Plan Free, always Maker

The dialog says as much in one line each: For 3D printing — triangulated mesh and For CAD interchange — exact B-Rep. If the file is going to a slicer, the answer is STL.

What leaves the document

An export contains the visible bodies. Hide a body in the Bodies window and it is missing from the file, in both formats, with no warning of any kind. That is the single most common way to ship a part with a hole where a boss should be. Open the Bodies window and show everything you want before you export.

Three exceptions are worth knowing by heart.

Print supports go into the STL even when they are hidden. A support's visibility in the editor is a view setting: it is hidden in the assembled view and shown on the bed, and it is real printed material either way, so it is always sliced. The same supports are never written into a STEP, which is meant to be a clean part rather than the scaffolding around it.

Ghost placeholders go into the STL as well. A ghost is drawn semi-transparent and cannot be clicked, which reads as "not really there", and STEP export agrees and leaves it out. STL does not: the imported motor you were designing around is written into the mesh as a solid, and your slicer will happily print it.

Nothing here shifts the part onto a build plate. The coordinates in the file are the document's own, exactly where the bodies sit relative to the origin. Placement and orientation on the bed are your slicer's business.

Exporting from inside the smart object editor adds a fourth: the reference cube the object is built against is a visible body, so it lands in the file. The file manager's preview column strips it; the export dialog does not.

Threads become real at export, and only then

A thread in the editor is a picture. The face under it is a plain cylinder: measuring gives the plain diameter, a fillet rounds a plain edge, a boolean cuts a plain cylinder. Nothing you do in the editor sees teeth.

Both export formats cut the thread for real, by different routes, and the difference matters.

STL cuts the thread into the mesh. There is no limit on the number of turns and no realistic way for it to fail. A long threaded rod exports the same as a short one.

STEP cuts the thread as true geometry, one thread at a time, and it can refuse. The cut is reliable for a handful of turns; past that the geometry stops converging and Kapy stops rather than writing you a broken solid:

Could not cut a clean thread into the body for export — the helical boolean did not converge to a valid solid at this pitch/depth, even after raising the tolerance. Try a slightly larger pitch or smaller depth, or export with the thread shown as a cosmetic indicator only.

Take the advice in that order: a coarser pitch first, then a shallower thread, then fewer turns. If the STEP is only for a colleague checking dimensions, delete the thread feature and export the plain cylinder with a note.

Expect a STEP with threads to take a while: tens of seconds per thread. That is once, at export, and it is not a hang.

One model, several files

STL export writes one file per body. A single-body part gives you one file named after the document. A four-body assembly gives you four files named document_body.stl, released a fifth of a second apart, and your browser will ask whether to allow multiple downloads. Allow it, or you get the first file and nothing else.

Count the supports in when you predict that number. A document holding one visible part and one hidden support exports two files, not one, and the second is the body you deliberately hid. The count is visible bodies plus every support, whatever its visibility.

That is usually what you want, because each body is its own part on the plate. If you wanted one mesh, union the bodies first. See Working with Several Bodies.

STEP writes one file containing everything, which is what another CAD package expects.

Characters a file system will not take are replaced with an underscore rather than dropped, so a body called M4 x 12 / hex in a document called Bracket arrives as Bracket_M4 x 12 _ hex.stl. Two bodies with the same name get a number appended so nothing is overwritten.

Exporting at values other than the ones in the document

The Parameters section of the dialog is how you produce a variant without editing your model.

  • Current values exports the document as it stands.
  • Custom lets you override values for this export alone. The document is not changed.
  • Preset applies a saved set of values.

Only parameters you have marked as exported appear here, using the toggle on each row of the parameters panel. A dialog reading No exported parameters in this document. is telling you nobody published any, not that the model has none. See Named Parameters.

Presets are saved with the document, so they travel with the file and are there for everyone who opens it. Save as new stores what is in the boxes now; Update overwrites the selected one.

Two behaviours to expect. Switching between Custom and Preset discards whatever you had typed, because each mode reseeds the list. And only values that differ from the document are applied, so a parameter you left alone keeps its expression rather than being frozen at a number.

What is free and what needs Maker

STL export is free on every plan, with no limits, from the editor's export dialog and the file manager's preview column alike. Printing your own designs never needs a paid plan.

Two exports need the Maker plan:

  • STEP, from either surface. The check runs before anything is built, so the dialog closes and the upgrade panel opens: Export editable STEP (B-Rep) files with the Maker plan. STL export is always free.
  • .kpy, the parametric source: the whole document with its features, sketches and parameters, the thing you import to get an editable model back rather than a mesh. It is the Export .kpy icon in the header, the .kpy button in the preview column, and the Download command in the file manager toolbar.

In the file manager, watch the wording: the toolbar's Download means .kpy and needs Maker; the preview column's STL is the free one. Locked buttons still look live and carry a small padlock, and clicking one opens the upgrade panel rather than a file.

Mesh quality

You cannot set it, and you do not need to. The STL is written at a fixed accuracy chosen so cylinders and thread flanks come out smooth: about 0.05 mm of deviation from the true surface, an eighth of a 0.4 mm bead and well below anything a printer can render. Exporting for print explains why finer would only cost you file size.

When it fails

No visible bodies to export.

Everything is hidden, or the model produced no geometry at all. Check the Bodies window first and the timeline second.

OCCT worker is not ready.

The geometry engine has not finished starting, which happens if you export within a second or two of opening a document. Wait, then export again.

Anything else shows up in the dialog rather than as a toast, and the dialog stays open so you can change something and retry. A rebuild error is the usual cause: the export builds the model from scratch at your chosen values, and a combination the model cannot build fails here exactly as it would in the editor. Switch to Current values to confirm.

See also

Discord