arc logo arc v0.28.0

Direct 3D modeling
with precision.

arc is an open-source solid CAD modeler engineered for designers, engineers, and makers. Sketch 2D profiles, extrude planar faces, place parametric solids, and manipulate geometry directly with an uncluttered, responsive workspace.

0104

Built for fluid creation

Every tool is designed to feel natural and immediate. No modal roadblocks, no deep nested dialog trees. Sketch on any plane, convert closed curves to extrudable faces, and sculpt solids directly in 3D.

01

Parametric Primitives

Box, sphere, cylinder, cone, torus, and ground plane. Placed with exact dimensions and fully adjustable in the properties dock.

02

Direct 2D Sketching

Lines, polylines, circles, arcs, and rectangles. Connecting endpoints automatically creates planar faces ready for immediate extrusion.

03

Solid & Face Operations

Extrude, revolve, sweep, loft, fillet corners, offset profiles, and trim edges to build watertight solid bodies.

04

Infinite 3D Coordinate Canvas

Uncluttered canvas with infinite X/Y/Z coordinate axes. The drafting grid activates automatically when sketching or placing shapes.

05

Modern Floating Docks

Shapr3D-inspired left dock, top navigation bar, floating selection HUD, and an interactive 3D ViewCube for quick camera alignment.

06

Multi-Format CAD Interop

Standard STEP (B-rep) export/import, binary STL for 3D printing, and text OBJ files. Documents save in transparent native JSON.

V Select M Move L Line R Rectangle C Circle B Box E Extrude F Fillet Esc / Enter Commit Ctrl+K Command Palette

0204

High-performance architecture

A clean separation between interface, communication, and geometry computation. The WebGL frontend renders at high frame rates while the Rust kernel handles solid geometry and STEP serialization.

USER INTERFACE React · Zustand · Three.js

WebGL viewport, transform gizmos, Shapr3D docks, customizable themes, and selection HUD.

GEOMETRY KERNEL Rust Engine (truck B-rep)

Documents, layers, undo/redo history, B-rep solids, boolean operations, tessellation, and STEP parsing.

EXTENSIONS Lua Plugins & Bridge

Automate workflows, generate parametric forms, or control arc externally via the local JSON bridge.

0304

Scriptable with Lua

Drop a Lua script into your plugins directory. Hook into document events or run custom algorithms to generate complex shapes, automate repetitive tasks, and inspect models.

procedural_bracket.lua
-- Generate a parametric mounting bracket on document creation
arc.on("new", function()
  local base = arc.add_entity({
    type = "box",
    width = 120,
    depth = 80,
    height = 15,
    corner_radius = 4
  }, "Mounting Base")

  arc.log("Bracket generated: " .. base)
end)

0404

Install

Prebuilt installers are published on GitHub Releases: MSI and NSIS installers for Windows, universal DMG for macOS, and AppImage, DEB, RPM, and Flatpak for Linux.

On Linux, you can also install via the official arc Flatpak repository:

# Add the arc Flatpak remote
flatpak remote-add arc https://remgr12.github.io/arc/flatpak-repo

# Install the application
flatpak install arc com.arc.cad

Build from Source

Prerequisites: Node.js 20+ with npm, and the Rust toolchain via rustup.

# Clone repository
git clone https://github.com/Remgr12/arc.git
cd arc

# Install frontend dependencies
npm --prefix frontend install

# Launch in development mode
cargo tauri dev

To generate an optimized production bundle:

npm --prefix frontend run build
cargo tauri build