Materializr
Open-source parametric 3D CAD for makers — constraint sketches, solid modeling, threads, SVG & text engraving, STL/STEP export. Android, iPad, Linux, Mac, Windows. Vibe coded.
Free parametric CAD for everyone
Translation pending
DesignRust · TypeScriptGitHub @ectoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
BRep CAD kernel in Rust/WASM
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Open-source parametric CAD for the AI era.
• Modeling — Primitives, booleans, fillets, chamfers, shell
• Sketching — 2D constraints, extrude, revolve, sweep, loft
• Assembly — Parts, instances, joints, forward kinematics
• Simulation — Physics with phyz, gym-style RL interface
• Import/Export — STEP import, STL/GLB/STEP/DXF export
• Rendering — Direct BRep ray tracing + tessellated mode
• Cloud — Supabase sync with Google/GitHub auth
Visit vcad.io — no install required.
Download the installer for your platform from the latest release:Read the full README ↗Open-source parametric CAD for the AI era.
Visit vcad.io — no install required.
A native SwiftUI app lives in apple/VcadApp (macOS only;
other platforms use the web app). Build it from source:
apple/VcadApp/build-ffi.sh # build the vcad-ffi kernel static library
apple/VcadApp/bundle.sh # assemble dist/vcad.app
open apple/VcadApp/dist/vcad.app
cargo install vcad
vcad export input.vcad output.stl
vcad import-step input.step output.vcad
The MCP server lets AI agents create and manipulate CAD models:
npm install -g @vcad/mcp
Tools: create_cad_document, export_cad, inspect_cad, gym_step, gym_reset
use vcad_kernel::Solid;
// Create a box with a hole
let solid = Solid::cube(100.0, 60.0, 20.0);
let hole = Solid::cylinder(10.0, 25.0, 32);
let result = solid - hole;
// Export to mesh
let mesh = result.to_mesh(32);
See crates/vcad-kernel for the full API.
vcad/
├── crates/ # Rust BRep kernel (~35K LOC)
│ ├── vcad-kernel/ # Unified API
│ ├── vcad-kernel-topo/ # Half-edge topology
│ ├── vcad-kernel-booleans/# Boolean operations
│ └── ... # 20+ modular crates
├── packages/ # TypeScript
│ ├── app/ # React + Three.js web app
│ ├── mcp/ # MCP server for AI agents
│ └── ...
└── supabase/ # Database migrations
Heads up: vcad depends on the
tangmath workspace and thephyzphysics workspace at sibling paths (../tang,../phyz). Clone both next to vcad before anycargocommand, or the workspace will fail to resolve:git clone [email protected]:ecto/tang.git ../tang git clone [email protected]:ecto/phyz.git ../phyz
# Rust
cargo test --workspace
cargo clippy --workspace -- -D warnings
# TypeScript
npm ci
npm run dev -w @vcad/app # Run web app locally
# Native Mac app (macOS + Xcode command-line tools)
apple/VcadApp/build-ffi.sh && apple/VcadApp/bundle.sh
The hosted services (vcad.io and mcp.vcad.io) are not available in jurisdictions subject to U.S. sanctions and export controls — currently Russia, Belarus, Iran, Cuba, North Korea, Syria, and the Crimea, Sevastopol, Donetsk, and Luhansk regions of Ukraine. Users must comply with all applicable export laws. The open-source code in this repository is not affected and remains available to everyone. Details in docs/export-controls.md.
Copyright © 2026 Municipal Robotics Corporation
Licensed under the Apache License 2.0. See NOTICE for attributions. Contributions are accepted under the same license per the Apache 2.0 Section 5 inbound-equals-outbound rule.