Skip to content

Add STEP file export #8

Description

@ad-si

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:

  1. 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).
  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions