39a3420a8e
Fix: skip pockets crossing sandbox boundary
...
profile_assembly.py now checks each pocket's polyline against the plate
boundary using Shapely contains(). Pockets extending outside are dropped.
Sandbox 1: 1 pocket removed (was crossing corner near x=150, y=-20).
2026-02-17 11:41:48 +00:00
1badc370ab
Add rib_web to Brain output + import_profile draws rib material
...
Brain: profile_assembly.py now exports 'rib_web' — the actual material
geometry from Shapely boolean (exterior + interior rings). This is the
rib shape, not the pocket cutouts.
import_profile.py: prefers rib_web when available, drawing exterior +
interior polyline rings directly. Falls back to pocket-based drawing
for older rib JSONs without rib_web.
2026-02-17 03:02:15 +00:00
f61616d76a
Update test_data rib profiles: sandbox_2 new geometry, re-run Brain for both
...
- sandbox_1: 75 pockets, 2315g mass estimate
- sandbox_2: 11 pockets (was 10), 371g mass estimate, updated geometry from NX
2026-02-17 02:45:19 +00:00
e07c26c6fe
test: save NX-exported v1.0 geometry for sandbox_1 (from Antoine)
2026-02-17 02:39:01 +00:00
68ebee7432
test: Brain profiles from latest geometry with mid-field arcs
2026-02-17 02:36:38 +00:00
b6dc15e19e
test: Brain-generated rib profiles from existing pipeline
...
Used existing src/brain/ module (density + Delaunay + pockets).
Sandbox 1: 75 pockets, 16 holes. Sandbox 2: 10 pockets, no holes.
Added v2→v1 geometry converter for Brain compatibility.
2026-02-17 02:26:05 +00:00
e3a79d4888
feat: proper alternating up/down isogrid pattern with Shapely clipping
...
- Alternating up/down equilateral triangles filling full boundary
- buffer(-rib_w) for uniform rib spacing
- buffer(-fillet_r).buffer(+fillet_r) for rounded corners
- Clipped to actual boundary polygon
- Sandbox 2: 39 pockets (40mm), Sandbox 1: 112 pockets (60mm)
2026-02-17 02:17:24 +00:00
d954b2b816
feat: proper isogrid pocket generation with boundary clipping + v2.0 outer boundary
...
- Equilateral triangle grid pattern
- Shapely polygon clipping to actual boundary shape
- v2.0 typed segments (arcs) for outer boundary
- 4mm fillets, 3mm ribs, 2mm frame offset
- Sandbox 1: 25 pockets (80mm), Sandbox 2: 8 pockets (50mm)
2026-02-17 02:08:01 +00:00
43aea01fb5
test: larger cells (120mm/75mm), 4mm fillets, 2mm frame — 9+2 pockets
2026-02-17 02:00:33 +00:00
709612ece4
test: regenerate rib profiles with 4mm fillets, no frame offset
2026-02-17 01:56:39 +00:00
b38194c4d9
test: add rib profile test JSONs for sandbox_1 (64 pockets) and sandbox_2 (9 pockets)
2026-02-17 01:54:48 +00:00