rvdende / cadrs
git clone https://github.com/rvdende/cadrs.git
v0.1.5 · 5d ago
A parametric, feature-based CAD app in Rust, with a Bevy UI and an OpenCASCADE kernel
—
stars, 24h
—
stars, 7 days
+82
stars, 30 days · #2,773
82
★ total
4
forks · 17 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageRust
LicenseApache-2.0
Created2026-09-30 (20d ago)
Last pushtoday
Watchers4
OwnerUser
GitHub topics
Links
- GitHub: github.com/rvdende/cadrs
- Releases · Issues · Hacker News mentions
README excerpt
# cadrs **A parametric, feature-based CAD app written in Rust**, with a Bevy UI and an OpenCASCADE modeling kernel. Its workflow follows Onshape's: sketch on a plane, constrain and dimension, build parts from features, put them together in assemblies, and make drawings from them. *From sketch to part to PCB, in one document. Watch the 90-second demo.* > **Status: early and moving fast.** cadrs works through the Onshape Learning Center's CAD > Basics courses exercise by exercise, but it is not yet a finished tool. Expect rough edges, > and file formats that may still change. ## Features - **Sketching**: lines, rectangles, circles, arcs, splines, Bézier curves, ellipses, polygons, slots, points and text. Snapping and inference to points, midpoints, centres, intersections, alignments and part edges. Geometric constraints and driving dimensions, with a least-squares solver that keeps the sketch consistent while you drag. Trim, extend, split, offset, mirror, patterns, and Use (project) of part edges. - **Part Studios**: extrude, revolve, sweep, loft, fillet, chamfer, shell, draft, hole (counterbore, countersink, tapped; ISO and ANSI tables), linear and circular patterns, mirror, booleans, Transform, planes, mate connectors, thicken, fill and helix. Every feature can be edited later, and the part rebuilds. - **Assemblies**: instances, fastened, revolute, slider, cylindrical, planar and other mates, a triad to move parts, mate connectors, exploded views and a bill of materials. - **Drawings**: standard and projected views, sections, dimensions, annotations, callouts and BOM tables. - **More**: versions and history, derived parts and linked documents, a variable table and expressions, measurement and mass properties, linear static simulation (FEA), a path-traced renderer, PCB Studio with IDF import and export, and STEP, IGES and STL import and export. - **Drag and drop**: drop SVG, EPS, PDF, DXF or DWG drawings onto a Part Studio or an open sketch to get editable sketch curves, pictures to place them, and STEP, IGES or STL models to import them (EPS and PDF need Ghostscript and Poppler installed). - **Onshape import**: bring your own Onshape documents across with their feature history instead of dead STEP geometry (tools/onshape). ## Building You need a stable Rust toolchain (rustup), CMake and a C++ compiler. The first build compiles OpenCASCADE from source, which takes several minutes; later builds are incremental. On Debian or Ubuntu, Bevy also needs these: [code] Then: [code] On macOS, CMake from Homebrew (`brew install cmake`) and the Xcode command line tools (`xcode-select --install`) are enough; it builds and runs natively on Apple Silicon (Metal). Documents are stored in your platform's data folder (on Linux, `~/.local/share/cadrs/`). A Windows build can be cross-compiled from Linux with MinGW: `cargo build --release --target x86_64-pc-windows-gnu`. ## Using it The mouse and keys follow Onshape's: right-drag orbits, middle-drag