9cee12d1c774c20cb182a11051ca8b83a5175247
Selection, snapping and editing are now mode-aware: PSPACE (paper layout, no active viewport) - Only paper-space entities (viewport borders, title blocks, etc.) are hit-testable and selectable. Viewport content wires are invisible to the interaction layer. - Drawing commands add entities to the paper-space layout block so annotations/title blocks land on the sheet, not in model space. MSPACE (active viewport entered) - Only model-space entities visible through the active viewport are hit-testable. Other viewports' content and paper entities are ignored. - Drawing commands add entities to model space (correct DXF block). - Snap results from projected viewport-content wires are converted from paper-space back to model-space via paper_to_model so that placed coordinates and command previews are consistent. Entering/exiting MSPACE clears the current selection so no stale cross-space selection is carried over. Implementation: - Scene::hit_test_wires() returns mode-filtered wires for all hit-tests, snaps, and selections (entity_wires() still returns everything for rendering and PDF export). - viewport_content_wires() gains an Option<Handle> filter to render only the active viewport's content for MSPACE hit-testing. - Scene::add_entity() routes to the paper-layout block or model-space block depending on current_layout / active_viewport. 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%