feat(isogrid): Add update-in-place NX import + 3 density field variations

Major improvements to NX import workflow and rib pattern generation:

**NX Import (import_profile.py)**
- Smart sketch management: detects existing sketches and updates in-place
- Preserves extrude references (no manual re-reference needed!)
- First run: creates new sketch + auto-extrude
- Subsequent runs: clears geometry, redraws, extrude regenerates automatically
- Added _find_sketch_by_name() and _clear_sketch_geometry() functions

**Rib Pattern Variations**
Generated 3 different density field strategies for testing NX updates:
- Balanced (α=1.0, β=0.3): Original moderate density - 86 pockets, 2,499g
- Edge-focused (α=0.3, β=1.5): Dense ribs near boundaries - 167 pockets, 2,328g
- Hole-focused (α=1.8, β=0.15): Dense around holes - 62 pockets, 3,025g

**New Files**
- import_profile_update_test.py: Standalone update-only test script
- params_large_triangles.json: s_min=30mm, s_max=100mm (larger triangles)
- params_edge_focused.json: β=1.5 (boundary reinforcement)
- params_hole_focused.json: α=1.8 (hole reinforcement)
- sandbox_results/{edge_focused,hole_focused}/: Complete rib profile sets

**Test Results (Sandbox 1)**
- 833 triangles with large triangle params (vs 1,501 with previous params)
- Edge-focused: 1,155 triangles, 167 pockets (2x denser)
- Hole-focused: 523 triangles, 62 pockets (sparse pattern)

This enables rapid rib pattern iteration in NX without losing extrude references!

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-17 22:02:41 -05:00
parent 6ed074dbbf
commit 8efa8ba0d1
15 changed files with 83878 additions and 88 deletions

View File

@@ -0,0 +1,19 @@
{
"eta_0": 0.05,
"alpha": 0.3,
"R_0": 40.0,
"kappa": 1.0,
"p": 2.0,
"beta": 1.5,
"R_edge": 25.0,
"s_min": 25.0,
"s_max": 80.0,
"t_min": 2.5,
"t_0": 3.5,
"gamma": 1.0,
"w_frame": 3.0,
"r_f": 1.5,
"d_keep": 0.8,
"min_pocket_radius": 8.0,
"min_triangle_area": 30.0
}

View File

@@ -0,0 +1,19 @@
{
"eta_0": 0.05,
"alpha": 1.8,
"R_0": 50.0,
"kappa": 1.0,
"p": 2.0,
"beta": 0.15,
"R_edge": 10.0,
"s_min": 20.0,
"s_max": 90.0,
"t_min": 2.5,
"t_0": 3.5,
"gamma": 1.0,
"w_frame": 3.0,
"r_f": 1.5,
"d_keep": 0.8,
"min_pocket_radius": 8.0,
"min_triangle_area": 30.0
}

View File

@@ -0,0 +1,19 @@
{
"eta_0": 0.1,
"alpha": 1.0,
"R_0": 40.0,
"kappa": 1.0,
"p": 2.0,
"beta": 0.3,
"R_edge": 15.0,
"s_min": 30.0,
"s_max": 100.0,
"t_min": 2.5,
"t_0": 3.5,
"gamma": 1.0,
"w_frame": 3.0,
"r_f": 1.5,
"d_keep": 0.8,
"min_pocket_radius": 8.0,
"min_triangle_area": 30.0
}

View File

@@ -0,0 +1,795 @@
{
"schema_version": "2.0",
"units": "mm",
"sandbox_id": "sandbox_1",
"outer_boundary": [
{
"type": "line",
"start": [
381.787159,
14.92177
],
"end": [
132.687159,
14.92177
]
},
{
"type": "line",
"start": [
132.687159,
14.92177
],
"end": [
132.687159,
-13.57823
]
},
{
"type": "line",
"start": [
132.687159,
-13.57823
],
"end": [
88.687159,
-13.57823
]
},
{
"type": "line",
"start": [
88.687159,
-13.57823
],
"end": [
88.687159,
14.92177
]
},
{
"type": "line",
"start": [
88.687159,
14.92177
],
"end": [
-13.412841,
14.92177
]
},
{
"type": "line",
"start": [
-13.412841,
14.92177
],
"end": [
-13.412841,
0.02177
]
},
{
"type": "line",
"start": [
-13.412841,
0.02177
],
"end": [
-30.812841,
0.02177
]
},
{
"type": "line",
"start": [
-30.812841,
0.02177
],
"end": [
-30.812841,
-254.17823
]
},
{
"type": "line",
"start": [
-30.812841,
-254.17823
],
"end": [
169.435852,
-254.17823
]
},
{
"type": "line",
"start": [
169.435852,
-254.17823
],
"end": [
169.435852,
-417.57823
]
},
{
"type": "line",
"start": [
169.435852,
-417.57823
],
"end": [
197.121675,
-417.57823
]
},
{
"type": "line",
"start": [
197.121675,
-417.57823
],
"end": [
197.121675,
-401.57823
]
},
{
"type": "line",
"start": [
197.121675,
-401.57823
],
"end": [
212.121675,
-401.57823
]
},
{
"type": "line",
"start": [
212.121675,
-401.57823
],
"end": [
212.121675,
-417.57823
]
},
{
"type": "line",
"start": [
212.121675,
-417.57823
],
"end": [
289.687159,
-417.57823
]
},
{
"type": "line",
"start": [
289.687159,
-417.57823
],
"end": [
304.687159,
-406.57823
]
},
{
"type": "line",
"start": [
304.687159,
-406.57823
],
"end": [
317.687159,
-406.57823
]
},
{
"type": "line",
"start": [
317.687159,
-406.57823
],
"end": [
332.687159,
-417.57823
]
},
{
"type": "line",
"start": [
332.687159,
-417.57823
],
"end": [
381.787159,
-417.57823
]
},
{
"type": "line",
"start": [
381.787159,
-417.57823
],
"end": [
381.787159,
-395.17823
]
},
{
"type": "line",
"start": [
381.787159,
-395.17823
],
"end": [
404.187159,
-395.17823
]
},
{
"type": "line",
"start": [
404.187159,
-395.17823
],
"end": [
404.187159,
-322.57823
]
},
{
"type": "line",
"start": [
404.187159,
-322.57823
],
"end": [
352.787159,
-322.57823
]
},
{
"type": "line",
"start": [
352.787159,
-322.57823
],
"end": [
352.787159,
-304.17823
]
},
{
"type": "line",
"start": [
352.787159,
-304.17823
],
"end": [
361.187159,
-304.17823
]
},
{
"type": "line",
"start": [
361.187159,
-304.17823
],
"end": [
361.187159,
-24.57823
]
},
{
"type": "line",
"start": [
361.187159,
-24.57823
],
"end": [
404.187159,
-24.57823
]
},
{
"type": "line",
"start": [
404.187159,
-24.57823
],
"end": [
404.187159,
0.02177
]
},
{
"type": "line",
"start": [
404.187159,
0.02177
],
"end": [
381.787159,
0.02177
]
},
{
"type": "line",
"start": [
381.787159,
0.02177
],
"end": [
381.787159,
14.92177
]
}
],
"inner_boundaries": [
{
"index": 0,
"segments": [
{
"type": "arc",
"start": [
0.0,
0.0
],
"end": [
0.0,
0.0
],
"center": [
0.0,
-3.07823
],
"radius": 3.07823,
"mid": [
0.0,
-6.15646
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 1,
"segments": [
{
"type": "arc",
"start": [
366.187159,
1.02177
],
"end": [
366.187159,
1.02177
],
"center": [
366.187159,
-3.07823
],
"radius": 4.1,
"mid": [
366.187159,
-7.17823
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 2,
"segments": [
{
"type": "arc",
"start": [
44.987159,
0.0
],
"end": [
44.987159,
0.0
],
"center": [
44.987159,
-3.07823
],
"radius": 3.07823,
"mid": [
44.987159,
-6.15646
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 3,
"segments": [
{
"type": "arc",
"start": [
250.707159,
-272.32823
],
"end": [
250.707159,
-272.32823
],
"center": [
250.707159,
-275.57823
],
"radius": 3.25,
"mid": [
250.707159,
-278.82823
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 4,
"segments": [
{
"type": "arc",
"start": [
44.987159,
-155.5
],
"end": [
44.987159,
-155.5
],
"center": [
44.987159,
-158.57823
],
"radius": 3.07823,
"mid": [
44.987159,
-161.65646
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 5,
"segments": [
{
"type": "arc",
"start": [
125.187159,
-232.47823
],
"end": [
125.187159,
-232.47823
],
"center": [
125.187159,
-236.57823
],
"radius": 4.1,
"mid": [
125.187159,
-240.67823
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 6,
"segments": [
{
"type": "arc",
"start": [
-9.812841,
-67.82823
],
"end": [
-9.812841,
-67.82823
],
"center": [
-9.812841,
-71.07823
],
"radius": 3.25,
"mid": [
-9.812841,
-74.32823
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 7,
"segments": [
{
"type": "arc",
"start": [
362.787159,
-372.9
],
"end": [
362.787159,
-372.9
],
"center": [
362.787159,
-375.97823
],
"radius": 3.07823,
"mid": [
362.787159,
-379.05646
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 8,
"segments": [
{
"type": "arc",
"start": [
250.707159,
-372.72823
],
"end": [
250.707159,
-372.72823
],
"center": [
250.707159,
-375.97823
],
"radius": 3.25,
"mid": [
250.707159,
-379.22823
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 9,
"segments": [
{
"type": "arc",
"start": [
291.457159,
-311.1
],
"end": [
291.457159,
-311.1
],
"center": [
291.457159,
-314.17823
],
"radius": 3.07823,
"mid": [
291.457159,
-317.25646
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 10,
"segments": [
{
"type": "arc",
"start": [
44.987159,
-68.0
],
"end": [
44.987159,
-68.0
],
"center": [
44.987159,
-71.07823
],
"radius": 3.07823,
"mid": [
44.987159,
-74.15646
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 11,
"segments": [
{
"type": "arc",
"start": [
194.447159,
-372.72823
],
"end": [
194.447159,
-372.72823
],
"center": [
194.447159,
-375.97823
],
"radius": 3.25,
"mid": [
194.447159,
-379.22823
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 12,
"segments": [
{
"type": "arc",
"start": [
291.457159,
-372.9
],
"end": [
291.457159,
-372.9
],
"center": [
291.457159,
-375.97823
],
"radius": 3.07823,
"mid": [
291.457159,
-379.05646
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 13,
"segments": [
{
"type": "arc",
"start": [
125.187159,
-154.47823
],
"end": [
125.187159,
-154.47823
],
"center": [
125.187159,
-158.57823
],
"radius": 4.1,
"mid": [
125.187159,
-162.67823
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 14,
"segments": [
{
"type": "arc",
"start": [
125.187159,
-66.97823
],
"end": [
125.187159,
-66.97823
],
"center": [
125.187159,
-71.07823
],
"radius": 4.1,
"mid": [
125.187159,
-75.17823
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 15,
"segments": [
{
"type": "arc",
"start": [
194.447159,
-272.32823
],
"end": [
194.447159,
-272.32823
],
"center": [
194.447159,
-275.57823
],
"radius": 3.25,
"mid": [
194.447159,
-278.82823
],
"clockwise": false
}
],
"num_segments": 1
}
],
"num_inner_boundaries": 16,
"thickness": null,
"transform": {
"origin": [
197.57823,
184.187159,
6.35
],
"x_axis": [
0.0,
-1.0,
0.0
],
"y_axis": [
1.0,
0.0,
-0.0
],
"normal": [
0.0,
0.0,
1.0
]
}
}

View File

@@ -0,0 +1,314 @@
{
"schema_version": "2.0",
"units": "mm",
"sandbox_id": "sandbox_2",
"outer_boundary": [
{
"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,
"thickness": null,
"transform": {
"origin": [
-196.0,
175.5,
4.35
],
"x_axis": [
0.0,
-1.0,
0.0
],
"y_axis": [
1.0,
0.0,
-0.0
],
"normal": [
0.0,
0.0,
1.0
]
}
}

View File

@@ -0,0 +1,795 @@
{
"schema_version": "2.0",
"units": "mm",
"sandbox_id": "sandbox_1",
"outer_boundary": [
{
"type": "line",
"start": [
381.787159,
14.92177
],
"end": [
132.687159,
14.92177
]
},
{
"type": "line",
"start": [
132.687159,
14.92177
],
"end": [
132.687159,
-13.57823
]
},
{
"type": "line",
"start": [
132.687159,
-13.57823
],
"end": [
88.687159,
-13.57823
]
},
{
"type": "line",
"start": [
88.687159,
-13.57823
],
"end": [
88.687159,
14.92177
]
},
{
"type": "line",
"start": [
88.687159,
14.92177
],
"end": [
-13.412841,
14.92177
]
},
{
"type": "line",
"start": [
-13.412841,
14.92177
],
"end": [
-13.412841,
0.02177
]
},
{
"type": "line",
"start": [
-13.412841,
0.02177
],
"end": [
-30.812841,
0.02177
]
},
{
"type": "line",
"start": [
-30.812841,
0.02177
],
"end": [
-30.812841,
-254.17823
]
},
{
"type": "line",
"start": [
-30.812841,
-254.17823
],
"end": [
169.435852,
-254.17823
]
},
{
"type": "line",
"start": [
169.435852,
-254.17823
],
"end": [
169.435852,
-417.57823
]
},
{
"type": "line",
"start": [
169.435852,
-417.57823
],
"end": [
197.121675,
-417.57823
]
},
{
"type": "line",
"start": [
197.121675,
-417.57823
],
"end": [
197.121675,
-401.57823
]
},
{
"type": "line",
"start": [
197.121675,
-401.57823
],
"end": [
212.121675,
-401.57823
]
},
{
"type": "line",
"start": [
212.121675,
-401.57823
],
"end": [
212.121675,
-417.57823
]
},
{
"type": "line",
"start": [
212.121675,
-417.57823
],
"end": [
289.687159,
-417.57823
]
},
{
"type": "line",
"start": [
289.687159,
-417.57823
],
"end": [
304.687159,
-406.57823
]
},
{
"type": "line",
"start": [
304.687159,
-406.57823
],
"end": [
317.687159,
-406.57823
]
},
{
"type": "line",
"start": [
317.687159,
-406.57823
],
"end": [
332.687159,
-417.57823
]
},
{
"type": "line",
"start": [
332.687159,
-417.57823
],
"end": [
381.787159,
-417.57823
]
},
{
"type": "line",
"start": [
381.787159,
-417.57823
],
"end": [
381.787159,
-395.17823
]
},
{
"type": "line",
"start": [
381.787159,
-395.17823
],
"end": [
404.187159,
-395.17823
]
},
{
"type": "line",
"start": [
404.187159,
-395.17823
],
"end": [
404.187159,
-322.57823
]
},
{
"type": "line",
"start": [
404.187159,
-322.57823
],
"end": [
352.787159,
-322.57823
]
},
{
"type": "line",
"start": [
352.787159,
-322.57823
],
"end": [
352.787159,
-304.17823
]
},
{
"type": "line",
"start": [
352.787159,
-304.17823
],
"end": [
361.187159,
-304.17823
]
},
{
"type": "line",
"start": [
361.187159,
-304.17823
],
"end": [
361.187159,
-24.57823
]
},
{
"type": "line",
"start": [
361.187159,
-24.57823
],
"end": [
404.187159,
-24.57823
]
},
{
"type": "line",
"start": [
404.187159,
-24.57823
],
"end": [
404.187159,
0.02177
]
},
{
"type": "line",
"start": [
404.187159,
0.02177
],
"end": [
381.787159,
0.02177
]
},
{
"type": "line",
"start": [
381.787159,
0.02177
],
"end": [
381.787159,
14.92177
]
}
],
"inner_boundaries": [
{
"index": 0,
"segments": [
{
"type": "arc",
"start": [
0.0,
0.0
],
"end": [
0.0,
0.0
],
"center": [
0.0,
-3.07823
],
"radius": 3.07823,
"mid": [
0.0,
-6.15646
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 1,
"segments": [
{
"type": "arc",
"start": [
366.187159,
1.02177
],
"end": [
366.187159,
1.02177
],
"center": [
366.187159,
-3.07823
],
"radius": 4.1,
"mid": [
366.187159,
-7.17823
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 2,
"segments": [
{
"type": "arc",
"start": [
44.987159,
0.0
],
"end": [
44.987159,
0.0
],
"center": [
44.987159,
-3.07823
],
"radius": 3.07823,
"mid": [
44.987159,
-6.15646
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 3,
"segments": [
{
"type": "arc",
"start": [
250.707159,
-272.32823
],
"end": [
250.707159,
-272.32823
],
"center": [
250.707159,
-275.57823
],
"radius": 3.25,
"mid": [
250.707159,
-278.82823
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 4,
"segments": [
{
"type": "arc",
"start": [
44.987159,
-155.5
],
"end": [
44.987159,
-155.5
],
"center": [
44.987159,
-158.57823
],
"radius": 3.07823,
"mid": [
44.987159,
-161.65646
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 5,
"segments": [
{
"type": "arc",
"start": [
125.187159,
-232.47823
],
"end": [
125.187159,
-232.47823
],
"center": [
125.187159,
-236.57823
],
"radius": 4.1,
"mid": [
125.187159,
-240.67823
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 6,
"segments": [
{
"type": "arc",
"start": [
-9.812841,
-67.82823
],
"end": [
-9.812841,
-67.82823
],
"center": [
-9.812841,
-71.07823
],
"radius": 3.25,
"mid": [
-9.812841,
-74.32823
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 7,
"segments": [
{
"type": "arc",
"start": [
362.787159,
-372.9
],
"end": [
362.787159,
-372.9
],
"center": [
362.787159,
-375.97823
],
"radius": 3.07823,
"mid": [
362.787159,
-379.05646
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 8,
"segments": [
{
"type": "arc",
"start": [
250.707159,
-372.72823
],
"end": [
250.707159,
-372.72823
],
"center": [
250.707159,
-375.97823
],
"radius": 3.25,
"mid": [
250.707159,
-379.22823
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 9,
"segments": [
{
"type": "arc",
"start": [
291.457159,
-311.1
],
"end": [
291.457159,
-311.1
],
"center": [
291.457159,
-314.17823
],
"radius": 3.07823,
"mid": [
291.457159,
-317.25646
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 10,
"segments": [
{
"type": "arc",
"start": [
44.987159,
-68.0
],
"end": [
44.987159,
-68.0
],
"center": [
44.987159,
-71.07823
],
"radius": 3.07823,
"mid": [
44.987159,
-74.15646
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 11,
"segments": [
{
"type": "arc",
"start": [
194.447159,
-372.72823
],
"end": [
194.447159,
-372.72823
],
"center": [
194.447159,
-375.97823
],
"radius": 3.25,
"mid": [
194.447159,
-379.22823
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 12,
"segments": [
{
"type": "arc",
"start": [
291.457159,
-372.9
],
"end": [
291.457159,
-372.9
],
"center": [
291.457159,
-375.97823
],
"radius": 3.07823,
"mid": [
291.457159,
-379.05646
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 13,
"segments": [
{
"type": "arc",
"start": [
125.187159,
-154.47823
],
"end": [
125.187159,
-154.47823
],
"center": [
125.187159,
-158.57823
],
"radius": 4.1,
"mid": [
125.187159,
-162.67823
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 14,
"segments": [
{
"type": "arc",
"start": [
125.187159,
-66.97823
],
"end": [
125.187159,
-66.97823
],
"center": [
125.187159,
-71.07823
],
"radius": 4.1,
"mid": [
125.187159,
-75.17823
],
"clockwise": false
}
],
"num_segments": 1
},
{
"index": 15,
"segments": [
{
"type": "arc",
"start": [
194.447159,
-272.32823
],
"end": [
194.447159,
-272.32823
],
"center": [
194.447159,
-275.57823
],
"radius": 3.25,
"mid": [
194.447159,
-278.82823
],
"clockwise": false
}
],
"num_segments": 1
}
],
"num_inner_boundaries": 16,
"thickness": null,
"transform": {
"origin": [
197.57823,
184.187159,
6.35
],
"x_axis": [
0.0,
-1.0,
0.0
],
"y_axis": [
1.0,
0.0,
-0.0
],
"normal": [
0.0,
0.0,
1.0
]
}
}

View File

@@ -0,0 +1,314 @@
{
"schema_version": "2.0",
"units": "mm",
"sandbox_id": "sandbox_2",
"outer_boundary": [
{
"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,
"thickness": null,
"transform": {
"origin": [
-196.0,
175.5,
4.35
],
"x_axis": [
0.0,
-1.0,
0.0
],
"y_axis": [
1.0,
0.0,
-0.0
],
"normal": [
0.0,
0.0,
1.0
]
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff