Motivation
STEP (ISO 10303, .step/.stp) is the standard format for exact CAD data exchange. Unlike STL/3MF, it stores exact B-rep geometry (analytic surfaces, edges, topology), so exported parts remain editable and measurable in other CAD tools.
Challenge
LuaCAD's geometry kernel (Manifold) is mesh-based, so there is no B-rep to export directly. Options:
- Faceted STEP export — write the triangle mesh as planar faces in a
MANIFOLD_SOLID_BREP. Valid STEP, relatively simple to implement, but produces large files and loses the main benefit of STEP (exact analytic surfaces).
- Integrate a B-rep kernel — e.g. Open CASCADE via
opencascade-rs, or the pure-Rust truck / ruststep crates. Enables true STEP export but is a major architectural addition alongside Manifold.
Notes
- Target schema: AP214 or AP242 (best compatibility).
- Encoding is ISO 10303-21 ("Part 21"), a plain-text format with a HEADER section (schema, units) and a DATA section of numbered entities.
- A faceted export (option 1) could be a first step, with B-rep export as a longer-term goal.
Motivation
STEP (ISO 10303,
.step/.stp) is the standard format for exact CAD data exchange. Unlike STL/3MF, it stores exact B-rep geometry (analytic surfaces, edges, topology), so exported parts remain editable and measurable in other CAD tools.Challenge
LuaCAD's geometry kernel (Manifold) is mesh-based, so there is no B-rep to export directly. Options:
MANIFOLD_SOLID_BREP. Valid STEP, relatively simple to implement, but produces large files and loses the main benefit of STEP (exact analytic surfaces).opencascade-rs, or the pure-Rusttruck/ruststepcrates. Enables true STEP export but is a major architectural addition alongside Manifold.Notes