CADCraft v0.7.0

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.7.0 - Software Mirrors

CADCraft v0.7.0 for Windows

cadcraft-0.7.0-windows-x86.msi | 45.94 MB

cadcraft-0.7.0-windows-x86-portable.zip | 55.68 MB

cadcraft-0.7.0-windows-x64.msi | 46.53 MB

cadcraft-0.7.0-windows-x64-portable.zip | 57.4 MB

cadcraft-0.7.0-windows-arm64.msi | 44.18 MB

cadcraft-0.7.0-windows-arm64-portable.zip | 55.07 MB

CADCraft v0.7.0 for macOS

cadcraft-cli-0.7.0-macos-universal.zip | 49.15 MB

cadcraft-0.7.0-macos-universal.dmg | 63.99 MB

CADCraft v0.7.0 for Linux

cadcraft-0.7.0-linux-x86_64.tar.gz | 57.94 MB

cadcraft-0.7.0-linux-x86_64.rpm | 58.38 MB

cadcraft-0.7.0-linux-x86_64.flatpak | 41.92 MB

cadcraft-0.7.0-linux-x86_64.deb | 58.73 MB

cadcraft-0.7.0-linux-x86_64.AppImage.zsync | 193.12 kB

cadcraft-0.7.0-linux-x86_64.AppImage | 55.11 MB

cadcraft-0.7.0-linux-riscv64.tar.gz | 57 MB

cadcraft-0.7.0-linux-riscv64.rpm | 57.52 MB

cadcraft-0.7.0-linux-riscv64.deb | 57.74 MB

cadcraft-0.7.0-linux-aarch64.tar.gz | 55.62 MB

cadcraft-0.7.0-linux-aarch64.rpm | 56.57 MB

cadcraft-0.7.0-linux-aarch64.flatpak | 39.36 MB

cadcraft-0.7.0-linux-aarch64.deb | 57.03 MB

cadcraft-0.7.0-linux-aarch64.AppImage.zsync | 185.93 kB

cadcraft-0.7.0-linux-aarch64.AppImage | 53.05 MB

CADCraft v0.7.0 for BSD

cadcraft-0.7.0-freebsd-x86_64.tar.gz | 60.26 MB

Others Download related to CADCraft v0.7.0

cadcraft-web-0.7.0.zip | 8.1 MB

CADCraft v0.7.0 Source Code

CADCraft v0.7.0 Source code (zip)

CADCraft v0.7.0 Source code (tar.gz)

CADCraft v0.7.0 Release Notes:

What's Changed

  • Select: pick a SOLID inside its fill, not its bounding rectangle by @marcoarnulfo in #747
  • View: refuse a view that maps to an infinite viewport view, keeping the viewport by @marcoarnulfo in #749
  • Plotting: honor model-space center and X/Y offsets by @cyfung1031 in #751
  • Hatch and Gradient dialog (create and edit) by @LloydNicholson in #753
  • cadcraft-cli mcp: --lazy and --launch for MCP clients that start before the app by @aldozar in #756
  • POLYGON: an Edge second endpoint on the first is refused and asked again (follow-up to #735) by @marcoarnulfo in #760
  • CIRCLE: a radius point on the centre is refused and asked again (follow-up to #735) by @marcoarnulfo in #761
  • Hatch: a view covering a pattern hatch leaves its lines exactly as they are by @SBaksa in #762
  • DXF/DWG: write the Model layout's plot type as extents, not "Layout information" by @EP995LAB in #765
  • Active viewport highlight: selection on the GPU, hover cached apart, kept inside a clipped outline by @SBaksa in #770
  • TRIM: a pick after a closed polyline's last cut keeps only the complementary run (#726) by @Silvertree2010 in #771
  • Constraints: an arc solved with a negative radius is stored turned half a turn, so its points stay put by @marcoarnulfo in #772
  • Geometry: fit splines with too many points use them as control points instead of a dense solve by @marcoarnulfo in #773
  • Autosave: a write that failed is tried again without another change by @marcoarnulfo in #774
  • Selection: rebuild the spatial index when a layer used inside blocks is hidden or shown by @marcoarnulfo in #775
  • SPLINE: cap programmatic control points like spline.cv by @marcoarnulfo in #776
  • Extents: cache block bounds per depth so a deep visit can't hide a shallow reference by @marcoarnulfo in #778
  • Engine: NEW and OPEN end a command left running in the previous drawing by @marcoarnulfo in #780
  • Keep the ACIS geometry of 3D solids, regions and bodies on save (ACDSDATA) by @aldozar in #781
  • Write an unedited dimension's block as it was read by @aldozar in #782
  • Don't give entities made while reading handles the file still uses by @aldozar in #783
  • MTEXT: Exactly line spacing keeps the pitch when a line has taller text by @marcoarnulfo in #784
  • Geometry: spline arc length converges on tight bends, so LENGTHEN shortens to the target by @marcoarnulfo in #786
  • LINE: resolve deferred TAN first point with typed @distance by @william-wwh in #788
  • i18n: Italian interface catalog (it.tsv) by @bottelliemanuele-maker in #789
  • Zoom Window: the opposite corner ignores ortho, so the window stays a rectangle by @marcoarnulfo in #790
  • Geometry: keep vector midpoints finite at coordinate extremes by @webdevtodayjason in #793
  • BOUNDARY: cap point list and aggregate output per call (#723) by @vangel76 in #795
  • PEDIT: pre-selected line or arc asks to turn it into a polyline by @vangel76 in #796
  • Show an Opening... indicator and read files off the UI thread (#694) by @vangel76 in #797
  • Test: compare hatch pattern lines with tolerance (#804) by @vangel76 in #805
  • Pick dimensions and multileaders anywhere on their text by @codyvogt in #807
  • docs: gaps.md FF14 lists what is left of SVG import by @vangel76 in #814
  • MLEADEREDIT, MLEADERALIGN, MLEADERCOLLECT by @vangel76 in #816
  • REFEDIT, REFSET and REFCLOSE: edit block references in place by @vangel76 in #818
  • Keep the layout tabs inside the status bar by @NakaSato in #821
  • Ctrl+Z / U during LINE removes only the last segment (#750) by @vangel76 in #831
  • fix(dxf): MTEXT direction ignores the embedded object's insertion point (#667) by @iHateStupidPeople in #834
  • Desktop: a bare --control keeps the CADCRAFT_CONTROL_PORT port by @marcoarnulfo in #848
  • Control channel: control.methods lists the methods, ping answers by @marcoarnulfo in #852
  • CJK text: big-font cells in SHX text, CJK interface fonts in every language (#674, #513) by @aldozar in #861
  • Viewport scale list: add engineering scales for imperial drawings by @marcoarnulfo in #866
  • Dynamic Input and grip fields show distances in the drawing's UNITS by @marcoarnulfo in #867
  • Double-click on text, mtext or an attribute definition starts TEXTEDIT on it by @marcoarnulfo in #868
  • DXF: read every ENTITIES section, not only the last by @marcoarnulfo in #869
  • docs: clarify control protocol command dispatch (#845) by @Zaxaerith in #873
  • Xdata travels with its object: COPY, MIRROR, ARRAY and paste keep other applications' xdata by @mattlafy in #890
  • Canvas: every click places a point while drawing, however fast by @marcoarnulfo in #835
  • Recent files: the Start page and File ▸ Open Recent list the drawings opened last by @marcoarnulfo in #864
  • i18n(pt-BR): complete the Brazilian Portuguese catalog by @RicSchonfelder in #791
  • Command line: a bare system variable name runs SETVAR on it (part of U10) by @flyboy-byte in #799
  • DXF: write viewport frozen layers as group 341 layer handles too by @mattlafy in #827
  • DXF: associative hatches in blocks keep their boundary; boundaries carry the hatch reactor by @codyvogt in #871
  • Save xref layer overrides with the host, in DXF and DWG by @marcoarnulfo in #889
  • STRETCH: polygon and fence selection by @NakaSato in #892
  • Performance: restrict object-snap intersections to cursor aperture by @cyfung1031 in #701
  • BREAK, BREAKATPOINT and JOIN: leave objects on locked layers alone (fixes #727) by @atmikshetty in #730
  • Constraint point names: s2 names segment 2, as documented by @marcoarnulfo in #734
  • POLYGON: a typed radius of zero or less, or a radius point on the centre, is refused and asked again by @marcoarnulfo in #735
  • HATCH: a pattern name with no definition is refused instead of drawn as ANSI31 by @marcoarnulfo in #736
  • JOIN: an elliptical arc named twice is one object, so the joined result stays by @marcoarnulfo in #739
  • HATCHEDIT: choosing SOLID on a gradient hatch makes it a plain solid fill by @marcoarnulfo in #740
  • Geometry: param_at_length checks spline validity before clamping to the domain by @marcoarnulfo in #741
  • Dimensions: a jogged radius with a NaN or infinite radius draws no lines instead of panicking by @marcoarnulfo in #742
  • MTEXT: annotative scaling and SCALE on multileader text scale the text width and columns too by @marcoarnulfo in #743
  • Plot: model-space PNG and SVG plots honour fit: false without a scale, at 1:1 like PDF by @marcoarnulfo in #744
  • Extents: count the visible attributes of a reference to a missing block by @marcoarnulfo in #746
  • Fonts: use the TrueType typeface from a style's xdata and find families by first word by @asimfali in #894
  • MTEXT: paragraph indents and tab stops are in drawing units by @asimfali in #895
  • PDFBOOK: plot sheet frames in model space into one PDF per row of frames by @asimfali in #896
  • Property-based and hostile-input tests for geometry numerics (gaps.md S6) by @Lion-1209 in #733
  • Fix polyline offset arc bulge after joining moved endpoints (#817) by @MarekSpodBiedry in #825
  • ACAD_TABLE: readable cell text from AutoCAD files (cell height, style scale, MTEXT) by @vangel76 in #806
  • Select: pick a solid hatch inside its fill, islands left out, not its bounding rectangle (follow-up to #747) by @marcoarnulfo in #763
  • doc: Space::tab_name / layout / is_paper replace repeated hand-written matches by @mattlafy in #888
  • Engine: run the post-command passes from one place by @mattlafy in #856
  • Properties palette: numeric fields take feet and inches, show lengths in the drawing's units, and report what they can't read by @marcoarnulfo in #870
  • Update Chinese translations in zh.tsv by @mayloglog in #884
  • Open damaged DWGs partially and say what was left out (acadrust 0.6.4, #800) by @aldozar in #859
  • DXF: count the records the reader can't place; info reports them, convert warns by @marcoarnulfo in #872
  • AutoLISP: load and run .lsp routines (fixes #758) by @SBaksa in #855
  • MCP: render one area of the drawing, and read its texts (find_text) by @aldozar in #757
  • Follow the operating system's animation setting; add View ▸ Accessibility ▸ Animation Effects by @JeremyYao in #759
  • HATCHEDIT: refuse an explicit bad scale or angle before editing anything (#724) by @Silvertree2010 in #777
  • Dynamic blocks: read parameters and actions from AutoCAD files by @codyvogt in #838
  • Dynamic block references: custom properties in Properties (stacked on #838) by @codyvogt in #853
  • Dynamic block references: change the visibility state (stacked on #853) by @codyvogt in #860
  • Dynamic block references: distances, positions, stretch and move actions, lookups both ways (stacked on #860) by @codyvogt in #878
  • Dynamic block grips: show and drag a dynamic reference's grips (stacked on #878) by @codyvogt in #883
  • Multiline attributes: read, draw and save their text (they were lost on save) by @codyvogt in #854
  • Attributes keep Verify, Preset and Lock position (stacked on #854) by @codyvogt in #876
  • Block Editor: BEDIT, BSAVE, BSAVEAS and BCLOSE for static blocks by @codyvogt in #824
  • Edit Block Definition dialog; BEDIT can start a new block (stacked on #824) by @codyvogt in #833
  • Block Editor on the current drawing; a drawing with authoring elements offers it (stacked on #833) by @codyvogt in #885
  • In-place MTEXT editor with formatting toolbar and ruler (#532, F9) by @vangel76 in #792
  • Selection like AutoCAD: colour highlight and the Options Selection tab by @codyvogt in #808
  • Draw object transparency on screen, in exports and in plots by @EP995LAB in #764
  • Fix double-clicking layout viewports creating persistent selection rectangle (#823) by @GJoe2 in #830
  • Add Korean interface localization and Hangul font support by @huk082 in #857
  • i18n: add Swedish (sv) interface translation by @holmbom in #882
  • Arabic (العربية) UI translation: language switching + font fallback by @hasan-sdaif in #798
  • Zoom and pan regenerate in the background instead of freezing the window by @Lufftre in #903

New Contributors

  • @marcoarnulfo made their first contribution in #747
  • @EP995LAB made their first contribution in #765
  • @Silvertree2010 made their first contribution in #771
  • @william-wwh made their first contribution in #788
  • @bottelliemanuele-maker made their first contribution in #789
  • @codyvogt made their first contribution in #807
  • @NakaSato made their first contribution in #821
  • @iHateStupidPeople made their first contribution in #834
  • @Zaxaerith made their first contribution in #873
  • @mattlafy made their first contribution in #890
  • @RicSchonfelder made their first contribution in #791
  • @flyboy-byte made their first contribution in #799
  • @atmikshetty made their first contribution in #730
  • @asimfali made their first contribution in #894
  • @JeremyYao made their first contribution in #759
  • @GJoe2 made their first contribution in #830
  • @huk082 made their first contribution in #857
  • @holmbom made their first contribution in #882
  • @hasan-sdaif made their first contribution in #798
  • @Lufftre made their first contribution in #903
Full Changelog: v0.6.2...v0.7.0

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

  1. Visit the official CADCraft GitHub repository.

  2. Open the Releases section.

  3. Download the package matching your operating system and processor architecture.

  4. Install or extract the package.

  5. 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.

CADCraft v0.7.0
Free
Software Informations:
Developer:

Operating System:
Windows / macOS / Linux / BSD
Date Added:
2026-10-14T16:54:08.680Z
Categories:

Post a Comment/Report Broken Link: