Fork of HakanSeven12/OpenCADStudio (GPL-3.0), patched for embedded job-scoped load/save integration with the CMMS.
  • Rust 71.9%
  • Fluent 26.7%
  • WGSL 0.7%
  • Max 0.3%
  • HTML 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 19bb846c50 fix: dimension line geometry and DXF rotation unit mismatch
append_linear_dimension() applied the same perp offset to both d1 and d2,
but only d2 is guaranteed to be at the definition_point level; d1 must be
projected independently onto the dimension line, otherwise non-collinear
first/second points produce a parallelogram instead of a rectangle.

Fix: compute dim_line_pos = def.dot(perp) and project each endpoint
separately so the dimension line is always parallel to axis.

Additionally, the acadrust DXF reader stores LinearDimension.rotation from
group code 50 (degrees) without converting to radians, while DWG and our
own annotation commands store it in radians.  Add a post-load fixup in
load_file() that converts the rotation to radians for DXF files so
tessellation can call cos/sin uniformly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 16:57:23 +03:00
.github ci: include version, OS and arch in release asset filenames 2026-04-24 10:13:11 +03:00
assets feat: view tab widget toggle commands and unified SVG icon color scheme 2026-04-24 01:23:06 +03:00
flatpak Remove redundant Flatpak README 2026-03-22 20:27:23 +03:00
src fix: dimension line geometry and DXF rotation unit mismatch 2026-04-26 16:57:23 +03:00
.gitignore chore: exclude ROADMAP.md from version control 2026-04-06 23:28:04 +03:00
build.rs feat: redesign View tab and fix Annotate/tab order 2026-04-09 12:25:15 +03:00
Cargo.lock perf: parallel wire tessellation with Rayon (Option C) 2026-04-26 02:36:34 +03:00
Cargo.toml perf: parallel wire tessellation with Rayon (Option C) 2026-04-26 02:36:34 +03:00
COMMANDS.md docs: add COMMANDS.md and update ROADMAP.md in English 2026-04-09 20:06:35 +03:00
LICENSE Initial commit 2026-03-22 14:53:51 +03:00
PERFORMANCE.md perf: viewport wire cache, Arc hit_test_wires, snap world-space pre-rejection (I+J+K) 2026-04-26 11:55:08 +03:00
README.md Add README with installation and build instructions 2026-03-22 18:31:46 +03:00
ROADMAP.md docs: add ROADMAP.md with unimplemented ribbon commands 2026-04-09 19:49:06 +03:00

H7CAD

resim

A CAD application for 2D/3D drawing and design, built with Rust.

Features

  • 2D drafting and 3D modeling
  • DXF file import/export
  • GPU-accelerated rendering via WebGPU
  • Snap and annotation tools
  • Modular ribbon interface (Home, Annotate, Insert, View, Manage)

Installation

Flatpak (Linux)

Download H7CAD.flatpak from the latest release, then:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install H7CAD.flatpak
flatpak run io.github.HakanSeven12.H7CAD

Build from Source

Requirements: Rust 1.75+

git clone https://github.com/HakanSeven12/H7CAD.git
cd H7CAD
cargo build --release
./target/release/H7CAD

License

GPL-3.0-only — see LICENSE