CADCraft is a free, open-source computer-aided design (CAD) application designed as an alternative to Autodesk AutoCAD. Written in Rust, it provides a familiar drafting workflow with a command line, object snapping, layers, dimensions, hatching, blocks, and support for industry-standard CAD file formats.
Unlike browser-based CAD tools that depend on a web application framework, CADCraft uses a native desktop interface built with egui. It supports Windows, macOS, Linux, and FreeBSD, with an additional WebAssembly build for browser-based use.
One of CADCraft's most interesting features is its automation support. Users can control drawings through command-line tools, JSON commands, and the Model Context Protocol (MCP), making the application suitable for scripted drafting and AI-assisted design workflows.
However, CADCraft is still in early development. Although it already supports many everyday 2D drafting operations, it is not yet a complete replacement for AutoCAD, particularly for advanced engineering workflows and 3D modeling.
Features
2D Drawing and Editing Tools
CADCraft includes a broad collection of drawing commands for creating technical illustrations and engineering drawings. Users can create lines, polylines, circles, arcs, rectangles, polygons, ellipses, splines, and other geometric objects.
Its editing tools include moving, copying, rotating, scaling, mirroring, stretching, offsetting, trimming, extending, filleting, and chamfering objects. Array operations and other geometry-management commands are also available.
The command-line workflow resembles traditional CAD software. Users can enter commands, specify coordinates, use relative measurements, and repeat previous commands without relying exclusively on toolbar interactions.
Precision Drawing and Object Snapping
CADCraft provides object snapping for locating important geometric points, including endpoints, midpoints, centers, intersections, and tangency points.
Additional tools include polar tracking, orthographic drawing, grid snapping, direct distance entry, and coordinate-based input.
These features help users create accurate technical drawings rather than relying on approximate mouse positioning.
Layers and Object Properties
The application includes layer management tools for organizing drawing elements. Users can configure layer visibility, locking, freezing, colors, linetypes, and plotting properties.
A Properties palette allows individual drawing objects to be inspected and modified. Additional layer commands support operations such as isolating layers, matching properties, and restoring previous layer settings.
This functionality is particularly useful for architectural plans, mechanical drawings, electrical diagrams, and other projects that require structured drawing organization.
Dimensions, Text, and Annotations
CADCraft supports dimensioning tools, dimension styles, text, multiline text, leaders, and tables.
Its annotation features include configurable arrowheads, dimension overrides, TrueType fonts, text formatting, and associative dimensions that can follow changes to the underlying geometry.
These tools help users communicate measurements and technical information directly within their drawings. However, some advanced annotation features and compatibility details remain under development.
Hatching, Blocks, and Reusable Components
CADCraft supports boundary-based hatching, pattern fills, solid fills, gradient fills, blocks, attributes, and nested blocks.
Hatching is useful for distinguishing materials and areas in architectural or mechanical drawings. Blocks allow frequently reused objects to be inserted into multiple locations without recreating their geometry.
These capabilities provide a practical foundation for producing structured technical drawings.
DXF and DWG File Support
CADCraft reads and writes DXF drawings, including ASCII and binary formats. It also supports reading and writing DWG files through the open-source acadrust library.
The project documents support for DXF files from R12 through 2018 and DWG files from R13 through 2018.
Additional export options include SVG, PNG, and PDF, allowing drawings to be shared in vector, image, and document formats.
File-format support is an important advantage, but it does not guarantee perfect compatibility with every CAD application. Complex drawings should be tested for missing entities, formatting differences, and data loss when imported or exported.
Layouts and PDF Plotting
CADCraft includes paper-space layouts, viewports, page setups, and plotting commands. Users can work between model space and paper space, configure viewport scales, and export drawings to PDF.
These features are important for preparing technical drawings for printing, documentation, and distribution.
However, some advanced plotting functions and workflows are still incomplete, so users with demanding production requirements should verify that the available tools meet their needs.
Parametric Constraints
CADCraft includes geometric and dimensional constraints for defining relationships between drawing elements.
Its constraint tools can help maintain intended geometric relationships when objects are edited. The application also supports parameter expressions, automatic constraint generation, and conflict detection.
These capabilities are useful for users interested in more structured and editable CAD designs. Nevertheless, the implementation is still evolving, and its behavior should be evaluated against the requirements of a particular design workflow.
CLI, MCP, and AI Automation
One of CADCraft's distinguishing features is its extensive automation interface.
The project provides a command-line application, a JSON control channel, and an MCP server. These interfaces allow scripts and compatible AI agents to execute CAD commands, inspect drawings, query entities, and render results.
For example, a command-line workflow can create a drawing from a sample, execute a sequence of commands, save the result as a DXF file, and export a rendered image.
This approach could be useful for automatically generating repetitive diagrams, producing drawing variations, validating CAD files, or incorporating technical drawings into larger software workflows.
Download CADCraft v0.6.2 - Software Mirrors |
|---|
CADCraft v0.6.2 for Windowscadcraft-0.6.2-windows-x86.msi | 44.61 MB cadcraft-0.6.2-windows-x86-portable.zip | 53.85 MB cadcraft-0.6.2-windows-x64.msi | 45.13 MB cadcraft-0.6.2-windows-x64-portable.zip | 55.36 MB cadcraft-0.6.2-windows-arm64.msi | 42.87 MB cadcraft-0.6.2-windows-arm64-portable.zip | 53.22 MB |
CADCraft v0.6.2 for macOScadcraft-cli-0.6.2-macos-universal.zip | 47.4 MB cadcraft-0.6.2-macos-universal.dmg | 61.62 MB |
CADCraft v0.6.2 for Linuxcadcraft-0.6.2-linux-x86_64.tar.gz | 55.99 MB cadcraft-0.6.2-linux-x86_64.rpm | 56.4 MB cadcraft-0.6.2-linux-x86_64.flatpak | 40.77 MB cadcraft-0.6.2-linux-x86_64.deb | 56.74 MB cadcraft-0.6.2-linux-x86_64.AppImage.zsync | 187.08 kB cadcraft-0.6.2-linux-x86_64.AppImage | 53.38 MB cadcraft-0.6.2-linux-riscv64.tar.gz | 55.12 MB cadcraft-0.6.2-linux-riscv64.rpm | 55.61 MB cadcraft-0.6.2-linux-riscv64.deb | 55.82 MB cadcraft-0.6.2-linux-aarch64.tar.gz | 53.83 MB cadcraft-0.6.2-linux-aarch64.rpm | 54.72 MB cadcraft-0.6.2-linux-aarch64.flatpak | 38.34 MB cadcraft-0.6.2-linux-aarch64.deb | 55.14 MB cadcraft-0.6.2-linux-aarch64.AppImage.zsync | 180.19 kB cadcraft-0.6.2-linux-aarch64.AppImage | 51.41 MB |
CADCraft v0.6.2 for BSDcadcraft-0.6.2-freebsd-x86_64.tar.gz | 58.15 MB |
Others Download related to CADCraft v0.6.2cadcraft-web-0.6.2.zip | 7.48 MB |
CADCraft v0.6.2 Source Code
CADCraft v0.6.2 Source code (zip)
CADCraft v0.6.2 Source code (tar.gz)
|
CADCraft v0.6.2 Release Notes: What's Changed- AUDIT and RECOVER: find and fix database errors, open damaged drawings repaired (part of #406) by @vangel76 in #411
- Plot styles: colour-dependent tables (monochrome, grayscale) apply to PDF plots and layouts (part of #410) by @vangel76 in #412
- MTEXT: Height, Justify, Line spacing, Rotation, Style, Width, Columns (part of #408) by @vangel76 in #415
- SPLINE: Knots, start/end Tangency, toLerance and Object (part of #408) by @vangel76 in #413
- MLEADER: spline and no-leader types, block content (fixes #408) by @vangel76 in #419
- Groups: GROUP, UNGROUP and GROUPEDIT; erased members leave their groups (part of #417) by @vangel76 in #422
- Plot styles: named styles (STB), PLOTSTYLE, STYLESMANAGER, table files and the Plot Style Manager (part of #410) by @vangel76 in #418
- Add shared workspace docking to CADCraft by @skylartaylor in #456
- IMPORT, EXPORT, Plot Preview and Batch Publish; ATTACH, SHARE, 3DORBIT say not available yet (part of #9) by @vangel76 in #186
- Print opens a Plot dialog (#160) by @vangel76 in #200
- Transparent 'ZOOM/'PAN run nested and resume the interrupted command (fixes #220) by @vangel76 in #221
- Select objects: W, C, F, WP and CP selection modes (fixes #224) by @vangel76 in #226
- Scripts and the command line read a trailing or double space as Enter (fixes #227) by @vangel76 in #229
- Right-to-left drawing text: bidi and Arabic-script shaping (Persian, Arabic, Urdu) by @vangel76 in #315
- fonts: embed craft-fonts when built with CRAFT_FONTS_DIR by @vangel76 in #321
- Autosave (SAVETIME, SAVEFILEPATH) and Drawing Recovery after a crash (fixes #406) by @vangel76 in #416
- Groups: PICKSTYLE group selection, Ctrl+Shift+A and -GROUP options (fixes #417) by @vangel76 in #424
- DXF/DWG at a chosen version 2000–2018 and binary DXF (part of #421) by @vangel76 in #426
- TOLERANCE: GD&T feature control frames (fixes #420) by @vangel76 in #427
- SAVEAS version and binary DXF, default save version (fixes #421) by @vangel76 in #431
- SELECTSIMILAR and object isolation: ISOLATEOBJECTS, HIDEOBJECTS, UNISOLATEOBJECTS (part of #428) by @vangel76 in #434
- Grips: hot-grip options (Base point/Copy/Undo/Reference/eXit) and multiple hot grips (part of #425) by @vangel76 in #435
- Select objects: BOX, AUto, SIngle, Multiple, Group and Undo keywords (fixes #428) by @vangel76 in #438
- Grips: multifunctional grip menus for polylines, lines and arcs (fixes #425) by @vangel76 in #440
- BATTMAN: edit, remove and reorder attribute definitions; references follow (part of #433) by @vangel76 in #444
- Temporary tracking point TT and tracking TK at every point prompt (part of #441) by @vangel76 in #445
- Draw order: DRAWORDER Above/Under objects, TEXTTOFRONT, HATCHTOBACK, SORTENTSTABLE read (part of #439) by @vangel76 in #446
- DATAEXTRACTION and EATTEXT: block and attribute data to rows, CSV and a table (fixes #433) by @vangel76 in #447
- MATCHPROP: source/destination picker and Settings (part of #439) by @vangel76 in #449
- PolarSnap, relative polar angles, Extension on ellipse and spline ends, tracking options in Drafting Settings (fixes #441) by @vangel76 in #450
- OVERKILL: tolerance, ignored properties, overlapping and end-to-end lines and arcs, polyline segments (fixes #439) by @vangel76 in #452
- Hatch: associative hatches follow their boundary objects; DXF 97/330 source objects (part of #451) by @vangel76 in #454
- Associative arrays: ASsociative, Levels and polar ROWs (part of #448) by @vangel76 in #455
- Hatch: HPGAPTOL, pattern origin, separate hatches, island style; HATCHEDIT options and -HATCHEDIT (fixes #451) by @vangel76 in #457
- Viewports: polygonal, object and clipped viewports, VPCLIP, MVIEW ON/OFF/Lock/Restore (part of #453) by @vangel76 in #458
- ARRAYEDIT and ARRAYCLOSE for associative arrays (fixes #448) by @vangel76 in #460
- Status bar: viewport scale list and lock toggle (fixes #453) by @vangel76 in #462
- UNDO Mark/Back, BEgin/End, Auto and Control; MREDO; UNDOCTL (part of #461) by @vangel76 in #464
- DXF: native MULTILEADER read and write instead of LEADER + MTEXT (fixes #459) by @vangel76 in #465
- SETVAR/GETVAR: header variables the commands keep, TRANSPARENCYDISPLAY, dimension variables in SETVAR ? (fixes #461) by @vangel76 in #467
- EXTEND, JOIN and LENGTHEN on elliptical arcs and splines (part of #466) by @vangel76 in #469
- FILLET with elliptical arcs and splines (part of #466) by @vangel76 in #470
- Annotative scaling: scale list, CANNOSCALE, OBJECTSCALE, ANNOALLVISIBLE (part of #468) by @vangel76 in #486
- Annotative scaling: DXF and status bar annotation scale list (fixes #468) by @vangel76 in #506
- FILLET and CHAMFER with polyline segments (fixes #466) by @vangel76 in #502
- Named views (VIEW), Zoom Realtime and Dynamic, ZOOMFACTOR (part of #463) by @vangel76 in #503
- Tiled model viewports: VPORTS, saved viewport configurations, DXF VPORT table (part of #463) by @vangel76 in #504
- DXF: reopen-and-save keeps one *D block per dimension and stable handles (fixes #495) by @vangel76 in #508
- Web: opt-in embedding bridge for host pages (?host=parent) by @CyberFox-81 in #509
- DXF: read pre-2007 files in their $DWGCODEPAGE (CJK, Cyrillic, Central European…) (fixes #505) by @vangel76 in #511
- Dimension styles: fit, text movement, suppressed halves, fixed extension lines, linetypes and lineweights and more DIM variables (part of #507) by @vangel76 in #514
- Shortcut menus: command menu while a command runs, selection menu with object edits (part of #512) by @vangel76 in #515
- MLINE: multiline entity, MLSTYLE and MLEDIT (part of #510) by @vangel76 in #517
- ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in #605
- Shortcut menus: command line, drawing and layout tabs, Layers and Properties palettes (fixes #512) by @vangel76 in #518
- Dimension text: degrees/minutes/seconds angles round at the displayed precision by @webdevtodayjason in #520
- HELIX: helix entity drawn as a spline (part of #510) by @vangel76 in #521
- Dimension edits: DIMEDIT Oblique/New/Rotate/Home, DIMJOGGED, DIMJOGLINE, DIMBREAK, DIMINSPECT (part of #507) by @vangel76 in #522
- Dynamic Input options menu (DYNPROMPT), second-value lock; INS on ATTDEF/MLEADER, GCEN on closed splines (part of #519) by @vangel76 in #523
- QDIM: Staggered, Baseline, Ordinate, Radius, Diameter, datumPoint and Edit (fixes #507) by @vangel76 in #524
- Grip dimensional input: length, angle and radius fields while stretching a grip, DYNDIVIS/DYNDIGRIP (part of #519, stacked on #440) by @vangel76 in #527
- Xrefs: XATTACH, -XREF, XBIND, XOPEN; load at open, save only the reference (part of #525) by @vangel76 in #530
- Xrefs: External References palette and XREF (fixes #525) by @vangel76 in #533
- REGION: region entity, UNION/SUBTRACT/INTERSECT, MASSPROP (fixes #510) by @vangel76 in #526
- OPTIONS: preferences dialog, JSON form and a user profile that survives restarts (fixes #23) by @vangel76 in #531
- Add Brazilian Portuguese (pt-BR) interface language by @WladmirJunior in #539
- DXF: keep what we don't model on save — unknown entities and objects, foreign xdata, extension dictionaries, reactors, colour books (fixes #528) by @vangel76 in #545
- feat(text): MTEXT paragraph formatting (indents, tabs, lists) and columns by @vangel76 in #547
- Tables: cell styles, formulas, TABLEDIT and TABLEEXPORT (part of #534) by @vangel76 in #548
- Tables: table breaking and CSV data links (fixes #534) by @vangel76 in #553
- Constraints: DOF report, G2 Smooth, ellipse/spline/block geometry (part of #546) by @vangel76 in #550
- Constraints: CONSTRAINTINFER while drawing and editing, DOF status on the canvas (fixes #546) by @vangel76 in #555
- Fix constraint_infer test after associative-array default (#455) by @echelon in #621
- Support files: user .lin linetypes and .pat hatch patterns (part of #552) by @vangel76 in #557
- Support files: DWT templates for NEW/QNEW, SAVEAS .dwt, user alias files (fixes #552) by @vangel76 in #562
- feat(modify): PEDIT Edit vertex Break/Straighten/Tangent/Regen, SPLINEDIT fit data and vertex options, closed-spline fit tolerance (part of #554) by @vangel76 in #558
- feat(drafting): isometric snap/grid, ISODRAFT, ISOPLANE, ELLIPSE Isocircle by @vangel76 in #561
- feat(inquiry): COUNT across layouts and nested blocks, COUNTLIST, COUNTTABLE (part of #563) by @vangel76 in #565
- Plot styles: apply line end, join and fill styles (part of #564) by @vangel76 in #566
- DXF: keep full-circle, spline and clockwise ellipse hatch edges (fixes #492, #493, #494) by @tsangiotis in #549
- PDF export: layers as PDF layers (OCG), several sheets per file, hyperlinks (part of #560) by @vangel76 in #567
- PDF export: real text in embedded TrueType subsets (part of #560) by @vangel76 in #571
- CLI: cadcraft-cli exits quietly when stdout is closed early by @switch87 in #568
- feat(ui): QuickCalc palette; CAL points, vector functions, unit conversion (part of #563) by @vangel76 in #569
- Plotters: device configurations with paper sizes and printable areas (fixes #564) by @vangel76 in #570
- feat(file): COMPARE drawings with overlay and change areas (fixes #563) by @vangel76 in #572
- Windows: use FXC by default for DirectX 12 startup by @PedroGuille in #613
- Fix Measure Distance snapping through layout viewports by @PedroGuille in #616
- Fix OFFSET distance clicks and source picking by @PedroGuille in #618
- SETVAR accepts point objects for SNAPBASE, LIMMIN, LIMMAX and INSBASE (#485) by @MarekSpodBiedry in #575
- SETVAR keeps text variables such as CLAYER as text, so a layer named 10 can be selected (#484) by @MarekSpodBiedry in #576
- Dimension Space asks for the base, the dimensions and the spacing instead of failing (#483) by @MarekSpodBiedry in #577
- dimstyle.rename and delete: cover dimensions inside block definitions (#482) by @MarekSpodBiedry in #578
- Properties: changing a block's scale moves and resizes its attributes (#481) by @MarekSpodBiedry in #579
- Properties: reject a malformed lineweight instead of setting 0.25 mm (#480) by @MarekSpodBiedry in #580
- Align Text > Angle asks for the angle instead of failing with a missing-parameter error (#478) by @MarekSpodBiedry in #582
- properties.set rejects a linetype that is not loaded (#476) by @MarekSpodBiedry in #584
- INSERT with explode records one undo step (#475) by @MarekSpodBiedry in #585
- layer.delete: clear the deleted layer from viewport freeze and colour overrides (#474) by @MarekSpodBiedry in #586
- Properties: turn a block reference's attribute text with its Rotation edit (#473) by @MarekSpodBiedry in #587
- Text style rename: update text inside block definitions (#472) by @MarekSpodBiedry in #588
- OFFSET: full ellipse copy goes to the side of the picked point (#501) by @MarekSpodBiedry in #591
- Parameters Manager: keep a pending expression when the window loses focus (#498) by @MarekSpodBiedry in #594
- Command line keyboard input works while the command line is hidden (#497) by @MarekSpodBiedry in #595
- Plot: apply an explicit scale to non-fitted layout plots (#490) by @MarekSpodBiedry in #598
- Include multileader text in its bounds so zoom, window selection and viewports keep the whole text (#488) by @MarekSpodBiedry in #600
- AREA: refuse an open elliptical arc instead of measuring the whole ellipse (#487) by @MarekSpodBiedry in #601
- STYLE typed with no arguments opens the Text Style dialog instead of an error (#535) by @MarekSpodBiedry in #590
- Web: ?cpu selects the CPU canvas instead of installing the GPU canvas (#500) by @MarekSpodBiedry in #592
- Page Setup: report unsupported layout plot areas as not available yet (#491) by @MarekSpodBiedry in #597
- Select: pick pattern hatches on their visible strokes (#489) by @MarekSpodBiedry in #599
- feat(modify): SPLINEDIT Join, Edit vertex Add and Elevate order by @vangel76 in #559
- Persist SNAPUNIT and GRIDUNIT in DXF (fix #607) by @PedroGuille in #614
- Add German (de) interface language by @arekown in #573
- Spanish translation by @PedroGuille in #610
- Add PTYPE as an alias of the Point Style command (#622) by @MarekSpodBiedry in #645
- Keep inter-word spaces in stroke-font MTEXT (#628) by @MarekSpodBiedry in #644
- Make right palette collapse arrow interactive (fix #617) by @rangoDJ in #640
- Tool Sets: the gear on a category header opens that category's options by @switch87 in #620
- fix(io): write DXF CLASS instance counts and preserve current leader style by @The-Great-Nothing in #635
- Linux: Theme > System follows the desktop's light/dark setting by @itrycodinganditsbad in #641
- File-format follow-ups: version-gated MULTILEADER and DIMSTYLE groups, kept $DWGCODEPAGE, PURGE multiline styles by @vangel76 in #632
- Hatches: draw the pattern definition stored in the file; scale library patterns in metric drawings by @aldozar in #643
- Render: level of detail and view clipping for pattern hatches on screen (fixes #544) by @STE1200 in #638
- Fix fatal wgpu buffer overflow; draw MOVE/COPY/ROTATE/SCALE previews and the selection highlight on the GPU by @aldozar in #642
- Drafting/plot/UI follow-ups: PolarSnap over isometric snap, MVIEW Restore, plot margins, PNG/SVG pens, PE_URL links, OPTIONS settings (part of #626) by @vangel76 in #633
- feat: SVG import — read SVG and SVGZ into native entities by @switch87 in #636
- docs: refresh gaps.md and parity docs for landed features by @vangel76 in #625
- i18n: add Czech (cs) interface language by @Losminek in #639
- i18n: add Russian, Spanish, French, Portuguese and German interfaces by @pechnikov2026-star in #624
- Add raw-HID SpaceMouse 2D navigation by @PedroGuille in #650
- Add regression tests for Plot Preview toolbar button (fixes #442) by @rangoDJ in #653
- Fix filled text zoom freezes with cached glyph meshes by @PedroGuille in #651
- GPU errors and device loss: keep running, autosave at once, tell the user by @aldozar in #652
- Show block insertion XYZ in Properties Inspector by @markmonkey in #682
- DXF: write kept application data groups as read, not as handle lists by @CaseyKleinman in #681
- BRICK: draw each vertical joint once by @aldozar in #664
- AUNITS: degrees/minutes/seconds angles round at the displayed precision by @webdevtodayjason in #672
- File tabs: cut long drawing names short with an ellipsis by @aldozar in #657
- Prioritize command aliases in autocomplete and display shortcut match by @rangoDJ in #656
- control server: bound request lines and concurrent connections by @SteamSmith in #678
- Zoom the canvas by each mouse-wheel notch in the frame it arrives by @SBaksa in #692
- Cache active viewport highlights per zoom band so zoom and pan stay smooth (#687) by @MarekSpodBiedry in #695
- Deduplicate identical boundary loops to prevent empty hatch fills by @rangoDJ in #671
- i18n(es): add 219 missing rows, fix mistranslations and terms by @diegozpy in #680
- SCRIPT command: run .scr files from the command line, menus and JSON (gaps.md E2) by @Lion-1209 in #693
- Build the screen's model-space display list on all cores; read-write locks for glyph caches by @aldozar in #654
- MIRROR and PASTE previews on the GPU; GPU previews in layouts too by @aldozar in #655
- Plot dialog: device, plot style table, Window <, and a preview of its settings by @aldozar in #673
- Hatch: pick the pattern from swatches instead of typing its name (fixes #669) by @aldozar in #679
- Add Chinese language support to preferences by @mayloglog in #684
- Performance: reuse nearby snap geometry for tracking acquisition by @cyfung1031 in #698
- Release workflow: pass the Azure signing secrets by @echelon in #647
New Contributors- @skylartaylor made their first contribution in #456
- @CyberFox-81 made their first contribution in #509
- @webdevtodayjason made their first contribution in #520
- @WladmirJunior made their first contribution in #539
- @tsangiotis made their first contribution in #549
- @switch87 made their first contribution in #568
- @PedroGuille made their first contribution in #613
- @arekown made their first contribution in #573
- @rangoDJ made their first contribution in #640
- @The-Great-Nothing made their first contribution in #635
- @itrycodinganditsbad made their first contribution in #641
- @aldozar made their first contribution in #643
- @Losminek made their first contribution in #639
- @pechnikov2026-star made their first contribution in #624
- @markmonkey made their first contribution in #682
- @CaseyKleinman made their first contribution in #681
- @SteamSmith made their first contribution in #678
- @diegozpy made their first contribution in #680
- @Lion-1209 made their first contribution in #693
- @mayloglog made their first contribution in #684
Full Changelog: v0.5.0...v0.6.2 |
Performance and Compatibility
CADCraft is written in Rust and uses egui for its desktop interface. Its architecture separates core geometry, document management, rendering, and command processing from the graphical interface.
The project also uses spatial indexing and incremental updates to improve drawing interaction. Its roadmap reports fast object picking in large drawings, although these internal performance measurements should not be treated as independent benchmarks for every workload.
CADCraft supports multiple operating systems and offers both native applications and a browser-based build. The available release packages include installers and portable formats for supported platforms.
The primary limitation is feature maturity. CADCraft already implements many common 2D drafting operations, but its roadmap identifies substantial gaps in overall AutoCAD compatibility. Advanced 3D modeling, including solids, surfaces, meshes, and rendering, remains a major area of planned development.
Users who primarily create 2D technical drawings may find the current feature set promising. Professionals who depend on advanced 3D modeling, specialized CAD extensions, complex external references, or highly specific DWG workflows should not assume those requirements are fully supported.
System Requirements
CADCraft supports the following platforms:
Windows: 32-bit and 64-bit x86 systems, with ARM64 builds also available.
macOS: Intel and Apple Silicon computers through a universal application.
Linux: x86-64 and ARM64 packages, depending on the distribution format.
FreeBSD: x86-64 builds.
Web: Modern browsers compatible with its WebAssembly application.
Prebuilt releases are the easiest way to get started. Depending on the platform, downloads include Windows installers, portable archives, macOS disk images, Linux AppImages, Flatpak packages, Debian packages, RPM packages, and compressed archives.
Building from source requires Rust and Cargo, Git, and the dependencies specified by the project. Linux developers may also need ALSA development headers.
The project does not establish a universal minimum CPU, RAM, or GPU requirement for every supported drawing workload.
Pros and Cons
Pros
Free and open-source under the MIT or Apache-2.0 license.
Familiar AutoCAD-style command-line workflow.
Extensive 2D drawing and editing tools.
Supports layers, object snapping, dimensions, hatching, blocks, and constraints.
Reads and writes DXF files and supports DWG import and export.
Exports drawings to PDF, SVG, and PNG.
Provides CLI, JSON, and MCP interfaces for automation.
Supports Windows, macOS, Linux, FreeBSD, and web browsers.
Built with Rust and a native graphical interface rather than Electron.
Cons
Still in early development, with incomplete feature parity.
Advanced 3D modeling and rendering are not yet implemented.
Some specialized CAD commands and workflows remain incomplete.
Complex DWG files may not retain every feature or property during conversion.
Advanced plotting, annotation, and interoperability workflows require further validation.
Not yet a dependable replacement for every professional AutoCAD workflow.
How to Install
Option 1: Download a Prebuilt Release
Visit the official CADCraft GitHub repository.
Open the Releases section.
Download the package matching your operating system and processor architecture.
Install or extract the package.
Launch CADCraft and create a new drawing or open an existing CAD file.
For Windows, choose the installer or portable archive. On Linux, select an appropriate format such as AppImage, Flatpak, DEB, or RPM. Mac users can use the universal application package.
Option 2: Build from Source
If you prefer compiling the application yourself, first clone the repository:
git clone https://github.com/storytold/cadcraft
Enter the project directory:
cd cadcraft
Then run the application with its sample drawing:
cargo run --release -p cadcraft -- --sample
This command builds and launches the desktop application with a sample drawing. The initial build may take some time while Cargo downloads dependencies and compiles the project.
Consult the repository's build documentation if additional platform-specific dependencies are required.
Option 3: Use the Browser Version
CADCraft also provides a WebAssembly build. Developers can run the web application locally using Trunk, provided the necessary Rust and WebAssembly development tools are installed.
For example:
cd apps/cadcraft-web
trunk serve
This starts the local development server for the browser-based application. For regular use, check the official releases for a prebuilt web package where available.
Final Verdict
CADCraft is an ambitious open-source CAD project that combines a familiar 2D drafting workflow with modern development practices and automation capabilities. Its support for DXF and DWG, precision drawing tools, layers, dimensions, layouts, and PDF exports makes it a promising option for users who need a free alternative to proprietary drafting software.
Its CLI and MCP integration are particularly noteworthy. They make CADCraft more than a graphical drawing application by enabling scripted operations and AI-assisted workflows that could benefit developers, engineers, and technical teams.
The main drawback is its early development status. Although many everyday 2D drafting features are already available, advanced 3D modeling and several specialized workflows remain incomplete. Compatibility with complex files also needs careful testing before the application can be trusted for critical production work.
CADCraft is worth trying for 2D drafting, CAD experimentation, and automated drawing generation. However, professionals who depend on complete AutoCAD compatibility or advanced 3D design should treat it as an emerging alternative rather than a full replacement.
Post a Comment/Report Broken Link: