Start a section on CAD formats

Vectornaut 2025-10-10 00:45:07 +00:00
parent 5ee500526a
commit 3a33341904

@ -28,6 +28,24 @@ We want write-read and write-read-write round trips to be faithful.
# Framework and format # Framework and format
## CAD formats
### STEP
This format is described by the ISO 10303 standard. The standard includes an "Integrated Resource," described by [ISO 10303-108](https://www.iso.org/standard/34697.html), for "Parameterization and constraints for explicit geometric product models." As of 2008, there was no STEP Application Protocol that incorporated this integrated resource, but the authors of the paper below experimented with a hypothetical application protocol.
- Junhwan Kim, Michael J. Pratt, Raj G. Iyer, and Ram D. Sriram. ["Standardized data exchange of CAD models with design intent"](https://doi.org/10.1016/j.cad.2007.06.014). Computer-Aided Design 40 (7).
There's an experimental Rust crate for reading and writing STEP files, called [ruststep](https://github.com/ricosjp/ruststep).
### IGES
[This page](https://innovation.world/it/invention/iges-step/) claims that IGES "lacked the ability to store higher-level information like feature history or assembly constraints."
### SolveSpace
None of the SolveSpace [export options](https://solvespace.com/ref.pl#Export) talk about preserving constraint information.
## Rust frameworks ## Rust frameworks
[Serde](https://serde.rs) is a very popular serialization framework for software written in Rust. It supports many [formats](https://serde.rs/#data-formats) out of the box. Here are the human-readable ones that are designed for hierarchical data and are supported for both serialization and deserialization: [Serde](https://serde.rs) is a very popular serialization framework for software written in Rust. It supports many [formats](https://serde.rs/#data-formats) out of the box. Here are the human-readable ones that are designed for hierarchical data and are supported for both serialization and deserialization: