An open API service indexing awesome lists of open source software.

https://github.com/ecto/vcad

Parametric CAD in Rust — CSG modeling with multi-format export
https://github.com/ecto/vcad

Last synced: 3 months ago
JSON representation

Parametric CAD in Rust — CSG modeling with multi-format export

Awesome Lists containing this project

README

          


vcad mascot

# vcad

Open-source parametric CAD for the AI era.

**[Try it now →](https://vcad.io)**

![vcad screenshot](assets/screenshot.png)

## Features

- **Modeling** — Primitives, booleans, fillets, chamfers, shell
- **Sketching** — 2D constraints, extrude, revolve, sweep, loft
- **Assembly** — Parts, instances, joints, forward kinematics
- **Simulation** — Physics with Rapier3D, 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

## Use vcad

### Web App

Visit [vcad.io](https://vcad.io) — no install required.

### CLI

```bash
cargo install vcad-cli
vcad export input.vcad output.stl
vcad import-step input.step output.vcad
```

### MCP Server (AI Agents)

The MCP server lets AI agents create and manipulate CAD models:

```bash
npm install -g @vcad/mcp
```

Tools: `create_cad_document`, `export_cad`, `inspect_cad`, `gym_step`, `gym_reset`

### Rust Library

```rust
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](crates/vcad-kernel) for the full API.

## Architecture

```
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
```

## Development

```bash
# Rust
cargo test --workspace
cargo clippy --workspace -- -D warnings

# TypeScript
npm ci
npm run dev -w @vcad/app # Run web app locally
```

## License

[MIT](LICENSE)