⚠️ Alpha software. HCAD is under active development and moves fast — expect rough edges, bugs, and breaking changes between releases. Releases are marked pre-release for this reason. Great for tinkering and feedback; not ready for production work. Save often, and keep backups of anything important.
HCAD is a desktop CAD application for feature-based parametric solid modeling — the same workflow you'd recognize from SolidWorks, Fusion 360, or FreeCAD: sketch in 2D, turn sketches into 3D solids, combine parts into assemblies, and edit any earlier step to have the whole model rebuild itself.
Grab the latest build from the Releases page:
| Platform | File | Notes |
|---|---|---|
| Windows | hcad-vX.Y.Z-windows-x86_64.exe |
Installer — bundles the VC++ runtime, registers .hcad/.hasm file types, and creates shortcuts. |
| Linux | hcad-vX.Y.Z-linux-x86_64.AppImage |
Self-contained; chmod +x and run. Needs a working Vulkan driver and xdg-desktop-portal (standard on modern desktops). x86_64, glibc 2.39+ (Ubuntu 24.04+ / Fedora 40+). |
No account, telemetry, or internet connection required — HCAD runs fully offline.
| Sketching | Boss extrude |
|---|---|
| Sketch mode: a profile on a face with inference, geometric relations, and driving dimensions. | Boss extrude: PropertyManager, draggable direction gizmo, and live preview. |
- Tools: line, circle, rectangle/square, arc, point, and construction geometry.
- Geometric constraints: coincident, horizontal, vertical, parallel, perpendicular, equal, midpoint, tangent, concentric — all solved together so the sketch stays parametric, not just drawn.
- Smart dimensions: type-as-you-draw live measurements, click-two-points dimensioning, double-click to edit, and edge-to-edge dimensions (drive a circle's size off an existing bore rim with no radius math).
- Inference & snapping: midpoint, centre, and quadrant snaps; hover a round edge to reveal and snap to its centre so new features stay concentric with existing bores.
- Extrude (boss), Cut, Revolve, Sweep / Sweep Cut (profile along a path).
- Fillet, Chamfer, Shell (hollow to a wall thickness), Draft/bevel.
- Loft between profiles, Thin feature, Mirror, and Text-as-feature.
- Patterns: linear and circular (rows and bolt circles from one modelled feature).
- Hole Genie: tapped/threaded holes with standard pitch tables (metric coarse/fine, imperial UNC/UNF), depth quick-sets, and tap-drill hints.
- Sketch on 3D faces: select a planar face of a solid and start a new sketch on it.
- Every step lives in an editable feature tree. Roll back to any earlier feature, change a dimension or sketch, and the model regenerates downstream.
- Stable topological naming so references survive edits, 64-level undo/redo, and
save/load of
.hcaddocuments.
- Insert saved parts as components with move/rotate gizmos and face snapping.
- Mates: coincident, distance, concentric, parallel — flat faces pull flush, round faces align bolt-into-hole. Mates re-solve on drag and survive part edits.
- Edit parts in-context while neighbours ghost around you; interference check (overlaps glow red with per-pair volumes), exploded view, and BOM export.
- Import an STL as an editable body or a reference scan; 3-point alignment, automatic mesh repair, and measure directly on scans.
- Trace Section fitted curves from a scan, Solidify a scan shell into a solid, and fit primitives (datum planes / axes) from a scan region.
- Default Front/Top/Right planes plus user offset, angled, free, and 3-point planes; axes.
- Section view with a draggable cutting-plane gizmo, orthographic camera by default (true CAD views) with a perspective toggle, and a wireframe overlay.
- CommandManager tabs (SolidWorks-style), selectable mouse schemes
(HCAD / Blender / SolidWorks), persisted settings, and
.hcad/.hasmfile associations.
HCAD is built in four decoupled layers. The full write-up — including the
feature-tree/regeneration model and the topological-naming strategy — is in
DESIGN.md.
| Layer | Responsibility | Built on |
|---|---|---|
| Geometry kernel | B-rep solids, extrude (sweep), boolean cut, tessellation | truck (exact B-rep, pure Rust) + Manifold (robust mesh booleans, C++) |
| Sketcher + solver | 2D entities, constraints, Newton/least-squares solve | our code (nalgebra) |
| Document / feature tree | parametric-history DAG, regeneration — the source of truth | our code |
| Viewport / UI | 3D rendering, camera, face/edge picking, gizmos, panels | Bevy + bevy_egui |
The kernel, sketcher, and document crates are Bevy-free and testable headless; the Bevy app is a thin presentation shell on top.
HCAD's geometry kernel uses Manifold (a C++
library) for robust mesh booleans, so building from source needs a C++ toolchain and
CMake in addition to Rust:
- Rust (stable; MSVC toolchain on Windows).
- CMake on
PATH— e.g.winget install Kitware.CMake. - A C++ compiler — on Windows, the MSVC "Desktop development with C++" workload.
Manifold is compiled once and statically linked into the
hcadbinary.
These are build-time only. The shipped binaries are self-contained — end users who run the installer or AppImage need none of this.
cargo run -p hworks-app # run the hcad binary (debug)
cargo build --release # optimized build → target/release/hcad
cargo test # headless tests (geometry, sketch, document)By default HCAD renders on the discrete GPU. On some hybrid laptops that causes flicker (each frame is copied to the integrated GPU for display). Force the integrated GPU, which is wired straight to the screen:
HCAD_GPU=integrated # no cross-GPU flicker
HCAD_GPU=discrete # defaultHCAD is licensed under the GNU General Public License v3.0 — see the LICENSE file for full terms.
Copyright (C) 2026 Tibiaworx. You may use, modify, and distribute this software (including commercially), but any distributed derivative work must also be released as open source under the GPL.