📈 GH Trending Explorer 🎲 Surprise me

← all repos

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

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