CADCraft: computer-aided design and drafting — an open-source, clean-room CAD application in pure Rust

★ 7,886⑂ 3,351👁 62⑃ 1,756● 1,192▤ 17◈ 0
RustApache-2.0Created 2026-10-07
7,886
stars
+38+417
3,351
forks
62
watchers
1,756
prs
1,192
issues
17
releases
0
discussions

README

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

Top issues

Latest release

CADCraft v0.18.0 v0.18.0 2026-11-06
What's Changed
 Autosave: failures are shown, and a crash is recovered at the first relaunch by @tanish2k09 in https://github.com/storytold/cadcraft/pull/2670
 A panic in the interface saves the work and reports it (E4) by @tanish2k09 in https://github.com/storytold/cadcraft/pull/2671
 Add a security policy (E33) by @tanish2k09 in https://github.com/storytold/cadcraft/pull/2672
 DWG reader and writer run in a child process (E7) by @tanish2k09 in https://github.com/storytold/cadcraft/pull/2673
 constraints: find the next default parameter name in one pass by @dylanmtaylor in https://github.com/

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON