CageStep

Untessellate.

The STEP exporter Blender never had.

Your subdivision-surface model becomes watertight CAD — exact surfaces, creases included, your patch layout. One button. The file opens as a solid in anything that reads STEP AP242, verified in Onshape, FreeCAD, Alias, and OpenCascade.

Windows · Blender add-on · runs locally — your model never leaves your machine

Fig. 1The round-trip, in real time: a SubD body in Blender, one press of Extract, and the same shape open as a watertight solid in CAD.
the problem, fifteen years running

The problem

STL is not CAD.

Your machine shop already told you. A mesh has no surfaces to machine, no faces to dimension, no solid to trust.

Re-modeling costs days.

Rebuilding your model in a second app loses the surfaces you sweated over — and you get to do it again next revision.

Conversion gigs cost $25–100.

Per part. Every part. Every revision. Forever.

Blender artists have asked for real STEP export for as long as the forum threads go back. The answers were always the same: tessellate, re-model, or pay someone. CageStep is the fourth answer.

method

One button between your model and your machine shop

A subdivision-surface cage in Blender with a creased edge loop on the top rimcrease 1.0

Fig. 2a Model as you always do

Creases and all — edge creases, vertex creases, boundary creases, exactly as Blender defines them.

The same cage with edge loops marked in crease-magenta as patch bordersmark

Fig. 2b Mark your patch borders

Mark the edges you want as patch borders — or skip it; marking is optional.

The extracted STEP solid: the marked edges are now the exact B-rep face boundariesMANIFOLD_SOLID_BREP

Fig. 2c Press Extract

The engine starts itself and writes STEP AP242. Nothing to configure, nothing to babysit.

The whole thing installs from one 67 MB zip. No Python environment, no terminal, no separate install — the add-on starts the bundled engine itself and stops it when you disable it.

measured, not promised

Export Blender to STEP you can measure

In regular regions the output IS your subdivision surface — measured at machine precision, not approximated. Star points are tangent-continuous. Every seam is topologically shared: watertight is a property of the file, not a hope of the importer.

Measured results on the gate-verified test bodies
Surface deviation, regular regions0.0000000000000032 — not an approximation of the limit surface; the limit surface itself, to the computer's last digit3.2×1015
Seam gap (G0), every seamno gap a computer can measure: one shared edge curve per seam — watertight by construction, not healed to a tolerance2.7×1015
Smooth-seam angle, test body 01no measurable kink — max and median, every smooth seam class0.0000°
Smooth-seam angle, creased body 02about one fiftieth of a degree — every unpinned smooth seam≤ 0.021°
Volume agreement, recomputed by OCCT0.00004 % — OCCT re-measures the file's stated volume and agrees4×107
Area agreement, recomputed by OCCT0.000003 % — the same check, on surface area3×108
Table 1measured 2026-07 on the gate-verified test bodies; every value is enforced by an automated check in the engine's test suite (148 tests, five headless Blender gates). OCCT reads the file back with every interior edge shared by exactly two faces.

The same file, opened where your clients live. Every file carries CAx-IF validation properties — volume, area, centroid — that the receiving CAD checks on import.

Fig. 3aSolidWorks.
Fig. 3bOnshape.
Fig. 3cFreeCAD.
Fig. 3dAlias.
Fig. 3eValidation properties on import: the receiving CAD recomputes volume, area, and centroid and compares them against the values written in the file.
the part converters get wrong

Your patch layout. Not the algorithm's.

Auto-converters invent their own patch structure and hand you a quilt of arbitrary faces. CageStep does the opposite: the edge marks you author in Blender are the walls of the patch partition — and they become the actual B-rep face boundaries in the STEP file. The surfacing intent you modeled is the structure your CAD receives.

Fig. 4Marks in Blender, patch borders in CAD: toggling a mark redraws the face boundary in the exported solid.

Edge creases, vertex creases, boundary creases — they all survive. If your converter asks you to “manually insert edge loops instead”, it isn't converting your model.

— including fractional crease values, with Blender's exact crease semantics
read this before you pay us

What CageStep is not

Every conversion tool has an honesty problem. Ours is solved the same way the geometry is: reported, per patch, in the file you get. Here is the full list of approximations and limits — the same ones the extract report will show you.

Reported limitations

as printed in every extract report

  • :not-class-a

    It is not a Class-A surfacing tool.

    Nobody converting polygons is, whatever their landing page says. CageStep gives you exact reference and engineering geometry. Class-A teams will still rebuild by hand — but they start from your solid, not from a mesh.

  • :pinned

    Pinned spikes keep approximate caps.

    A vertex crease of 1.0 — an authored spike — is provably outside what a polynomial G1 cap can represent. Those caps are approximate, they get their own report class, and the report tells you exactly which patches are affected.

  • :semi-sharp

    Semi-sharp creases are approximated per level.

    Fractional creases between smooth and sharp are approximated at your chosen subdivision level. The report says so, per edge, instead of hoping you won't check.

  • :subd-only

    It converts SubD models, not any mesh.

    The input is the cage you build with Blender's Subsurf modifier. Triangle soups, scans, and sculpt exports are a different problem — and other tools' problem.

  • :open-shells

    Solids need closed cages.

    A closed single-shell cage becomes a genuine manifold solid (MANIFOLD_SOLID_BREP, orientation decided by measured signed volume). Open models export as surface shells instead — plus a loose per-surface mode for Alias-style workflows.

  • :windows

    Windows only, at launch.

    The engine is a separate local process; macOS and Linux builds are planned but not yet shipped. If that's a dealbreaker today, don't buy yet.

launch pricing

Pays for itself before the second revision.

Try the full product free for 15 days first — no payment details, nothing uploaded. If it earns its place in your pipeline, buy it once and keep it.

CageStep Indie

launch price

$119

One-time. For individual artists and freelancers.

  • Perpetual license — the version you buy runs forever, offline
  • 12 months of updates included
  • License delivered by email, minutes after checkout
  • 14-day money-back guarantee, no questions
  • No subscription. No phoning home. No account required to run it
Buy Indie — $119

the price of a few per-part conversion gigs — once

CageStep Studio

launch price

$329

One-time. For studios and teams — bought once on the company card.

  • Perpetual license — the version you buy runs forever, offline
  • 12 months of updates included
  • License delivered by email, minutes after checkout
  • 14-day money-back guarantee, no questions
  • No subscription. No phoning home. No account required to run it
Buy Studio — $329

VAT handled, invoice included — Polar is the merchant of record

Or start the free 15-day trial first

full function, no payment details, Windows

asked and answered

Questions a careful buyer asks

The next time someone asks for STEP, it's one button.

Fifteen days, full function, nothing uploaded. Decide with your own model.