Add standalone brain CLI, test geometries, and robustness sweep outputs

This commit is contained in:
2026-02-16 00:12:12 +00:00
parent 4bec4063a5
commit 9d4c37234a
22 changed files with 323144 additions and 0 deletions

View File

@@ -0,0 +1,574 @@
{
"plate_id": "asymmetric_plate_dense_core",
"units": "mm",
"thickness": 9.0,
"material": "AL6061-T6",
"outer_boundary": [
[
0,
0
],
[
280,
0
],
[
330,
90
],
[
300,
210
],
[
120,
240
],
[
0,
180
]
],
"holes": [
{
"index": 0,
"center": [
55,
55
],
"diameter": 10,
"is_circular": true,
"boundary": [
[
60.0,
55.0
],
[
59.83,
56.294
],
[
59.33,
57.5
],
[
58.536,
58.536
],
[
57.5,
59.33
],
[
56.294,
59.83
],
[
55.0,
60.0
],
[
53.706,
59.83
],
[
52.5,
59.33
],
[
51.464,
58.536
],
[
50.67,
57.5
],
[
50.17,
56.294
],
[
50.0,
55.0
],
[
50.17,
53.706
],
[
50.67,
52.5
],
[
51.464,
51.464
],
[
52.5,
50.67
],
[
53.706,
50.17
],
[
55.0,
50.0
],
[
56.294,
50.17
],
[
57.5,
50.67
],
[
58.536,
51.464
],
[
59.33,
52.5
],
[
59.83,
53.706
]
],
"weight": 0.4
},
{
"index": 1,
"center": [
110,
70
],
"diameter": 8.0,
"is_circular": true,
"boundary": [
[
114.0,
70.0
],
[
113.864,
71.035
],
[
113.464,
72.0
],
[
112.828,
72.828
],
[
112.0,
73.464
],
[
111.035,
73.864
],
[
110.0,
74.0
],
[
108.965,
73.864
],
[
108.0,
73.464
],
[
107.172,
72.828
],
[
106.536,
72.0
],
[
106.136,
71.035
],
[
106.0,
70.0
],
[
106.136,
68.965
],
[
106.536,
68.0
],
[
107.172,
67.172
],
[
108.0,
66.536
],
[
108.965,
66.136
],
[
110.0,
66.0
],
[
111.035,
66.136
],
[
112.0,
66.536
],
[
112.828,
67.172
],
[
113.464,
68.0
],
[
113.864,
68.965
]
],
"weight": 0.26
},
{
"index": 2,
"center": [
190,
120
],
"diameter": 14.0,
"is_circular": true,
"boundary": [
[
200.0,
120.0
],
[
199.659,
122.588
],
[
198.66,
125.0
],
[
197.071,
127.071
],
[
195.0,
128.66
],
[
192.588,
129.659
],
[
190.0,
130.0
],
[
187.412,
129.659
],
[
185.0,
128.66
],
[
182.929,
127.071
],
[
181.34,
125.0
],
[
180.341,
122.588
],
[
180.0,
120.0
],
[
180.341,
117.412
],
[
181.34,
115.0
],
[
182.929,
112.929
],
[
185.0,
111.34
],
[
187.412,
110.341
],
[
190.0,
110.0
],
[
192.588,
110.341
],
[
195.0,
111.34
],
[
197.071,
112.929
],
[
198.66,
115.0
],
[
199.659,
117.412
]
],
"weight": 0.75
},
{
"index": 3,
"center": [
250,
155
],
"diameter": 12,
"is_circular": true,
"boundary": [
[
256.0,
155.0
],
[
255.796,
156.553
],
[
255.196,
158.0
],
[
254.243,
159.243
],
[
253.0,
160.196
],
[
251.553,
160.796
],
[
250.0,
161.0
],
[
248.447,
160.796
],
[
247.0,
160.196
],
[
245.757,
159.243
],
[
244.804,
158.0
],
[
244.204,
156.553
],
[
244.0,
155.0
],
[
244.204,
153.447
],
[
244.804,
152.0
],
[
245.757,
150.757
],
[
247.0,
149.804
],
[
248.447,
149.204
],
[
250.0,
149.0
],
[
251.553,
149.204
],
[
253.0,
149.804
],
[
254.243,
150.757
],
[
255.196,
152.0
],
[
255.796,
153.447
]
],
"weight": 0.75
},
{
"index": 4,
"center": [
90,
170
],
"diameter": 14,
"is_circular": true,
"boundary": [
[
97.0,
170.0
],
[
96.761,
171.812
],
[
96.062,
173.5
],
[
94.95,
174.95
],
[
93.5,
176.062
],
[
91.812,
176.761
],
[
90.0,
177.0
],
[
88.188,
176.761
],
[
86.5,
176.062
],
[
85.05,
174.95
],
[
83.938,
173.5
],
[
83.239,
171.812
],
[
83.0,
170.0
],
[
83.239,
168.188
],
[
83.938,
166.5
],
[
85.05,
165.05
],
[
86.5,
163.938
],
[
88.188,
163.239
],
[
90.0,
163.0
],
[
91.812,
163.239
],
[
93.5,
163.938
],
[
94.95,
165.05
],
[
96.062,
166.5
],
[
96.761,
168.188
]
],
"weight": 0.54
}
]
}

View File

@@ -0,0 +1,674 @@
{
"plate_id": "mixed_hole_weights_plate",
"units": "mm",
"thickness": 10.0,
"material": "AL6061-T6",
"outer_boundary": [
[
0,
0
],
[
320,
0
],
[
320,
220
],
[
0,
220
]
],
"holes": [
{
"index": 0,
"center": [
40,
40
],
"diameter": 12,
"is_circular": true,
"boundary": [
[
46.0,
40.0
],
[
45.796,
41.553
],
[
45.196,
43.0
],
[
44.243,
44.243
],
[
43.0,
45.196
],
[
41.553,
45.796
],
[
40.0,
46.0
],
[
38.447,
45.796
],
[
37.0,
45.196
],
[
35.757,
44.243
],
[
34.804,
43.0
],
[
34.204,
41.553
],
[
34.0,
40.0
],
[
34.204,
38.447
],
[
34.804,
37.0
],
[
35.757,
35.757
],
[
37.0,
34.804
],
[
38.447,
34.204
],
[
40.0,
34.0
],
[
41.553,
34.204
],
[
43.0,
34.804
],
[
44.243,
35.757
],
[
45.196,
37.0
],
[
45.796,
38.447
]
],
"weight": 0.19
},
{
"index": 1,
"center": [
80,
170
],
"diameter": 14,
"is_circular": true,
"boundary": [
[
87.0,
170.0
],
[
86.761,
171.812
],
[
86.062,
173.5
],
[
84.95,
174.95
],
[
83.5,
176.062
],
[
81.812,
176.761
],
[
80.0,
177.0
],
[
78.188,
176.761
],
[
76.5,
176.062
],
[
75.05,
174.95
],
[
73.938,
173.5
],
[
73.239,
171.812
],
[
73.0,
170.0
],
[
73.239,
168.188
],
[
73.938,
166.5
],
[
75.05,
165.05
],
[
76.5,
163.938
],
[
78.188,
163.239
],
[
80.0,
163.0
],
[
81.812,
163.239
],
[
83.5,
163.938
],
[
84.95,
165.05
],
[
86.062,
166.5
],
[
86.761,
168.188
]
],
"weight": 0.4
},
{
"index": 2,
"center": [
160,
110
],
"diameter": 14.0,
"is_circular": true,
"boundary": [
[
169.0,
110.0
],
[
168.693,
112.329
],
[
167.794,
114.5
],
[
166.364,
116.364
],
[
164.5,
117.794
],
[
162.329,
118.693
],
[
160.0,
119.0
],
[
157.671,
118.693
],
[
155.5,
117.794
],
[
153.636,
116.364
],
[
152.206,
114.5
],
[
151.307,
112.329
],
[
151.0,
110.0
],
[
151.307,
107.671
],
[
152.206,
105.5
],
[
153.636,
103.636
],
[
155.5,
102.206
],
[
157.671,
101.307
],
[
160.0,
101.0
],
[
162.329,
101.307
],
[
164.5,
102.206
],
[
166.364,
103.636
],
[
167.794,
105.5
],
[
168.693,
107.671
]
],
"weight": 0.75
},
{
"index": 3,
"center": [
240,
60
],
"diameter": 10,
"is_circular": true,
"boundary": [
[
245.0,
60.0
],
[
244.83,
61.294
],
[
244.33,
62.5
],
[
243.536,
63.536
],
[
242.5,
64.33
],
[
241.294,
64.83
],
[
240.0,
65.0
],
[
238.706,
64.83
],
[
237.5,
64.33
],
[
236.464,
63.536
],
[
235.67,
62.5
],
[
235.17,
61.294
],
[
235.0,
60.0
],
[
235.17,
58.706
],
[
235.67,
57.5
],
[
236.464,
56.464
],
[
237.5,
55.67
],
[
238.706,
55.17
],
[
240.0,
55.0
],
[
241.294,
55.17
],
[
242.5,
55.67
],
[
243.536,
56.464
],
[
244.33,
57.5
],
[
244.83,
58.706
]
],
"weight": 0.61
},
{
"index": 4,
"center": [
280,
180
],
"diameter": 14.0,
"is_circular": true,
"boundary": [
[
288.0,
180.0
],
[
287.727,
182.071
],
[
286.928,
184.0
],
[
285.657,
185.657
],
[
284.0,
186.928
],
[
282.071,
187.727
],
[
280.0,
188.0
],
[
277.929,
187.727
],
[
276.0,
186.928
],
[
274.343,
185.657
],
[
273.072,
184.0
],
[
272.273,
182.071
],
[
272.0,
180.0
],
[
272.273,
177.929
],
[
273.072,
176.0
],
[
274.343,
174.343
],
[
276.0,
173.072
],
[
277.929,
172.273
],
[
280.0,
172.0
],
[
282.071,
172.273
],
[
284.0,
173.072
],
[
285.657,
174.343
],
[
286.928,
176.0
],
[
287.727,
177.929
]
],
"weight": 0.75
},
{
"index": 5,
"center": [
45,
185
],
"diameter": 9,
"is_circular": true,
"boundary": [
[
49.5,
185.0
],
[
49.347,
186.165
],
[
48.897,
187.25
],
[
48.182,
188.182
],
[
47.25,
188.897
],
[
46.165,
189.347
],
[
45.0,
189.5
],
[
43.835,
189.347
],
[
42.75,
188.897
],
[
41.818,
188.182
],
[
41.103,
187.25
],
[
40.653,
186.165
],
[
40.5,
185.0
],
[
40.653,
183.835
],
[
41.103,
182.75
],
[
41.818,
181.818
],
[
42.75,
181.103
],
[
43.835,
180.653
],
[
45.0,
180.5
],
[
46.165,
180.653
],
[
47.25,
181.103
],
[
48.182,
181.818
],
[
48.897,
182.75
],
[
49.347,
183.835
]
],
"weight": 0.12
}
]
}

View File

@@ -0,0 +1,458 @@
{
"plate_id": "small_plate_200x150",
"units": "mm",
"thickness": 8.0,
"material": "AL6061-T6",
"outer_boundary": [
[
0,
0
],
[
200,
0
],
[
200,
150
],
[
0,
150
]
],
"holes": [
{
"index": 0,
"center": [
30,
30
],
"diameter": 10.0,
"is_circular": true,
"boundary": [
[
35.0,
30.0
],
[
34.83,
31.294
],
[
34.33,
32.5
],
[
33.536,
33.536
],
[
32.5,
34.33
],
[
31.294,
34.83
],
[
30.0,
35.0
],
[
28.706,
34.83
],
[
27.5,
34.33
],
[
26.464,
33.536
],
[
25.67,
32.5
],
[
25.17,
31.294
],
[
25.0,
30.0
],
[
25.17,
28.706
],
[
25.67,
27.5
],
[
26.464,
26.464
],
[
27.5,
25.67
],
[
28.706,
25.17
],
[
30.0,
25.0
],
[
31.294,
25.17
],
[
32.5,
25.67
],
[
33.536,
26.464
],
[
34.33,
27.5
],
[
34.83,
28.706
]
],
"weight": 1.0
},
{
"index": 1,
"center": [
170,
30
],
"diameter": 10.0,
"is_circular": true,
"boundary": [
[
175.0,
30.0
],
[
174.83,
31.294
],
[
174.33,
32.5
],
[
173.536,
33.536
],
[
172.5,
34.33
],
[
171.294,
34.83
],
[
170.0,
35.0
],
[
168.706,
34.83
],
[
167.5,
34.33
],
[
166.464,
33.536
],
[
165.67,
32.5
],
[
165.17,
31.294
],
[
165.0,
30.0
],
[
165.17,
28.706
],
[
165.67,
27.5
],
[
166.464,
26.464
],
[
167.5,
25.67
],
[
168.706,
25.17
],
[
170.0,
25.0
],
[
171.294,
25.17
],
[
172.5,
25.67
],
[
173.536,
26.464
],
[
174.33,
27.5
],
[
174.83,
28.706
]
],
"weight": 1.0
},
{
"index": 2,
"center": [
170,
120
],
"diameter": 10.0,
"is_circular": true,
"boundary": [
[
175.0,
120.0
],
[
174.83,
121.294
],
[
174.33,
122.5
],
[
173.536,
123.536
],
[
172.5,
124.33
],
[
171.294,
124.83
],
[
170.0,
125.0
],
[
168.706,
124.83
],
[
167.5,
124.33
],
[
166.464,
123.536
],
[
165.67,
122.5
],
[
165.17,
121.294
],
[
165.0,
120.0
],
[
165.17,
118.706
],
[
165.67,
117.5
],
[
166.464,
116.464
],
[
167.5,
115.67
],
[
168.706,
115.17
],
[
170.0,
115.0
],
[
171.294,
115.17
],
[
172.5,
115.67
],
[
173.536,
116.464
],
[
174.33,
117.5
],
[
174.83,
118.706
]
],
"weight": 1.0
},
{
"index": 3,
"center": [
30,
120
],
"diameter": 10.0,
"is_circular": true,
"boundary": [
[
35.0,
120.0
],
[
34.83,
121.294
],
[
34.33,
122.5
],
[
33.536,
123.536
],
[
32.5,
124.33
],
[
31.294,
124.83
],
[
30.0,
125.0
],
[
28.706,
124.83
],
[
27.5,
124.33
],
[
26.464,
123.536
],
[
25.67,
122.5
],
[
25.17,
121.294
],
[
25.0,
120.0
],
[
25.17,
118.706
],
[
25.67,
117.5
],
[
26.464,
116.464
],
[
27.5,
115.67
],
[
28.706,
115.17
],
[
30.0,
115.0
],
[
31.294,
115.17
],
[
32.5,
115.67
],
[
33.536,
116.464
],
[
34.33,
117.5
],
[
34.83,
118.706
]
],
"weight": 1.0
}
]
}