#stp #step

bin+lib iso-10303

A Rust crate for generating STEP reader code

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

#1310 in Parser implementations

Download history 16/week @ 2023-11-01 11/week @ 2023-11-08 18/week @ 2023-11-15 17/week @ 2023-11-22 27/week @ 2023-11-29 6/week @ 2023-12-06 16/week @ 2023-12-13 15/week @ 2023-12-20 25/week @ 2023-12-27 6/week @ 2024-01-03 13/week @ 2024-01-10 22/week @ 2024-01-17 11/week @ 2024-01-24 12/week @ 2024-01-31 11/week @ 2024-02-07 59/week @ 2024-02-14

95 downloads per month
Used in 2 crates

MIT license

350KB
2.5K SLoC

Crates.io Docs

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

~3.5MB
~66K SLoC