19bb846c50dcb2733e2befdf26bc68efee47592c
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>
H7CAD
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
Description
OneBSpace rebrand of OpenCADStudio -> OneCAD Draft (2D drafting / 3D modeling studio) + native Odoo Documents integration (open/save/write-back). Member of the OneCAD family. Upstream: opencadstudio-upstream. Addon: one_cad_draft.
249 MiB
0 Stars
1 Watchers
0 Forks
Languages
Rust
70.8%
Fluent
27.8%
WGSL
0.5%
Python
0.3%
TypeScript
0.2%
Other
0.2%