An open-source CAD application in Rust, working toward a clean reimplementation of Rhinoceros 3D. It has a modular geometry kernel, a command-driven egui/wgpu interface, four viewports, snapping, layers, groups, and undo/redo.
This is an early implementation. It supports analytic and NURBS geometry, trimmed B-reps, polygon meshes, and an expanding command set. 3DM and STL interchange are available; STEP imports meshes or native straight-edged planar B-reps and exports faceted shells. Full Rhino compatibility is still in progress.
Install Rust 1.95 or newer, CMake, and a C++17 compiler, then run:
git submodule update --init --recursive
cargo run --release
Linux supports Wayland and X11; wgpu uses Vulkan when available. Enter commands
such as Line 0,0,0 10,5,0, or enter Line to pick points in a viewport.
Enter Help to list commands, or Help UI for display and drafting controls.
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warnings
cargo fmt --all -- --check
python3 -m unittest discover -s tools/rhino_oracle -t .
667 commits
Rust
89.2%
Python
9.9%
An open-source CAD application in Rust, working toward a clean reimplementation of Rhinoceros 3D. It has a modular geometry kernel, a command-driven egui/wgpu interface, four viewports, snapping, layers, groups, and undo/redo.
This is an early implementation. It supports analytic and NURBS geometry, trimmed B-reps, polygon meshes, and an expanding command set. 3DM and STL interchange are available; STEP imports meshes or native straight-edged planar B-reps and exports faceted shells. Full Rhino compatibility is still in progress.
Install Rust 1.95 or newer, CMake, and a C++17 compiler, then run:
git submodule update --init --recursive
cargo run --release
Linux supports Wayland and X11; wgpu uses Vulkan when available. Enter commands
such as Line 0,0,0 10,5,0, or enter Line to pick points in a viewport.
Enter Help to list commands, or Help UI for display and drafting controls.
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warnings
cargo fmt --all -- --check
python3 -m unittest discover -s tools/rhino_oracle -t .
667 commits
Rust
89.2%
Python
9.9%