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).
This commit is contained in:
2026-02-17 11:41:48 +00:00
parent 03232be7b1
commit 39a3420a8e
2 changed files with 14 additions and 88 deletions

View File

@@ -4821,93 +4821,6 @@
}
]
},
{
"lines": [
[
[
137.46390326476583,
-6.926432436063079
],
[
131.05370092972248,
-15.73755838552485
]
],
[
[
132.8437974875087,
-24.427347047759888
],
[
144.4719176935919,
-31.327076990816487
]
],
[
[
153.2278507027968,
-24.275921959753173
],
[
148.00993283175694,
-8.565066067234806
]
]
],
"arcs": [
{
"tangent_start": [
148.00993283175694,
-8.565066067234806
],
"tangent_end": [
137.46390326476583,
-6.926432436063079
],
"center": [
142.3157668424484,
-10.456222773116707
],
"radius": 6.0,
"start_angle": 0.320659785970062,
"end_angle": 2.5126397041359354
},
{
"tangent_start": [
131.05370092972248,
-15.73755838552485
],
"tangent_end": [
132.8437974875087,
-24.427347047759888
],
"center": [
135.90556450740507,
-19.26734872257848
],
"radius": 6.0,
"start_angle": 2.5126397041359376,
"end_angle": -2.1063235281199986
},
{
"tangent_start": [
144.4719176935919,
-31.327076990816487
],
"tangent_end": [
153.2278507027968,
-24.275921959753173
],
"center": [
147.53368471348827,
-26.167078665635074
],
"radius": 6.0,
"start_angle": -2.106323528119998,
"end_angle": 0.3206597859700635
}
]
},
{
"lines": [
[