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 bfd8d0411a perf: AABB snap pre-rejection via acadrust bounding_box() (Option K upgrade)
Add `aabb: [f32; 4]` field to WireModel (world-space 2-D bounding box).
In tessellate_entity() set each wire's AABB from e.as_entity().bounding_box()
via new entity_aabb() helper; Insert sub-entities each get their own AABB.
Preview/interim wires and any entity returning a zero-extent default box get
UNBOUNDED_AABB so they are never pre-rejected.

Replace the chord-sphere heuristic in Snapper::wire_in_range() with a proper
AABB vs snap-circle overlap test.  The new check is four scalar comparisons and
correctly handles closed curves (circles, arcs) which the chord-sphere approach
had to special-case.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 12:21:51 +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 perf: AABB snap pre-rejection via acadrust bounding_box() (Option K upgrade) 2026-04-26 12:21:51 +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