storytold / cadcraft
git clone https://github.com/storytold/cadcraft.git
v0.8.0 · 3d ago
CADCraft: computer-aided design and drafting — an open-source, clean-room AutoCAD-style app in pure Rust
—
stars, 24h
—
stars, 7 days
+6.1k
stars, 30 days · #60
6.1k
★ total
2.7k
forks · 727 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageRust
LicenseApache-2.0
Created2026-10-07 (13d ago)
Last pushtoday
Watchers53
OwnerOrganization
Links
README excerpt
CADCraft Computer-aided design and drafting; an open-source, modern 2D and 3D CAD application, built in pure Rust. A fast, open-source CAD workflow: the command line, object snaps, layers, dimensions, hatches, blocks and DXF drawings you already know. It runs natively on macOS, Windows, Linux and FreeBSD, and in the browser via WebAssembly. By the ArtCraft team. CADCraft on getartcraft.com · ArtCraft · All Crafting Apps Apartment plan ( examples/apartment.dxf ): walls with pick-point hatching, TrueType MTEXT room labels, a TABLE, a multileader and architectural dimensions — built entirely from CADCraft commands. > [!NOTE] > **ArtCraft is a community of artists from all walks of life.** Painters, photographers, > filmmakers, illustrators, designers, animators, hobbyists, and people who picked up a pencil > last week. If you make things, you're one of us. **Come say hi on Discord.** Screenshots · Why CADCraft · What works today · Quick start · Agents, MCP and the CLI · Architecture · Roadmap · Downloads · The Crafting Apps · License and credits ## Screenshots Layouts : paper space with viewports, page setups and PLOT to PDF. Double-click a viewport to work in model space through it. Mounting bracket : a two-view part drawing with centre lines, hidden lines, an ANSI31 section hatch and a title block. ## Why CADCraft - **The workflow you know.** Type `L`, click two points, type `@5 cargo build --release`) also embed its fonts: BIZ UDPGothic, BIZ UDMincho and Shippori Mincho (Japanese) and Noto Sans Arabic (the web build, which has no system fonts, only BIZ UDPGothic Regular and Noto Sans Arabic). A text style can use them by family name, and they draw characters a text's font lacks when no installed wide-coverage CJK font has them. Without `CRAFT_FONTS_DIR` nothing is embedded. SHX fonts (including big fonts such as `chineset.shx`) aren't read yet: text in an SHX style is drawn with our own stroke font, and any character a text's font lacks (CJK, for example) is drawn from an installed font that has it, preferring wide-coverage fonts such as Noto Sans CJK, Source Han Sans, WenQuanYi, PingFang or Microsoft JhengHei. Two settings, set with `SETVAR` or (for every run) an environment variable, steer this: | Variable | Environment | Meaning | |---|---|---| | `FONTALT` | `CADCRAFT_FONTALT` | Font used instead of a text style font that can't be found (an SHX file, a missing TTF), by file or family name, e.g. `Noto Sans CJK TC`. Empty (default) = our stroke font. | | `FONTFALLBACK` | `CADCRAFT_FONTFALLBACK` | Fonts tried first for characters a text's font lacks, comma-separated, e.g. `Noto Sans CJK TC, msjh.ttc`. | `.` clears either one. **Your own fonts.** Any `.ttf`, `.otf` or `.ttc` font works: install it in the system font folder (Windows `C:\Windows\Fonts` or per-user fonts, macOS `/Library/Fonts` or `~/Library/Fonts`, Linux and the BSDs `/usr/share/fonts`, `/usr/local/share/fonts`, `~/.local/share/fonts` or `~/.fonts`) and