mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-15 13:10:45 +00:00
916b91e8d0
solidcore's main at c0d3cc0124, rewritten to one commit per same-author run per PR (2,800 commits, author credit kept; tree identical). Full original history: tangency-labs/solidcore archive/full-history. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> git-subtree-dir: solidcore git-subtree-mainline:44525da669git-subtree-split:c440e5f892
2996 lines
40 KiB
JSON
Vendored
2996 lines
40 KiB
JSON
Vendored
{
|
|
"cases": [
|
|
{
|
|
"name": "prog_test8_left_round_shell",
|
|
"note": "tests/prog_test/src/smSweepTest.cpp test 8: the 5 x 5 square [10,15]^2 of degree-3 B-spline lines with circle segments r 1 at (12,12) and r 0.8 at (14,14) in turned frames, OffsetProfile(0.8, LEFT, round, shell) as there (through SmApiCreateOffsetProfile, so at SM_ZONE_TOL_3D instead of 1e-4).",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
0.8,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
15.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
12.0,
|
|
12,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
-1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 1.0,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
14.0,
|
|
14,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 0.8,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "prog_test8_t1_r0_s0",
|
|
"note": "tests/prog_test/src/smSweepTest.cpp test 8: the 5 x 5 square [10,15]^2 of degree-3 B-spline lines with circle segments r 1 at (12,12) and r 0.8 at (14,14) in turned frames, offset 0.3, type 1, round 0, shell 0.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
0.3,
|
|
1,
|
|
0,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
15.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
12.0,
|
|
12,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
-1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 1.0,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
14.0,
|
|
14,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 0.8,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "prog_test8_t1_r0_s1",
|
|
"note": "tests/prog_test/src/smSweepTest.cpp test 8: the 5 x 5 square [10,15]^2 of degree-3 B-spline lines with circle segments r 1 at (12,12) and r 0.8 at (14,14) in turned frames, offset 0.3, type 1, round 0, shell 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
0.3,
|
|
1,
|
|
0,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
15.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
12.0,
|
|
12,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
-1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 1.0,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
14.0,
|
|
14,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 0.8,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "prog_test8_t1_r1_s0",
|
|
"note": "tests/prog_test/src/smSweepTest.cpp test 8: the 5 x 5 square [10,15]^2 of degree-3 B-spline lines with circle segments r 1 at (12,12) and r 0.8 at (14,14) in turned frames, offset 0.3, type 1, round 1, shell 0.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
0.3,
|
|
1,
|
|
1,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
15.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
12.0,
|
|
12,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
-1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 1.0,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
14.0,
|
|
14,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 0.8,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "prog_test8_t1_r1_s1",
|
|
"note": "tests/prog_test/src/smSweepTest.cpp test 8: the 5 x 5 square [10,15]^2 of degree-3 B-spline lines with circle segments r 1 at (12,12) and r 0.8 at (14,14) in turned frames, offset 0.3, type 1, round 1, shell 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
0.3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
15.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
12.0,
|
|
12,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
-1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 1.0,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
14.0,
|
|
14,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 0.8,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "prog_test8_t2_r0_s0",
|
|
"note": "tests/prog_test/src/smSweepTest.cpp test 8: the 5 x 5 square [10,15]^2 of degree-3 B-spline lines with circle segments r 1 at (12,12) and r 0.8 at (14,14) in turned frames, offset 0.3, type 2, round 0, shell 0.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
0.3,
|
|
2,
|
|
0,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
15.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
12.0,
|
|
12,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
-1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 1.0,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
14.0,
|
|
14,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 0.8,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "prog_test8_t2_r0_s1",
|
|
"note": "tests/prog_test/src/smSweepTest.cpp test 8: the 5 x 5 square [10,15]^2 of degree-3 B-spline lines with circle segments r 1 at (12,12) and r 0.8 at (14,14) in turned frames, offset 0.3, type 2, round 0, shell 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
0.3,
|
|
2,
|
|
0,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
15.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
12.0,
|
|
12,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
-1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 1.0,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
14.0,
|
|
14,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 0.8,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "prog_test8_t2_r1_s0",
|
|
"note": "tests/prog_test/src/smSweepTest.cpp test 8: the 5 x 5 square [10,15]^2 of degree-3 B-spline lines with circle segments r 1 at (12,12) and r 0.8 at (14,14) in turned frames, offset 0.3, type 2, round 1, shell 0.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
0.3,
|
|
2,
|
|
1,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
15.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
12.0,
|
|
12,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
-1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 1.0,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
14.0,
|
|
14,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 0.8,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "prog_test8_t2_r1_s1",
|
|
"note": "tests/prog_test/src/smSweepTest.cpp test 8: the 5 x 5 square [10,15]^2 of degree-3 B-spline lines with circle segments r 1 at (12,12) and r 0.8 at (14,14) in turned frames, offset 0.3, type 2, round 1, shell 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
0.3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
15.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
12.0,
|
|
12,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
-1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 1.0,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
14.0,
|
|
14,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 0.8,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "prog_test8_t3_r0_s0",
|
|
"note": "tests/prog_test/src/smSweepTest.cpp test 8: the 5 x 5 square [10,15]^2 of degree-3 B-spline lines with circle segments r 1 at (12,12) and r 0.8 at (14,14) in turned frames, offset 0.3, type 3, round 0, shell 0.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
0.3,
|
|
3,
|
|
0,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
15.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
12.0,
|
|
12,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
-1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 1.0,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
14.0,
|
|
14,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 0.8,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "prog_test8_t3_r0_s1",
|
|
"note": "tests/prog_test/src/smSweepTest.cpp test 8: the 5 x 5 square [10,15]^2 of degree-3 B-spline lines with circle segments r 1 at (12,12) and r 0.8 at (14,14) in turned frames, offset 0.3, type 3, round 0, shell 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
0.3,
|
|
3,
|
|
0,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
15.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
12.0,
|
|
12,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
-1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 1.0,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
14.0,
|
|
14,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 0.8,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "prog_test8_t3_r1_s0",
|
|
"note": "tests/prog_test/src/smSweepTest.cpp test 8: the 5 x 5 square [10,15]^2 of degree-3 B-spline lines with circle segments r 1 at (12,12) and r 0.8 at (14,14) in turned frames, offset 0.3, type 3, round 1, shell 0.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
0.3,
|
|
3,
|
|
1,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
15.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
12.0,
|
|
12,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
-1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 1.0,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
14.0,
|
|
14,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 0.8,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "prog_test8_t3_r1_s1",
|
|
"note": "tests/prog_test/src/smSweepTest.cpp test 8: the 5 x 5 square [10,15]^2 of degree-3 B-spline lines with circle segments r 1 at (12,12) and r 0.8 at (14,14) in turned frames, offset 0.3, type 3, round 1, shell 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
0.3,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
15.0,
|
|
15,
|
|
0
|
|
],
|
|
"end": [
|
|
15.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
15,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
12.0,
|
|
12,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
-1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 1.0,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
},
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
14.0,
|
|
14,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
-1,
|
|
0
|
|
],
|
|
"radius": 0.8,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_t1_r0_s0",
|
|
"note": "A 10 x 10 square of SmApiCreateLineSegment lines, offset 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
1,
|
|
0,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_t1_r0_s1",
|
|
"note": "A 10 x 10 square of SmApiCreateLineSegment lines, offset 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
1,
|
|
0,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_t1_r1_s0",
|
|
"note": "A 10 x 10 square of SmApiCreateLineSegment lines, offset 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
1,
|
|
1,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_t1_r1_s1",
|
|
"note": "A 10 x 10 square of SmApiCreateLineSegment lines, offset 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_t2_r0_s0",
|
|
"note": "A 10 x 10 square of SmApiCreateLineSegment lines, offset 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
2,
|
|
0,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_t2_r0_s1",
|
|
"note": "A 10 x 10 square of SmApiCreateLineSegment lines, offset 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
2,
|
|
0,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_t2_r1_s0",
|
|
"note": "A 10 x 10 square of SmApiCreateLineSegment lines, offset 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
2,
|
|
1,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_t2_r1_s1",
|
|
"note": "A 10 x 10 square of SmApiCreateLineSegment lines, offset 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_t3_r0_s0",
|
|
"note": "A 10 x 10 square of SmApiCreateLineSegment lines, offset 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
3,
|
|
0,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_t3_r0_s1",
|
|
"note": "A 10 x 10 square of SmApiCreateLineSegment lines, offset 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
3,
|
|
0,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_t3_r1_s0",
|
|
"note": "A 10 x 10 square of SmApiCreateLineSegment lines, offset 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
3,
|
|
1,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_t3_r1_s1",
|
|
"note": "A 10 x 10 square of SmApiCreateLineSegment lines, offset 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_reversed_shuffled",
|
|
"note": "The square's sides reversed and out of order, left offset 1 with round corners.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
1,
|
|
1,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_negative_distance",
|
|
"note": "A negative distance swaps left and right.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
-1.0,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_inset_past_center",
|
|
"note": "An inset wider than half the square: the trimmed offsets vanish.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
6.0,
|
|
1,
|
|
0,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_type0",
|
|
"note": "Offset type 0 is refused by CreateOffsetsOfManyCurves.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
0,
|
|
1,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "square_type4",
|
|
"note": "Offset type 4 is refused.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
4,
|
|
1,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "circle_left_shell",
|
|
"note": "An analytic circle r 5 (SmApiCreateCircle), left 1 shelled: an annulus.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "circle",
|
|
"center": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"radius": 5.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "circle_right_shell",
|
|
"note": "The circle, right 1 shelled.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "circle",
|
|
"center": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"radius": 5.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "circle_both",
|
|
"note": "The circle, both sides.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
3,
|
|
0,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "circle",
|
|
"center": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"radius": 5.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "bspline_circle_left",
|
|
"note": "A B-spline circle r 5, left 1.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
1,
|
|
0,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "bspline_circle",
|
|
"origin": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"x_axis": [
|
|
1.0,
|
|
0,
|
|
0
|
|
],
|
|
"y_axis": [
|
|
0.0,
|
|
1,
|
|
0
|
|
],
|
|
"radius": 5.0,
|
|
"start_deg": 0.0,
|
|
"end_deg": 360.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "slot_right_round",
|
|
"note": "A slot of two lines and two SmApiCreateArc half circles, right 0.5 round.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
0.5,
|
|
2,
|
|
1,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "arc",
|
|
"center": [
|
|
10.0,
|
|
2,
|
|
0
|
|
],
|
|
"radius": 2.0,
|
|
"start_deg": -90.0,
|
|
"end_deg": 90.0
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
4,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
4,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "arc",
|
|
"center": [
|
|
0.0,
|
|
2,
|
|
0
|
|
],
|
|
"radius": 2.0,
|
|
"start_deg": 90.0,
|
|
"end_deg": 270.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "slot_left_shell",
|
|
"note": "The slot, left 0.5 shelled.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
0.5,
|
|
1,
|
|
0,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "arc",
|
|
"center": [
|
|
10.0,
|
|
2,
|
|
0
|
|
],
|
|
"radius": 2.0,
|
|
"start_deg": -90.0,
|
|
"end_deg": 90.0
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
4,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
4,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "arc",
|
|
"center": [
|
|
0.0,
|
|
2,
|
|
0
|
|
],
|
|
"radius": 2.0,
|
|
"start_deg": 90.0,
|
|
"end_deg": 270.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "raised_plane",
|
|
"note": "The square at z = 3, right 1 extended corners shelled.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
2,
|
|
0,
|
|
1
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
3
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
3
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
3
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
3
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
3
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
3
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
3
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
3
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "open_profile",
|
|
"note": "Three sides of the square: no closed loop, CreatePlanarFacesWith3DCurves fails.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
1,
|
|
1,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "non_planar",
|
|
"note": "A square with one corner lifted out of plane.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
1,
|
|
1,
|
|
0
|
|
],
|
|
"profile": [
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
0,
|
|
0
|
|
],
|
|
"end": [
|
|
10.0,
|
|
10,
|
|
2
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
10.0,
|
|
10,
|
|
2
|
|
],
|
|
"end": [
|
|
0.0,
|
|
10,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"start": [
|
|
0.0,
|
|
10,
|
|
0
|
|
],
|
|
"end": [
|
|
0.0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "empty_profile",
|
|
"note": "No curves.",
|
|
"inputs": {
|
|
"op": "offset_profile",
|
|
"args": [
|
|
1.0,
|
|
1,
|
|
1,
|
|
0
|
|
],
|
|
"profile": []
|
|
}
|
|
}
|
|
]
|
|
} |