Overview
OpenGeometry supports both 2D and 3D export workflows:
- 2D drawings: project a 3D B-Rep to 2D lines (optionally with hidden line removal), then export
as PDF in native builds
- 3D interchange: export B-Reps or scenes to STL, STEP, or IFC
Runtime differences
Browser/WASM
In the WebAssembly build, export APIs return data in-memory:
- STL:
Uint8Array bytes
- STEP: text
- IFC: text
You download the data (Blob) or send it to your backend for persistence.
Native builds
Some convenience functions (PDF export and file-writing helpers for STL/STEP/IFC) are only available
in native builds and are not available in browser/WASM environments.
Export config JSON
Scene exports accept an optional config_json string:
- If
config_json is omitted, null, undefined, or an empty string, OpenGeometry uses defaults.
- If you provide
config_json, the payload must deserialize into the full config struct. Missing
required fields cause an error. If you want defaults, omit the config entirely.
Experimental status
Projection/hidden line removal, PDF export, STL export, STEP export, and IFC export are
experimental. Output and config schemas may change. If you hit an exporter limitation or confusing
output, reach out on Discord. Last modified on March 14, 2026