feat: enforce Delaunay vertices at inset boundary corners + update geometry to v2.0 with arcs
- Add explicit corner vertices of the inset boundary (w_frame offset) to Delaunay point set - This guarantees no triangle can cross a boundary corner - Updated test_data geometry files to v2.0 format with typed segments - Sandbox 2 now has proper arc curves (4 arc segments) from extract_sandbox - Preserved holes from v1.0 geometry - Boundary vertices also enforced on keepout boundaries
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"schema_version": "2.0",
|
||||
"units": "mm",
|
||||
"sandbox_id": "sandbox_2",
|
||||
"outer_boundary": [
|
||||
@@ -7,6 +7,66 @@
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
0.735129,
|
||||
-0.036115
|
||||
],
|
||||
[
|
||||
1.463177,
|
||||
-0.14411
|
||||
],
|
||||
[
|
||||
2.177135,
|
||||
-0.322947
|
||||
],
|
||||
[
|
||||
2.870126,
|
||||
-0.570904
|
||||
],
|
||||
[
|
||||
3.535476,
|
||||
-0.885591
|
||||
],
|
||||
[
|
||||
4.166777,
|
||||
-1.263978
|
||||
],
|
||||
[
|
||||
4.75795,
|
||||
-1.702422
|
||||
],
|
||||
[
|
||||
5.303301,
|
||||
-2.196699
|
||||
],
|
||||
[
|
||||
5.797578,
|
||||
-2.74205
|
||||
],
|
||||
[
|
||||
6.236022,
|
||||
-3.333223
|
||||
],
|
||||
[
|
||||
6.614409,
|
||||
-3.964524
|
||||
],
|
||||
[
|
||||
6.929096,
|
||||
-4.629874
|
||||
],
|
||||
[
|
||||
7.177053,
|
||||
-5.322865
|
||||
],
|
||||
[
|
||||
7.35589,
|
||||
-6.036823
|
||||
],
|
||||
[
|
||||
7.463885,
|
||||
-6.764871
|
||||
],
|
||||
[
|
||||
7.5,
|
||||
-7.5
|
||||
@@ -39,6 +99,66 @@
|
||||
102.5,
|
||||
-7.5
|
||||
],
|
||||
[
|
||||
102.64411,
|
||||
-8.963177
|
||||
],
|
||||
[
|
||||
103.070904,
|
||||
-10.370126
|
||||
],
|
||||
[
|
||||
103.763978,
|
||||
-11.666777
|
||||
],
|
||||
[
|
||||
104.696699,
|
||||
-12.803301
|
||||
],
|
||||
[
|
||||
105.833223,
|
||||
-13.736022
|
||||
],
|
||||
[
|
||||
107.129874,
|
||||
-14.429096
|
||||
],
|
||||
[
|
||||
108.536823,
|
||||
-14.85589
|
||||
],
|
||||
[
|
||||
110.0,
|
||||
-15.0
|
||||
],
|
||||
[
|
||||
111.463177,
|
||||
-14.85589
|
||||
],
|
||||
[
|
||||
112.870126,
|
||||
-14.429096
|
||||
],
|
||||
[
|
||||
114.166777,
|
||||
-13.736022
|
||||
],
|
||||
[
|
||||
115.303301,
|
||||
-12.803301
|
||||
],
|
||||
[
|
||||
116.236022,
|
||||
-11.666777
|
||||
],
|
||||
[
|
||||
116.929096,
|
||||
-10.370126
|
||||
],
|
||||
[
|
||||
117.35589,
|
||||
-8.963177
|
||||
],
|
||||
[
|
||||
117.5,
|
||||
-7.5
|
||||
@@ -63,6 +183,66 @@
|
||||
117.5,
|
||||
102.5
|
||||
],
|
||||
[
|
||||
117.35589,
|
||||
101.036823
|
||||
],
|
||||
[
|
||||
116.929096,
|
||||
99.629874
|
||||
],
|
||||
[
|
||||
116.236022,
|
||||
98.333223
|
||||
],
|
||||
[
|
||||
115.303301,
|
||||
97.196699
|
||||
],
|
||||
[
|
||||
114.166777,
|
||||
96.263978
|
||||
],
|
||||
[
|
||||
112.870126,
|
||||
95.570904
|
||||
],
|
||||
[
|
||||
111.463177,
|
||||
95.14411
|
||||
],
|
||||
[
|
||||
110.0,
|
||||
95.0
|
||||
],
|
||||
[
|
||||
108.536823,
|
||||
95.14411
|
||||
],
|
||||
[
|
||||
107.129874,
|
||||
95.570904
|
||||
],
|
||||
[
|
||||
105.833223,
|
||||
96.263978
|
||||
],
|
||||
[
|
||||
104.696699,
|
||||
97.196699
|
||||
],
|
||||
[
|
||||
103.763978,
|
||||
98.333223
|
||||
],
|
||||
[
|
||||
103.070904,
|
||||
99.629874
|
||||
],
|
||||
[
|
||||
102.64411,
|
||||
101.036823
|
||||
],
|
||||
[
|
||||
102.5,
|
||||
102.5
|
||||
@@ -79,6 +259,66 @@
|
||||
7.5,
|
||||
102.5
|
||||
],
|
||||
[
|
||||
7.463885,
|
||||
101.764871
|
||||
],
|
||||
[
|
||||
7.35589,
|
||||
101.036823
|
||||
],
|
||||
[
|
||||
7.177053,
|
||||
100.322865
|
||||
],
|
||||
[
|
||||
6.929096,
|
||||
99.629874
|
||||
],
|
||||
[
|
||||
6.614409,
|
||||
98.964524
|
||||
],
|
||||
[
|
||||
6.236022,
|
||||
98.333223
|
||||
],
|
||||
[
|
||||
5.797578,
|
||||
97.74205
|
||||
],
|
||||
[
|
||||
5.303301,
|
||||
97.196699
|
||||
],
|
||||
[
|
||||
4.75795,
|
||||
96.702422
|
||||
],
|
||||
[
|
||||
4.166777,
|
||||
96.263978
|
||||
],
|
||||
[
|
||||
3.535476,
|
||||
95.885591
|
||||
],
|
||||
[
|
||||
2.870126,
|
||||
95.570904
|
||||
],
|
||||
[
|
||||
2.177135,
|
||||
95.322947
|
||||
],
|
||||
[
|
||||
1.463177,
|
||||
95.14411
|
||||
],
|
||||
[
|
||||
0.735129,
|
||||
95.036115
|
||||
],
|
||||
[
|
||||
0.0,
|
||||
95.0
|
||||
@@ -90,14 +330,295 @@
|
||||
[
|
||||
-13.5,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
0.0,
|
||||
0.0
|
||||
]
|
||||
],
|
||||
"outer_boundary_typed": [
|
||||
{
|
||||
"type": "arc",
|
||||
"start": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"end": [
|
||||
7.5,
|
||||
-7.5
|
||||
],
|
||||
"center": [
|
||||
0.0,
|
||||
-7.5
|
||||
],
|
||||
"radius": 7.5,
|
||||
"mid": [
|
||||
5.303301,
|
||||
-2.196699
|
||||
],
|
||||
"clockwise": true
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
7.5,
|
||||
-7.5
|
||||
],
|
||||
"end": [
|
||||
7.5,
|
||||
-22.6
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
7.5,
|
||||
-22.6
|
||||
],
|
||||
"end": [
|
||||
22.5,
|
||||
-22.6
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
22.5,
|
||||
-22.6
|
||||
],
|
||||
"end": [
|
||||
22.5,
|
||||
-13.496098
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
22.5,
|
||||
-13.496098
|
||||
],
|
||||
"end": [
|
||||
74.5,
|
||||
-13.496098
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
74.5,
|
||||
-13.496098
|
||||
],
|
||||
"end": [
|
||||
74.5,
|
||||
-22.6
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
74.5,
|
||||
-22.6
|
||||
],
|
||||
"end": [
|
||||
102.5,
|
||||
-22.6
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
102.5,
|
||||
-22.6
|
||||
],
|
||||
"end": [
|
||||
102.5,
|
||||
-7.5
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "arc",
|
||||
"start": [
|
||||
102.5,
|
||||
-7.5
|
||||
],
|
||||
"end": [
|
||||
117.5,
|
||||
-7.5
|
||||
],
|
||||
"center": [
|
||||
110.0,
|
||||
-7.5
|
||||
],
|
||||
"radius": 7.5,
|
||||
"mid": [
|
||||
110.0,
|
||||
0.0
|
||||
],
|
||||
"clockwise": false
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
117.5,
|
||||
-7.5
|
||||
],
|
||||
"end": [
|
||||
117.5,
|
||||
-22.6
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
117.5,
|
||||
-22.6
|
||||
],
|
||||
"end": [
|
||||
140.748693,
|
||||
-22.6
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
140.748693,
|
||||
-22.6
|
||||
],
|
||||
"end": [
|
||||
140.748693,
|
||||
124.4
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
140.748693,
|
||||
124.4
|
||||
],
|
||||
"end": [
|
||||
117.5,
|
||||
124.4
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
117.5,
|
||||
124.4
|
||||
],
|
||||
"end": [
|
||||
117.5,
|
||||
102.5
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "arc",
|
||||
"start": [
|
||||
117.5,
|
||||
102.5
|
||||
],
|
||||
"end": [
|
||||
102.5,
|
||||
102.5
|
||||
],
|
||||
"center": [
|
||||
110.0,
|
||||
102.5
|
||||
],
|
||||
"radius": 7.5,
|
||||
"mid": [
|
||||
110.0,
|
||||
95.0
|
||||
],
|
||||
"clockwise": true
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
102.5,
|
||||
102.5
|
||||
],
|
||||
"end": [
|
||||
102.5,
|
||||
124.4
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
102.5,
|
||||
124.4
|
||||
],
|
||||
"end": [
|
||||
7.5,
|
||||
124.4
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
7.5,
|
||||
124.4
|
||||
],
|
||||
"end": [
|
||||
7.5,
|
||||
102.5
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "arc",
|
||||
"start": [
|
||||
7.5,
|
||||
102.5
|
||||
],
|
||||
"end": [
|
||||
0.0,
|
||||
95.0
|
||||
],
|
||||
"center": [
|
||||
0.0,
|
||||
102.5
|
||||
],
|
||||
"radius": 7.5,
|
||||
"mid": [
|
||||
5.303301,
|
||||
97.196699
|
||||
],
|
||||
"clockwise": true
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
0.0,
|
||||
95.0
|
||||
],
|
||||
"end": [
|
||||
-13.5,
|
||||
95.0
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
-13.5,
|
||||
95.0
|
||||
],
|
||||
"end": [
|
||||
-13.5,
|
||||
0.0
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "line",
|
||||
"start": [
|
||||
-13.5,
|
||||
0.0
|
||||
],
|
||||
"end": [
|
||||
0.0,
|
||||
0.0
|
||||
]
|
||||
}
|
||||
],
|
||||
"inner_boundaries": [],
|
||||
"num_inner_boundaries": 0,
|
||||
"holes": [],
|
||||
"thickness": null,
|
||||
"transform": {
|
||||
"origin": [
|
||||
@@ -120,6 +641,5 @@
|
||||
0.0,
|
||||
1.0
|
||||
]
|
||||
},
|
||||
"holes": []
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user