7 releases (breaking)
0.5.0 | May 28, 2021 |
---|---|
0.4.1 | May 27, 2021 |
0.4.0 | Jan 31, 2021 |
0.3.0 | Oct 12, 2020 |
0.0.0 | Sep 4, 2020 |
#2066 in Parser implementations
Used in 2 crates
350KB
2.5K
SLoC
A rust crate for reading STP/STEP CAD files.
STEP (Stadndard for Exchange of Product model) is a standard for describing product data and is formally defined in ISO-10303.
Design
Schema files are written in EXPRESS language. We write an EXPRESS parser to read a schema defination, then generate a Rust code file which contains data type definations, trait impls and a reader to read stp files.
Run example:
cargo run --features=gencode --bin gencode schemas/example.exp examples/family/reader.rs
cargo run --example family
Generate reader code:
cargo run --release --features=gencode --bin gencode schemas/AP214E3_2010.exp parts/src/ap214.rs Ap214
cargo run --release --features=gencode --bin gencode schemas/AP203E2_November_2008.exp parts/src/ap203.rs Ap203
cargo build --workspace
Generate dot graph:
cargo run --release --features=gengraph --bin gengraph schemas/AP214E3_2010.exp graphs/ap214.dot
cargo run --release --features=gengraph --bin gengraph schemas/AP214E3_2010.exp graphs/curve.dot Curve
STEP related resources:
Dependencies
~5MB
~85K SLoC