Repository navigation
step_link & bevy_step_link: Direct STEP CAD file loading in Bevy (Pure Rust B-Rep parser) #26448
jorgeandrecastro
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hey everyone!
I built a B-Rep geometric engine and a STEP parser (ISO 10303-21) in pure Rust, designed to integrate directly with Bevy without any heavy C++ dependencies (like OpenCASCADE).
The goal is simple: import CAD files (.step / .stp) on the fly into Bevy as standard Mesh assets, without needing external conversion tools like STL/OBJ, while preserving clean topology.
What it does:
step_link: The core calculation engine (Part 21 parser, B-Rep topology from Solid down to Vertex, and tessellation for planes, cylinders, and cones with hole handling via ear clipping).
bevy_step_link: The Bevy plugin and AssetLoader to load a .step file in a single line (assets.load("models/part.step")).
Tested on a real file (WallHook_30mm.stp, 63 faces, 744 triangles), loading and converting directly inside Bevy 0.20 happens instantly with clean topology.
Note: The project is actively under development. For my own comfort as a developer based in France, the documentation and README are currently written in French. If there is interest from the Bevy ecosystem or maintainers to integrate parts of this, I will happily translate everything into English!
Links & Open Source:
The project is dual-licensed under MIT / Apache 2.0.
GitHub Repository:https://github.com/jorgeandrecastro/step_link
Crates.io: https://crates.io/crates/step_link/0.1.0
And https://crates.io/crates/bevy_step_link
Feel free to take a look, test it out, or drop feedback and pull requests if CAD and industrial simulation in Rust are your thing!
All reactions