diff --git a/public/kcl-samples/axial-fan/main.kcl b/public/kcl-samples/axial-fan/main.kcl
deleted file mode 100644
index e425a4e1a11..00000000000
--- a/public/kcl-samples/axial-fan/main.kcl
+++ /dev/null
@@ -1,15 +0,0 @@
-// PC Fan
-// A small axial fan, used to push or draw airflow over components to remove excess heat
-
-// Set units
-@settings(defaultLengthUnit = mm)
-
-// Import all parts into assembly file
-import "fan-housing.kcl" as fanHousing
-import "motor.kcl" as motor
-import "fan.kcl" as fan
-
-// Produce the model for each imported part
-fanHousing
-motor
-fan
diff --git a/public/kcl-samples/car-wheel-assembly/car-wheel.kcl b/public/kcl-samples/car-wheel-assembly/car-wheel.kcl
index d19b8c695f6..fe7fdbf06a1 100644
--- a/public/kcl-samples/car-wheel-assembly/car-wheel.kcl
+++ b/public/kcl-samples/car-wheel-assembly/car-wheel.kcl
@@ -13,13 +13,13 @@ lugBase = startSketchOn(XZ)
|> subtract2d(tool = circle(center = [0, 0], radius = (lugSpacing - 1.5) / 2))
|> extrude(length = wheelWidth / 20)
-// Extend the wheel center and bore holes to accomidate the lug heads
+// Extend the wheel center and bore holes to accommodate the lug heads
lugExtrusion = startSketchOn(lugBase, face = END)
|> circle(center = [0, 0], radius = (lugSpacing + 1.5) / 2)
|> subtract2d(tool = circle(center = [0, 0], radius = (lugSpacing - 1.5) / 2))
|> extrude(length = wheelWidth / 10)
-// Create the circular pattern for the lugs
+// Counterbore a hole for each lug, then circular pattern the counterbore to each lug position
lugClearance = startSketchOn(lugExtrusion, face = END)
|> circle(center = [lugSpacing / 2, 0], radius = 1.2 / 2)
|> patternCircular2d(
@@ -30,7 +30,7 @@ lugClearance = startSketchOn(lugExtrusion, face = END)
)
|> extrude(length = -wheelWidth / 10)
-// Create the circular pattern for the lug holes
+// Add a through hole in the counterbore for each lug
lugHoles = startSketchOn(lugBase, face = END)
|> circle(center = [lugSpacing / 2, 0], radius = 16mm / 2)
|> patternCircular2d(
@@ -65,12 +65,11 @@ wheelCenterOuter = startSketchOn(XY)
// Write a function that defines the spoke geometry, patterns and extrudes it
fn spoke(spokeGap, spokeAngle, spokeThickness) {
- // Seperating the spoke base planes
+ // Separating the spoke base planes
plane001 = {
origin = [0.0, 0.0, spokeGap / 2],
xAxis = [1.0, 0.0, spokeAngle],
- yAxis = [0.0, 1.0, 0.0],
- zAxis = [0.0, 0.0, 1.0]
+ yAxis = [0.0, 1.0, 0.0]
}
// Spoke cross sections
diff --git a/public/kcl-samples/counterdrilled-weldment/main.kcl b/public/kcl-samples/counterdrilled-weldment/main.kcl
new file mode 100644
index 00000000000..611af424613
--- /dev/null
+++ b/public/kcl-samples/counterdrilled-weldment/main.kcl
@@ -0,0 +1,120 @@
+// Counterdrilled Weldment
+// A metal weldment consisting of a counterdrilled plate, a centrally mounted housing tube, and four structural support fins.
+
+// Set units
+@settings(defaultLengthUnit = in)
+
+// Define parameters
+boltSpacingX = 5
+boltSpacingY = 3
+boltDiameter = 1 / 4
+counterdrillDiameter = 7 / 16
+counterdrillDepth = 3 / 16
+tubeInnerDiameter = 1 + 1 / 4
+tubeThickness = 0.115
+tubeHeight = 2
+stockThickness = .5
+
+// Calculate the dimensions of the block using the specified bolt spacing. The size of the block can be defined by adding a multiple of the counterdrill diameter to the bolt spacing
+blockLength = boltSpacingX + boltDiameter * 6
+blockWidth = boltSpacingY + boltDiameter * 6
+
+// Draw the base plate
+plateSketch = startSketchOn(XY)
+ |> startProfile(at = [-blockLength / 2, -blockWidth / 2])
+ |> angledLine(angle = 0, length = blockLength, tag = $rectangleSegmentA001)
+ |> angledLine(angle = segAng(rectangleSegmentA001) + 90, length = blockWidth, tag = $rectangleSegmentB001)
+ |> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001), tag = $rectangleSegmentC001)
+ |> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $rectangleSegmentD001)
+ |> close()
+ |> subtract2d(tool = circle(center = [0, 0], radius = tubeInnerDiameter / 2))
+plateBody = extrude(plateSketch, length = stockThickness)
+ |> chamfer(
+ length = boltDiameter * 2,
+ tags = [
+ getNextAdjacentEdge(rectangleSegmentB001),
+ getNextAdjacentEdge(rectangleSegmentA001),
+ getNextAdjacentEdge(rectangleSegmentC001),
+ getNextAdjacentEdge(rectangleSegmentD001)
+ ],
+ )
+
+// Define hole positions
+holePositions = [
+ [-boltSpacingX / 2, -boltSpacingY / 2],
+ [-boltSpacingX / 2, boltSpacingY / 2],
+ [boltSpacingX / 2, -boltSpacingY / 2],
+ [boltSpacingX / 2, boltSpacingY / 2]
+]
+
+// Function to create a counterdrilled hole
+fn counterdrill(holePosition) {
+ cbdrill = startSketchOn(plateBody, face = END)
+ |> circle(center = holePosition, radius = counterdrillDiameter / 2)
+ |> extrude(length = -counterdrillDepth)
+ cbBolt = startSketchOn(cbdrill, face = START)
+ |> circle(center = holePosition, radius = boltDiameter / 2, tag = $hole01)
+ |> extrude(length = -stockThickness + counterdrillDepth)
+ // Use a chamfer to create a 90-degree counterdrill edge
+ |> chamfer(length = (counterdrillDiameter - boltDiameter) / 2 * sqrt(2), tags = [hole01])
+ return { }
+}
+
+// Place a counterdrilled hole at each bolt hole position
+map(holePositions, f = counterdrill)
+
+// Drill a small pin hole in the side of the tube
+pinhole = startSketchOn(YZ)
+ |> circle(center = [0, 2.2], radius = 0.125)
+ |> extrude(length = -10)
+
+// Model the central tube and subtract the pin hole
+centralTube = startSketchOn(offsetPlane(XY, offset = stockThickness))
+ |> circle(center = [0, 0], radius = tubeInnerDiameter / 2 + tubeThickness)
+ |> subtract2d(tool = circle(center = [0, 0], radius = tubeInnerDiameter / 2))
+ |> extrude(length = tubeHeight)
+ |> subtract(tools = [pinhole])
+
+// Create a function to create a fin which spans from the central tube to the bolt hole
+fn fin(i) {
+ diagPlane = {
+ origin = [0.0, 0.0, 0.0],
+ xAxis = [
+ boltSpacingX / 2 * i,
+ boltSpacingY / 2,
+ 0.0
+ ],
+ yAxis = [0.0, 0.0, 1.0]
+ }
+
+ finSketch = startSketchOn(diagPlane)
+ |> startProfile(at = [
+ tubeInnerDiameter / 2 + tubeThickness,
+ stockThickness
+ ])
+ |> xLine(endAbsolute = sqrt((boltSpacingX / 2) ^ 2 + (boltSpacingY / 2) ^ 2) - counterdrillDiameter)
+ |> yLine(length = 0.15)
+ |> line(endAbsolute = [
+ profileStartX(%) + 0.15,
+ stockThickness + tubeHeight * .8
+ ])
+ |> xLine(length = -0.15)
+ |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
+ |> close()
+ |> extrude(length = tubeThickness, symmetric = true)
+
+ // Use a circular pattern to create an identical fin on the opposite side
+ otherFin = patternCircular3d(
+ finSketch,
+ instances = 2,
+ axis = [0, 0, 1],
+ center = [0, 0, 0],
+ arcDegrees = 360,
+ rotateDuplicates = true,
+ )
+ return { }
+}
+
+// Place a pair of support fins along each diagonal axis of the bolt pattern
+fin(1)
+fin(-1)
diff --git a/public/kcl-samples/counterdrilled-weldment/thumbnail.png b/public/kcl-samples/counterdrilled-weldment/thumbnail.png
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/public/kcl-samples/countersunk-plate/main.kcl b/public/kcl-samples/countersunk-plate/main.kcl
new file mode 100644
index 00000000000..f9c3010a3e8
--- /dev/null
+++ b/public/kcl-samples/countersunk-plate/main.kcl
@@ -0,0 +1,50 @@
+// Plate with countersunk holes
+// A small mounting plate with a countersunk hole at each end
+
+// Set units
+@settings(defaultLengthUnit = in)
+
+// Define parameters
+boltSpacing = 5
+boltDiameter = 1 / 4
+centerHoleDiameter = 1 + 3 / 4
+plateThickness = 0.375
+
+// Check that the plate is thick enough to countersink a hole
+//assertGreaterThan(plateThickness, boltDiameter, "This plate is not thick enough for the necessary countersink dimensions")
+
+// A bit of math to calculate the tangent line between the two diameters
+r1 = centerHoleDiameter / 2 * 1.5 + .35
+r2 = boltDiameter * 2 + .25
+d = boltSpacing / 2
+tangentAngle = (asin((r1 - r2) / d))
+tangentLength = (r1 - r2) / tan((tangentAngle))
+
+plateBody = startSketchOn(XY)
+ // Use polar coordinates to start the sketch at the tangent point of the larger radius
+ |> startProfile(at = polar(angle = 90 - tangentAngle, length = r1))
+ |> angledLine(angle = -tangentAngle, length = tangentLength)
+ |> tangentialArc(radius = r2, angle = (tangentAngle - 90) * 2)
+ |> angledLine(angle = tangentAngle, length = -tangentLength)
+ |> tangentialArc(radius = r1, angle = -tangentAngle * 2)
+ |> angledLine(angle = -tangentAngle, length = -tangentLength)
+ |> tangentialArc(radius = r2, angle = (tangentAngle - 90) * 2)
+ |> angledLine(angle = tangentAngle, length = tangentLength)
+ |> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
+ |> close()
+ |> subtract2d(tool = circle(center = [0, 0], radius = centerHoleDiameter / 2 * 1.5))
+ |> extrude(%, length = plateThickness)
+
+// Function to create a countersunk hole
+fn countersink(holePosition) {
+ startSketchOn(plateBody, face = END)
+ |> circle(center = [holePosition, 0], radius = boltDiameter / 2, tag = $hole01)
+ |> extrude(length = -plateThickness)
+ // Use a chamfer to create a 90-degree countersink
+ |> chamfer(length = boltDiameter, tags = [hole01])
+ return { }
+}
+
+// Place a countersunk hole at each bolt hole position
+countersink(-boltSpacing / 2)
+countersink(boltSpacing / 2)
diff --git a/public/kcl-samples/countersunk-plate/thumbnail.png b/public/kcl-samples/countersunk-plate/thumbnail.png
new file mode 100644
index 00000000000..1fbadc6e25d
Binary files /dev/null and b/public/kcl-samples/countersunk-plate/thumbnail.png differ
diff --git a/public/kcl-samples/axial-fan/fan-housing.kcl b/public/kcl-samples/cpu-cooler/fan-housing.kcl
similarity index 99%
rename from public/kcl-samples/axial-fan/fan-housing.kcl
rename to public/kcl-samples/cpu-cooler/fan-housing.kcl
index 060c239a5e8..07e9d689b05 100644
--- a/public/kcl-samples/axial-fan/fan-housing.kcl
+++ b/public/kcl-samples/cpu-cooler/fan-housing.kcl
@@ -9,7 +9,7 @@ import * from "parameters.kcl"
// Model the housing which holds the motor, the fan, and the mounting provisions
// Bottom mounting face
-bottomFaceSketch = startSketchOn(XY)
+bottomFaceSketch = startSketchOn(YZ)
|> startProfile(at = [-fanSize / 2, -fanSize / 2])
|> angledLine(angle = 0, length = fanSize, tag = $rectangleSegmentA001)
|> angledLine(angle = segAng(rectangleSegmentA001) + 90, length = fanSize, tag = $rectangleSegmentB001)
@@ -150,4 +150,4 @@ startSketchOn(motorHousing, face = END)
getNextAdjacentEdge(rectangleSegmentC002),
getNextAdjacentEdge(rectangleSegmentD002)
],
- )
+ )
\ No newline at end of file
diff --git a/public/kcl-samples/axial-fan/fan.kcl b/public/kcl-samples/cpu-cooler/fan.kcl
similarity index 67%
rename from public/kcl-samples/axial-fan/fan.kcl
rename to public/kcl-samples/cpu-cooler/fan.kcl
index 7f4073bb1cb..edfe97b615e 100644
--- a/public/kcl-samples/axial-fan/fan.kcl
+++ b/public/kcl-samples/cpu-cooler/fan.kcl
@@ -8,33 +8,25 @@
import * from "parameters.kcl"
// Model the center of the fan
-fanCenter = startSketchOn(XZ)
- |> startProfile(at = [-0.0001, fanHeight])
- |> xLine(endAbsolute = -15 + 1.5)
- |> tangentialArc(radius = 1.5, angle = 90)
- |> yLine(endAbsolute = 4.5)
- |> xLine(endAbsolute = -13)
- |> yLine(endAbsolute = profileStartY(%) - 5)
- |> tangentialArc(radius = 1, angle = -90)
- |> xLine(endAbsolute = -1)
- |> yLine(length = 2)
- |> xLine(length = -0.15)
- |> line(endAbsolute = [
- profileStartX(%) - 1,
- profileStartY(%) - 1.4
- ])
- |> xLine(endAbsolute = profileStartX(%))
- |> yLine(endAbsolute = profileStartY(%))
+fanCenter = startSketchOn(XY)
+ |> startProfile(at = [fanHeight, -0.0001])
+ |> yLine(endAbsolute = -15 + 1.5)
+ |> tangentialArc(radius = 1.5, angle = -90)
+ |> xLine(endAbsolute = 4.5)
+ |> yLine(endAbsolute = -13)
+ |> xLine(endAbsolute = profileStartX(%) - 5)
+ |> tangentialArc(radius = 1, angle = 90)
+ |> yLine(endAbsolute = -1)
+ |> xLine(length = 2)
|> close()
|> revolve(axis = {
- direction = [0.0, 1.0],
+ direction = [1.0, 0.0],
origin = [0.0, 0.0]
})
- |> appearance(color = "#f3e2d8")
// Create a function for a lofted fan blade cross section that rotates about the center hub of the fan
-fn fanBlade(offsetHeight, startAngle: number(deg)) {
- fanBlade = startSketchOn(offsetPlane(XY, offset = offsetHeight))
+fn fanBlade(offsetHeight, startAngle) {
+ fanBlade = startSketchOn(offsetPlane(YZ, offset = offsetHeight))
|> startProfile(at = [
15 * cos(startAngle),
15 * sin(startAngle)
@@ -72,17 +64,19 @@ fn fanBlade(offsetHeight, startAngle: number(deg)) {
}
// Loft the fan blade cross sections into a single blade, then pattern them about the fan center
-loft([
- fanBlade(4.5, 50),
- fanBlade((fanHeight - 2 - 4) / 2, 30),
- fanBlade(fanHeight - 2, 0)
+fanBlades = loft([
+ fanBlade(4.5, 50deg),
+ fanBlade((fanHeight - 2 - 4) / 2, 30deg),
+ fanBlade(fanHeight - 2, 0deg)
])
|> appearance(color = "#f3e2d8")
|> patternCircular3d(
%,
instances = 9,
- axis = [0, 0, 1],
+ axis = [1, 0, 0],
center = [0, 0, 0],
arcDegrees = 360,
rotateDuplicates = true,
)
+[fanCenter, fanBlades]
+ |> appearance(color = "#110803")
diff --git a/public/kcl-samples/cpu-cooler/heat-sink.kcl b/public/kcl-samples/cpu-cooler/heat-sink.kcl
new file mode 100644
index 00000000000..f3e96438288
--- /dev/null
+++ b/public/kcl-samples/cpu-cooler/heat-sink.kcl
@@ -0,0 +1,171 @@
+// Heat Sink
+// Conductive metal device made from brazed tubes and fins
+
+// Set units
+@settings(defaultLengthUnit = mm)
+
+// Import parameters
+import * from "parameters.kcl"
+
+// Draw the sweep path for the outermost tubes
+endTubePath = startSketchOn(offsetPlane(YZ, offset = -20))
+ |> startProfile(at = [fanSize / 4, fanSize + 38])
+ |> yLine(endAbsolute = bendRadius + 10, tag = $seg01)
+ |> tangentialArc(radius = bendRadius, angle = -90)
+ |> xLine(endAbsolute = 0, tag = $seg02)
+ |> xLine(length = -segLen(seg02))
+ |> tangentialArc(radius = bendRadius, angle = -90)
+ |> yLine(length = segLen(seg01))
+
+// Sweep and translate the outermost tube on each end
+endTube = startSketchOn(offsetPlane(XY, offset = fanSize + 38))
+ |> circle(center = [-20, fanSize / 4], radius = 3)
+ |> subtract2d(tool = circle(center = [-20, fanSize / 4], radius = 2.5))
+ |> sweep(path = endTubePath)
+ |> patternCircular3d(
+ %,
+ instances = 2,
+ axis = [0, 0, 1],
+ center = [0, 0, 0],
+ arcDegrees = 360,
+ rotateDuplicates = false,
+ )
+
+// Draw the sweep path for the 4 interior tubes
+centerTubePath = startSketchOn(offsetPlane(YZ, offset = -4))
+ |> startProfile(at = [fanSize / 2.67, fanSize + 38])
+ |> yLine(endAbsolute = bendRadius + 15 + 10)
+ |> tangentialArc(radius = bendRadius, angle = -45)
+ |> angledLine(angle = -135, lengthY = 15)
+ |> tangentialArc(radius = bendRadius, angle = -45)
+ |> xLine(endAbsolute = 0, tag = $seg03)
+ |> xLine(length = -segLen(seg03))
+ |> tangentialArc(radius = bendRadius, angle = -155)
+ |> tangentialArc(radius = bendRadius, angle = 65)
+ |> yLine(endAbsolute = fanSize + 38)
+
+// Draw the profile and sweep the 4 interior tubes
+centerTube = startSketchOn(offsetPlane(XY, offset = fanSize + 38))
+ |> circle(center = [-4, fanSize / 2.67], radius = 3)
+ |> subtract2d(tool = circle(center = [-4, fanSize / 2.67], radius = 2.5))
+ |> sweep(path = centerTubePath)
+ |> patternCircular3d(
+ %,
+ instances = 2,
+ axis = [0, 0, 1],
+ center = [-4 * 2, 0, 0],
+ arcDegrees = 360,
+ rotateDuplicates = true,
+ )
+ |> patternLinear3d(
+ %,
+ instances = 2,
+ distance = 4 * 4,
+ axis = [1, 0, 0],
+ )
+
+// Draw a heat fin with built-in clips to secure the mounting wire. Pattern the fin upwards by the height of the fan
+heatFins = startSketchOn(offsetPlane(XY, offset = 45))
+ |> startProfile(at = [0, -fanSize / 2])
+ |> xLine(length = 9)
+ |> angledLine(angle = -60, length = 2.5, tag = $seg04)
+ |> xLine(length = 0.75)
+ |> arc(interiorAbsolute = [lastSegX(%) + 1, lastSegY(%) + 1.2], endAbsolute = [lastSegX(%) + 2, lastSegY(%)])
+ |> xLine(length = 0.75)
+ |> angledLine(angle = 60, length = segLen(seg04))
+ |> xLine(endAbsolute = heatSinkDepth / 2 - 3)
+ |> tangentialArc(angle = 90, radius = 3)
+ |> yLine(endAbsolute = 0)
+ |> mirror2d(axis = X)
+ |> mirror2d(axis = Y)
+ |> close()
+ |> extrude(length = 1)
+ |> patternLinear3d(
+ %,
+ instances = 31,
+ distance = (fanSize - 10) / 30,
+ axis = [0, 0, 1],
+ )
+
+// Create the mounting base for the CPU cooler. The base should consist of two pieces that secure around each of the tubes at the bottom
+coolerBase = startSketchOn(-XZ)
+baseLower = startProfile(coolerBase, at = [0, 10])
+ |> xLine(length = -0.9)
+ |> arc(angleStart = 0, angleEnd = -180, radius = 3.1)
+ |> xLine(length = -1.8)
+ |> arc(angleStart = 0, angleEnd = -180, radius = 3)
+ |> xLine(length = -1.8)
+ |> arc(angleStart = 0, angleEnd = -180, radius = 3)
+ |> xLine(length = -1.8)
+ |> xLine(length = -2)
+ |> yLine(length = -10)
+ |> xLine(endAbsolute = 0)
+ |> mirror2d(axis = Y)
+ |> extrude(length = 2 * segLen(seg02), symmetric = true)
+
+baseUpper = startProfile(coolerBase, at = [0, 10])
+ |> xLine(length = -0.9)
+ |> arc(angleStart = 0, angleEnd = 180, radius = 3.1)
+ |> xLine(length = -1.8)
+ |> arc(angleStart = 0, angleEnd = 180, radius = 3)
+ |> xLine(length = -1.8)
+ |> arc(angleStart = 0, angleEnd = 180, radius = 3)
+ |> xLine(length = -1.8)
+ |> xLine(length = -1)
+ |> yLine(length = 4)
+ |> tangentialArc(angle = -90, radius = 2)
+ |> xLine(endAbsolute = 0)
+ |> mirror2d(axis = Y)
+ |> extrude(length = 2 * segLen(seg02) * 3 / 4, symmetric = true)
+
+// Create a flexible mounting bracket to secure the heat sink to the motherboard once adhered
+sketch014 = startSketchOn(XZ)
+ |> startProfile(at = [-10, 16])
+ |> xLine(length = -20)
+ |> tangentialArc(angle = 20, radius = bendRadius)
+ |> angledLine(angle = -160, length = 14, tag = $seg09)
+ |> tangentialArc(angle = -30, radius = bendRadius + sheetThickness)
+ |> angledLine(angle = 170, length = 21.5, tag = $seg04Q)
+ |> angledLine(angle = 170 - 90, length = sheetThickness, tag = $seg08)
+ |> angledLine(angle = segAng(seg04Q) + 180, length = segLen(seg04Q), tag = $seg05E)
+ |> tangentialArc(angle = 30, radius = bendRadius)
+ |> angledLine(angle = segAng(seg09) + 180, length = segLen(seg09))
+ |> tangentialArc(angle = -20, radius = bendRadius + sheetThickness)
+ |> xLine(endAbsolute = profileStartX(%))
+ |> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $seg07)
+ |> close()
+ |> extrude(
+ length = 16,
+ symmetric = true,
+ tagEnd = $capEnd001,
+ tagStart = $capStart001,
+ )
+ |> fillet(
+ radius = 2,
+ tags = [
+ getCommonEdge(faces = [seg07, capEnd001]),
+ getCommonEdge(faces = [seg08, capEnd001]),
+ getCommonEdge(faces = [seg08, capStart001]),
+ getCommonEdge(faces = [seg07, capStart001])
+ ],
+ )
+
+// Create a clearance hole in the bracket for an M3 screw and countersink the hole
+sketch007 = startSketchOn(sketch014, face = seg05E)
+ |> circle(center = [70, 0], radius = 3.4 / 2, tag = $seg06E)
+ |> extrude(length = -sheetThickness)
+ |> chamfer(
+ length = sheetThickness * 0.75,
+ tags = [
+ getCommonEdge(faces = [seg05E, seg06E])
+ ],
+ )
+
+// Duplicate the bracket to the other side of the heat sink base
+ |> patternCircular3d(
+ instances = 2,
+ axis = [0, 0, 1],
+ center = [0, 0, 0],
+ arcDegrees = 360,
+ rotateDuplicates = true,
+ )
diff --git a/public/kcl-samples/cpu-cooler/main.kcl b/public/kcl-samples/cpu-cooler/main.kcl
new file mode 100644
index 00000000000..69a2c632966
--- /dev/null
+++ b/public/kcl-samples/cpu-cooler/main.kcl
@@ -0,0 +1,51 @@
+// CPU Cooler
+// A CPU cooler is a device designed to dissipate heat generated by the CPU of a computer. They consist of a brazed heat sink made from aluminum or copper alloys, and one or two axial fans to move airflow across the heat sink.
+
+// Set units
+@settings(defaultLengthUnit = mm)
+
+// Import all parts and parameters into assembly file
+import * from "parameters.kcl"
+import "fan-housing.kcl" as fanHousing
+import "motor.kcl" as motor
+import "fan.kcl" as fan
+import "heat-sink.kcl" as heatSink
+import "mounting-wire.kcl" as mountingWire
+import "removable-sticker.kcl" as removableSticker
+
+// Produce the model for each imported part
+heatSink
+
+fn translatePart(part) {
+ part
+ |> translate(x = heatSinkDepth / 2, z = 40 + fanSize / 2)
+ |> patternLinear3d(
+ %,
+ instances = 2,
+ distance = heatSinkDepth + fanHeight,
+ axis = [-1, 0, 0],
+ )
+ return { }
+}
+translatePart(fanHousing)
+translatePart(motor)
+translatePart(fan)
+
+mountingWire
+ |> patternCircular3d(
+ %,
+ instances = 2,
+ axis = [0, 1, 0],
+ center = [0, 0, 40 + fanSize / 2],
+ arcDegrees = 360,
+ rotateDuplicates = true,
+ )
+ |> patternCircular3d(
+ %,
+ instances = 2,
+ axis = [0, 0, 1],
+ center = [0, 0, 0],
+ arcDegrees = 360,
+ rotateDuplicates = true,
+ )
+removableSticker
diff --git a/public/kcl-samples/axial-fan/motor.kcl b/public/kcl-samples/cpu-cooler/motor.kcl
similarity index 69%
rename from public/kcl-samples/axial-fan/motor.kcl
rename to public/kcl-samples/cpu-cooler/motor.kcl
index df8c97d7d76..009041324c5 100644
--- a/public/kcl-samples/axial-fan/motor.kcl
+++ b/public/kcl-samples/cpu-cooler/motor.kcl
@@ -8,15 +8,14 @@
import * from "parameters.kcl"
// Model the motor body and stem
-
-
-topFacePlane = offsetPlane(XY, offset = 4)
-motorBody = startSketchOn(topFacePlane)
+startPlane = offsetPlane(YZ, offset = 4)
+motorBody = startSketchOn(startPlane)
|> circle(center = [0, 0], radius = 10, tag = $seg04)
|> extrude(length = 17)
- |> appearance(color = "#021b55")
|> fillet(radius = 2, tags = [getOppositeEdge(seg04), seg04])
-startSketchOn(offsetPlane(XY, offset = 21))
+ |> appearance(color = "#021b55")
+motorStem = startSketchOn(offsetPlane(YZ, offset = 21))
|> circle(center = [0, 0], radius = 1)
|> extrude(length = 3.8)
- |> appearance(color = "#dbc89e")
+ |> appearance(color = "#cbcccd")
+[motorBody, motorStem]
diff --git a/public/kcl-samples/cpu-cooler/mounting-wire.kcl b/public/kcl-samples/cpu-cooler/mounting-wire.kcl
new file mode 100644
index 00000000000..074ce1fc727
--- /dev/null
+++ b/public/kcl-samples/cpu-cooler/mounting-wire.kcl
@@ -0,0 +1,77 @@
+// Mounting Wire
+// The flexible metal wire used to clip the fans onto the heat sink
+
+// Set units
+@settings(defaultLengthUnit = mm)
+
+// Import parameters
+import * from "parameters.kcl"
+
+// Draw the XZ component of the mounting wire path
+upperArm = startSketchOn(offsetPlane(XZ, offset = fanSize / 2 + 2))
+ |> startProfile(at = [-12, 40 + fanSize / 2])
+ |> yLine(length = 7)
+ |> tangentialArc(radius = 2, angle = 90)
+ |> xLine(length = -9)
+ |> tangentialArc(radius = 2, angle = -90)
+ |> yLine(length = 14)
+ |> tangentialArc(radius = 2, angle = 90)
+ |> xLine(length = -9)
+ |> tangentialArc(radius = 2, angle = -80)
+ |> angledLine(angle = 100, endAbsoluteY = 40 + fanSize / 2 + mountingHoleSpacing / 2 - 1.5)
+ |> tangentialArc(radius = 2, angle = 80, tag = $seg07)
+
+// Draw the XZ component of the mounting wire path
+lowerArm = startSketchOn(offsetPlane(XZ, offset = fanSize / 2 + 2))
+ |> startProfile(at = [-12, 40 + fanSize / 2])
+ |> yLine(length = -7)
+ |> tangentialArc(radius = 2, angle = -90)
+ |> xLine(length = -9)
+ |> tangentialArc(radius = 2, angle = 90)
+ |> yLine(length = -14)
+ |> tangentialArc(radius = 2, angle = -90)
+ |> xLine(length = -9)
+ |> tangentialArc(radius = 2, angle = 80)
+ |> angledLine(angle = -100, endAbsoluteY = 40 + fanSize / 2 - (mountingHoleSpacing / 2) + 1.5)
+ |> tangentialArc(radius = 2, angle = -80, tag = $seg08)
+
+// Create the profile of the mounting wire and sweep along the XZ path
+wireProfile = startSketchOn(offsetPlane(XY, offset = 40 + fanSize / 2))
+sweepUpperArm = circle(wireProfile, center = [-12, -fanSize / 2 - 2], radius = 1)
+ |> sweep(%, path = upperArm)
+
+sweepLowerArm = circle(wireProfile, center = [-12, -fanSize / 2 - 2], radius = 1)
+ |> sweep(%, path = lowerArm)
+
+// Draw the XY components of the mounting wire path
+upperHook = startSketchOn(offsetPlane(XY, offset = segEndY(seg07)))
+ |> startProfile(at = [segEndX(seg07), -fanSize / 2 - 2])
+ |> xLine(endAbsolute = -heatSinkDepth / 2 - fanHeight)
+ |> tangentialArc(radius = 2, angle = -90)
+ |> yLine(endAbsolute = -mountingHoleSpacing / 2 - 2)
+ |> tangentialArc(radius = 2, angle = -90)
+ |> xLine(length = fanHeight / 3)
+
+// Draw the XY components of the mounting wire path
+lowerHook = startSketchOn(offsetPlane(XY, offset = segEndY(seg08)))
+ |> startProfile(at = [segEndX(seg07), -fanSize / 2 - 2])
+ |> xLine(endAbsolute = -heatSinkDepth / 2 - fanHeight)
+ |> tangentialArc(radius = 2, angle = -90)
+ |> yLine(endAbsolute = -mountingHoleSpacing / 2 - 2)
+ |> tangentialArc(radius = 2, angle = -90)
+ |> xLine(length = fanHeight / 3)
+
+// Sweep the wire profile around the hook-shaped segments of the mounting wire
+hookProfile = startSketchOn(offsetPlane(YZ, offset = segEndX(seg07)))
+sweepUpperHook = circle(hookProfile, center = [-fanSize / 2 - 2, segEndY(seg07)], radius = 1)
+ |> sweep(%, path = upperHook)
+
+sweepLowerHook = circle(hookProfile, center = [-fanSize / 2 - 2, segEndY(seg08)], radius = 1)
+ |> sweep(%, path = upperHook)
+
+// Union each piece of the wire into a single continuous sweep
+union([
+ union([sweepUpperArm, sweepUpperHook]),
+ union([sweepLowerArm, sweepLowerHook])
+ ])
+ |> appearance(color = "#0d0d0d")
diff --git a/public/kcl-samples/axial-fan/parameters.kcl b/public/kcl-samples/cpu-cooler/parameters.kcl
similarity index 59%
rename from public/kcl-samples/axial-fan/parameters.kcl
rename to public/kcl-samples/cpu-cooler/parameters.kcl
index cdac6aad149..71fdbd1c02f 100644
--- a/public/kcl-samples/axial-fan/parameters.kcl
+++ b/public/kcl-samples/cpu-cooler/parameters.kcl
@@ -1,4 +1,4 @@
-// Global parameters for the axial fan
+// Global parameters for the CPU cooler
// Set units
@settings(defaultLengthUnit = mm)
@@ -8,3 +8,6 @@ export fanSize = 120
export fanHeight = 25
export mountingHoleSpacing = 105
export mountingHoleSize = 4.5
+export bendRadius = 15
+export sheetThickness = 2.125
+export heatSinkDepth = 55
diff --git a/public/kcl-samples/cpu-cooler/project.toml b/public/kcl-samples/cpu-cooler/project.toml
new file mode 100644
index 00000000000..24d0ccaf6c6
--- /dev/null
+++ b/public/kcl-samples/cpu-cooler/project.toml
@@ -0,0 +1,7 @@
+[settings.app]
+
+[settings.modeling]
+
+[settings.text_editor]
+
+[settings.command_bar]
diff --git a/public/kcl-samples/cpu-cooler/removable-sticker.kcl b/public/kcl-samples/cpu-cooler/removable-sticker.kcl
new file mode 100644
index 00000000000..b130a8ba0b0
--- /dev/null
+++ b/public/kcl-samples/cpu-cooler/removable-sticker.kcl
@@ -0,0 +1,28 @@
+// Removable Sticker
+// Protective sticker to be removed before adhering the heat sink to the CPU
+
+// Set units
+@settings(defaultLengthUnit = mm)
+
+// Import parameters
+import * from "parameters.kcl"
+
+// Create a simple body to represent the removable warning sticker. Brightly color the sticker so that the user will not forget to remove it before installing the device
+removableSticker = startSketchOn(-XY)
+ |> startProfile(at = [-12, -12])
+ |> angledLine(angle = 0, length = 24, tag = $rectangleSegmentA001)
+ |> angledLine(angle = segAng(rectangleSegmentA001) + 90, length = 24, tag = $rectangleSegmentB001)
+ |> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001), tag = $rectangleSegmentC001)
+ |> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $rectangleSegmentD001)
+ |> close()
+ |> extrude(length = .8)
+ |> appearance(color = "#021b55")
+ |> chamfer(
+ length = 3,
+ tags = [
+ getNextAdjacentEdge(rectangleSegmentA001),
+ getNextAdjacentEdge(rectangleSegmentB001),
+ getNextAdjacentEdge(rectangleSegmentC001),
+ getNextAdjacentEdge(rectangleSegmentD001)
+ ],
+ )
diff --git a/public/kcl-samples/cpu-cooler/thumbnail.png b/public/kcl-samples/cpu-cooler/thumbnail.png
new file mode 100644
index 00000000000..37b95688728
Binary files /dev/null and b/public/kcl-samples/cpu-cooler/thumbnail.png differ
diff --git a/public/kcl-samples/manifest.json b/public/kcl-samples/manifest.json
index bd64272f920..7dcd2a4f966 100644
--- a/public/kcl-samples/manifest.json
+++ b/public/kcl-samples/manifest.json
@@ -6,13 +6,6 @@
"title": "80/20 Rail",
"description": "An 80/20 extruded aluminum linear rail. T-slot profile adjustable by profile height, rail length, and origin position"
},
- {
- "file": "main.kcl",
- "pathFromProjectDirectoryToFirstFile": "axial-fan/main.kcl",
- "multipleFiles": true,
- "title": "PC Fan",
- "description": "A small axial fan, used to push or draw airflow over components to remove excess heat"
- },
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "ball-bearing/main.kcl",
@@ -55,6 +48,27 @@
"title": "Color Cube",
"description": "This is a color cube centered about the origin. It is used to help determine orientation in the scene."
},
+ {
+ "file": "main.kcl",
+ "pathFromProjectDirectoryToFirstFile": "counterdrilled-weldment/main.kcl",
+ "multipleFiles": false,
+ "title": "Counterdrilled Weldment",
+ "description": "A metal weldment consisting of a counterdrilled plate, a centrally mounted housing tube, and four structural support fins."
+ },
+ {
+ "file": "main.kcl",
+ "pathFromProjectDirectoryToFirstFile": "countersunk-plate/main.kcl",
+ "multipleFiles": false,
+ "title": "Plate with countersunk holes",
+ "description": "A small mounting plate with a countersunk hole at each end"
+ },
+ {
+ "file": "main.kcl",
+ "pathFromProjectDirectoryToFirstFile": "cpu-cooler/main.kcl",
+ "multipleFiles": true,
+ "title": "CPU Cooler",
+ "description": "A CPU cooler is a device designed to dissipate heat generated by the CPU of a computer. They consist of a brazed heat sink made from aluminum or copper alloys, and one or two axial fans to move airflow across the heat sink."
+ },
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "cycloidal-gear/main.kcl",
@@ -218,9 +232,9 @@
},
{
"file": "main.kcl",
- "pathFromProjectDirectoryToFirstFile": "parametric-bearing-pillow-block/main.kcl",
- "multipleFiles": false,
- "title": "Parametric Bearing Pillow Block",
+ "pathFromProjectDirectoryToFirstFile": "pillow-block-bearing/main.kcl",
+ "multipleFiles": true,
+ "title": "Pillow Block Bearing",
"description": "A bearing pillow block, also known as a plummer block or pillow block bearing, is a pedestal used to provide support for a rotating shaft with the help of compatible bearings and various accessories. Housing a bearing, the pillow block provides a secure and stable foundation that allows the shaft to rotate smoothly within its machinery setup. These components are essential in a wide range of mechanical systems and machinery, playing a key role in reducing friction and supporting radial and axial loads."
},
{
diff --git a/public/kcl-samples/parametric-bearing-pillow-block/main.kcl b/public/kcl-samples/parametric-bearing-pillow-block/main.kcl
deleted file mode 100644
index c0832d84657..00000000000
--- a/public/kcl-samples/parametric-bearing-pillow-block/main.kcl
+++ /dev/null
@@ -1,51 +0,0 @@
-// Parametric Bearing Pillow Block
-// A bearing pillow block, also known as a plummer block or pillow block bearing, is a pedestal used to provide support for a rotating shaft with the help of compatible bearings and various accessories. Housing a bearing, the pillow block provides a secure and stable foundation that allows the shaft to rotate smoothly within its machinery setup. These components are essential in a wide range of mechanical systems and machinery, playing a key role in reducing friction and supporting radial and axial loads.
-
-// Set units
-@settings(defaultLengthUnit = in)
-
-// Define parameters
-length = 6
-width = 4
-height = 1
-cbDepth = .25
-cbDia = .7
-holeDia = .375
-padding = 1.5
-bearingDia = 3
-
-// Sketch the block body
-body = startSketchOn(XY)
- |> startProfile(at = [-width / 2, -length / 2])
- |> line(endAbsolute = [width / 2, -length / 2])
- |> line(endAbsolute = [width / 2, length / 2])
- |> line(endAbsolute = [-width / 2, length / 2])
- |> close()
- |> extrude(length = height)
-counterBoreHoles = startSketchOn(body, face = END)
- |> circle(
- center = [
- -(width / 2 - (padding / 2)),
- -(length / 2 - (padding / 2))
- ],
- radius = cbDia / 2,
- )
- |> patternLinear2d(instances = 2, distance = length - padding, axis = [0, 1])
- |> patternLinear2d(instances = 2, distance = width - padding, axis = [1, 0])
- |> extrude(%, length = -cbDepth)
-
-boltHoles = startSketchOn(body, face = START)
- |> circle(
- center = [
- -(width / 2 - (padding / 2)),
- -(length / 2 - (padding / 2))
- ],
- radius = holeDia / 2,
- )
- |> patternLinear2d(instances = 2, distance = length - padding, axis = [0, 1])
- |> patternLinear2d(instances = 2, distance = width - padding, axis = [1, 0])
- |> extrude(length = -height + cbDepth)
-
-centerHole = startSketchOn(body, face = END)
- |> circle(center = [0, 0], radius = bearingDia / 2)
- |> extrude(length = -height)
diff --git a/public/kcl-samples/pillow-block-bearing/ball-bearing.kcl b/public/kcl-samples/pillow-block-bearing/ball-bearing.kcl
new file mode 100644
index 00000000000..e4bc28915ce
--- /dev/null
+++ b/public/kcl-samples/pillow-block-bearing/ball-bearing.kcl
@@ -0,0 +1,98 @@
+// Pillow Block Bearing
+// The ball bearing for the pillow block bearing assembly
+
+// Set units
+@settings(defaultLengthUnit = in)
+
+// Import Parameters
+import * from "parameters.kcl"
+
+// Create the sketch of one of the balls. The ball diameter is sized as a fraction of the difference between inner and outer radius of the bearing
+ballsSketch = startSketchOn(offsetPlane(XY, offset = stockThickness / 2))
+ |> startProfile(at = [bearingBoreDiameter / 2 + 0.1, 0.001])
+ |> arc(angleEnd = 0, angleStart = 180, radius = sphereDia / 2)
+ |> close()
+
+// Revolve the ball to make a sphere and pattern around the inside wall
+balls = revolve(ballsSketch, axis = X)
+ |> patternCircular3d(
+ arcDegrees = 360,
+ axis = [0, 0, 1],
+ center = [0, 0, 0],
+ instances = 16,
+ rotateDuplicates = true,
+ )
+
+// Create the sketch for the chain around the balls
+chainSketch = startSketchOn(offsetPlane(XY, offset = stockThickness / 2))
+ |> startProfile(at = [
+ bearingBoreDiameter / 2 + 0.1 + sphereDia / 2 - (chainWidth / 2),
+ 0.125 * sin(60deg)
+ ])
+ |> arc(angleEnd = 60, angleStart = 120, radius = sphereDia / 2)
+ |> line(end = [0, chainThickness])
+ |> line(end = [-chainWidth, 0])
+ |> close()
+
+// Revolve the chain sketch
+chainHead = revolve(chainSketch, axis = X)
+ |> patternCircular3d(
+ arcDegrees = 360,
+ axis = [0, 0, 1],
+ center = [0, 0, 0],
+ instances = 16,
+ rotateDuplicates = true,
+ )
+
+// Create the sketch for the links in between the chains
+linkSketch = startSketchOn(XZ)
+ |> circle(
+ center = [
+ bearingBoreDiameter / 2 + 0.1 + sphereDia / 2,
+ stockThickness / 2
+ ],
+ radius = linkDiameter / 2,
+ )
+
+// Create the walls of the bearing
+bearingBody = startSketchOn(XZ)
+bearingUpper = startProfile(bearingBody, at = [
+ bearingOuterDiameter / 2 - .07,
+ stockThickness
+ ])
+ |> angledLine(angle = -91, length = 0.05)
+ |> xLine(length = -(bearingOuterDiameter / 2 - (bearingBoreDiameter / 2)) + .145)
+ |> yLine(endAbsolute = 0.105)
+ |> xLine(length = -0.025)
+ |> angledLine(angle = 91, endAbsoluteY = profileStartY(%))
+ |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
+ |> close()
+ |> revolve(angle = 360, axis = Y)
+ |> appearance(%, color = "#121212")
+
+bearingLower = startProfile(bearingBody, at = [bearingBoreDiameter / 2, 0.025])
+ |> xLine(length = 0.05)
+ |> angledLine(angle = 75, length = 0.04, tag = $seg01)
+ |> xLine(length = 0.05)
+ |> angledLine(angle = -75, length = segLen(seg01))
+ |> xLine(endAbsolute = bearingOuterDiameter / 2)
+ |> yLine(length = stockThickness)
+ |> xLine(length = -0.07)
+ |> angledLine(angle = -91, endAbsoluteY = profileStartY(%) + .075)
+ |> xLine(endAbsolute = profileStartX(%) + .05)
+ |> angledLine(angle = 91, endAbsoluteY = stockThickness * 1.25)
+ |> xLine(endAbsolute = profileStartX(%))
+ |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
+ |> close()
+ |> revolve(angle = 360, axis = Y)
+ |> appearance(%, color = "#f0f0f0")
+
+// Revolve the link sketch
+revolve(linkSketch, axis = Y, angle = 360 / 16)
+ |> patternCircular3d(
+ arcDegrees = 360,
+ axis = [0, 0, 1],
+ center = [0, 0, 0],
+ instances = 16,
+ rotateDuplicates = true,
+ )
diff --git a/public/kcl-samples/pillow-block-bearing/block.kcl b/public/kcl-samples/pillow-block-bearing/block.kcl
new file mode 100644
index 00000000000..f35afaedccb
--- /dev/null
+++ b/public/kcl-samples/pillow-block-bearing/block.kcl
@@ -0,0 +1,56 @@
+// Pillow Block Bearing
+// The machined block for the pillow block bearing assembly. The block is dimensioned using the bolt pattern spacing, and each bolt hole includes a counterbore
+
+// Set units
+@settings(defaultLengthUnit = in)
+
+// Import Parameters
+import * from "parameters.kcl"
+
+// Calculate the dimensions of the block using the specified bolt spacing. The size of the block can be defined by adding a multiple of the counterbore diameter to the bolt spacing
+blockLength = boltSpacingX + counterboreDiameter + boltDiameter
+blockWidth = boltSpacingY + counterboreDiameter + boltDiameter
+
+// Draw the base plate
+plateSketch = startSketchOn(XY)
+ |> startProfile(at = [-blockLength / 2, -blockWidth / 2])
+ |> angledLine(angle = 0, length = blockLength, tag = $rectangleSegmentA001)
+ |> angledLine(angle = segAng(rectangleSegmentA001) + 90, length = blockWidth, tag = $rectangleSegmentB001)
+ |> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001), tag = $rectangleSegmentC001)
+ |> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $rectangleSegmentD001)
+ |> close()
+ |> subtract2d(tool = circle(center = [0, 0], radius = bearingOuterDiameter / 2))
+plateBody = extrude(plateSketch, length = stockThickness)
+ |> appearance(%, color = "#1e62eb")
+ |> fillet(
+ radius = boltDiameter * 1 / 3,
+ tags = [
+ getNextAdjacentEdge(rectangleSegmentB001),
+ getNextAdjacentEdge(rectangleSegmentA001),
+ getNextAdjacentEdge(rectangleSegmentC001),
+ getNextAdjacentEdge(rectangleSegmentD001)
+ ],
+ )
+
+// Define hole positions
+holePositions = [
+ [-boltSpacingX / 2, -boltSpacingY / 2],
+ [-boltSpacingX / 2, boltSpacingY / 2],
+ [boltSpacingX / 2, -boltSpacingY / 2],
+ [boltSpacingX / 2, boltSpacingY / 2]
+]
+
+// Function to create a counterbored hole
+fn counterbore(holePosition) {
+ cbBore = startSketchOn(plateBody, face = END)
+ |> circle(center = holePosition, radius = counterboreDiameter / 2)
+ |> extrude(length = -counterboreDepth)
+ cbBolt = startSketchOn(cbBore, face = START)
+ |> circle(center = holePosition, radius = boltDiameter / 2, tag = $hole01)
+ |> extrude(length = -stockThickness + counterboreDepth)
+
+ return { }
+}
+
+// Place a counterbored hole at each bolt hole position
+map(holePositions, f = counterbore)
diff --git a/public/kcl-samples/pillow-block-bearing/main.kcl b/public/kcl-samples/pillow-block-bearing/main.kcl
new file mode 100644
index 00000000000..affaac60921
--- /dev/null
+++ b/public/kcl-samples/pillow-block-bearing/main.kcl
@@ -0,0 +1,14 @@
+// Pillow Block Bearing
+// A bearing pillow block, also known as a plummer block or pillow block bearing, is a pedestal used to provide support for a rotating shaft with the help of compatible bearings and various accessories. Housing a bearing, the pillow block provides a secure and stable foundation that allows the shaft to rotate smoothly within its machinery setup. These components are essential in a wide range of mechanical systems and machinery, playing a key role in reducing friction and supporting radial and axial loads.
+
+// Set units
+@settings(defaultLengthUnit = in)
+
+// Import parts and parameters
+import * from "parameters.kcl"
+import "ball-bearing.kcl" as ballBearing
+import "block.kcl" as block
+
+// Render each part
+ballBearing
+block
diff --git a/public/kcl-samples/pillow-block-bearing/parameters.kcl b/public/kcl-samples/pillow-block-bearing/parameters.kcl
new file mode 100644
index 00000000000..44ec45c6edb
--- /dev/null
+++ b/public/kcl-samples/pillow-block-bearing/parameters.kcl
@@ -0,0 +1,18 @@
+// Global parameters for the pillow block bearing
+
+// Set units
+@settings(defaultLengthUnit = in)
+
+// Export parameters
+export boltSpacingX = 5
+export boltSpacingY = 3
+export boltDiameter = 3 / 8
+export counterboreDiameter = 3 / 4
+export counterboreDepth = 3 / 16
+export stockThickness = .5
+export bearingBoreDiameter = 1 + 3 / 4
+export bearingOuterDiameter = bearingBoreDiameter * 1.5
+export sphereDia = (bearingOuterDiameter - bearingBoreDiameter) / 4
+export chainWidth = sphereDia / 2
+export chainThickness = sphereDia / 8
+export linkDiameter = sphereDia / 4
diff --git a/public/kcl-samples/pillow-block-bearing/thumbnail.png b/public/kcl-samples/pillow-block-bearing/thumbnail.png
new file mode 100644
index 00000000000..73118b0e751
Binary files /dev/null and b/public/kcl-samples/pillow-block-bearing/thumbnail.png differ
diff --git a/rust/kcl-lib/tests/kcl_samples/car-wheel-assembly/artifact_graph_flowchart.snap.md b/rust/kcl-lib/tests/kcl_samples/car-wheel-assembly/artifact_graph_flowchart.snap.md
index 214b86b962f..be19a3cbfaa 100644
--- a/rust/kcl-lib/tests/kcl_samples/car-wheel-assembly/artifact_graph_flowchart.snap.md
+++ b/rust/kcl-lib/tests/kcl_samples/car-wheel-assembly/artifact_graph_flowchart.snap.md
@@ -11,87 +11,87 @@ flowchart LR
162[Solid2d]
end
subgraph path13 [Path]
- 13["Path
[657, 713, 8]"]
- 36["Segment
[657, 713, 8]"]
+ 13["Path
[658, 714, 8]"]
+ 36["Segment
[658, 714, 8]"]
148[Solid2d]
end
subgraph path14 [Path]
- 14["Path
[737, 793, 8]"]
- 37["Segment
[737, 793, 8]"]
+ 14["Path
[738, 794, 8]"]
+ 37["Segment
[738, 794, 8]"]
158[Solid2d]
end
subgraph path15 [Path]
- 15["Path
[939, 993, 8]"]
- 38["Segment
[939, 993, 8]"]
+ 15["Path
[991, 1045, 8]"]
+ 38["Segment
[991, 1045, 8]"]
153[Solid2d]
end
subgraph path16 [Path]
- 16["Path
[1276, 1331, 8]"]
- 39["Segment
[1276, 1331, 8]"]
+ 16["Path
[1333, 1388, 8]"]
+ 39["Segment
[1333, 1388, 8]"]
145[Solid2d]
end
subgraph path17 [Path]
- 17["Path
[1689, 1735, 8]"]
- 40["Segment
[1741, 1793, 8]"]
- 41["Segment
[1799, 1872, 8]"]
- 42["Segment
[1878, 1900, 8]"]
- 43["Segment
[1906, 1962, 8]"]
- 44["Segment
[1968, 1975, 8]"]
+ 17["Path
[1746, 1792, 8]"]
+ 40["Segment
[1798, 1850, 8]"]
+ 41["Segment
[1856, 1929, 8]"]
+ 42["Segment
[1935, 1957, 8]"]
+ 43["Segment
[1963, 2019, 8]"]
+ 44["Segment
[2025, 2032, 8]"]
150[Solid2d]
end
subgraph path18 [Path]
- 18["Path
[2107, 2153, 8]"]
- 45["Segment
[2159, 2211, 8]"]
- 46["Segment
[2217, 2292, 8]"]
- 47["Segment
[2298, 2335, 8]"]
- 48["Segment
[2341, 2397, 8]"]
- 49["Segment
[2403, 2410, 8]"]
+ 18["Path
[2164, 2210, 8]"]
+ 45["Segment
[2216, 2268, 8]"]
+ 46["Segment
[2274, 2349, 8]"]
+ 47["Segment
[2355, 2392, 8]"]
+ 48["Segment
[2398, 2454, 8]"]
+ 49["Segment
[2460, 2467, 8]"]
146[Solid2d]
end
subgraph path19 [Path]
- 19["Path
[2891, 2938, 8]"]
- 50["Segment
[2946, 3283, 8]"]
- 52["Segment
[3291, 3323, 8]"]
- 54["Segment
[3331, 3672, 8]"]
- 56["Segment
[3680, 3736, 8]"]
- 59["Segment
[3744, 3751, 8]"]
+ 19["Path
[2919, 2966, 8]"]
+ 50["Segment
[2974, 3311, 8]"]
+ 52["Segment
[3319, 3351, 8]"]
+ 54["Segment
[3359, 3700, 8]"]
+ 56["Segment
[3708, 3764, 8]"]
+ 59["Segment
[3772, 3779, 8]"]
149[Solid2d]
end
subgraph path20 [Path]
- 20["Path
[2891, 2938, 8]"]
- 51["Segment
[2946, 3283, 8]"]
- 53["Segment
[3291, 3323, 8]"]
- 55["Segment
[3331, 3672, 8]"]
- 57["Segment
[3680, 3736, 8]"]
- 58["Segment
[3744, 3751, 8]"]
+ 20["Path
[2919, 2966, 8]"]
+ 51["Segment
[2974, 3311, 8]"]
+ 53["Segment
[3319, 3351, 8]"]
+ 55["Segment
[3359, 3700, 8]"]
+ 57["Segment
[3708, 3764, 8]"]
+ 58["Segment
[3772, 3779, 8]"]
159[Solid2d]
end
subgraph path21 [Path]
- 21["Path
[4279, 4374, 8]"]
- 60["Segment
[4380, 4413, 8]"]
- 61["Segment
[4419, 4470, 8]"]
- 62["Segment
[4476, 4509, 8]"]
- 63["Segment
[4515, 4565, 8]"]
- 64["Segment
[4571, 4612, 8]"]
- 65["Segment
[4618, 4667, 8]"]
- 66["Segment
[4673, 4706, 8]"]
- 67["Segment
[4712, 4746, 8]"]
- 68["Segment
[4752, 4786, 8]"]
- 69["Segment
[4792, 4844, 8]"]
- 70["Segment
[4850, 4884, 8]"]
- 71["Segment
[4890, 4966, 8]"]
- 72["Segment
[4972, 5005, 8]"]
- 73["Segment
[5011, 5087, 8]"]
- 74["Segment
[5093, 5127, 8]"]
- 75["Segment
[5133, 5207, 8]"]
- 76["Segment
[5213, 5247, 8]"]
- 77["Segment
[5253, 5304, 8]"]
- 78["Segment
[5310, 5372, 8]"]
- 79["Segment
[5378, 5429, 8]"]
- 80["Segment
[5435, 5469, 8]"]
- 81["Segment
[5475, 5508, 8]"]
- 82["Segment
[5514, 5547, 8]"]
- 83["Segment
[5553, 5560, 8]"]
+ 21["Path
[4307, 4402, 8]"]
+ 60["Segment
[4408, 4441, 8]"]
+ 61["Segment
[4447, 4498, 8]"]
+ 62["Segment
[4504, 4537, 8]"]
+ 63["Segment
[4543, 4593, 8]"]
+ 64["Segment
[4599, 4640, 8]"]
+ 65["Segment
[4646, 4695, 8]"]
+ 66["Segment
[4701, 4734, 8]"]
+ 67["Segment
[4740, 4774, 8]"]
+ 68["Segment
[4780, 4814, 8]"]
+ 69["Segment
[4820, 4872, 8]"]
+ 70["Segment
[4878, 4912, 8]"]
+ 71["Segment
[4918, 4994, 8]"]
+ 72["Segment
[5000, 5033, 8]"]
+ 73["Segment
[5039, 5115, 8]"]
+ 74["Segment
[5121, 5155, 8]"]
+ 75["Segment
[5161, 5235, 8]"]
+ 76["Segment
[5241, 5275, 8]"]
+ 77["Segment
[5281, 5332, 8]"]
+ 78["Segment
[5338, 5400, 8]"]
+ 79["Segment
[5406, 5457, 8]"]
+ 80["Segment
[5463, 5497, 8]"]
+ 81["Segment
[5503, 5536, 8]"]
+ 82["Segment
[5542, 5575, 8]"]
+ 83["Segment
[5581, 5588, 8]"]
155[Solid2d]
end
subgraph path22 [Path]
@@ -200,32 +200,32 @@ flowchart LR
141[Solid2d]
end
1["Plane
[331, 348, 8]"]
- 2["Plane
[1666, 1683, 8]"]
- 3["Plane
[2084, 2101, 8]"]
- 4["Plane
[2860, 2883, 8]"]
- 5["Plane
[2860, 2883, 8]"]
- 6["Plane
[4256, 4273, 8]"]
+ 2["Plane
[1723, 1740, 8]"]
+ 3["Plane
[2141, 2158, 8]"]
+ 4["Plane
[2888, 2911, 8]"]
+ 5["Plane
[2888, 2911, 8]"]
+ 6["Plane
[4284, 4301, 8]"]
7["Plane
[548, 565, 10]"]
8["Plane
[488, 505, 11]"]
9["Plane
[659, 685, 12]"]
10["Plane
[464, 481, 13]"]
164["Sweep Extrusion
[497, 530, 8]"]
- 165["Sweep Extrusion
[800, 833, 8]"]
- 166["Sweep Extrusion
[1140, 1174, 8]"]
- 167["Sweep Extrusion
[1140, 1174, 8]"]
- 168["Sweep Extrusion
[1140, 1174, 8]"]
- 169["Sweep Extrusion
[1140, 1174, 8]"]
- 170["Sweep Extrusion
[1140, 1174, 8]"]
- 171["Sweep Extrusion
[1478, 1512, 8]"]
- 172["Sweep Extrusion
[1478, 1512, 8]"]
- 173["Sweep Extrusion
[1478, 1512, 8]"]
- 174["Sweep Extrusion
[1478, 1512, 8]"]
- 175["Sweep Extrusion
[1478, 1512, 8]"]
- 176["Sweep Revolve
[1981, 1998, 8]"]
- 177["Sweep Revolve
[2416, 2433, 8]"]
- 178["Sweep Extrusion
[3799, 3845, 8]"]
- 179["Sweep Extrusion
[3799, 3845, 8]"]
- 180["Sweep Revolve
[5566, 5583, 8]"]
+ 165["Sweep Extrusion
[801, 834, 8]"]
+ 166["Sweep Extrusion
[1192, 1226, 8]"]
+ 167["Sweep Extrusion
[1192, 1226, 8]"]
+ 168["Sweep Extrusion
[1192, 1226, 8]"]
+ 169["Sweep Extrusion
[1192, 1226, 8]"]
+ 170["Sweep Extrusion
[1192, 1226, 8]"]
+ 171["Sweep Extrusion
[1535, 1569, 8]"]
+ 172["Sweep Extrusion
[1535, 1569, 8]"]
+ 173["Sweep Extrusion
[1535, 1569, 8]"]
+ 174["Sweep Extrusion
[1535, 1569, 8]"]
+ 175["Sweep Extrusion
[1535, 1569, 8]"]
+ 176["Sweep Revolve
[2038, 2055, 8]"]
+ 177["Sweep Revolve
[2473, 2490, 8]"]
+ 178["Sweep Extrusion
[3827, 3873, 8]"]
+ 179["Sweep Extrusion
[3827, 3873, 8]"]
+ 180["Sweep Revolve
[5594, 5611, 8]"]
181["Sweep Extrusion
[631, 687, 10]"]
182["Sweep Extrusion
[881, 943, 10]"]
183["Sweep Extrusion
[1198, 1277, 10]"]
diff --git a/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/artifact_commands.snap b/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/artifact_commands.snap
new file mode 100644
index 00000000000..c4228255df8
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/artifact_commands.snap
@@ -0,0 +1,3559 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Artifact commands counterdrilled-weldment.kcl
+---
+[
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "edge_lines_visible",
+ "hidden": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "size": 60.0,
+ "clobber": false,
+ "hide": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -82.55,
+ "y": -57.15,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 165.1,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 114.3,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -165.1,
+ "y": -0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -82.55,
+ "y": -57.15,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid2d_add_hole",
+ "object_id": "[uuid]",
+ "hole_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 0.0,
+ "y": 0.0
+ },
+ "radius": 15.875,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 15.875,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 12.7,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 12.7,
+ "tolerance": 0.0000001,
+ "cut_type": "chamfer"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 12.7,
+ "tolerance": 0.0000001,
+ "cut_type": "chamfer"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 12.7,
+ "tolerance": 0.0000001,
+ "cut_type": "chamfer"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 12.7,
+ "tolerance": 0.0000001,
+ "cut_type": "chamfer"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -63.5,
+ "y": -38.1
+ },
+ "radius": 5.5562499999999995,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -63.5,
+ "y": 38.1
+ },
+ "radius": 5.5562499999999995,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 63.5,
+ "y": -38.1
+ },
+ "radius": 5.5562499999999995,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 63.5,
+ "y": 38.1
+ },
+ "radius": 5.5562499999999995,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -57.943749999999994,
+ "y": -38.099999999999994,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -57.943749999999994,
+ "y": 38.099999999999994,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 69.05624999999999,
+ "y": -38.099999999999994,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 69.05624999999999,
+ "y": 38.099999999999994,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -4.762499999999999,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -4.762499999999999,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -4.762499999999999,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -4.762499999999999,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -63.5,
+ "y": -38.1
+ },
+ "radius": 3.175,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -63.5,
+ "y": 38.1
+ },
+ "radius": 3.175,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 63.5,
+ "y": -38.1
+ },
+ "radius": 3.175,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 63.5,
+ "y": 38.1
+ },
+ "radius": 3.175,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -60.324999999999996,
+ "y": -38.099999999999994,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -60.324999999999996,
+ "y": 38.099999999999994,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 66.675,
+ "y": -38.099999999999994,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 66.675,
+ "y": 38.099999999999994,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -7.9375,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -7.9375,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -7.9375,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -7.9375,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 3.3675960454009326,
+ "tolerance": 0.0000001,
+ "cut_type": "chamfer"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 3.3675960454009326,
+ "tolerance": 0.0000001,
+ "cut_type": "chamfer"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 3.3675960454009326,
+ "tolerance": 0.0000001,
+ "cut_type": "chamfer"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 3.3675960454009326,
+ "tolerance": 0.0000001,
+ "cut_type": "chamfer"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 60.0,
+ "clobber": false,
+ "hide": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 0.0,
+ "y": 55.88
+ },
+ "radius": 3.175,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 3.175,
+ "y": 55.88,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -254.0,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 12.7
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 0.0,
+ "y": 0.0
+ },
+ "radius": 18.796,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 18.796,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid2d_add_hole",
+ "object_id": "[uuid]",
+ "hole_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 0.0,
+ "y": 0.0
+ },
+ "radius": 15.875,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 15.875,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 50.8,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "boolean_subtract",
+ "target_ids": [
+ "[uuid]"
+ ],
+ "tool_ids": [
+ "[uuid]"
+ ],
+ "tolerance": 0.0000001
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 0.8574929257125441,
+ "y": 0.5144957554275265,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 60.0,
+ "clobber": false,
+ "hide": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": -0.8574929257125441,
+ "y": 0.5144957554275265,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 60.0,
+ "clobber": false,
+ "hide": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.5144957554275265,
+ "y": -0.8574929257125441,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.5144957554275265,
+ "y": 0.8574929257125441,
+ "z": -0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 18.796,
+ "y": 12.7,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 18.796,
+ "y": 12.7,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 62.9406,
+ "y": 12.7,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 62.9406,
+ "y": 12.7,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 3.81,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 3.81,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 22.606,
+ "y": 53.34,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 22.606,
+ "y": 53.34,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -3.81,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -3.81,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 18.796,
+ "y": 12.7,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 18.796,
+ "y": 12.7,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.5144957554275265,
+ "y": -0.8574929257125441,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.5144957554275265,
+ "y": 0.8574929257125441,
+ "z": -0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 2.921,
+ "faces": null,
+ "opposite": "Symmetric"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 2.921,
+ "faces": null,
+ "opposite": "Symmetric"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_circular_pattern",
+ "entity_id": "[uuid]",
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "center": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "num_repetitions": 1,
+ "arc_degrees": 360.0,
+ "rotate_duplicates": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_circular_pattern",
+ "entity_id": "[uuid]",
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "center": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "num_repetitions": 1,
+ "arc_degrees": 360.0,
+ "rotate_duplicates": true
+ }
+ }
+]
diff --git a/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/artifact_graph_flowchart.snap b/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/artifact_graph_flowchart.snap
new file mode 100644
index 00000000000..79d8fd318b8
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/artifact_graph_flowchart.snap
@@ -0,0 +1,6 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Artifact graph flowchart counterdrilled-weldment.kcl
+extension: md
+snapshot_kind: binary
+---
diff --git a/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/artifact_graph_flowchart.snap.md b/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/artifact_graph_flowchart.snap.md
new file mode 100644
index 00000000000..19f87a6726a
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/artifact_graph_flowchart.snap.md
@@ -0,0 +1,565 @@
+```mermaid
+flowchart LR
+ subgraph path15 [Path]
+ 15["Path
[757, 811, 0]"]
+ 30["Segment
[817, 889, 0]"]
+ 31["Segment
[895, 998, 0]"]
+ 32["Segment
[1004, 1121, 0]"]
+ 33["Segment
[1127, 1212, 0]"]
+ 34["Segment
[1218, 1225, 0]"]
+ 64[Solid2d]
+ end
+ subgraph path16 [Path]
+ 16["Path
[1249, 1304, 0]"]
+ 35["Segment
[1249, 1304, 0]"]
+ 73[Solid2d]
+ end
+ subgraph path17 [Path]
+ 17["Path
[1994, 2058, 0]"]
+ 37["Segment
[1994, 2058, 0]"]
+ 61[Solid2d]
+ end
+ subgraph path18 [Path]
+ 18["Path
[1994, 2058, 0]"]
+ 38["Segment
[1994, 2058, 0]"]
+ 62[Solid2d]
+ end
+ subgraph path19 [Path]
+ 19["Path
[1994, 2058, 0]"]
+ 36["Segment
[1994, 2058, 0]"]
+ 66[Solid2d]
+ end
+ subgraph path20 [Path]
+ 20["Path
[1994, 2058, 0]"]
+ 39["Segment
[1994, 2058, 0]"]
+ 71[Solid2d]
+ end
+ subgraph path21 [Path]
+ 21["Path
[2158, 2229, 0]"]
+ 43["Segment
[2158, 2229, 0]"]
+ 60[Solid2d]
+ end
+ subgraph path22 [Path]
+ 22["Path
[2158, 2229, 0]"]
+ 42["Segment
[2158, 2229, 0]"]
+ 63[Solid2d]
+ end
+ subgraph path23 [Path]
+ 23["Path
[2158, 2229, 0]"]
+ 41["Segment
[2158, 2229, 0]"]
+ 65[Solid2d]
+ end
+ subgraph path24 [Path]
+ 24["Path
[2158, 2229, 0]"]
+ 40["Segment
[2158, 2229, 0]"]
+ 67[Solid2d]
+ end
+ subgraph path25 [Path]
+ 25["Path
[2642, 2683, 0]"]
+ 44["Segment
[2642, 2683, 0]"]
+ 70[Solid2d]
+ end
+ subgraph path26 [Path]
+ 26["Path
[2839, 2910, 0]"]
+ 45["Segment
[2839, 2910, 0]"]
+ 59[Solid2d]
+ end
+ subgraph path27 [Path]
+ 27["Path
[2934, 2989, 0]"]
+ 46["Segment
[2934, 2989, 0]"]
+ 69[Solid2d]
+ end
+ subgraph path28 [Path]
+ 28["Path
[3367, 3468, 0]"]
+ 48["Segment
[3476, 3573, 0]"]
+ 50["Segment
[3581, 3601, 0]"]
+ 52["Segment
[3609, 3715, 0]"]
+ 53["Segment
[3723, 3744, 0]"]
+ 55["Segment
[3752, 3808, 0]"]
+ 57["Segment
[3816, 3823, 0]"]
+ 68[Solid2d]
+ end
+ subgraph path29 [Path]
+ 29["Path
[3367, 3468, 0]"]
+ 47["Segment
[3476, 3573, 0]"]
+ 49["Segment
[3581, 3601, 0]"]
+ 51["Segment
[3609, 3715, 0]"]
+ 54["Segment
[3723, 3744, 0]"]
+ 56["Segment
[3752, 3808, 0]"]
+ 58["Segment
[3816, 3823, 0]"]
+ 72[Solid2d]
+ end
+ 1["Plane
[734, 751, 0]"]
+ 2["Plane
[2619, 2636, 0]"]
+ 3["Plane
[2792, 2832, 0]"]
+ 4["Plane
[3335, 3359, 0]"]
+ 5["Plane
[3335, 3359, 0]"]
+ 6["StartSketchOnPlane
[2778, 2833, 0]"]
+ 7["StartSketchOnFace
[2114, 2150, 0]"]
+ 8["StartSketchOnFace
[1950, 1986, 0]"]
+ 9["StartSketchOnFace
[2114, 2150, 0]"]
+ 10["StartSketchOnFace
[2114, 2150, 0]"]
+ 11["StartSketchOnFace
[2114, 2150, 0]"]
+ 12["StartSketchOnFace
[1950, 1986, 0]"]
+ 13["StartSketchOnFace
[1950, 1986, 0]"]
+ 14["StartSketchOnFace
[1950, 1986, 0]"]
+ 74["Sweep Extrusion
[1318, 1363, 0]"]
+ 75["Sweep Extrusion
[2066, 2102, 0]"]
+ 76["Sweep Extrusion
[2066, 2102, 0]"]
+ 77["Sweep Extrusion
[2066, 2102, 0]"]
+ 78["Sweep Extrusion
[2066, 2102, 0]"]
+ 79["Sweep Extrusion
[2237, 2290, 0]"]
+ 80["Sweep Extrusion
[2237, 2290, 0]"]
+ 81["Sweep Extrusion
[2237, 2290, 0]"]
+ 82["Sweep Extrusion
[2237, 2290, 0]"]
+ 83["Sweep Extrusion
[2689, 2710, 0]"]
+ 84["Sweep Extrusion
[2996, 3024, 0]"]
+ 85["Sweep Extrusion
[3831, 3880, 0]"]
+ 86["Sweep Extrusion
[3831, 3880, 0]"]
+ 87["CompositeSolid Subtract
[3030, 3057, 0]"]
+ 88[Wall]
+ 89[Wall]
+ 90[Wall]
+ 91[Wall]
+ 92[Wall]
+ 93[Wall]
+ 94[Wall]
+ 95[Wall]
+ 96[Wall]
+ 97[Wall]
+ 98[Wall]
+ 99[Wall]
+ 100[Wall]
+ 101[Wall]
+ 102[Wall]
+ 103[Wall]
+ 104[Wall]
+ 105[Wall]
+ 106[Wall]
+ 107[Wall]
+ 108[Wall]
+ 109[Wall]
+ 110[Wall]
+ 111[Wall]
+ 112["Cap Start"]
+ 113["Cap Start"]
+ 114["Cap Start"]
+ 115["Cap Start"]
+ 116["Cap Start"]
+ 117["Cap Start"]
+ 118["Cap Start"]
+ 119["Cap Start"]
+ 120["Cap Start"]
+ 121["Cap End"]
+ 122["Cap End"]
+ 123["Cap End"]
+ 124["Cap End"]
+ 125["Cap End"]
+ 126["SweepEdge Opposite"]
+ 127["SweepEdge Opposite"]
+ 128["SweepEdge Opposite"]
+ 129["SweepEdge Opposite"]
+ 130["SweepEdge Opposite"]
+ 131["SweepEdge Opposite"]
+ 132["SweepEdge Opposite"]
+ 133["SweepEdge Opposite"]
+ 134["SweepEdge Opposite"]
+ 135["SweepEdge Opposite"]
+ 136["SweepEdge Opposite"]
+ 137["SweepEdge Opposite"]
+ 138["SweepEdge Opposite"]
+ 139["SweepEdge Opposite"]
+ 140["SweepEdge Opposite"]
+ 141["SweepEdge Opposite"]
+ 142["SweepEdge Opposite"]
+ 143["SweepEdge Opposite"]
+ 144["SweepEdge Opposite"]
+ 145["SweepEdge Opposite"]
+ 146["SweepEdge Opposite"]
+ 147["SweepEdge Opposite"]
+ 148["SweepEdge Opposite"]
+ 149["SweepEdge Opposite"]
+ 150["SweepEdge Adjacent"]
+ 151["SweepEdge Adjacent"]
+ 152["SweepEdge Adjacent"]
+ 153["SweepEdge Adjacent"]
+ 154["SweepEdge Adjacent"]
+ 155["SweepEdge Adjacent"]
+ 156["SweepEdge Adjacent"]
+ 157["SweepEdge Adjacent"]
+ 158["SweepEdge Adjacent"]
+ 159["SweepEdge Adjacent"]
+ 160["SweepEdge Adjacent"]
+ 161["SweepEdge Adjacent"]
+ 162["SweepEdge Adjacent"]
+ 163["SweepEdge Adjacent"]
+ 164["SweepEdge Adjacent"]
+ 165["SweepEdge Adjacent"]
+ 166["SweepEdge Adjacent"]
+ 167["SweepEdge Adjacent"]
+ 168["SweepEdge Adjacent"]
+ 169["SweepEdge Adjacent"]
+ 170["SweepEdge Adjacent"]
+ 171["SweepEdge Adjacent"]
+ 172["SweepEdge Adjacent"]
+ 173["SweepEdge Adjacent"]
+ 174["EdgeCut Chamfer
[1369, 1651, 0]"]
+ 175["EdgeCut Chamfer
[1369, 1651, 0]"]
+ 176["EdgeCut Chamfer
[1369, 1651, 0]"]
+ 177["EdgeCut Chamfer
[1369, 1651, 0]"]
+ 178["EdgeCut Chamfer
[2359, 2445, 0]"]
+ 179["EdgeCut Chamfer
[2359, 2445, 0]"]
+ 180["EdgeCut Chamfer
[2359, 2445, 0]"]
+ 181["EdgeCut Chamfer
[2359, 2445, 0]"]
+ 1 --- 15
+ 1 --- 16
+ 2 --- 25
+ 3 <--x 6
+ 3 --- 26
+ 3 --- 27
+ 4 --- 28
+ 5 --- 29
+ 117 x--> 7
+ 123 x--> 8
+ 113 x--> 9
+ 115 x--> 10
+ 114 x--> 11
+ 123 x--> 12
+ 123 x--> 13
+ 123 x--> 14
+ 15 --- 30
+ 15 --- 31
+ 15 --- 32
+ 15 --- 33
+ 15 --- 34
+ 15 --- 64
+ 15 ---- 74
+ 16 --- 35
+ 16 --- 73
+ 17 --- 37
+ 17 --- 61
+ 17 ---- 78
+ 123 --- 17
+ 18 --- 38
+ 18 --- 62
+ 18 ---- 76
+ 123 --- 18
+ 19 --- 36
+ 19 --- 66
+ 19 ---- 77
+ 123 --- 19
+ 20 --- 39
+ 20 --- 71
+ 20 ---- 75
+ 123 --- 20
+ 21 --- 43
+ 21 --- 60
+ 21 ---- 79
+ 114 --- 21
+ 22 --- 42
+ 22 --- 63
+ 22 ---- 82
+ 113 --- 22
+ 23 --- 41
+ 23 --- 65
+ 23 ---- 80
+ 117 --- 23
+ 24 --- 40
+ 24 --- 67
+ 24 ---- 81
+ 115 --- 24
+ 25 --- 44
+ 25 --- 70
+ 25 ---- 83
+ 25 <--x 87
+ 26 --- 45
+ 26 --- 59
+ 26 ---- 84
+ 26 <--x 87
+ 27 --- 46
+ 27 --- 69
+ 28 --- 48
+ 28 --- 50
+ 28 --- 52
+ 28 --- 53
+ 28 --- 55
+ 28 --- 57
+ 28 --- 68
+ 28 ---- 85
+ 29 --- 47
+ 29 --- 49
+ 29 --- 51
+ 29 --- 54
+ 29 --- 56
+ 29 --- 58
+ 29 --- 72
+ 29 ---- 86
+ 30 --- 104
+ 30 x--> 118
+ 30 --- 142
+ 30 --- 164
+ 31 --- 102
+ 31 x--> 118
+ 31 --- 139
+ 31 --- 165
+ 32 --- 101
+ 32 x--> 118
+ 32 --- 141
+ 32 --- 163
+ 33 --- 103
+ 33 x--> 118
+ 33 --- 140
+ 33 --- 166
+ 36 --- 93
+ 36 x--> 123
+ 36 --- 131
+ 36 --- 155
+ 37 --- 100
+ 37 x--> 123
+ 37 --- 138
+ 37 --- 162
+ 38 --- 92
+ 38 x--> 123
+ 38 --- 130
+ 38 --- 154
+ 39 --- 91
+ 39 x--> 123
+ 39 --- 129
+ 39 --- 153
+ 40 --- 99
+ 40 x--> 115
+ 40 --- 137
+ 40 --- 161
+ 40 --- 180
+ 41 --- 89
+ 41 x--> 117
+ 41 --- 127
+ 41 --- 151
+ 41 --- 181
+ 42 --- 111
+ 42 x--> 113
+ 42 --- 149
+ 42 --- 173
+ 42 --- 178
+ 43 --- 88
+ 43 x--> 114
+ 43 --- 126
+ 43 --- 150
+ 43 --- 179
+ 44 --- 90
+ 44 x--> 121
+ 44 --- 128
+ 44 --- 152
+ 45 --- 110
+ 45 x--> 120
+ 45 --- 148
+ 45 --- 172
+ 47 --- 108
+ 47 x--> 119
+ 47 --- 143
+ 47 --- 167
+ 48 --- 96
+ 48 x--> 116
+ 48 --- 135
+ 48 --- 159
+ 49 --- 107
+ 49 x--> 119
+ 49 --- 144
+ 49 --- 168
+ 50 --- 97
+ 50 x--> 116
+ 50 --- 133
+ 50 --- 158
+ 51 --- 105
+ 51 x--> 119
+ 51 --- 147
+ 51 --- 170
+ 52 --- 98
+ 52 x--> 116
+ 52 --- 132
+ 52 --- 160
+ 53 --- 94
+ 53 x--> 116
+ 53 --- 134
+ 53 --- 157
+ 54 --- 109
+ 54 x--> 119
+ 54 --- 146
+ 54 --- 171
+ 55 --- 95
+ 55 x--> 116
+ 55 --- 136
+ 55 --- 156
+ 56 --- 106
+ 56 x--> 119
+ 56 --- 145
+ 56 --- 169
+ 74 --- 101
+ 74 --- 102
+ 74 --- 103
+ 74 --- 104
+ 74 --- 118
+ 74 --- 123
+ 74 --- 139
+ 74 --- 140
+ 74 --- 141
+ 74 --- 142
+ 74 --- 163
+ 74 --- 164
+ 74 --- 165
+ 74 --- 166
+ 75 --- 91
+ 75 --- 113
+ 75 --- 129
+ 75 --- 153
+ 76 --- 92
+ 76 --- 114
+ 76 --- 130
+ 76 --- 154
+ 77 --- 93
+ 77 --- 115
+ 77 --- 131
+ 77 --- 155
+ 78 --- 100
+ 78 --- 117
+ 78 --- 138
+ 78 --- 162
+ 79 --- 88
+ 79 --- 126
+ 79 --- 150
+ 80 --- 89
+ 80 --- 127
+ 80 --- 151
+ 81 --- 99
+ 81 --- 137
+ 81 --- 161
+ 82 --- 111
+ 82 --- 149
+ 82 --- 173
+ 83 --- 90
+ 83 --- 112
+ 83 --- 121
+ 83 --- 128
+ 83 --- 152
+ 84 --- 110
+ 84 --- 120
+ 84 --- 125
+ 84 --- 148
+ 84 --- 172
+ 85 --- 94
+ 85 --- 95
+ 85 --- 96
+ 85 --- 97
+ 85 --- 98
+ 85 --- 116
+ 85 --- 122
+ 85 --- 132
+ 85 --- 133
+ 85 --- 134
+ 85 --- 135
+ 85 --- 136
+ 85 --- 156
+ 85 --- 157
+ 85 --- 158
+ 85 --- 159
+ 85 --- 160
+ 86 --- 105
+ 86 --- 106
+ 86 --- 107
+ 86 --- 108
+ 86 --- 109
+ 86 --- 119
+ 86 --- 124
+ 86 --- 143
+ 86 --- 144
+ 86 --- 145
+ 86 --- 146
+ 86 --- 147
+ 86 --- 167
+ 86 --- 168
+ 86 --- 169
+ 86 --- 170
+ 86 --- 171
+ 126 <--x 88
+ 150 <--x 88
+ 127 <--x 89
+ 151 <--x 89
+ 128 <--x 90
+ 152 <--x 90
+ 129 <--x 91
+ 153 <--x 91
+ 130 <--x 92
+ 154 <--x 92
+ 131 <--x 93
+ 155 <--x 93
+ 134 <--x 94
+ 157 <--x 94
+ 160 <--x 94
+ 136 <--x 95
+ 156 <--x 95
+ 157 <--x 95
+ 135 <--x 96
+ 156 <--x 96
+ 159 <--x 96
+ 133 <--x 97
+ 158 <--x 97
+ 159 <--x 97
+ 132 <--x 98
+ 158 <--x 98
+ 160 <--x 98
+ 137 <--x 99
+ 161 <--x 99
+ 138 <--x 100
+ 162 <--x 100
+ 141 <--x 101
+ 139 <--x 102
+ 140 <--x 103
+ 142 <--x 104
+ 147 <--x 105
+ 168 <--x 105
+ 170 <--x 105
+ 145 <--x 106
+ 169 <--x 106
+ 171 <--x 106
+ 144 <--x 107
+ 167 <--x 107
+ 168 <--x 107
+ 143 <--x 108
+ 167 <--x 108
+ 169 <--x 108
+ 146 <--x 109
+ 170 <--x 109
+ 171 <--x 109
+ 148 <--x 110
+ 172 <--x 110
+ 149 <--x 111
+ 173 <--x 111
+ 128 <--x 112
+ 129 <--x 113
+ 130 <--x 114
+ 131 <--x 115
+ 138 <--x 117
+ 126 <--x 118
+ 127 <--x 118
+ 137 <--x 118
+ 149 <--x 118
+ 132 <--x 122
+ 133 <--x 122
+ 134 <--x 122
+ 135 <--x 122
+ 136 <--x 122
+ 139 <--x 123
+ 140 <--x 123
+ 141 <--x 123
+ 142 <--x 123
+ 143 <--x 124
+ 144 <--x 124
+ 145 <--x 124
+ 146 <--x 124
+ 147 <--x 124
+ 148 <--x 125
+ 163 <--x 175
+ 164 <--x 174
+ 165 <--x 177
+ 166 <--x 176
+```
diff --git a/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/ast.snap b/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/ast.snap
new file mode 100644
index 00000000000..6700ad00d97
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/ast.snap
@@ -0,0 +1,5492 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Result of parsing counterdrilled-weldment.kcl
+---
+{
+ "Ok": {
+ "body": [
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacingX",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "5",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 5.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "preComments": [
+ "// Define parameters"
+ ],
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacingY",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "3",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 3.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "1",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 1.0,
+ "suffix": "None"
+ }
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "4",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 4.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "counterdrillDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "7",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 7.0,
+ "suffix": "None"
+ }
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "16",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 16.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "counterdrillDepth",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "3",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 3.0,
+ "suffix": "None"
+ }
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "16",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 16.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tubeInnerDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "1",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 1.0,
+ "suffix": "None"
+ }
+ },
+ "operator": "+",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "1",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 1.0,
+ "suffix": "None"
+ }
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "4",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 4.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tubeThickness",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0.115",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.115,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tubeHeight",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "stockThickness",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": ".5",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.5,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "blockLength",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacingX",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "+",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "*",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "6",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 6.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "preComments": [
+ "",
+ "",
+ "// Calculate the dimensions of the block using the specified bolt spacing. The size of the block can be defined by adding a multiple of the counterdrill diameter to the bolt spacing"
+ ],
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "blockWidth",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacingY",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "+",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "*",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "6",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 6.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "plateSketch",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "body": [
+ {
+ "arguments": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "XY",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "startSketchOn",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "at",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "argument": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "blockLength",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "argument": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "blockWidth",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "startProfile",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "blockLength",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tag",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "TagDeclarator",
+ "type": "TagDeclarator",
+ "value": "rectangleSegmentA001"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angledLine",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "arguments": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "rectangleSegmentA001",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "segAng",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ "operator": "+",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "90",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 90.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "blockWidth",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tag",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "TagDeclarator",
+ "type": "TagDeclarator",
+ "value": "rectangleSegmentB001"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angledLine",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "arguments": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "rectangleSegmentA001",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "segAng",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "argument": {
+ "arguments": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "rectangleSegmentA001",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "segLen",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tag",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "TagDeclarator",
+ "type": "TagDeclarator",
+ "value": "rectangleSegmentC001"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angledLine",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "endAbsolute",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "arguments": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "PipeSubstitution",
+ "type": "PipeSubstitution"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "profileStartX",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ {
+ "arguments": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "PipeSubstitution",
+ "type": "PipeSubstitution"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "profileStartY",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tag",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "TagDeclarator",
+ "type": "TagDeclarator",
+ "value": "rectangleSegmentD001"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "line",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "close",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tool",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "center",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "radius",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tubeInnerDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "circle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "subtract2d",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "PipeExpression",
+ "type": "PipeExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "preComments": [
+ "",
+ "",
+ "// Draw the base plate"
+ ],
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "plateBody",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "body": [
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "stockThickness",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "extrude",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "plateSketch",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "*",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tags",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "arguments": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "rectangleSegmentB001",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "getNextAdjacentEdge",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ {
+ "arguments": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "rectangleSegmentA001",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "getNextAdjacentEdge",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ {
+ "arguments": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "rectangleSegmentC001",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "getNextAdjacentEdge",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ {
+ "arguments": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "rectangleSegmentD001",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "getNextAdjacentEdge",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "chamfer",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "nonCodeMeta": {
+ "nonCodeNodes": {
+ "1": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "NonCodeNode",
+ "value": {
+ "type": "newLineBlockComment",
+ "value": "Define hole positions",
+ "style": "line"
+ }
+ }
+ ]
+ },
+ "startNodes": []
+ },
+ "start": 0,
+ "type": "PipeExpression",
+ "type": "PipeExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "holePositions",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "argument": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacingX",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "argument": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacingY",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ },
+ {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "argument": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacingX",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacingY",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ },
+ {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacingX",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "argument": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacingY",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ },
+ {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacingX",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacingY",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "counterdrill",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "body": {
+ "body": [
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "cbdrill",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "body": [
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "face",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "END",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "startSketchOn",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "plateBody",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "center",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "holePosition",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "radius",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "counterdrillDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "circle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "argument": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "counterdrillDepth",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "extrude",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "PipeExpression",
+ "type": "PipeExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "cbBolt",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "body": [
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "face",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "START",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "startSketchOn",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "cbdrill",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "center",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "holePosition",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "radius",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tag",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "TagDeclarator",
+ "type": "TagDeclarator",
+ "value": "hole01"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "circle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "argument": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "stockThickness",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ },
+ "operator": "+",
+ "right": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "counterdrillDepth",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "extrude",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "counterdrillDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "-",
+ "right": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "operator": "*",
+ "right": {
+ "arguments": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "sqrt",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tags",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "hole01",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "chamfer",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "nonCodeMeta": {
+ "nonCodeNodes": {
+ "2": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "NonCodeNode",
+ "value": {
+ "type": "blockComment",
+ "value": "Use a chamfer to create a 90-degree counterdrill edge",
+ "style": "line"
+ }
+ }
+ ]
+ },
+ "startNodes": []
+ },
+ "start": 0,
+ "type": "PipeExpression",
+ "type": "PipeExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "argument": {
+ "commentStart": 0,
+ "end": 0,
+ "properties": [],
+ "start": 0,
+ "type": "ObjectExpression",
+ "type": "ObjectExpression"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "ReturnStatement",
+ "type": "ReturnStatement"
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "start": 0
+ },
+ "commentStart": 0,
+ "end": 0,
+ "params": [
+ {
+ "type": "Parameter",
+ "identifier": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "holePosition",
+ "start": 0,
+ "type": "Identifier"
+ }
+ }
+ ],
+ "start": 0,
+ "type": "FunctionExpression",
+ "type": "FunctionExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "fn",
+ "preComments": [
+ "",
+ "",
+ "// Function to create a counterdrilled hole"
+ ],
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "expression": {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "f",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "counterdrill",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "map",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "holePositions",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ "preComments": [
+ "",
+ "",
+ "// Place a counterdrilled hole at each bolt hole position"
+ ],
+ "start": 0,
+ "type": "ExpressionStatement",
+ "type": "ExpressionStatement"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "pinhole",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "body": [
+ {
+ "arguments": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "YZ",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "startSketchOn",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "center",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2.2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.2,
+ "suffix": "None"
+ }
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "radius",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0.125",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.125,
+ "suffix": "None"
+ }
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "circle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "argument": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "10",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 10.0,
+ "suffix": "None"
+ }
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "extrude",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "nonCodeMeta": {
+ "nonCodeNodes": {
+ "2": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "NonCodeNode",
+ "value": {
+ "type": "newLineBlockComment",
+ "value": "Model the central tube and subtract the pin hole",
+ "style": "line"
+ }
+ }
+ ]
+ },
+ "startNodes": []
+ },
+ "start": 0,
+ "type": "PipeExpression",
+ "type": "PipeExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "preComments": [
+ "",
+ "",
+ "// Drill a small pin hole in the side of the tube"
+ ],
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "centralTube",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "body": [
+ {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "offset",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "stockThickness",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "offsetPlane",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "XY",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "startSketchOn",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "center",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "radius",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tubeInnerDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "operator": "+",
+ "right": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tubeThickness",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "circle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tool",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "center",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "radius",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tubeInnerDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "circle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "subtract2d",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tubeHeight",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "extrude",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tools",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "pinhole",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "subtract",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "nonCodeMeta": {
+ "nonCodeNodes": {
+ "4": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "NonCodeNode",
+ "value": {
+ "type": "newLineBlockComment",
+ "value": "Create a function to create a fin which spans from the central tube to the bolt hole",
+ "style": "line"
+ }
+ }
+ ]
+ },
+ "startNodes": []
+ },
+ "start": 0,
+ "type": "PipeExpression",
+ "type": "PipeExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "fin",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "body": {
+ "body": [
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "diagPlane",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "properties": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "key": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "origin",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "start": 0,
+ "type": "ObjectProperty",
+ "value": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0.0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0.0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0.0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "key": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "xAxis",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "start": 0,
+ "type": "ObjectProperty",
+ "value": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacingX",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "operator": "*",
+ "right": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "i",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacingY",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0.0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "key": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "yAxis",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "start": 0,
+ "type": "ObjectProperty",
+ "value": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0.0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0.0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "1.0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 1.0,
+ "suffix": "None"
+ }
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ }
+ ],
+ "start": 0,
+ "type": "ObjectExpression",
+ "type": "ObjectExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "finSketch",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "body": [
+ {
+ "arguments": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "diagPlane",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "startSketchOn",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "at",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tubeInnerDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "operator": "+",
+ "right": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tubeThickness",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "stockThickness",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "startProfile",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "endAbsolute",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "arguments": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacingX",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "operator": "^",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "operator": "+",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacingY",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "operator": "^",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "sqrt",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ "operator": "-",
+ "right": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "counterdrillDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "xLine",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0.15",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.15,
+ "suffix": "None"
+ }
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "yLine",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "endAbsolute",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "arguments": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "PipeSubstitution",
+ "type": "PipeSubstitution"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "profileStartX",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ "operator": "+",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0.15",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.15,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "stockThickness",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "+",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tubeHeight",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "*",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": ".8",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.8,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "line",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "argument": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0.15",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.15,
+ "suffix": "None"
+ }
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "xLine",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "endAbsolute",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "arguments": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "PipeSubstitution",
+ "type": "PipeSubstitution"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "profileStartX",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ {
+ "arguments": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "PipeSubstitution",
+ "type": "PipeSubstitution"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "profileStartY",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "line",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "close",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tubeThickness",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "symmetric",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "true",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": true
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "extrude",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "nonCodeMeta": {
+ "nonCodeNodes": {
+ "8": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "NonCodeNode",
+ "value": {
+ "type": "newLineBlockComment",
+ "value": "Use a circular pattern to create an identical fin on the opposite side",
+ "style": "line"
+ }
+ }
+ ]
+ },
+ "startNodes": []
+ },
+ "start": 0,
+ "type": "PipeExpression",
+ "type": "PipeExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "otherFin",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "instances",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "axis",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "1",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 1.0,
+ "suffix": "None"
+ }
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "center",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "arcDegrees",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "360",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 360.0,
+ "suffix": "None"
+ }
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "rotateDuplicates",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "true",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": true
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "patternCircular3d",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "finSketch",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "argument": {
+ "commentStart": 0,
+ "end": 0,
+ "properties": [],
+ "start": 0,
+ "type": "ObjectExpression",
+ "type": "ObjectExpression"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "ReturnStatement",
+ "type": "ReturnStatement"
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "nonCodeMeta": {
+ "nonCodeNodes": {
+ "0": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "NonCodeNode",
+ "value": {
+ "type": "newLine"
+ }
+ }
+ ]
+ },
+ "startNodes": []
+ },
+ "start": 0
+ },
+ "commentStart": 0,
+ "end": 0,
+ "params": [
+ {
+ "type": "Parameter",
+ "identifier": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "i",
+ "start": 0,
+ "type": "Identifier"
+ }
+ }
+ ],
+ "start": 0,
+ "type": "FunctionExpression",
+ "type": "FunctionExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "fn",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "expression": {
+ "arguments": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "1",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 1.0,
+ "suffix": "None"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "fin",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ "preComments": [
+ "",
+ "",
+ "// Place a pair of support fins along each diagonal axis of the bolt pattern"
+ ],
+ "start": 0,
+ "type": "ExpressionStatement",
+ "type": "ExpressionStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "expression": {
+ "arguments": [
+ {
+ "argument": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "1",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 1.0,
+ "suffix": "None"
+ }
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "fin",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ "start": 0,
+ "type": "ExpressionStatement",
+ "type": "ExpressionStatement"
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "innerAttrs": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "settings",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "preComments": [
+ "// Counterdrilled Weldment",
+ "// A metal weldment consisting of a counterdrilled plate, a centrally mounted housing tube, and four structural support fins.",
+ "",
+ "",
+ "// Set units"
+ ],
+ "properties": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "key": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "defaultLengthUnit",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "start": 0,
+ "type": "ObjectProperty",
+ "value": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "in",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ }
+ ],
+ "start": 0,
+ "type": "Annotation"
+ }
+ ],
+ "nonCodeMeta": {
+ "nonCodeNodes": {},
+ "startNodes": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "NonCodeNode",
+ "value": {
+ "type": "newLine"
+ }
+ }
+ ]
+ },
+ "start": 0
+ }
+}
diff --git a/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/ops.snap b/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/ops.snap
new file mode 100644
index 00000000000..d80dce905ec
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/ops.snap
@@ -0,0 +1,1633 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Operations executed counterdrilled-weldment.kcl
+---
+[
+ {
+ "labeledArgs": {
+ "planeOrSolid": {
+ "value": {
+ "type": "Plane",
+ "artifact_id": "[uuid]"
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "startSketchOn",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": null
+ },
+ {
+ "labeledArgs": {
+ "tool": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "subtract2d",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": 0.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "extrude",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "type": "KclStdLibCall",
+ "name": "chamfer",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ },
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": 0.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "tags": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Uuid",
+ "value": "[uuid]"
+ },
+ {
+ "type": "Uuid",
+ "value": "[uuid]"
+ },
+ {
+ "type": "Uuid",
+ "value": "[uuid]"
+ },
+ {
+ "type": "Uuid",
+ "value": "[uuid]"
+ }
+ ]
+ },
+ "sourceRange": []
+ }
+ },
+ "sourceRange": []
+ },
+ {
+ "labeledArgs": {
+ "face": {
+ "value": {
+ "type": "String",
+ "value": "end"
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "startSketchOn",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "face": {
+ "value": {
+ "type": "String",
+ "value": "end"
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "startSketchOn",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "face": {
+ "value": {
+ "type": "String",
+ "value": "end"
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "startSketchOn",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "face": {
+ "value": {
+ "type": "String",
+ "value": "end"
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "startSketchOn",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": -0.1875,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "extrude",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": -0.1875,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "extrude",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": -0.1875,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "extrude",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": -0.1875,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "extrude",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "face": {
+ "value": {
+ "type": "String",
+ "value": "start"
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "startSketchOn",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "face": {
+ "value": {
+ "type": "String",
+ "value": "start"
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "startSketchOn",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "face": {
+ "value": {
+ "type": "String",
+ "value": "start"
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "startSketchOn",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "face": {
+ "value": {
+ "type": "String",
+ "value": "start"
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "startSketchOn",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": -0.3125,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "extrude",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": -0.3125,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "extrude",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": -0.3125,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "extrude",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": -0.3125,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "extrude",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "type": "KclStdLibCall",
+ "name": "chamfer",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ },
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": 0.13258252147247768,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "tags": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "TagIdentifier",
+ "value": "hole01",
+ "artifact_id": "[uuid]"
+ }
+ ]
+ },
+ "sourceRange": []
+ }
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "KclStdLibCall",
+ "name": "chamfer",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ },
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": 0.13258252147247768,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "tags": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "TagIdentifier",
+ "value": "hole01",
+ "artifact_id": "[uuid]"
+ }
+ ]
+ },
+ "sourceRange": []
+ }
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "KclStdLibCall",
+ "name": "chamfer",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ },
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": 0.13258252147247768,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "tags": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "TagIdentifier",
+ "value": "hole01",
+ "artifact_id": "[uuid]"
+ }
+ ]
+ },
+ "sourceRange": []
+ }
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "KclStdLibCall",
+ "name": "chamfer",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ },
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": 0.13258252147247768,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "tags": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "TagIdentifier",
+ "value": "hole01",
+ "artifact_id": "[uuid]"
+ }
+ ]
+ },
+ "sourceRange": []
+ }
+ },
+ "sourceRange": []
+ },
+ {
+ "labeledArgs": {
+ "planeOrSolid": {
+ "value": {
+ "type": "Plane",
+ "artifact_id": "[uuid]"
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "startSketchOn",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": null
+ },
+ {
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": -10.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "extrude",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "planeOrSolid": {
+ "value": {
+ "type": "Plane",
+ "artifact_id": "[uuid]"
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "startSketchOn",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": null
+ },
+ {
+ "type": "KclStdLibCall",
+ "name": "offsetPlane",
+ "unlabeledArg": {
+ "value": {
+ "type": "Plane",
+ "artifact_id": "[uuid]"
+ },
+ "sourceRange": []
+ },
+ "labeledArgs": {
+ "offset": {
+ "value": {
+ "type": "Number",
+ "value": 0.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "sourceRange": []
+ },
+ {
+ "labeledArgs": {
+ "tool": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "subtract2d",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": 2.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "extrude",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "tools": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ }
+ ]
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "subtract",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "planeOrSolid": {
+ "value": {
+ "type": "Object",
+ "value": {
+ "origin": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ "xAxis": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": 2.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 1.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ "yAxis": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 1.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "startSketchOn",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": null
+ },
+ {
+ "labeledArgs": {
+ "planeOrSolid": {
+ "value": {
+ "type": "Object",
+ "value": {
+ "origin": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ "xAxis": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": -2.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 1.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ "yAxis": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 1.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "startSketchOn",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": null
+ },
+ {
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": 0.115,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "symmetric": {
+ "value": {
+ "type": "Bool",
+ "value": true
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "extrude",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": 0.115,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "symmetric": {
+ "value": {
+ "type": "Bool",
+ "value": true
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "extrude",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "arcDegrees": {
+ "value": {
+ "type": "Number",
+ "value": 360.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "axis": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 1.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ "sourceRange": []
+ },
+ "center": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ "sourceRange": []
+ },
+ "instances": {
+ "value": {
+ "type": "Number",
+ "value": 2.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "rotateDuplicates": {
+ "value": {
+ "type": "Bool",
+ "value": true
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "patternCircular3d",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "arcDegrees": {
+ "value": {
+ "type": "Number",
+ "value": 360.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "axis": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 1.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ "sourceRange": []
+ },
+ "center": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ "sourceRange": []
+ },
+ "instances": {
+ "value": {
+ "type": "Number",
+ "value": 2.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "rotateDuplicates": {
+ "value": {
+ "type": "Bool",
+ "value": true
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "patternCircular3d",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "FunctionCall",
+ "name": "fin",
+ "functionSourceRange": [],
+ "unlabeledArg": null,
+ "labeledArgs": {}
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "FunctionCall",
+ "name": "fin",
+ "functionSourceRange": [],
+ "unlabeledArg": null,
+ "labeledArgs": {}
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "GroupEnd"
+ },
+ {
+ "type": "GroupEnd"
+ }
+]
diff --git a/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/program_memory.snap b/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/program_memory.snap
new file mode 100644
index 00000000000..78a75852854
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/program_memory.snap
@@ -0,0 +1,1058 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Variables in memory after executing counterdrilled-weldment.kcl
+---
+{
+ "blockLength": {
+ "type": "Number",
+ "value": 6.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "blockWidth": {
+ "type": "Number",
+ "value": 4.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "boltDiameter": {
+ "type": "Number",
+ "value": 0.25,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "boltSpacingX": {
+ "type": "Number",
+ "value": 5.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "boltSpacingY": {
+ "type": "Number",
+ "value": 3.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "centralTube": {
+ "type": "Solid",
+ "value": {
+ "type": "Solid",
+ "id": "[uuid]",
+ "artifactId": "[uuid]",
+ "value": [
+ {
+ "faceId": "[uuid]",
+ "id": "[uuid]",
+ "sourceRange": [],
+ "tag": null,
+ "type": "extrudeArc"
+ }
+ ],
+ "sketch": {
+ "type": "Sketch",
+ "id": "[uuid]",
+ "paths": [
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "ccw": true,
+ "center": [
+ 0.0,
+ 0.0
+ ],
+ "from": [
+ 0.74,
+ 0.0
+ ],
+ "radius": 0.74,
+ "tag": null,
+ "to": [
+ 0.74,
+ 0.0
+ ],
+ "type": "Circle",
+ "units": {
+ "type": "Inches"
+ }
+ }
+ ],
+ "on": {
+ "type": "plane",
+ "id": "[uuid]",
+ "artifactId": "[uuid]",
+ "value": "Custom",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 12.7,
+ "units": {
+ "type": "Mm"
+ }
+ },
+ "xAxis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0,
+ "units": {
+ "type": "Unknown"
+ }
+ },
+ "yAxis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0,
+ "units": {
+ "type": "Unknown"
+ }
+ }
+ },
+ "start": {
+ "from": [
+ 0.74,
+ 0.0
+ ],
+ "to": [
+ 0.74,
+ 0.0
+ ],
+ "units": {
+ "type": "Inches"
+ },
+ "tag": null,
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ }
+ },
+ "artifactId": "[uuid]",
+ "originalId": "[uuid]",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ "height": 2.0,
+ "startCapId": "[uuid]",
+ "endCapId": "[uuid]",
+ "units": {
+ "type": "Inches"
+ },
+ "sectional": false
+ }
+ },
+ "counterdrill": {
+ "type": "Function"
+ },
+ "counterdrillDepth": {
+ "type": "Number",
+ "value": 0.1875,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "counterdrillDiameter": {
+ "type": "Number",
+ "value": 0.4375,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "fin": {
+ "type": "Function"
+ },
+ "holePositions": {
+ "type": "MixedArray",
+ "value": [
+ {
+ "type": "MixedArray",
+ "value": [
+ {
+ "type": "Number",
+ "value": -2.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": -1.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "type": "MixedArray",
+ "value": [
+ {
+ "type": "Number",
+ "value": -2.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 1.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "type": "MixedArray",
+ "value": [
+ {
+ "type": "Number",
+ "value": 2.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": -1.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "type": "MixedArray",
+ "value": [
+ {
+ "type": "Number",
+ "value": 2.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 1.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "pinhole": {
+ "type": "Solid",
+ "value": {
+ "type": "Solid",
+ "id": "[uuid]",
+ "artifactId": "[uuid]",
+ "value": [
+ {
+ "faceId": "[uuid]",
+ "id": "[uuid]",
+ "sourceRange": [],
+ "tag": null,
+ "type": "extrudeArc"
+ }
+ ],
+ "sketch": {
+ "type": "Sketch",
+ "id": "[uuid]",
+ "paths": [
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "ccw": true,
+ "center": [
+ 0.0,
+ 2.2
+ ],
+ "from": [
+ 0.125,
+ 2.2
+ ],
+ "radius": 0.125,
+ "tag": null,
+ "to": [
+ 0.125,
+ 2.2
+ ],
+ "type": "Circle",
+ "units": {
+ "type": "Inches"
+ }
+ }
+ ],
+ "on": {
+ "type": "plane",
+ "id": "[uuid]",
+ "artifactId": "[uuid]",
+ "value": "YZ",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0,
+ "units": {
+ "type": "Mm"
+ }
+ },
+ "xAxis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0,
+ "units": {
+ "type": "Unknown"
+ }
+ },
+ "yAxis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0,
+ "units": {
+ "type": "Unknown"
+ }
+ }
+ },
+ "start": {
+ "from": [
+ 0.125,
+ 2.2
+ ],
+ "to": [
+ 0.125,
+ 2.2
+ ],
+ "units": {
+ "type": "Inches"
+ },
+ "tag": null,
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ }
+ },
+ "artifactId": "[uuid]",
+ "originalId": "[uuid]",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ "height": -10.0,
+ "startCapId": "[uuid]",
+ "endCapId": "[uuid]",
+ "units": {
+ "type": "Inches"
+ },
+ "sectional": false
+ }
+ },
+ "plateBody": {
+ "type": "Solid",
+ "value": {
+ "type": "Solid",
+ "id": "[uuid]",
+ "artifactId": "[uuid]",
+ "value": [
+ {
+ "faceId": "[uuid]",
+ "id": "[uuid]",
+ "sourceRange": [],
+ "tag": {
+ "commentStart": 867,
+ "end": 888,
+ "start": 867,
+ "type": "TagDeclarator",
+ "value": "rectangleSegmentA001"
+ },
+ "type": "extrudePlane"
+ },
+ {
+ "faceId": "[uuid]",
+ "id": "[uuid]",
+ "sourceRange": [],
+ "tag": {
+ "commentStart": 976,
+ "end": 997,
+ "start": 976,
+ "type": "TagDeclarator",
+ "value": "rectangleSegmentB001"
+ },
+ "type": "extrudePlane"
+ },
+ {
+ "faceId": "[uuid]",
+ "id": "[uuid]",
+ "sourceRange": [],
+ "tag": {
+ "commentStart": 1099,
+ "end": 1120,
+ "start": 1099,
+ "type": "TagDeclarator",
+ "value": "rectangleSegmentC001"
+ },
+ "type": "extrudePlane"
+ },
+ {
+ "faceId": "[uuid]",
+ "id": "[uuid]",
+ "sourceRange": [],
+ "tag": {
+ "commentStart": 1190,
+ "end": 1211,
+ "start": 1190,
+ "type": "TagDeclarator",
+ "value": "rectangleSegmentD001"
+ },
+ "type": "extrudePlane"
+ }
+ ],
+ "sketch": {
+ "type": "Sketch",
+ "id": "[uuid]",
+ "paths": [
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "from": [
+ -3.25,
+ -2.25
+ ],
+ "tag": {
+ "commentStart": 867,
+ "end": 888,
+ "start": 867,
+ "type": "TagDeclarator",
+ "value": "rectangleSegmentA001"
+ },
+ "to": [
+ 3.25,
+ -2.25
+ ],
+ "type": "ToPoint",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "from": [
+ 3.25,
+ -2.25
+ ],
+ "tag": {
+ "commentStart": 976,
+ "end": 997,
+ "start": 976,
+ "type": "TagDeclarator",
+ "value": "rectangleSegmentB001"
+ },
+ "to": [
+ 3.25,
+ 2.25
+ ],
+ "type": "ToPoint",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "from": [
+ 3.25,
+ 2.25
+ ],
+ "tag": {
+ "commentStart": 1099,
+ "end": 1120,
+ "start": 1099,
+ "type": "TagDeclarator",
+ "value": "rectangleSegmentC001"
+ },
+ "to": [
+ -3.25,
+ 2.25
+ ],
+ "type": "ToPoint",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "from": [
+ -3.25,
+ 2.25
+ ],
+ "tag": {
+ "commentStart": 1190,
+ "end": 1211,
+ "start": 1190,
+ "type": "TagDeclarator",
+ "value": "rectangleSegmentD001"
+ },
+ "to": [
+ -3.25,
+ -2.25
+ ],
+ "type": "ToPoint",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "from": [
+ -3.25,
+ -2.25
+ ],
+ "tag": null,
+ "to": [
+ -3.25,
+ -2.25
+ ],
+ "type": "ToPoint",
+ "units": {
+ "type": "Inches"
+ }
+ }
+ ],
+ "on": {
+ "type": "plane",
+ "id": "[uuid]",
+ "artifactId": "[uuid]",
+ "value": "XY",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0,
+ "units": {
+ "type": "Mm"
+ }
+ },
+ "xAxis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0,
+ "units": {
+ "type": "Unknown"
+ }
+ },
+ "yAxis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0,
+ "units": {
+ "type": "Unknown"
+ }
+ }
+ },
+ "start": {
+ "from": [
+ -3.25,
+ -2.25
+ ],
+ "to": [
+ -3.25,
+ -2.25
+ ],
+ "units": {
+ "type": "Inches"
+ },
+ "tag": null,
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ }
+ },
+ "tags": {
+ "rectangleSegmentA001": {
+ "type": "TagIdentifier",
+ "value": "rectangleSegmentA001"
+ },
+ "rectangleSegmentB001": {
+ "type": "TagIdentifier",
+ "value": "rectangleSegmentB001"
+ },
+ "rectangleSegmentC001": {
+ "type": "TagIdentifier",
+ "value": "rectangleSegmentC001"
+ },
+ "rectangleSegmentD001": {
+ "type": "TagIdentifier",
+ "value": "rectangleSegmentD001"
+ }
+ },
+ "artifactId": "[uuid]",
+ "originalId": "[uuid]",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ "height": 0.5,
+ "startCapId": "[uuid]",
+ "endCapId": "[uuid]",
+ "edgeCuts": [
+ {
+ "type": "chamfer",
+ "id": "[uuid]",
+ "length": {
+ "n": 0.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "edgeId": "[uuid]",
+ "tag": null
+ },
+ {
+ "type": "chamfer",
+ "id": "[uuid]",
+ "length": {
+ "n": 0.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "edgeId": "[uuid]",
+ "tag": null
+ },
+ {
+ "type": "chamfer",
+ "id": "[uuid]",
+ "length": {
+ "n": 0.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "edgeId": "[uuid]",
+ "tag": null
+ },
+ {
+ "type": "chamfer",
+ "id": "[uuid]",
+ "length": {
+ "n": 0.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "edgeId": "[uuid]",
+ "tag": null
+ }
+ ],
+ "units": {
+ "type": "Inches"
+ },
+ "sectional": false
+ }
+ },
+ "plateSketch": {
+ "type": "Sketch",
+ "value": {
+ "type": "Sketch",
+ "id": "[uuid]",
+ "paths": [
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "from": [
+ -3.25,
+ -2.25
+ ],
+ "tag": {
+ "commentStart": 867,
+ "end": 888,
+ "start": 867,
+ "type": "TagDeclarator",
+ "value": "rectangleSegmentA001"
+ },
+ "to": [
+ 3.25,
+ -2.25
+ ],
+ "type": "ToPoint",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "from": [
+ 3.25,
+ -2.25
+ ],
+ "tag": {
+ "commentStart": 976,
+ "end": 997,
+ "start": 976,
+ "type": "TagDeclarator",
+ "value": "rectangleSegmentB001"
+ },
+ "to": [
+ 3.25,
+ 2.25
+ ],
+ "type": "ToPoint",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "from": [
+ 3.25,
+ 2.25
+ ],
+ "tag": {
+ "commentStart": 1099,
+ "end": 1120,
+ "start": 1099,
+ "type": "TagDeclarator",
+ "value": "rectangleSegmentC001"
+ },
+ "to": [
+ -3.25,
+ 2.25
+ ],
+ "type": "ToPoint",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "from": [
+ -3.25,
+ 2.25
+ ],
+ "tag": {
+ "commentStart": 1190,
+ "end": 1211,
+ "start": 1190,
+ "type": "TagDeclarator",
+ "value": "rectangleSegmentD001"
+ },
+ "to": [
+ -3.25,
+ -2.25
+ ],
+ "type": "ToPoint",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "from": [
+ -3.25,
+ -2.25
+ ],
+ "tag": null,
+ "to": [
+ -3.25,
+ -2.25
+ ],
+ "type": "ToPoint",
+ "units": {
+ "type": "Inches"
+ }
+ }
+ ],
+ "on": {
+ "type": "plane",
+ "id": "[uuid]",
+ "artifactId": "[uuid]",
+ "value": "XY",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0,
+ "units": {
+ "type": "Mm"
+ }
+ },
+ "xAxis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0,
+ "units": {
+ "type": "Unknown"
+ }
+ },
+ "yAxis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0,
+ "units": {
+ "type": "Unknown"
+ }
+ }
+ },
+ "start": {
+ "from": [
+ -3.25,
+ -2.25
+ ],
+ "to": [
+ -3.25,
+ -2.25
+ ],
+ "units": {
+ "type": "Inches"
+ },
+ "tag": null,
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ }
+ },
+ "tags": {
+ "rectangleSegmentA001": {
+ "type": "TagIdentifier",
+ "value": "rectangleSegmentA001"
+ },
+ "rectangleSegmentB001": {
+ "type": "TagIdentifier",
+ "value": "rectangleSegmentB001"
+ },
+ "rectangleSegmentC001": {
+ "type": "TagIdentifier",
+ "value": "rectangleSegmentC001"
+ },
+ "rectangleSegmentD001": {
+ "type": "TagIdentifier",
+ "value": "rectangleSegmentD001"
+ }
+ },
+ "artifactId": "[uuid]",
+ "originalId": "[uuid]",
+ "units": {
+ "type": "Inches"
+ }
+ }
+ },
+ "rectangleSegmentA001": {
+ "type": "TagIdentifier",
+ "type": "TagIdentifier",
+ "value": "rectangleSegmentA001"
+ },
+ "rectangleSegmentB001": {
+ "type": "TagIdentifier",
+ "type": "TagIdentifier",
+ "value": "rectangleSegmentB001"
+ },
+ "rectangleSegmentC001": {
+ "type": "TagIdentifier",
+ "type": "TagIdentifier",
+ "value": "rectangleSegmentC001"
+ },
+ "rectangleSegmentD001": {
+ "type": "TagIdentifier",
+ "type": "TagIdentifier",
+ "value": "rectangleSegmentD001"
+ },
+ "stockThickness": {
+ "type": "Number",
+ "value": 0.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "tubeHeight": {
+ "type": "Number",
+ "value": 2.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "tubeInnerDiameter": {
+ "type": "Number",
+ "value": 1.25,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "tubeThickness": {
+ "type": "Number",
+ "value": 0.115,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+}
diff --git a/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/rendered_model.png b/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/rendered_model.png
new file mode 100644
index 00000000000..256866d4359
Binary files /dev/null and b/rust/kcl-lib/tests/kcl_samples/counterdrilled-weldment/rendered_model.png differ
diff --git a/rust/kcl-lib/tests/kcl_samples/countersunk-plate/artifact_commands.snap b/rust/kcl-lib/tests/kcl_samples/countersunk-plate/artifact_commands.snap
new file mode 100644
index 00000000000..a7d6f13df02
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/countersunk-plate/artifact_commands.snap
@@ -0,0 +1,1165 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Artifact commands countersunk-plate.kcl
+---
+[
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "edge_lines_visible",
+ "hidden": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "size": 60.0,
+ "clobber": false,
+ "hide": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 15.413037500000007,
+ "y": 39.314119998717935,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 55.0402,
+ "y": -21.5784,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 19.049999999999997,
+ "offset": {
+ "unit": "degrees",
+ "value": -137.1848345922876
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -55.0402,
+ "y": -21.5784,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 42.2275,
+ "offset": {
+ "unit": "degrees",
+ "value": -42.81516540771243
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -55.0402,
+ "y": 21.5784,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 19.049999999999997,
+ "offset": {
+ "unit": "degrees",
+ "value": -137.1848345922876
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 55.0402,
+ "y": 21.5784,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc_to",
+ "to": {
+ "x": 30.8261,
+ "y": -0.0,
+ "z": 0.0
+ },
+ "angle_snap_increment": null
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid2d_add_hole",
+ "object_id": "[uuid]",
+ "hole_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 0.0,
+ "y": 0.0
+ },
+ "radius": 33.3375,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 33.3375,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 9.524999999999999,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -63.5,
+ "y": 0.0
+ },
+ "radius": 3.175,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 63.5,
+ "y": 0.0
+ },
+ "radius": 3.175,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -60.324999999999996,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 66.675,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -9.524999999999999,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -9.524999999999999,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 6.35,
+ "tolerance": 0.0000001,
+ "cut_type": "chamfer"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 6.35,
+ "tolerance": 0.0000001,
+ "cut_type": "chamfer"
+ }
+ }
+]
diff --git a/rust/kcl-lib/tests/kcl_samples/countersunk-plate/artifact_graph_flowchart.snap b/rust/kcl-lib/tests/kcl_samples/countersunk-plate/artifact_graph_flowchart.snap
new file mode 100644
index 00000000000..9b5fbe0555f
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/countersunk-plate/artifact_graph_flowchart.snap
@@ -0,0 +1,6 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Artifact graph flowchart countersunk-plate.kcl
+extension: md
+snapshot_kind: binary
+---
diff --git a/rust/kcl-lib/tests/kcl_samples/countersunk-plate/artifact_graph_flowchart.snap.md b/rust/kcl-lib/tests/kcl_samples/countersunk-plate/artifact_graph_flowchart.snap.md
new file mode 100644
index 00000000000..07d60542467
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/countersunk-plate/artifact_graph_flowchart.snap.md
@@ -0,0 +1,208 @@
+```mermaid
+flowchart LR
+ subgraph path4 [Path]
+ 4["Path
[812, 876, 0]"]
+ 8["Segment
[882, 939, 0]"]
+ 9["Segment
[945, 1004, 0]"]
+ 10["Segment
[1010, 1067, 0]"]
+ 11["Segment
[1073, 1126, 0]"]
+ 12["Segment
[1132, 1190, 0]"]
+ 13["Segment
[1196, 1255, 0]"]
+ 14["Segment
[1261, 1317, 0]"]
+ 15["Segment
[1323, 1388, 0]"]
+ 16["Segment
[1394, 1401, 0]"]
+ 23[Solid2d]
+ end
+ subgraph path5 [Path]
+ 5["Path
[1425, 1487, 0]"]
+ 17["Segment
[1425, 1487, 0]"]
+ 20[Solid2d]
+ end
+ subgraph path6 [Path]
+ 6["Path
[1649, 1725, 0]"]
+ 18["Segment
[1649, 1725, 0]"]
+ 21[Solid2d]
+ end
+ subgraph path7 [Path]
+ 7["Path
[1649, 1725, 0]"]
+ 19["Segment
[1649, 1725, 0]"]
+ 22[Solid2d]
+ end
+ 1["Plane
[700, 717, 0]"]
+ 2["StartSketchOnFace
[1605, 1641, 0]"]
+ 3["StartSketchOnFace
[1605, 1641, 0]"]
+ 24["Sweep Extrusion
[1494, 1529, 0]"]
+ 25["Sweep Extrusion
[1733, 1766, 0]"]
+ 26["Sweep Extrusion
[1733, 1766, 0]"]
+ 27[Wall]
+ 28[Wall]
+ 29[Wall]
+ 30[Wall]
+ 31[Wall]
+ 32[Wall]
+ 33[Wall]
+ 34[Wall]
+ 35[Wall]
+ 36[Wall]
+ 37["Cap Start"]
+ 38["Cap End"]
+ 39["SweepEdge Opposite"]
+ 40["SweepEdge Opposite"]
+ 41["SweepEdge Opposite"]
+ 42["SweepEdge Opposite"]
+ 43["SweepEdge Opposite"]
+ 44["SweepEdge Opposite"]
+ 45["SweepEdge Opposite"]
+ 46["SweepEdge Opposite"]
+ 47["SweepEdge Opposite"]
+ 48["SweepEdge Opposite"]
+ 49["SweepEdge Adjacent"]
+ 50["SweepEdge Adjacent"]
+ 51["SweepEdge Adjacent"]
+ 52["SweepEdge Adjacent"]
+ 53["SweepEdge Adjacent"]
+ 54["SweepEdge Adjacent"]
+ 55["SweepEdge Adjacent"]
+ 56["SweepEdge Adjacent"]
+ 57["SweepEdge Adjacent"]
+ 58["SweepEdge Adjacent"]
+ 59["EdgeCut Chamfer
[1829, 1876, 0]"]
+ 60["EdgeCut Chamfer
[1829, 1876, 0]"]
+ 1 --- 4
+ 1 --- 5
+ 38 x--> 2
+ 38 x--> 3
+ 4 --- 8
+ 4 --- 9
+ 4 --- 10
+ 4 --- 11
+ 4 --- 12
+ 4 --- 13
+ 4 --- 14
+ 4 --- 15
+ 4 --- 16
+ 4 --- 23
+ 4 ---- 24
+ 5 --- 17
+ 5 --- 20
+ 6 --- 18
+ 6 --- 21
+ 6 ---- 25
+ 38 --- 6
+ 7 --- 19
+ 7 --- 22
+ 7 ---- 26
+ 38 --- 7
+ 8 --- 33
+ 8 x--> 37
+ 8 --- 41
+ 8 --- 53
+ 9 --- 30
+ 9 x--> 37
+ 9 --- 43
+ 9 --- 54
+ 10 --- 29
+ 10 x--> 37
+ 10 --- 46
+ 10 --- 49
+ 11 --- 31
+ 11 x--> 37
+ 11 --- 40
+ 11 --- 55
+ 12 --- 28
+ 12 x--> 37
+ 12 --- 45
+ 12 --- 50
+ 13 --- 27
+ 13 x--> 37
+ 13 --- 42
+ 13 --- 52
+ 14 --- 32
+ 14 x--> 37
+ 14 --- 39
+ 14 --- 56
+ 15 --- 34
+ 15 x--> 37
+ 15 --- 44
+ 15 --- 51
+ 18 --- 35
+ 18 x--> 38
+ 18 --- 47
+ 18 --- 57
+ 18 --- 59
+ 19 --- 36
+ 19 x--> 38
+ 19 --- 48
+ 19 --- 58
+ 19 --- 60
+ 24 --- 27
+ 24 --- 28
+ 24 --- 29
+ 24 --- 30
+ 24 --- 31
+ 24 --- 32
+ 24 --- 33
+ 24 --- 34
+ 24 --- 37
+ 24 --- 38
+ 24 --- 39
+ 24 --- 40
+ 24 --- 41
+ 24 --- 42
+ 24 --- 43
+ 24 --- 44
+ 24 --- 45
+ 24 --- 46
+ 24 --- 49
+ 24 --- 50
+ 24 --- 51
+ 24 --- 52
+ 24 --- 53
+ 24 --- 54
+ 24 --- 55
+ 24 --- 56
+ 25 --- 35
+ 25 --- 47
+ 25 --- 57
+ 26 --- 36
+ 26 --- 48
+ 26 --- 58
+ 42 <--x 27
+ 50 <--x 27
+ 52 <--x 27
+ 45 <--x 28
+ 50 <--x 28
+ 55 <--x 28
+ 46 <--x 29
+ 49 <--x 29
+ 54 <--x 29
+ 43 <--x 30
+ 53 <--x 30
+ 54 <--x 30
+ 40 <--x 31
+ 49 <--x 31
+ 55 <--x 31
+ 39 <--x 32
+ 52 <--x 32
+ 56 <--x 32
+ 41 <--x 33
+ 51 <--x 33
+ 53 <--x 33
+ 44 <--x 34
+ 51 <--x 34
+ 56 <--x 34
+ 47 <--x 35
+ 57 <--x 35
+ 48 <--x 36
+ 58 <--x 36
+ 47 <--x 37
+ 48 <--x 37
+ 39 <--x 38
+ 40 <--x 38
+ 41 <--x 38
+ 42 <--x 38
+ 43 <--x 38
+ 44 <--x 38
+ 45 <--x 38
+ 46 <--x 38
+```
diff --git a/rust/kcl-lib/tests/kcl_samples/countersunk-plate/ast.snap b/rust/kcl-lib/tests/kcl_samples/countersunk-plate/ast.snap
new file mode 100644
index 00000000000..608eccb2397
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/countersunk-plate/ast.snap
@@ -0,0 +1,2602 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Result of parsing countersunk-plate.kcl
+---
+{
+ "Ok": {
+ "body": [
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacing",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "5",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 5.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "preComments": [
+ "// Define parameters"
+ ],
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "1",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 1.0,
+ "suffix": "None"
+ }
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "4",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 4.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "centerHoleDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "1",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 1.0,
+ "suffix": "None"
+ }
+ },
+ "operator": "+",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "3",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 3.0,
+ "suffix": "None"
+ }
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "4",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 4.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "plateThickness",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0.375",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.375,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "r1",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "centerHoleDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "operator": "*",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "1.5",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 1.5,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "operator": "+",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": ".35",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.35,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "preComments": [
+ "",
+ "",
+ "// Check that the plate is thick enough to countersink a hole",
+ "// assertGreaterThan(plateThickness, boltDiameter, \"This plate is not thick enough for the necessary countersink dimensions\")",
+ "",
+ "",
+ "// A bit of math to calculate the tangent line between the two diameters"
+ ],
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "r2",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "*",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "operator": "+",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": ".25",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.25,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "d",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacing",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentAngle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "arguments": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "r1",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "-",
+ "right": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "r2",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "operator": "/",
+ "right": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "d",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "asin",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentLength",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "r1",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "-",
+ "right": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "r2",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "operator": "/",
+ "right": {
+ "arguments": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentAngle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tan",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "plateBody",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "body": [
+ {
+ "arguments": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "XY",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "startSketchOn",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "at",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "90",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 90.0,
+ "suffix": "None"
+ }
+ },
+ "operator": "-",
+ "right": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentAngle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "r1",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "polar",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "startProfile",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "argument": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentAngle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentLength",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angledLine",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "radius",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "r2",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentAngle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "-",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "90",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 90.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "operator": "*",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentialArc",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentAngle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "argument": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentLength",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angledLine",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "radius",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "r1",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "argument": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentAngle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ },
+ "operator": "*",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentialArc",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "argument": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentAngle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "argument": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentLength",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angledLine",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "radius",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "r2",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentAngle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "-",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "90",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 90.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "operator": "*",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentialArc",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentAngle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentLength",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "angledLine",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "endAbsolute",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "arguments": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "PipeSubstitution",
+ "type": "PipeSubstitution"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "profileStartX",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ {
+ "arguments": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "PipeSubstitution",
+ "type": "PipeSubstitution"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "profileStartY",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tangentialArc",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "close",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tool",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "center",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "radius",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "centerHoleDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "operator": "*",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "1.5",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 1.5,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "circle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "subtract2d",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "plateThickness",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "extrude",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "PipeSubstitution",
+ "type": "PipeSubstitution"
+ }
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "nonCodeMeta": {
+ "nonCodeNodes": {
+ "0": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "NonCodeNode",
+ "value": {
+ "type": "blockComment",
+ "value": "Use polar coordinates to start the sketch at the tangent point of the larger radius",
+ "style": "line"
+ }
+ }
+ ],
+ "12": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "NonCodeNode",
+ "value": {
+ "type": "newLineBlockComment",
+ "value": "Function to create a countersunk hole",
+ "style": "line"
+ }
+ }
+ ]
+ },
+ "startNodes": []
+ },
+ "start": 0,
+ "type": "PipeExpression",
+ "type": "PipeExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "const",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "countersink",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "body": {
+ "body": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "expression": {
+ "body": [
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "face",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "END",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "startSketchOn",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "plateBody",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "center",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "holePosition",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "radius",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tag",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "TagDeclarator",
+ "type": "TagDeclarator",
+ "value": "hole01"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "circle",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "argument": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "plateThickness",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "extrude",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "length",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltDiameter",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "tags",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "hole01",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "chamfer",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "nonCodeMeta": {
+ "nonCodeNodes": {
+ "2": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "NonCodeNode",
+ "value": {
+ "type": "blockComment",
+ "value": "Use a chamfer to create a 90-degree countersink",
+ "style": "line"
+ }
+ }
+ ]
+ },
+ "startNodes": []
+ },
+ "start": 0,
+ "type": "PipeExpression",
+ "type": "PipeExpression"
+ },
+ "start": 0,
+ "type": "ExpressionStatement",
+ "type": "ExpressionStatement"
+ },
+ {
+ "argument": {
+ "commentStart": 0,
+ "end": 0,
+ "properties": [],
+ "start": 0,
+ "type": "ObjectExpression",
+ "type": "ObjectExpression"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "ReturnStatement",
+ "type": "ReturnStatement"
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "start": 0
+ },
+ "commentStart": 0,
+ "end": 0,
+ "params": [
+ {
+ "type": "Parameter",
+ "identifier": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "holePosition",
+ "start": 0,
+ "type": "Identifier"
+ }
+ }
+ ],
+ "start": 0,
+ "type": "FunctionExpression",
+ "type": "FunctionExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "fn",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "expression": {
+ "arguments": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "argument": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacing",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "countersink",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ "preComments": [
+ "",
+ "",
+ "// Place a countersunk hole at each bolt hole position"
+ ],
+ "start": 0,
+ "type": "ExpressionStatement",
+ "type": "ExpressionStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "expression": {
+ "arguments": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "boltSpacing",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "countersink",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ "start": 0,
+ "type": "ExpressionStatement",
+ "type": "ExpressionStatement"
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "innerAttrs": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "settings",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "preComments": [
+ "// Plate with countersunk holes",
+ "// A small mounting plate with a countersunk hole at each end",
+ "",
+ "",
+ "// Set units"
+ ],
+ "properties": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "key": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "defaultLengthUnit",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "start": 0,
+ "type": "ObjectProperty",
+ "value": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "in",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ }
+ ],
+ "start": 0,
+ "type": "Annotation"
+ }
+ ],
+ "nonCodeMeta": {
+ "nonCodeNodes": {
+ "8": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "NonCodeNode",
+ "value": {
+ "type": "newLine"
+ }
+ }
+ ]
+ },
+ "startNodes": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "NonCodeNode",
+ "value": {
+ "type": "newLine"
+ }
+ }
+ ]
+ },
+ "start": 0
+ }
+}
diff --git a/rust/kcl-lib/tests/kcl_samples/countersunk-plate/ops.snap b/rust/kcl-lib/tests/kcl_samples/countersunk-plate/ops.snap
new file mode 100644
index 00000000000..0a8ff4671ea
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/countersunk-plate/ops.snap
@@ -0,0 +1,391 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Operations executed countersunk-plate.kcl
+---
+[
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "FunctionCall",
+ "name": "tan",
+ "functionSourceRange": [],
+ "unlabeledArg": null,
+ "labeledArgs": {}
+ },
+ "sourceRange": []
+ },
+ {
+ "labeledArgs": {
+ "planeOrSolid": {
+ "value": {
+ "type": "Plane",
+ "artifact_id": "[uuid]"
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "startSketchOn",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": null
+ },
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "FunctionCall",
+ "name": "polar",
+ "functionSourceRange": [],
+ "unlabeledArg": null,
+ "labeledArgs": {
+ "angle": {
+ "value": {
+ "type": "Number",
+ "value": 1.1971635237196154,
+ "ty": {
+ "type": "Known",
+ "type": "Angle",
+ "type": "Radians"
+ }
+ },
+ "sourceRange": []
+ },
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": 1.6625,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ {
+ "labeledArgs": {
+ "tool": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "subtract2d",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": 0.375,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "extrude",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "face": {
+ "value": {
+ "type": "String",
+ "value": "end"
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "startSketchOn",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "face": {
+ "value": {
+ "type": "String",
+ "value": "end"
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "startSketchOn",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": -0.375,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "extrude",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": -0.375,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "extrude",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Sketch",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "type": "KclStdLibCall",
+ "name": "chamfer",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ },
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": 0.25,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "tags": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "TagIdentifier",
+ "value": "hole01",
+ "artifact_id": "[uuid]"
+ }
+ ]
+ },
+ "sourceRange": []
+ }
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "KclStdLibCall",
+ "name": "chamfer",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ },
+ "labeledArgs": {
+ "length": {
+ "value": {
+ "type": "Number",
+ "value": 0.25,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "tags": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "TagIdentifier",
+ "value": "hole01",
+ "artifact_id": "[uuid]"
+ }
+ ]
+ },
+ "sourceRange": []
+ }
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "FunctionCall",
+ "name": "countersink",
+ "functionSourceRange": [],
+ "unlabeledArg": null,
+ "labeledArgs": {}
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "FunctionCall",
+ "name": "countersink",
+ "functionSourceRange": [],
+ "unlabeledArg": null,
+ "labeledArgs": {}
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "FunctionCall",
+ "name": "cos",
+ "functionSourceRange": [],
+ "unlabeledArg": null,
+ "labeledArgs": {}
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "FunctionCall",
+ "name": "sin",
+ "functionSourceRange": [],
+ "unlabeledArg": null,
+ "labeledArgs": {}
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "GroupEnd"
+ },
+ {
+ "type": "GroupEnd"
+ },
+ {
+ "type": "GroupEnd"
+ },
+ {
+ "type": "GroupEnd"
+ },
+ {
+ "type": "GroupEnd"
+ },
+ {
+ "type": "GroupEnd"
+ }
+]
diff --git a/rust/kcl-lib/tests/kcl_samples/countersunk-plate/program_memory.snap b/rust/kcl-lib/tests/kcl_samples/countersunk-plate/program_memory.snap
new file mode 100644
index 00000000000..47c5844edd4
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/countersunk-plate/program_memory.snap
@@ -0,0 +1,445 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Variables in memory after executing countersunk-plate.kcl
+---
+{
+ "boltDiameter": {
+ "type": "Number",
+ "value": 0.25,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "boltSpacing": {
+ "type": "Number",
+ "value": 5.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "centerHoleDiameter": {
+ "type": "Number",
+ "value": 1.75,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "countersink": {
+ "type": "Function"
+ },
+ "d": {
+ "type": "Number",
+ "value": 2.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "plateBody": {
+ "type": "Solid",
+ "value": {
+ "type": "Solid",
+ "id": "[uuid]",
+ "artifactId": "[uuid]",
+ "value": [
+ {
+ "faceId": "[uuid]",
+ "id": "[uuid]",
+ "sourceRange": [],
+ "tag": null,
+ "type": "extrudePlane"
+ },
+ {
+ "faceId": "[uuid]",
+ "id": "[uuid]",
+ "sourceRange": [],
+ "tag": null,
+ "type": "extrudeArc"
+ },
+ {
+ "faceId": "[uuid]",
+ "id": "[uuid]",
+ "sourceRange": [],
+ "tag": null,
+ "type": "extrudePlane"
+ },
+ {
+ "faceId": "[uuid]",
+ "id": "[uuid]",
+ "sourceRange": [],
+ "tag": null,
+ "type": "extrudeArc"
+ },
+ {
+ "faceId": "[uuid]",
+ "id": "[uuid]",
+ "sourceRange": [],
+ "tag": null,
+ "type": "extrudePlane"
+ },
+ {
+ "faceId": "[uuid]",
+ "id": "[uuid]",
+ "sourceRange": [],
+ "tag": null,
+ "type": "extrudeArc"
+ },
+ {
+ "faceId": "[uuid]",
+ "id": "[uuid]",
+ "sourceRange": [],
+ "tag": null,
+ "type": "extrudePlane"
+ },
+ {
+ "faceId": "[uuid]",
+ "id": "[uuid]",
+ "sourceRange": [],
+ "tag": null,
+ "type": "extrudeArc"
+ }
+ ],
+ "sketch": {
+ "type": "Sketch",
+ "id": "[uuid]",
+ "paths": [
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "from": [
+ 0.6068,
+ 1.5478
+ ],
+ "tag": null,
+ "to": [
+ 2.7738,
+ 0.6983
+ ],
+ "type": "ToPoint",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "ccw": false,
+ "center": [
+ 2.5,
+ -0.0
+ ],
+ "from": [
+ 2.7738,
+ 0.6983
+ ],
+ "tag": null,
+ "to": [
+ 2.7737,
+ -0.6983
+ ],
+ "type": "TangentialArc",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "from": [
+ 2.7737,
+ -0.6983
+ ],
+ "tag": null,
+ "to": [
+ 0.6068,
+ -1.5478
+ ],
+ "type": "ToPoint",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "ccw": false,
+ "center": [
+ -0.0,
+ -0.0
+ ],
+ "from": [
+ 0.6068,
+ -1.5478
+ ],
+ "tag": null,
+ "to": [
+ -0.6068,
+ -1.5478
+ ],
+ "type": "TangentialArc",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "from": [
+ -0.6068,
+ -1.5478
+ ],
+ "tag": null,
+ "to": [
+ -2.7738,
+ -0.6983
+ ],
+ "type": "ToPoint",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "ccw": false,
+ "center": [
+ -2.5,
+ -0.0
+ ],
+ "from": [
+ -2.7738,
+ -0.6983
+ ],
+ "tag": null,
+ "to": [
+ -2.7738,
+ 0.6983
+ ],
+ "type": "TangentialArc",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "from": [
+ -2.7738,
+ 0.6983
+ ],
+ "tag": null,
+ "to": [
+ -0.6068,
+ 1.5478
+ ],
+ "type": "ToPoint",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "ccw": false,
+ "center": [
+ -0.0,
+ -0.0
+ ],
+ "from": [
+ -0.6068,
+ 1.5478
+ ],
+ "tag": null,
+ "to": [
+ 0.6068,
+ 1.5478
+ ],
+ "type": "TangentialArcTo",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ {
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ },
+ "from": [
+ 0.6068,
+ 1.5478
+ ],
+ "tag": null,
+ "to": [
+ 0.6068,
+ 1.5478
+ ],
+ "type": "ToPoint",
+ "units": {
+ "type": "Inches"
+ }
+ }
+ ],
+ "on": {
+ "type": "plane",
+ "id": "[uuid]",
+ "artifactId": "[uuid]",
+ "value": "XY",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0,
+ "units": {
+ "type": "Mm"
+ }
+ },
+ "xAxis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0,
+ "units": {
+ "type": "Unknown"
+ }
+ },
+ "yAxis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0,
+ "units": {
+ "type": "Unknown"
+ }
+ }
+ },
+ "start": {
+ "from": [
+ 0.6068,
+ 1.5478
+ ],
+ "to": [
+ 0.6068,
+ 1.5478
+ ],
+ "units": {
+ "type": "Inches"
+ },
+ "tag": null,
+ "__geoMeta": {
+ "id": "[uuid]",
+ "sourceRange": []
+ }
+ },
+ "artifactId": "[uuid]",
+ "originalId": "[uuid]",
+ "units": {
+ "type": "Inches"
+ }
+ },
+ "height": 0.375,
+ "startCapId": "[uuid]",
+ "endCapId": "[uuid]",
+ "units": {
+ "type": "Inches"
+ },
+ "sectional": false
+ }
+ },
+ "plateThickness": {
+ "type": "Number",
+ "value": 0.375,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "r1": {
+ "type": "Number",
+ "value": 1.6625,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "r2": {
+ "type": "Number",
+ "value": 0.75,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "tangentAngle": {
+ "type": "Number",
+ "value": 0.3736,
+ "ty": {
+ "type": "Known",
+ "type": "Angle",
+ "type": "Radians"
+ }
+ },
+ "tangentLength": {
+ "type": "Number",
+ "value": 2.3275,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+}
diff --git a/rust/kcl-lib/tests/kcl_samples/countersunk-plate/rendered_model.png b/rust/kcl-lib/tests/kcl_samples/countersunk-plate/rendered_model.png
new file mode 100644
index 00000000000..fe1ad16c13c
Binary files /dev/null and b/rust/kcl-lib/tests/kcl_samples/countersunk-plate/rendered_model.png differ
diff --git a/rust/kcl-lib/tests/kcl_samples/cpu-cooler/artifact_commands.snap b/rust/kcl-lib/tests/kcl_samples/cpu-cooler/artifact_commands.snap
new file mode 100644
index 00000000000..e72a235c1c6
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/cpu-cooler/artifact_commands.snap
@@ -0,0 +1,18102 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Artifact commands cpu-cooler.kcl
+---
+[
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "edge_lines_visible",
+ "hidden": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "set_object_transform",
+ "object_id": "[uuid]",
+ "transforms": [
+ {
+ "translate": {
+ "property": {
+ "x": 27.5,
+ "y": 0.0,
+ "z": 100.0
+ },
+ "set": false,
+ "is_local": true
+ },
+ "rotate_rpy": null,
+ "rotate_angle_axis": null,
+ "scale": null
+ }
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "set_object_transform",
+ "object_id": "[uuid]",
+ "transforms": [
+ {
+ "translate": {
+ "property": {
+ "x": 27.5,
+ "y": 0.0,
+ "z": 100.0
+ },
+ "set": false,
+ "is_local": true
+ },
+ "rotate_rpy": null,
+ "rotate_angle_axis": null,
+ "scale": null
+ }
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "set_object_transform",
+ "object_id": "[uuid]",
+ "transforms": [
+ {
+ "translate": {
+ "property": {
+ "x": 27.5,
+ "y": 0.0,
+ "z": 100.0
+ },
+ "set": false,
+ "is_local": true
+ },
+ "rotate_rpy": null,
+ "rotate_angle_axis": null,
+ "scale": null
+ }
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "set_object_transform",
+ "object_id": "[uuid]",
+ "transforms": [
+ {
+ "translate": {
+ "property": {
+ "x": 27.5,
+ "y": 0.0,
+ "z": 100.0
+ },
+ "set": false,
+ "is_local": true
+ },
+ "rotate_rpy": null,
+ "rotate_angle_axis": null,
+ "scale": null
+ }
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "set_object_transform",
+ "object_id": "[uuid]",
+ "transforms": [
+ {
+ "translate": {
+ "property": {
+ "x": 27.5,
+ "y": 0.0,
+ "z": 100.0
+ },
+ "set": false,
+ "is_local": true
+ },
+ "rotate_rpy": null,
+ "rotate_angle_axis": null,
+ "scale": null
+ }
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "set_object_transform",
+ "object_id": "[uuid]",
+ "transforms": [
+ {
+ "translate": {
+ "property": {
+ "x": 27.5,
+ "y": 0.0,
+ "z": 100.0
+ },
+ "set": false,
+ "is_local": true
+ },
+ "rotate_rpy": null,
+ "rotate_angle_axis": null,
+ "scale": null
+ }
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "set_object_transform",
+ "object_id": "[uuid]",
+ "transforms": [
+ {
+ "translate": {
+ "property": {
+ "x": 27.5,
+ "y": 0.0,
+ "z": 100.0
+ },
+ "set": false,
+ "is_local": true
+ },
+ "rotate_rpy": null,
+ "rotate_angle_axis": null,
+ "scale": null
+ }
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "set_object_transform",
+ "object_id": "[uuid]",
+ "transforms": [
+ {
+ "translate": {
+ "property": {
+ "x": 27.5,
+ "y": 0.0,
+ "z": 100.0
+ },
+ "set": false,
+ "is_local": true
+ },
+ "rotate_rpy": null,
+ "rotate_angle_axis": null,
+ "scale": null
+ }
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "set_object_transform",
+ "object_id": "[uuid]",
+ "transforms": [
+ {
+ "translate": {
+ "property": {
+ "x": 27.5,
+ "y": 0.0,
+ "z": 100.0
+ },
+ "set": false,
+ "is_local": true
+ },
+ "rotate_rpy": null,
+ "rotate_angle_axis": null,
+ "scale": null
+ }
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "set_object_transform",
+ "object_id": "[uuid]",
+ "transforms": [
+ {
+ "translate": {
+ "property": {
+ "x": 27.5,
+ "y": 0.0,
+ "z": 100.0
+ },
+ "set": false,
+ "is_local": true
+ },
+ "rotate_rpy": null,
+ "rotate_angle_axis": null,
+ "scale": null
+ }
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "set_object_transform",
+ "object_id": "[uuid]",
+ "transforms": [
+ {
+ "translate": {
+ "property": {
+ "x": 27.5,
+ "y": 0.0,
+ "z": 100.0
+ },
+ "set": false,
+ "is_local": true
+ },
+ "rotate_rpy": null,
+ "rotate_angle_axis": null,
+ "scale": null
+ }
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "set_object_transform",
+ "object_id": "[uuid]",
+ "transforms": [
+ {
+ "translate": {
+ "property": {
+ "x": 27.5,
+ "y": 0.0,
+ "z": 100.0
+ },
+ "set": false,
+ "is_local": true
+ },
+ "rotate_rpy": null,
+ "rotate_angle_axis": null,
+ "scale": null
+ }
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "set_object_transform",
+ "object_id": "[uuid]",
+ "transforms": [
+ {
+ "translate": {
+ "property": {
+ "x": 27.5,
+ "y": 0.0,
+ "z": 100.0
+ },
+ "set": false,
+ "is_local": true
+ },
+ "rotate_rpy": null,
+ "rotate_angle_axis": null,
+ "scale": null
+ }
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_linear_pattern_transform",
+ "entity_id": "[uuid]",
+ "transform": [],
+ "transforms": [
+ [
+ {
+ "translate": {
+ "x": -80.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_linear_pattern_transform",
+ "entity_id": "[uuid]",
+ "transform": [],
+ "transforms": [
+ [
+ {
+ "translate": {
+ "x": -80.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_linear_pattern_transform",
+ "entity_id": "[uuid]",
+ "transform": [],
+ "transforms": [
+ [
+ {
+ "translate": {
+ "x": -80.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_linear_pattern_transform",
+ "entity_id": "[uuid]",
+ "transform": [],
+ "transforms": [
+ [
+ {
+ "translate": {
+ "x": -80.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_linear_pattern_transform",
+ "entity_id": "[uuid]",
+ "transform": [],
+ "transforms": [
+ [
+ {
+ "translate": {
+ "x": -80.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_linear_pattern_transform",
+ "entity_id": "[uuid]",
+ "transform": [],
+ "transforms": [
+ [
+ {
+ "translate": {
+ "x": -80.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_linear_pattern_transform",
+ "entity_id": "[uuid]",
+ "transform": [],
+ "transforms": [
+ [
+ {
+ "translate": {
+ "x": -80.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_linear_pattern_transform",
+ "entity_id": "[uuid]",
+ "transform": [],
+ "transforms": [
+ [
+ {
+ "translate": {
+ "x": -80.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_linear_pattern_transform",
+ "entity_id": "[uuid]",
+ "transform": [],
+ "transforms": [
+ [
+ {
+ "translate": {
+ "x": -80.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_linear_pattern_transform",
+ "entity_id": "[uuid]",
+ "transform": [],
+ "transforms": [
+ [
+ {
+ "translate": {
+ "x": -80.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_linear_pattern_transform",
+ "entity_id": "[uuid]",
+ "transform": [],
+ "transforms": [
+ [
+ {
+ "translate": {
+ "x": -80.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_linear_pattern_transform",
+ "entity_id": "[uuid]",
+ "transform": [],
+ "transforms": [
+ [
+ {
+ "translate": {
+ "x": -80.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_linear_pattern_transform",
+ "entity_id": "[uuid]",
+ "transform": [],
+ "transforms": [
+ [
+ {
+ "translate": {
+ "x": -80.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_circular_pattern",
+ "entity_id": "[uuid]",
+ "axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "center": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 100.0
+ },
+ "num_repetitions": 1,
+ "arc_degrees": 360.0,
+ "rotate_duplicates": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_circular_pattern",
+ "entity_id": "[uuid]",
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "center": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "num_repetitions": 1,
+ "arc_degrees": 360.0,
+ "rotate_duplicates": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_circular_pattern",
+ "entity_id": "[uuid]",
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "center": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "num_repetitions": 1,
+ "arc_degrees": 360.0,
+ "rotate_duplicates": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 60.0,
+ "clobber": false,
+ "hide": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -60.0,
+ "y": -60.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 120.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 120.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -120.0,
+ "y": -0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -60.0,
+ "y": -60.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid2d_add_hole",
+ "object_id": "[uuid]",
+ "hole_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 0.0,
+ "y": 0.0
+ },
+ "radius": 4.0,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 4.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid2d_add_hole",
+ "object_id": "[uuid]",
+ "hole_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 52.5,
+ "y": 52.5
+ },
+ "radius": 2.25,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 54.75,
+ "y": 52.5,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid2d_add_hole",
+ "object_id": "[uuid]",
+ "hole_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -52.5,
+ "y": 52.5
+ },
+ "radius": 2.25,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -50.25,
+ "y": 52.5,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid2d_add_hole",
+ "object_id": "[uuid]",
+ "hole_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 52.5,
+ "y": -52.5
+ },
+ "radius": 2.25,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 54.75,
+ "y": -52.5,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid2d_add_hole",
+ "object_id": "[uuid]",
+ "hole_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -52.5,
+ "y": -52.5
+ },
+ "radius": 2.25,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -50.25,
+ "y": -52.5,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 4.0,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 33.6,
+ "y": -43.2,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -44.1242,
+ "y": 37.0246,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.4,
+ "offset": {
+ "unit": "degrees",
+ "value": 90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -24.683,
+ "y": -29.4161,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.4,
+ "offset": {
+ "unit": "degrees",
+ "value": 90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 7.354,
+ "y": -6.1708,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 38.4,
+ "offset": {
+ "unit": "degrees",
+ "value": 40.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 14.4,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc_to",
+ "to": {
+ "x": 25.4555,
+ "y": 11.2232,
+ "z": 0.0
+ },
+ "angle_snap_increment": null
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_circular_pattern",
+ "entity_id": "[uuid]",
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "center": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "num_repetitions": 3,
+ "arc_degrees": 360.0,
+ "rotate_duplicates": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -4.0,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -4.0,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -4.0,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -4.0,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 20.0,
+ "y": -59.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 39.0,
+ "offset": {
+ "unit": "degrees",
+ "value": 90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 40.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 39.0,
+ "offset": {
+ "unit": "degrees",
+ "value": 90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -40.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 39.0,
+ "offset": {
+ "unit": "degrees",
+ "value": 90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": -40.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 39.0,
+ "offset": {
+ "unit": "degrees",
+ "value": 90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 20.0,
+ "y": -59.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 17.0,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 0.0,
+ "y": 0.0
+ },
+ "radius": 55.2,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 55.2,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -17.0,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -60.0,
+ "y": -60.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 120.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 120.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -120.0,
+ "y": -0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -60.0,
+ "y": -60.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid2d_add_hole",
+ "object_id": "[uuid]",
+ "hole_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 0.0,
+ "y": 0.0
+ },
+ "radius": 55.2,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 55.2,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid2d_add_hole",
+ "object_id": "[uuid]",
+ "hole_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 52.5,
+ "y": 52.5
+ },
+ "radius": 2.25,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 54.75,
+ "y": 52.5,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid2d_add_hole",
+ "object_id": "[uuid]",
+ "hole_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -52.5,
+ "y": 52.5
+ },
+ "radius": 2.25,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -50.25,
+ "y": 52.5,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid2d_add_hole",
+ "object_id": "[uuid]",
+ "hole_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 52.5,
+ "y": -52.5
+ },
+ "radius": 2.25,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 54.75,
+ "y": -52.5,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid2d_add_hole",
+ "object_id": "[uuid]",
+ "hole_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -52.5,
+ "y": -52.5
+ },
+ "radius": 2.25,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -50.25,
+ "y": -52.5,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 4.0,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 0.0,
+ "y": 0.0
+ },
+ "radius": 11.2,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 11.2,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 16.0,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 0.0,
+ "y": 0.0
+ },
+ "radius": 10.0,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 10.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -16.0,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.64705884,
+ "g": 0.36862746,
+ "b": 0.17254902,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 7.5,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 7.5,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 7.5,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 7.5,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 7.5,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 7.5,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 7.5,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 7.5,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 4.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 0.0,
+ "y": 0.0
+ },
+ "radius": 10.0,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 10.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 17.0,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 2.0,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 2.0,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.007843138,
+ "g": 0.105882354,
+ "b": 0.33333334,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 21.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 0.0,
+ "y": 0.0
+ },
+ "radius": 1.0,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 3.8,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.79607844,
+ "g": 0.8,
+ "b": 0.8039216,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "size": 60.0,
+ "clobber": false,
+ "hide": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 25.0,
+ "y": -0.0001,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 25.0,
+ "y": -13.5,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 1.5,
+ "offset": {
+ "unit": "degrees",
+ "value": -90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 4.5,
+ "y": -15.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 4.5,
+ "y": -13.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 20.0,
+ "y": -13.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 1.0,
+ "offset": {
+ "unit": "degrees",
+ "value": 90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 21.0,
+ "y": -1.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 2.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "revolve",
+ "target": "[uuid]",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "axis_is_2d": true,
+ "angle": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "tolerance": 0.0000001,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 4.5,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 9.5,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 23.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 9.64181414529809,
+ "y": 11.49066664678467,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 12.99038105676658,
+ "y": 7.499999999999999,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 15.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -0.0,
+ "y": -0.0
+ },
+ "radius": 15.0,
+ "start": {
+ "unit": "degrees",
+ "value": 50.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 64.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -0.0,
+ "y": -0.0
+ },
+ "radius": 15.0,
+ "start": {
+ "unit": "degrees",
+ "value": 30.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 44.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -0.0,
+ "y": -0.0
+ },
+ "radius": 15.0,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 14.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc_to",
+ "interior": {
+ "x": 15.8879,
+ "y": 21.084,
+ "z": 0.0
+ },
+ "end": {
+ "x": 45.7261,
+ "y": 26.4,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc_to",
+ "interior": {
+ "x": 22.1409,
+ "y": 14.3785,
+ "z": 0.0
+ },
+ "end": {
+ "x": 51.9978,
+ "y": 9.1686,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc_to",
+ "interior": {
+ "x": 26.3638,
+ "y": 1.3817,
+ "z": 0.0
+ },
+ "end": {
+ "x": 49.6158,
+ "y": -18.0587,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc_to",
+ "interior": {
+ "x": 46.6196,
+ "y": 24.7881,
+ "z": 0.0
+ },
+ "end": {
+ "x": 47.4563,
+ "y": 23.146,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc_to",
+ "interior": {
+ "x": 52.2862,
+ "y": 7.3483,
+ "z": 0.0
+ },
+ "end": {
+ "x": 52.5108,
+ "y": 5.5191,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc_to",
+ "interior": {
+ "x": 48.9553,
+ "y": -19.7792,
+ "z": 0.0
+ },
+ "end": {
+ "x": 48.2352,
+ "y": -21.4757,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc_to",
+ "interior": {
+ "x": 18.6676,
+ "y": 18.6676,
+ "z": 0.0
+ },
+ "end": {
+ "x": 9.6418,
+ "y": 11.4907,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc_to",
+ "interior": {
+ "x": 23.9265,
+ "y": 11.1571,
+ "z": 0.0
+ },
+ "end": {
+ "x": 12.9904,
+ "y": 7.5,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc_to",
+ "interior": {
+ "x": 26.2995,
+ "y": -2.3009,
+ "z": 0.0
+ },
+ "end": {
+ "x": 15.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "loft",
+ "section_ids": [
+ "[uuid]",
+ "[uuid]",
+ "[uuid]"
+ ],
+ "v_degree": 2,
+ "bez_approximate_rational": false,
+ "base_curve_index": null,
+ "tolerance": 0.0000001
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.9529412,
+ "g": 0.8862745,
+ "b": 0.84705883,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_circular_pattern",
+ "entity_id": "[uuid]",
+ "axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "center": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "num_repetitions": 8,
+ "arc_degrees": 360.0,
+ "rotate_duplicates": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.06666667,
+ "g": 0.03137255,
+ "b": 0.011764706,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.06666667,
+ "g": 0.03137255,
+ "b": 0.011764706,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.06666667,
+ "g": 0.03137255,
+ "b": 0.011764706,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.06666667,
+ "g": 0.03137255,
+ "b": 0.011764706,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.06666667,
+ "g": 0.03137255,
+ "b": 0.011764706,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.06666667,
+ "g": 0.03137255,
+ "b": 0.011764706,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.06666667,
+ "g": 0.03137255,
+ "b": 0.011764706,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.06666667,
+ "g": 0.03137255,
+ "b": 0.011764706,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.06666667,
+ "g": 0.03137255,
+ "b": 0.011764706,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.06666667,
+ "g": 0.03137255,
+ "b": 0.011764706,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": -20.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 30.0,
+ "y": 158.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 30.0,
+ "y": 25.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 15.0,
+ "offset": {
+ "unit": "degrees",
+ "value": -90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 10.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -15.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 15.0,
+ "offset": {
+ "unit": "degrees",
+ "value": -90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 133.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 158.0
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -20.0,
+ "y": 30.0
+ },
+ "radius": 3.0,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -17.0,
+ "y": 30.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid2d_add_hole",
+ "object_id": "[uuid]",
+ "hole_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -20.0,
+ "y": 30.0
+ },
+ "radius": 2.5,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -17.5,
+ "y": 30.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sweep",
+ "target": "[uuid]",
+ "trajectory": "[uuid]",
+ "sectional": false,
+ "tolerance": 0.0000001
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_circular_pattern",
+ "entity_id": "[uuid]",
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "center": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "num_repetitions": 1,
+ "arc_degrees": 360.0,
+ "rotate_duplicates": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": -4.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 44.943820224719104,
+ "y": 158.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 44.9438,
+ "y": 40.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 15.0,
+ "offset": {
+ "unit": "degrees",
+ "value": -45.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -15.0,
+ "y": -15.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 15.0,
+ "offset": {
+ "unit": "degrees",
+ "value": -45.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 10.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -14.9438,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 15.0,
+ "offset": {
+ "unit": "degrees",
+ "value": -155.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 15.0,
+ "offset": {
+ "unit": "degrees",
+ "value": 65.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -12.6224,
+ "y": 158.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 158.0
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -4.0,
+ "y": 44.9438
+ },
+ "radius": 3.0,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -1.0,
+ "y": 44.943820224719104,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid2d_add_hole",
+ "object_id": "[uuid]",
+ "hole_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -4.0,
+ "y": 44.9438
+ },
+ "radius": 2.5,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -1.5,
+ "y": 44.943820224719104,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sweep",
+ "target": "[uuid]",
+ "trajectory": "[uuid]",
+ "sectional": false,
+ "tolerance": 0.0000001
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_circular_pattern",
+ "entity_id": "[uuid]",
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "center": {
+ "x": -8.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "num_repetitions": 1,
+ "arc_degrees": 360.0,
+ "rotate_duplicates": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_linear_pattern_transform",
+ "entity_id": "[uuid]",
+ "transform": [],
+ "transforms": [
+ [
+ {
+ "translate": {
+ "x": 16.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_linear_pattern_transform",
+ "entity_id": "[uuid]",
+ "transform": [],
+ "transforms": [
+ [
+ {
+ "translate": {
+ "x": 16.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 45.0
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 0.0,
+ "y": -60.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 9.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 1.25,
+ "y": -2.1651,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.75,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc_to",
+ "interior": {
+ "x": 12.0,
+ "y": -60.9651,
+ "z": 0.0
+ },
+ "end": {
+ "x": 13.0,
+ "y": -62.1651,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.75,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 1.25,
+ "y": 2.1651,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 24.5,
+ "y": -60.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 3.0,
+ "offset": {
+ "unit": "degrees",
+ "value": 90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 27.5,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_get_all_child_uuids",
+ "entity_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_mirror",
+ "ids": [
+ "[uuid]"
+ ],
+ "axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "point": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_get_all_child_uuids",
+ "entity_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_mirror",
+ "ids": [
+ "[uuid]"
+ ],
+ "axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "point": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 1.0,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_linear_pattern_transform",
+ "entity_id": "[uuid]",
+ "transform": [],
+ "transforms": [
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 3.6666666666666665
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 7.333333333333333
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 11.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 14.666666666666666
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 18.333333333333332
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 22.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 25.666666666666664
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 29.333333333333332
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 33.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 36.666666666666664
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 40.33333333333333
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 44.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 47.666666666666664
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 51.33333333333333
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 55.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 58.666666666666664
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 62.33333333333333
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 66.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 69.66666666666666
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 73.33333333333333
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 77.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 80.66666666666666
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 84.33333333333333
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 88.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 91.66666666666666
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 95.33333333333333
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 99.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 102.66666666666666
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 106.33333333333333
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ],
+ [
+ {
+ "translate": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 110.0
+ },
+ "scale": {
+ "x": 1.0,
+ "y": 1.0,
+ "z": 1.0
+ },
+ "rotation": {
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "angle": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "origin": {
+ "type": "local"
+ }
+ },
+ "replicate": true
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": -1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 60.0,
+ "clobber": false,
+ "hide": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": -0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 0.0,
+ "y": 10.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -0.9,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -4.0,
+ "y": 10.0
+ },
+ "radius": 3.1,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": -180.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -1.8,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -11.9,
+ "y": 10.0
+ },
+ "radius": 3.0,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": -180.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -1.8,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -19.7,
+ "y": 10.0
+ },
+ "radius": 3.0,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": -180.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -1.8,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -2.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": -10.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_get_all_child_uuids",
+ "entity_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_mirror",
+ "ids": [
+ "[uuid]"
+ ],
+ "axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "point": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": -0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 30.000000000000004,
+ "faces": null,
+ "opposite": "Symmetric"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": -0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 0.0,
+ "y": 10.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -0.9,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -4.0,
+ "y": 10.0
+ },
+ "radius": 3.1,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 180.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -1.8,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -11.9,
+ "y": 10.0
+ },
+ "radius": 3.0,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 180.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -1.8,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -19.7,
+ "y": 10.0
+ },
+ "radius": 3.0,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 180.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -1.8,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 4.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.0,
+ "offset": {
+ "unit": "degrees",
+ "value": -90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 16.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_get_all_child_uuids",
+ "entity_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_mirror",
+ "ids": [
+ "[uuid]"
+ ],
+ "axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "point": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": -0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 22.500000000000004,
+ "faces": null,
+ "opposite": "Symmetric"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 60.0,
+ "clobber": false,
+ "hide": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": -1.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -10.0,
+ "y": 16.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -20.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 15.0,
+ "offset": {
+ "unit": "degrees",
+ "value": 20.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -13.1557,
+ "y": -4.7883,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 17.125,
+ "offset": {
+ "unit": "degrees",
+ "value": -30.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -21.1734,
+ "y": 3.7334,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.369,
+ "y": 2.0927,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 21.1734,
+ "y": -3.7334,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 15.0,
+ "offset": {
+ "unit": "degrees",
+ "value": 30.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 13.1557,
+ "y": 4.7883,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 17.125,
+ "offset": {
+ "unit": "degrees",
+ "value": -20.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -10.0,
+ "y": 18.125,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -10.0,
+ "y": 16.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": -1.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 16.0,
+ "faces": null,
+ "opposite": "Symmetric"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 2.0,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 2.0,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 2.0,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 2.0,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_common_edge",
+ "object_id": "[uuid]",
+ "face_ids": [
+ "[uuid]",
+ "[uuid]"
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_common_edge",
+ "object_id": "[uuid]",
+ "face_ids": [
+ "[uuid]",
+ "[uuid]"
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_common_edge",
+ "object_id": "[uuid]",
+ "face_ids": [
+ "[uuid]",
+ "[uuid]"
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_common_edge",
+ "object_id": "[uuid]",
+ "face_ids": [
+ "[uuid]",
+ "[uuid]"
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 70.0,
+ "y": 0.0
+ },
+ "radius": 1.7,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 71.7,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -2.125,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 1.59375,
+ "tolerance": 0.0000001,
+ "cut_type": "chamfer"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_common_edge",
+ "object_id": "[uuid]",
+ "face_ids": [
+ "[uuid]",
+ "[uuid]"
+ ]
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_circular_pattern",
+ "entity_id": "[uuid]",
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "center": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "num_repetitions": 1,
+ "arc_degrees": 360.0,
+ "rotate_duplicates": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": -62.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": -1.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -12.0,
+ "y": 100.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 7.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.0,
+ "offset": {
+ "unit": "degrees",
+ "value": 90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -9.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.0,
+ "offset": {
+ "unit": "degrees",
+ "value": -90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 14.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.0,
+ "offset": {
+ "unit": "degrees",
+ "value": 90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -9.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.0,
+ "offset": {
+ "unit": "degrees",
+ "value": -80.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -41.91,
+ "y": 151.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.0,
+ "offset": {
+ "unit": "degrees",
+ "value": 80.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": -62.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": -1.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -12.0,
+ "y": 100.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": -7.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.0,
+ "offset": {
+ "unit": "degrees",
+ "value": -90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -9.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.0,
+ "offset": {
+ "unit": "degrees",
+ "value": 90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": -14.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.0,
+ "offset": {
+ "unit": "degrees",
+ "value": -90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -9.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.0,
+ "offset": {
+ "unit": "degrees",
+ "value": 80.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -41.91,
+ "y": 49.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.0,
+ "offset": {
+ "unit": "degrees",
+ "value": -80.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 100.0
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -12.0,
+ "y": -62.0
+ },
+ "radius": 1.0,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -11.0,
+ "y": -62.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sweep",
+ "target": "[uuid]",
+ "trajectory": "[uuid]",
+ "sectional": false,
+ "tolerance": 0.0000001
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -12.0,
+ "y": -62.0
+ },
+ "radius": 1.0,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -11.0,
+ "y": -62.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sweep",
+ "target": "[uuid]",
+ "trajectory": "[uuid]",
+ "sectional": false,
+ "tolerance": 0.0000001
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 152.65270364466613
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -43.87966230538214,
+ "y": -62.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -52.5,
+ "y": -62.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.0,
+ "offset": {
+ "unit": "degrees",
+ "value": -90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -54.5,
+ "y": -54.5,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.0,
+ "offset": {
+ "unit": "degrees",
+ "value": -90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 8.3333,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 47.34729635533386
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -43.87966230538214,
+ "y": -62.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -52.5,
+ "y": -62.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.0,
+ "offset": {
+ "unit": "degrees",
+ "value": -90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -54.5,
+ "y": -54.5,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "tangential_arc",
+ "radius": 2.0,
+ "offset": {
+ "unit": "degrees",
+ "value": -90.0
+ }
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 8.3333,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": -43.87966230538214,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -62.0,
+ "y": 152.6527
+ },
+ "radius": 1.0,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -61.0,
+ "y": 152.65270364466613,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sweep",
+ "target": "[uuid]",
+ "trajectory": "[uuid]",
+ "sectional": false,
+ "tolerance": 0.0000001
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -62.0,
+ "y": 47.3473
+ },
+ "radius": 1.0,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -61.0,
+ "y": 47.34729635533386,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sweep",
+ "target": "[uuid]",
+ "trajectory": "[uuid]",
+ "sectional": false,
+ "tolerance": 0.0000001
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "boolean_union",
+ "solid_ids": [
+ "[uuid]",
+ "[uuid]"
+ ],
+ "tolerance": 0.0000001
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "boolean_union",
+ "solid_ids": [
+ "[uuid]",
+ "[uuid]"
+ ],
+ "tolerance": 0.0000001
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "boolean_union",
+ "solid_ids": [
+ "[uuid]",
+ "[uuid]"
+ ],
+ "tolerance": 0.0000001
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.050980393,
+ "g": 0.050980393,
+ "b": 0.050980393,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": -1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "size": 60.0,
+ "clobber": false,
+ "hide": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": -1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -12.0,
+ "y": -12.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 24.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 24.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -24.0,
+ "y": -0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -12.0,
+ "y": -12.0,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": -1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 0.8,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.007843138,
+ "g": 0.105882354,
+ "b": 0.33333334,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 3.0,
+ "tolerance": 0.0000001,
+ "cut_type": "chamfer"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 3.0,
+ "tolerance": 0.0000001,
+ "cut_type": "chamfer"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 3.0,
+ "tolerance": 0.0000001,
+ "cut_type": "chamfer"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 3.0,
+ "tolerance": 0.0000001,
+ "cut_type": "chamfer"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ }
+]
diff --git a/rust/kcl-lib/tests/kcl_samples/cpu-cooler/artifact_graph_flowchart.snap b/rust/kcl-lib/tests/kcl_samples/cpu-cooler/artifact_graph_flowchart.snap
new file mode 100644
index 00000000000..bd0d08ddd77
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/cpu-cooler/artifact_graph_flowchart.snap
@@ -0,0 +1,6 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Artifact graph flowchart cpu-cooler.kcl
+extension: md
+snapshot_kind: binary
+---
diff --git a/rust/kcl-lib/tests/kcl_samples/cpu-cooler/artifact_graph_flowchart.snap.md b/rust/kcl-lib/tests/kcl_samples/cpu-cooler/artifact_graph_flowchart.snap.md
new file mode 100644
index 00000000000..3e96b6a14f0
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/cpu-cooler/artifact_graph_flowchart.snap.md
@@ -0,0 +1,1579 @@
+```mermaid
+flowchart LR
+ subgraph path22 [Path]
+ 22["Path
[323, 370, 9]"]
+ 65["Segment
[376, 444, 9]"]
+ 66["Segment
[450, 550, 9]"]
+ 67["Segment
[556, 673, 9]"]
+ 68["Segment
[679, 764, 9]"]
+ 69["Segment
[770, 777, 9]"]
+ 253[Solid2d]
+ end
+ subgraph path23 [Path]
+ 23["Path
[801, 836, 9]"]
+ 70["Segment
[801, 836, 9]"]
+ 244[Solid2d]
+ end
+ subgraph path24 [Path]
+ 24["Path
[861, 1008, 9]"]
+ 71["Segment
[861, 1008, 9]"]
+ 237[Solid2d]
+ end
+ subgraph path25 [Path]
+ 25["Path
[1033, 1181, 9]"]
+ 72["Segment
[1033, 1181, 9]"]
+ 263[Solid2d]
+ end
+ subgraph path26 [Path]
+ 26["Path
[1206, 1354, 9]"]
+ 73["Segment
[1206, 1354, 9]"]
+ 230[Solid2d]
+ end
+ subgraph path27 [Path]
+ 27["Path
[1379, 1528, 9]"]
+ 74["Segment
[1379, 1528, 9]"]
+ 239[Solid2d]
+ end
+ subgraph path28 [Path]
+ 28["Path
[1696, 1752, 9]"]
+ 75["Segment
[1758, 1823, 9]"]
+ 76["Segment
[1829, 1881, 9]"]
+ 77["Segment
[1887, 1938, 9]"]
+ 78["Segment
[1944, 1996, 9]"]
+ 79["Segment
[2002, 2068, 9]"]
+ 80["Segment
[2074, 2126, 9]"]
+ 81["Segment
[2132, 2164, 9]"]
+ 82["Segment
[2170, 2235, 9]"]
+ 83["Segment
[2241, 2248, 9]"]
+ 255[Solid2d]
+ end
+ subgraph path29 [Path]
+ 29["Path
[2597, 2710, 9]"]
+ 84["Segment
[2716, 2771, 9]"]
+ 85["Segment
[2777, 2812, 9]"]
+ 86["Segment
[2818, 2873, 9]"]
+ 87["Segment
[2879, 2915, 9]"]
+ 88["Segment
[2921, 2976, 9]"]
+ 89["Segment
[2982, 3018, 9]"]
+ 90["Segment
[3024, 3079, 9]"]
+ 91["Segment
[3085, 3141, 9]"]
+ end
+ subgraph path30 [Path]
+ 30["Path
[3290, 3341, 9]"]
+ 92["Segment
[3290, 3341, 9]"]
+ 238[Solid2d]
+ end
+ subgraph path31 [Path]
+ 31["Path
[3520, 3582, 9]"]
+ 93["Segment
[3588, 3656, 9]"]
+ 94["Segment
[3662, 3762, 9]"]
+ 95["Segment
[3768, 3885, 9]"]
+ 96["Segment
[3891, 3976, 9]"]
+ 97["Segment
[3982, 3989, 9]"]
+ 257[Solid2d]
+ end
+ subgraph path32 [Path]
+ 32["Path
[4013, 4064, 9]"]
+ 98["Segment
[4013, 4064, 9]"]
+ 261[Solid2d]
+ end
+ subgraph path33 [Path]
+ 33["Path
[4089, 4236, 9]"]
+ 99["Segment
[4089, 4236, 9]"]
+ 262[Solid2d]
+ end
+ subgraph path34 [Path]
+ 34["Path
[4261, 4409, 9]"]
+ 100["Segment
[4261, 4409, 9]"]
+ 251[Solid2d]
+ end
+ subgraph path35 [Path]
+ 35["Path
[4434, 4582, 9]"]
+ 101["Segment
[4434, 4582, 9]"]
+ 249[Solid2d]
+ end
+ subgraph path36 [Path]
+ 36["Path
[4607, 4756, 9]"]
+ 102["Segment
[4607, 4756, 9]"]
+ 234[Solid2d]
+ end
+ subgraph path37 [Path]
+ 37["Path
[4898, 4936, 9]"]
+ 103["Segment
[4898, 4936, 9]"]
+ 235[Solid2d]
+ end
+ subgraph path38 [Path]
+ 38["Path
[5009, 5045, 9]"]
+ 104["Segment
[5009, 5045, 9]"]
+ 240[Solid2d]
+ end
+ subgraph path39 [Path]
+ 39["Path
[271, 321, 10]"]
+ 105["Segment
[271, 321, 10]"]
+ 242[Solid2d]
+ end
+ subgraph path40 [Path]
+ 40["Path
[508, 543, 10]"]
+ 106["Segment
[508, 543, 10]"]
+ 245[Solid2d]
+ end
+ subgraph path41 [Path]
+ 41["Path
[216, 255, 11]"]
+ 107["Segment
[261, 291, 11]"]
+ 108["Segment
[297, 337, 11]"]
+ 109["Segment
[343, 367, 11]"]
+ 110["Segment
[373, 397, 11]"]
+ 111["Segment
[403, 444, 11]"]
+ 112["Segment
[450, 487, 11]"]
+ 113["Segment
[493, 516, 11]"]
+ 114["Segment
[522, 539, 11]"]
+ 115["Segment
[545, 552, 11]"]
+ 232[Solid2d]
+ end
+ subgraph path42 [Path]
+ 42["Path
[859, 949, 11]"]
+ 117["Segment
[957, 1026, 11]"]
+ 118["Segment
[1034, 1334, 11]"]
+ 121["Segment
[1342, 1644, 11]"]
+ 123["Segment
[1652, 1871, 11]"]
+ 124["Segment
[1879, 1886, 11]"]
+ 248[Solid2d]
+ end
+ subgraph path43 [Path]
+ 43["Path
[859, 949, 11]"]
+ 116["Segment
[957, 1026, 11]"]
+ 119["Segment
[1034, 1334, 11]"]
+ 120["Segment
[1342, 1644, 11]"]
+ 122["Segment
[1652, 1871, 11]"]
+ 125["Segment
[1879, 1886, 11]"]
+ 250[Solid2d]
+ end
+ subgraph path44 [Path]
+ 44["Path
[859, 949, 11]"]
+ 126["Segment
[1879, 1886, 11]"]
+ 254[Solid2d]
+ end
+ subgraph path45 [Path]
+ 45["Path
[285, 331, 12]"]
+ 127["Segment
[337, 387, 12]"]
+ 128["Segment
[393, 440, 12]"]
+ 129["Segment
[446, 482, 12]"]
+ 130["Segment
[488, 518, 12]"]
+ 131["Segment
[524, 571, 12]"]
+ 132["Segment
[577, 606, 12]"]
+ end
+ subgraph path46 [Path]
+ 46["Path
[731, 778, 12]"]
+ 133["Segment
[731, 778, 12]"]
+ 241[Solid2d]
+ end
+ subgraph path47 [Path]
+ 47["Path
[802, 851, 12]"]
+ 134["Segment
[802, 851, 12]"]
+ 247[Solid2d]
+ end
+ subgraph path48 [Path]
+ 48["Path
[1172, 1221, 12]"]
+ 135["Segment
[1227, 1268, 12]"]
+ 136["Segment
[1274, 1321, 12]"]
+ 137["Segment
[1327, 1365, 12]"]
+ 138["Segment
[1371, 1418, 12]"]
+ 139["Segment
[1424, 1460, 12]"]
+ 140["Segment
[1466, 1496, 12]"]
+ 141["Segment
[1502, 1550, 12]"]
+ 142["Segment
[1556, 1602, 12]"]
+ 143["Segment
[1608, 1641, 12]"]
+ end
+ subgraph path49 [Path]
+ 49["Path
[1766, 1815, 12]"]
+ 144["Segment
[1766, 1815, 12]"]
+ 260[Solid2d]
+ end
+ subgraph path50 [Path]
+ 50["Path
[1839, 1890, 12]"]
+ 145["Segment
[1839, 1890, 12]"]
+ 231[Solid2d]
+ end
+ subgraph path51 [Path]
+ 51["Path
[2392, 2428, 12]"]
+ 146["Segment
[2434, 2451, 12]"]
+ 147["Segment
[2457, 2508, 12]"]
+ 148["Segment
[2514, 2534, 12]"]
+ 149["Segment
[2540, 2646, 12]"]
+ 150["Segment
[2652, 2672, 12]"]
+ 151["Segment
[2678, 2724, 12]"]
+ 152["Segment
[2730, 2772, 12]"]
+ 153["Segment
[2778, 2815, 12]"]
+ 154["Segment
[2821, 2843, 12]"]
+ 155["Segment
[2897, 2904, 12]"]
+ 243[Solid2d]
+ end
+ subgraph path52 [Path]
+ 52["Path
[3238, 3276, 12]"]
+ 156["Segment
[3282, 3302, 12]"]
+ 157["Segment
[3308, 3358, 12]"]
+ 158["Segment
[3364, 3384, 12]"]
+ 159["Segment
[3390, 3438, 12]"]
+ 160["Segment
[3444, 3464, 12]"]
+ 161["Segment
[3470, 3518, 12]"]
+ 162["Segment
[3524, 3544, 12]"]
+ 163["Segment
[3550, 3568, 12]"]
+ 164["Segment
[3574, 3593, 12]"]
+ 165["Segment
[3599, 3621, 12]"]
+ end
+ subgraph path53 [Path]
+ 53["Path
[3718, 3756, 12]"]
+ 166["Segment
[3762, 3782, 12]"]
+ 167["Segment
[3788, 3837, 12]"]
+ 168["Segment
[3843, 3863, 12]"]
+ 169["Segment
[3869, 3916, 12]"]
+ 170["Segment
[3922, 3942, 12]"]
+ 171["Segment
[3948, 3995, 12]"]
+ 172["Segment
[4001, 4021, 12]"]
+ 173["Segment
[4027, 4045, 12]"]
+ 174["Segment
[4051, 4068, 12]"]
+ 175["Segment
[4074, 4112, 12]"]
+ 176["Segment
[4118, 4140, 12]"]
+ end
+ subgraph path54 [Path]
+ 54["Path
[4362, 4390, 12]"]
+ 177["Segment
[4396, 4415, 12]"]
+ 178["Segment
[4421, 4467, 12]"]
+ 179["Segment
[4473, 4524, 12]"]
+ 180["Segment
[4530, 4594, 12]"]
+ 181["Segment
[4600, 4653, 12]"]
+ 182["Segment
[4659, 4726, 12]"]
+ 183["Segment
[4732, 4812, 12]"]
+ 184["Segment
[4818, 4864, 12]"]
+ 185["Segment
[4870, 4933, 12]"]
+ 186["Segment
[4939, 5003, 12]"]
+ 187["Segment
[5009, 5046, 12]"]
+ 188["Segment
[5052, 5122, 12]"]
+ 189["Segment
[5128, 5135, 12]"]
+ 246[Solid2d]
+ end
+ subgraph path55 [Path]
+ 55["Path
[5679, 5736, 12]"]
+ 190["Segment
[5679, 5736, 12]"]
+ 258[Solid2d]
+ end
+ subgraph path56 [Path]
+ 56["Path
[311, 353, 13]"]
+ 191["Segment
[359, 376, 13]"]
+ 192["Segment
[382, 419, 13]"]
+ 193["Segment
[425, 443, 13]"]
+ 194["Segment
[449, 487, 13]"]
+ 195["Segment
[493, 511, 13]"]
+ 196["Segment
[517, 554, 13]"]
+ 197["Segment
[560, 578, 13]"]
+ 198["Segment
[584, 622, 13]"]
+ 199["Segment
[628, 716, 13]"]
+ 200["Segment
[722, 773, 13]"]
+ end
+ subgraph path57 [Path]
+ 57["Path
[899, 941, 13]"]
+ 201["Segment
[947, 965, 13]"]
+ 202["Segment
[971, 1009, 13]"]
+ 203["Segment
[1015, 1033, 13]"]
+ 204["Segment
[1039, 1076, 13]"]
+ 205["Segment
[1082, 1101, 13]"]
+ 206["Segment
[1107, 1145, 13]"]
+ 207["Segment
[1151, 1169, 13]"]
+ 208["Segment
[1175, 1212, 13]"]
+ 209["Segment
[1218, 1309, 13]"]
+ 210["Segment
[1315, 1367, 13]"]
+ end
+ subgraph path58 [Path]
+ 58["Path
[1528, 1593, 13]"]
+ 211["Segment
[1528, 1593, 13]"]
+ 256[Solid2d]
+ end
+ subgraph path59 [Path]
+ 59["Path
[1642, 1707, 13]"]
+ 212["Segment
[1642, 1707, 13]"]
+ 233[Solid2d]
+ end
+ subgraph path60 [Path]
+ 60["Path
[1865, 1918, 13]"]
+ 213["Segment
[1924, 1975, 13]"]
+ 214["Segment
[1981, 2019, 13]"]
+ 215["Segment
[2025, 2074, 13]"]
+ 216["Segment
[2080, 2118, 13]"]
+ 217["Segment
[2124, 2153, 13]"]
+ end
+ subgraph path61 [Path]
+ 61["Path
[2280, 2333, 13]"]
+ 218["Segment
[2339, 2390, 13]"]
+ 219["Segment
[2396, 2434, 13]"]
+ 220["Segment
[2440, 2489, 13]"]
+ 221["Segment
[2495, 2533, 13]"]
+ 222["Segment
[2539, 2568, 13]"]
+ end
+ subgraph path62 [Path]
+ 62["Path
[2736, 2812, 13]"]
+ 223["Segment
[2736, 2812, 13]"]
+ 236[Solid2d]
+ end
+ subgraph path63 [Path]
+ 63["Path
[2863, 2939, 13]"]
+ 224["Segment
[2863, 2939, 13]"]
+ 259[Solid2d]
+ end
+ subgraph path64 [Path]
+ 64["Path
[413, 442, 14]"]
+ 225["Segment
[448, 511, 14]"]
+ 226["Segment
[517, 612, 14]"]
+ 227["Segment
[618, 735, 14]"]
+ 228["Segment
[741, 826, 14]"]
+ 229["Segment
[832, 839, 14]"]
+ 252[Solid2d]
+ end
+ 1["Plane
[300, 317, 9]"]
+ 2["Plane
[200, 227, 10]"]
+ 3["Plane
[473, 501, 10]"]
+ 4["Plane
[193, 210, 11]"]
+ 5["Plane
[812, 850, 11]"]
+ 6["Plane
[812, 850, 11]"]
+ 7["Plane
[812, 850, 11]"]
+ 8["Plane
[249, 278, 12]"]
+ 9["Plane
[686, 724, 12]"]
+ 10["Plane
[1137, 1165, 12]"]
+ 11["Plane
[1721, 1759, 12]"]
+ 12["Plane
[2357, 2385, 12]"]
+ 13["Plane
[3207, 3225, 12]"]
+ 14["Plane
[4339, 4356, 12]"]
+ 15["Plane
[263, 304, 13]"]
+ 16["Plane
[851, 892, 13]"]
+ 17["Plane
[1468, 1510, 13]"]
+ 18["Plane
[1818, 1858, 13]"]
+ 19["Plane
[2233, 2273, 13]"]
+ 20["Plane
[2677, 2717, 13]"]
+ 21["Plane
[389, 407, 14]"]
+ 264["Sweep Extrusion
[1535, 1554, 9]"]
+ 265["Sweep Extrusion
[2388, 2408, 9]"]
+ 266["Sweep Extrusion
[2388, 2408, 9]"]
+ 267["Sweep Extrusion
[2388, 2408, 9]"]
+ 268["Sweep Extrusion
[2388, 2408, 9]"]
+ 269["Sweep Extrusion
[3147, 3182, 9]"]
+ 270["Sweep Extrusion
[3347, 3385, 9]"]
+ 271["Sweep Extrusion
[4763, 4782, 9]"]
+ 272["Sweep Extrusion
[4942, 4962, 9]"]
+ 273["Sweep Extrusion
[5051, 5072, 9]"]
+ 274["Sweep Extrusion
[327, 347, 10]"]
+ 275["Sweep Extrusion
[549, 570, 10]"]
+ 276["Sweep Revolve
[558, 640, 11]"]
+ 277["Sweep Loft
[2017, 2146, 11]"]
+ 278["Sweep Sweep
[858, 883, 12]"]
+ 279["Sweep Sweep
[1897, 1925, 12]"]
+ 280["Sweep Extrusion
[2910, 2929, 12]"]
+ 281["Sweep Extrusion
[3651, 3704, 12]"]
+ 282["Sweep Extrusion
[4170, 4231, 12]"]
+ 283["Sweep Extrusion
[5141, 5261, 12]"]
+ 284["Sweep Extrusion
[5742, 5775, 12]"]
+ 285["Sweep Sweep
[1599, 1624, 13]"]
+ 286["Sweep Sweep
[1713, 1738, 13]"]
+ 287["Sweep Sweep
[2818, 2844, 13]"]
+ 288["Sweep Sweep
[2945, 2971, 13]"]
+ 289["Sweep Extrusion
[845, 865, 14]"]
+ 290["CompositeSolid Union
[3098, 3136, 13]"]
+ 291["CompositeSolid Union
[3036, 3144, 13]"]
+ 292["CompositeSolid Union
[3051, 3089, 13]"]
+ 293[Wall]
+ 294[Wall]
+ 295[Wall]
+ 296[Wall]
+ 297[Wall]
+ 298[Wall]
+ 299[Wall]
+ 300[Wall]
+ 301[Wall]
+ 302[Wall]
+ 303[Wall]
+ 304[Wall]
+ 305[Wall]
+ 306[Wall]
+ 307[Wall]
+ 308[Wall]
+ 309[Wall]
+ 310[Wall]
+ 311[Wall]
+ 312[Wall]
+ 313[Wall]
+ 314[Wall]
+ 315[Wall]
+ 316[Wall]
+ 317[Wall]
+ 318[Wall]
+ 319[Wall]
+ 320[Wall]
+ 321[Wall]
+ 322[Wall]
+ 323[Wall]
+ 324[Wall]
+ 325[Wall]
+ 326[Wall]
+ 327[Wall]
+ 328[Wall]
+ 329[Wall]
+ 330[Wall]
+ 331[Wall]
+ 332[Wall]
+ 333[Wall]
+ 334[Wall]
+ 335[Wall]
+ 336[Wall]
+ 337[Wall]
+ 338[Wall]
+ 339[Wall]
+ 340[Wall]
+ 341[Wall]
+ 342[Wall]
+ 343[Wall]
+ 344[Wall]
+ 345[Wall]
+ 346[Wall]
+ 347[Wall]
+ 348[Wall]
+ 349[Wall]
+ 350[Wall]
+ 351[Wall]
+ 352[Wall]
+ 353[Wall]
+ 354[Wall]
+ 355[Wall]
+ 356[Wall]
+ 357[Wall]
+ 358["Cap Start"]
+ 359["Cap Start"]
+ 360["Cap Start"]
+ 361["Cap Start"]
+ 362["Cap Start"]
+ 363["Cap Start"]
+ 364["Cap Start"]
+ 365["Cap Start"]
+ 366["Cap Start"]
+ 367["Cap Start"]
+ 368["Cap Start"]
+ 369["Cap Start"]
+ 370["Cap End"]
+ 371["Cap End"]
+ 372["Cap End"]
+ 373["Cap End"]
+ 374["Cap End"]
+ 375["Cap End"]
+ 376["Cap End"]
+ 377["Cap End"]
+ 378["Cap End"]
+ 379["Cap End"]
+ 380["Cap End"]
+ 381["Cap End"]
+ 382["Cap End"]
+ 383["Cap End"]
+ 384["Cap End"]
+ 385["Cap End"]
+ 386["SweepEdge Opposite"]
+ 387["SweepEdge Opposite"]
+ 388["SweepEdge Opposite"]
+ 389["SweepEdge Opposite"]
+ 390["SweepEdge Opposite"]
+ 391["SweepEdge Opposite"]
+ 392["SweepEdge Opposite"]
+ 393["SweepEdge Opposite"]
+ 394["SweepEdge Opposite"]
+ 395["SweepEdge Opposite"]
+ 396["SweepEdge Opposite"]
+ 397["SweepEdge Opposite"]
+ 398["SweepEdge Opposite"]
+ 399["SweepEdge Opposite"]
+ 400["SweepEdge Opposite"]
+ 401["SweepEdge Opposite"]
+ 402["SweepEdge Opposite"]
+ 403["SweepEdge Opposite"]
+ 404["SweepEdge Opposite"]
+ 405["SweepEdge Opposite"]
+ 406["SweepEdge Opposite"]
+ 407["SweepEdge Opposite"]
+ 408["SweepEdge Opposite"]
+ 409["SweepEdge Opposite"]
+ 410["SweepEdge Opposite"]
+ 411["SweepEdge Opposite"]
+ 412["SweepEdge Opposite"]
+ 413["SweepEdge Opposite"]
+ 414["SweepEdge Opposite"]
+ 415["SweepEdge Opposite"]
+ 416["SweepEdge Opposite"]
+ 417["SweepEdge Opposite"]
+ 418["SweepEdge Opposite"]
+ 419["SweepEdge Opposite"]
+ 420["SweepEdge Opposite"]
+ 421["SweepEdge Opposite"]
+ 422["SweepEdge Opposite"]
+ 423["SweepEdge Opposite"]
+ 424["SweepEdge Opposite"]
+ 425["SweepEdge Opposite"]
+ 426["SweepEdge Opposite"]
+ 427["SweepEdge Opposite"]
+ 428["SweepEdge Opposite"]
+ 429["SweepEdge Opposite"]
+ 430["SweepEdge Opposite"]
+ 431["SweepEdge Opposite"]
+ 432["SweepEdge Opposite"]
+ 433["SweepEdge Opposite"]
+ 434["SweepEdge Opposite"]
+ 435["SweepEdge Opposite"]
+ 436["SweepEdge Opposite"]
+ 437["SweepEdge Opposite"]
+ 438["SweepEdge Opposite"]
+ 439["SweepEdge Opposite"]
+ 440["SweepEdge Opposite"]
+ 441["SweepEdge Opposite"]
+ 442["SweepEdge Adjacent"]
+ 443["SweepEdge Adjacent"]
+ 444["SweepEdge Adjacent"]
+ 445["SweepEdge Adjacent"]
+ 446["SweepEdge Adjacent"]
+ 447["SweepEdge Adjacent"]
+ 448["SweepEdge Adjacent"]
+ 449["SweepEdge Adjacent"]
+ 450["SweepEdge Adjacent"]
+ 451["SweepEdge Adjacent"]
+ 452["SweepEdge Adjacent"]
+ 453["SweepEdge Adjacent"]
+ 454["SweepEdge Adjacent"]
+ 455["SweepEdge Adjacent"]
+ 456["SweepEdge Adjacent"]
+ 457["SweepEdge Adjacent"]
+ 458["SweepEdge Adjacent"]
+ 459["SweepEdge Adjacent"]
+ 460["SweepEdge Adjacent"]
+ 461["SweepEdge Adjacent"]
+ 462["SweepEdge Adjacent"]
+ 463["SweepEdge Adjacent"]
+ 464["SweepEdge Adjacent"]
+ 465["SweepEdge Adjacent"]
+ 466["SweepEdge Adjacent"]
+ 467["SweepEdge Adjacent"]
+ 468["SweepEdge Adjacent"]
+ 469["SweepEdge Adjacent"]
+ 470["SweepEdge Adjacent"]
+ 471["SweepEdge Adjacent"]
+ 472["SweepEdge Adjacent"]
+ 473["SweepEdge Adjacent"]
+ 474["SweepEdge Adjacent"]
+ 475["SweepEdge Adjacent"]
+ 476["SweepEdge Adjacent"]
+ 477["SweepEdge Adjacent"]
+ 478["SweepEdge Adjacent"]
+ 479["SweepEdge Adjacent"]
+ 480["SweepEdge Adjacent"]
+ 481["SweepEdge Adjacent"]
+ 482["SweepEdge Adjacent"]
+ 483["SweepEdge Adjacent"]
+ 484["SweepEdge Adjacent"]
+ 485["SweepEdge Adjacent"]
+ 486["SweepEdge Adjacent"]
+ 487["SweepEdge Adjacent"]
+ 488["SweepEdge Adjacent"]
+ 489["SweepEdge Adjacent"]
+ 490["SweepEdge Adjacent"]
+ 491["SweepEdge Adjacent"]
+ 492["SweepEdge Adjacent"]
+ 493["SweepEdge Adjacent"]
+ 494["SweepEdge Adjacent"]
+ 495["SweepEdge Adjacent"]
+ 496["SweepEdge Adjacent"]
+ 497["SweepEdge Adjacent"]
+ 498["SweepEdge Adjacent"]
+ 499["SweepEdge Adjacent"]
+ 500["SweepEdge Adjacent"]
+ 501["SweepEdge Adjacent"]
+ 502["SweepEdge Adjacent"]
+ 503["SweepEdge Adjacent"]
+ 504["SweepEdge Adjacent"]
+ 505["SweepEdge Adjacent"]
+ 506["SweepEdge Adjacent"]
+ 507["EdgeCut Fillet
[5113, 5624, 9]"]
+ 508["EdgeCut Fillet
[5113, 5624, 9]"]
+ 509["EdgeCut Fillet
[5113, 5624, 9]"]
+ 510["EdgeCut Fillet
[5113, 5624, 9]"]
+ 511["EdgeCut Fillet
[5113, 5624, 9]"]
+ 512["EdgeCut Fillet
[5113, 5624, 9]"]
+ 513["EdgeCut Fillet
[5113, 5624, 9]"]
+ 514["EdgeCut Fillet
[5113, 5624, 9]"]
+ 515["EdgeCut Fillet
[353, 411, 10]"]
+ 516["EdgeCut Fillet
[353, 411, 10]"]
+ 517["EdgeCut Fillet
[5267, 5537, 12]"]
+ 518["EdgeCut Fillet
[5267, 5537, 12]"]
+ 519["EdgeCut Fillet
[5267, 5537, 12]"]
+ 520["EdgeCut Fillet
[5267, 5537, 12]"]
+ 521["EdgeCut Chamfer
[5781, 5910, 12]"]
+ 522["EdgeCut Chamfer
[906, 1173, 14]"]
+ 523["EdgeCut Chamfer
[906, 1173, 14]"]
+ 524["EdgeCut Chamfer
[906, 1173, 14]"]
+ 525["EdgeCut Chamfer
[906, 1173, 14]"]
+ 1 --- 22
+ 1 --- 23
+ 1 --- 24
+ 1 --- 25
+ 1 --- 26
+ 1 --- 27
+ 2 --- 39
+ 3 --- 40
+ 4 --- 41
+ 5 --- 42
+ 6 --- 44
+ 7 --- 43
+ 8 --- 45
+ 9 --- 46
+ 9 --- 47
+ 10 --- 48
+ 11 --- 49
+ 11 --- 50
+ 12 --- 51
+ 13 --- 52
+ 13 --- 53
+ 14 --- 54
+ 15 --- 56
+ 16 --- 57
+ 17 --- 58
+ 17 --- 59
+ 18 --- 60
+ 19 --- 61
+ 20 --- 62
+ 20 --- 63
+ 21 --- 64
+ 22 --- 65
+ 22 --- 66
+ 22 --- 67
+ 22 --- 68
+ 22 --- 69
+ 22 --- 253
+ 22 ---- 264
+ 23 --- 70
+ 23 --- 244
+ 24 --- 71
+ 24 --- 237
+ 25 --- 72
+ 25 --- 263
+ 26 --- 73
+ 26 --- 230
+ 27 --- 74
+ 27 --- 239
+ 28 --- 75
+ 28 --- 76
+ 28 --- 77
+ 28 --- 78
+ 28 --- 79
+ 28 --- 80
+ 28 --- 81
+ 28 --- 82
+ 28 --- 83
+ 28 --- 255
+ 28 ---- 267
+ 370 --- 28
+ 29 --- 84
+ 29 --- 85
+ 29 --- 86
+ 29 --- 87
+ 29 --- 88
+ 29 --- 89
+ 29 --- 90
+ 29 --- 91
+ 29 ---- 269
+ 370 --- 29
+ 30 --- 92
+ 30 --- 238
+ 30 ---- 270
+ 371 --- 30
+ 31 --- 93
+ 31 --- 94
+ 31 --- 95
+ 31 --- 96
+ 31 --- 97
+ 31 --- 257
+ 31 ---- 271
+ 371 --- 31
+ 32 --- 98
+ 32 --- 261
+ 371 --- 32
+ 33 --- 99
+ 33 --- 262
+ 371 --- 33
+ 34 --- 100
+ 34 --- 251
+ 371 --- 34
+ 35 --- 101
+ 35 --- 249
+ 371 --- 35
+ 36 --- 102
+ 36 --- 234
+ 371 --- 36
+ 37 --- 103
+ 37 --- 235
+ 37 ---- 272
+ 370 --- 37
+ 38 --- 104
+ 38 --- 240
+ 38 ---- 273
+ 379 --- 38
+ 39 --- 105
+ 39 --- 242
+ 39 ---- 274
+ 40 --- 106
+ 40 --- 245
+ 40 ---- 275
+ 41 --- 107
+ 41 --- 108
+ 41 --- 109
+ 41 --- 110
+ 41 --- 111
+ 41 --- 112
+ 41 --- 113
+ 41 --- 114
+ 41 --- 115
+ 41 --- 232
+ 41 ---- 276
+ 42 --- 117
+ 42 --- 118
+ 42 --- 121
+ 42 --- 123
+ 42 --- 124
+ 42 --- 248
+ 42 ---- 277
+ 43 --- 116
+ 43 --- 119
+ 43 --- 120
+ 43 --- 122
+ 43 --- 125
+ 43 --- 250
+ 43 x---> 277
+ 44 --- 126
+ 44 --- 254
+ 44 x---> 277
+ 44 x--> 400
+ 44 x--> 401
+ 44 x--> 402
+ 44 x--> 403
+ 45 --- 127
+ 45 --- 128
+ 45 --- 129
+ 45 --- 130
+ 45 --- 131
+ 45 --- 132
+ 46 --- 133
+ 46 --- 241
+ 46 ---- 278
+ 47 --- 134
+ 47 --- 247
+ 48 --- 135
+ 48 --- 136
+ 48 --- 137
+ 48 --- 138
+ 48 --- 139
+ 48 --- 140
+ 48 --- 141
+ 48 --- 142
+ 48 --- 143
+ 49 --- 144
+ 49 --- 260
+ 49 ---- 279
+ 50 --- 145
+ 50 --- 231
+ 51 --- 146
+ 51 --- 147
+ 51 --- 148
+ 51 --- 149
+ 51 --- 150
+ 51 --- 151
+ 51 --- 152
+ 51 --- 153
+ 51 --- 154
+ 51 --- 155
+ 51 --- 243
+ 51 ---- 280
+ 52 --- 156
+ 52 --- 157
+ 52 --- 158
+ 52 --- 159
+ 52 --- 160
+ 52 --- 161
+ 52 --- 162
+ 52 --- 163
+ 52 --- 164
+ 52 --- 165
+ 52 ---- 281
+ 53 --- 166
+ 53 --- 167
+ 53 --- 168
+ 53 --- 169
+ 53 --- 170
+ 53 --- 171
+ 53 --- 172
+ 53 --- 173
+ 53 --- 174
+ 53 --- 175
+ 53 --- 176
+ 53 ---- 282
+ 54 --- 177
+ 54 --- 178
+ 54 --- 179
+ 54 --- 180
+ 54 --- 181
+ 54 --- 182
+ 54 --- 183
+ 54 --- 184
+ 54 --- 185
+ 54 --- 186
+ 54 --- 187
+ 54 --- 188
+ 54 --- 189
+ 54 --- 246
+ 54 ---- 283
+ 55 --- 190
+ 55 --- 258
+ 55 ---- 284
+ 342 --- 55
+ 56 --- 191
+ 56 --- 192
+ 56 --- 193
+ 56 --- 194
+ 56 --- 195
+ 56 --- 196
+ 56 --- 197
+ 56 --- 198
+ 56 --- 199
+ 56 --- 200
+ 57 --- 201
+ 57 --- 202
+ 57 --- 203
+ 57 --- 204
+ 57 --- 205
+ 57 --- 206
+ 57 --- 207
+ 57 --- 208
+ 57 --- 209
+ 57 --- 210
+ 58 --- 211
+ 58 --- 256
+ 58 ---- 285
+ 58 <--x 292
+ 59 --- 212
+ 59 --- 233
+ 59 ---- 286
+ 59 <--x 290
+ 60 --- 213
+ 60 --- 214
+ 60 --- 215
+ 60 --- 216
+ 60 --- 217
+ 61 --- 218
+ 61 --- 219
+ 61 --- 220
+ 61 --- 221
+ 61 --- 222
+ 62 --- 223
+ 62 --- 236
+ 62 ---- 287
+ 62 <--x 292
+ 63 --- 224
+ 63 --- 259
+ 63 ---- 288
+ 63 <--x 290
+ 64 --- 225
+ 64 --- 226
+ 64 --- 227
+ 64 --- 228
+ 64 --- 229
+ 64 --- 252
+ 64 ---- 289
+ 65 --- 303
+ 65 x--> 358
+ 65 --- 387
+ 65 --- 453
+ 66 --- 306
+ 66 x--> 358
+ 66 --- 390
+ 66 --- 454
+ 67 --- 305
+ 67 x--> 358
+ 67 --- 389
+ 67 --- 452
+ 68 --- 304
+ 68 x--> 358
+ 68 --- 388
+ 68 --- 455
+ 75 --- 349
+ 75 x--> 370
+ 75 --- 437
+ 75 --- 501
+ 76 --- 350
+ 76 x--> 370
+ 76 --- 438
+ 76 --- 499
+ 77 --- 354
+ 77 x--> 370
+ 77 --- 440
+ 77 --- 500
+ 78 --- 351
+ 78 x--> 370
+ 78 --- 435
+ 78 --- 503
+ 79 --- 356
+ 79 x--> 370
+ 79 --- 439
+ 79 --- 505
+ 80 --- 355
+ 80 x--> 370
+ 80 --- 436
+ 80 --- 498
+ 81 --- 353
+ 81 x--> 370
+ 81 --- 434
+ 81 --- 504
+ 82 --- 352
+ 82 x--> 370
+ 82 --- 433
+ 82 --- 502
+ 84 --- 313
+ 84 x--> 370
+ 84 --- 391
+ 84 --- 458
+ 85 --- 310
+ 85 x--> 370
+ 85 --- 397
+ 85 --- 460
+ 86 --- 314
+ 86 x--> 370
+ 86 --- 393
+ 86 --- 457
+ 87 --- 308
+ 87 x--> 370
+ 87 --- 398
+ 87 --- 462
+ 88 --- 311
+ 88 x--> 370
+ 88 --- 392
+ 88 --- 459
+ 89 --- 307
+ 89 x--> 370
+ 89 --- 394
+ 89 --- 456
+ 90 --- 312
+ 90 x--> 370
+ 90 --- 396
+ 90 --- 461
+ 91 --- 309
+ 91 x--> 370
+ 91 --- 395
+ 91 --- 463
+ 92 --- 326
+ 92 x--> 371
+ 92 --- 410
+ 92 --- 475
+ 93 --- 332
+ 93 x--> 367
+ 93 --- 416
+ 93 --- 482
+ 94 --- 333
+ 94 x--> 367
+ 94 --- 419
+ 94 --- 483
+ 95 --- 334
+ 95 x--> 367
+ 95 --- 418
+ 95 --- 481
+ 96 --- 335
+ 96 x--> 367
+ 96 --- 417
+ 96 --- 484
+ 103 --- 329
+ 103 x--> 370
+ 103 --- 413
+ 103 --- 478
+ 104 --- 302
+ 104 x--> 379
+ 104 --- 386
+ 104 --- 451
+ 105 --- 357
+ 105 x--> 369
+ 105 --- 441
+ 105 --- 506
+ 105 --- 516
+ 106 --- 330
+ 106 x--> 366
+ 106 --- 414
+ 106 --- 479
+ 276 <--x 107
+ 107 --- 299
+ 107 --- 443
+ 276 <--x 108
+ 108 --- 295
+ 108 --- 449
+ 276 <--x 109
+ 109 --- 297
+ 109 --- 445
+ 276 <--x 110
+ 110 --- 294
+ 110 --- 442
+ 276 <--x 111
+ 111 --- 298
+ 111 --- 448
+ 276 <--x 112
+ 112 --- 300
+ 112 --- 450
+ 276 <--x 113
+ 113 --- 293
+ 113 --- 447
+ 276 <--x 114
+ 114 --- 301
+ 114 --- 446
+ 276 <--x 115
+ 115 --- 296
+ 115 --- 444
+ 117 --- 317
+ 117 x--> 375
+ 117 --- 403
+ 117 --- 465
+ 118 --- 316
+ 118 x--> 375
+ 118 --- 400
+ 118 --- 468
+ 121 --- 318
+ 121 x--> 375
+ 121 --- 401
+ 121 --- 466
+ 123 --- 319
+ 123 x--> 375
+ 123 --- 402
+ 123 --- 467
+ 133 --- 320
+ 133 x--> 359
+ 133 --- 404
+ 133 --- 469
+ 144 --- 327
+ 144 x--> 362
+ 144 --- 411
+ 144 --- 476
+ 177 --- 345
+ 177 x--> 368
+ 177 --- 423
+ 177 --- 485
+ 178 --- 336
+ 178 x--> 368
+ 178 --- 428
+ 178 --- 491
+ 179 --- 346
+ 179 x--> 368
+ 179 --- 424
+ 179 --- 493
+ 180 --- 343
+ 180 x--> 368
+ 180 --- 421
+ 180 --- 496
+ 181 --- 340
+ 181 x--> 368
+ 181 --- 426
+ 181 --- 489
+ 182 --- 337
+ 182 x--> 368
+ 182 --- 425
+ 182 --- 490
+ 182 --- 519
+ 183 --- 342
+ 183 x--> 368
+ 183 --- 430
+ 183 --- 488
+ 184 --- 339
+ 184 x--> 368
+ 184 --- 422
+ 184 --- 487
+ 185 --- 338
+ 185 x--> 368
+ 185 --- 427
+ 185 --- 492
+ 186 --- 347
+ 186 x--> 368
+ 186 --- 420
+ 186 --- 494
+ 187 --- 341
+ 187 x--> 368
+ 187 --- 431
+ 187 --- 486
+ 188 --- 344
+ 188 x--> 368
+ 188 --- 429
+ 188 --- 495
+ 188 --- 518
+ 190 x--> 342
+ 190 --- 348
+ 190 --- 432
+ 190 --- 497
+ 190 --- 521
+ 211 --- 331
+ 211 x--> 381
+ 211 --- 415
+ 211 --- 480
+ 212 --- 328
+ 212 x--> 365
+ 212 --- 412
+ 212 --- 477
+ 223 --- 321
+ 223 x--> 376
+ 223 --- 405
+ 223 --- 470
+ 224 --- 315
+ 224 x--> 372
+ 224 --- 399
+ 224 --- 464
+ 225 --- 322
+ 225 x--> 361
+ 225 --- 409
+ 225 --- 474
+ 226 --- 324
+ 226 x--> 361
+ 226 --- 408
+ 226 --- 473
+ 227 --- 323
+ 227 x--> 361
+ 227 --- 407
+ 227 --- 471
+ 228 --- 325
+ 228 x--> 361
+ 228 --- 406
+ 228 --- 472
+ 264 --- 303
+ 264 --- 304
+ 264 --- 305
+ 264 --- 306
+ 264 --- 358
+ 264 --- 370
+ 264 --- 387
+ 264 --- 388
+ 264 --- 389
+ 264 --- 390
+ 264 --- 452
+ 264 --- 453
+ 264 --- 454
+ 264 --- 455
+ 267 --- 349
+ 267 --- 350
+ 267 --- 351
+ 267 --- 352
+ 267 --- 353
+ 267 --- 354
+ 267 --- 355
+ 267 --- 356
+ 267 --- 433
+ 267 --- 434
+ 267 --- 435
+ 267 --- 436
+ 267 --- 437
+ 267 --- 438
+ 267 --- 439
+ 267 --- 440
+ 267 --- 498
+ 267 --- 499
+ 267 --- 500
+ 267 --- 501
+ 267 --- 502
+ 267 --- 503
+ 267 --- 504
+ 267 --- 505
+ 269 --- 307
+ 269 --- 308
+ 269 --- 309
+ 269 --- 310
+ 269 --- 311
+ 269 --- 312
+ 269 --- 313
+ 269 --- 314
+ 269 --- 371
+ 269 --- 391
+ 269 --- 392
+ 269 --- 393
+ 269 --- 394
+ 269 --- 395
+ 269 --- 396
+ 269 --- 397
+ 269 --- 398
+ 269 --- 456
+ 269 --- 457
+ 269 --- 458
+ 269 --- 459
+ 269 --- 460
+ 269 --- 461
+ 269 --- 462
+ 269 --- 463
+ 270 --- 326
+ 270 --- 410
+ 270 --- 475
+ 271 --- 332
+ 271 --- 333
+ 271 --- 334
+ 271 --- 335
+ 271 --- 367
+ 271 --- 383
+ 271 --- 416
+ 271 --- 417
+ 271 --- 418
+ 271 --- 419
+ 271 --- 481
+ 271 --- 482
+ 271 --- 483
+ 271 --- 484
+ 272 --- 329
+ 272 --- 379
+ 272 --- 413
+ 272 --- 478
+ 273 --- 302
+ 273 --- 386
+ 273 --- 451
+ 274 --- 357
+ 274 --- 369
+ 274 --- 385
+ 274 --- 441
+ 274 --- 506
+ 275 --- 330
+ 275 --- 366
+ 275 --- 380
+ 275 --- 414
+ 275 --- 479
+ 276 --- 293
+ 276 --- 294
+ 276 --- 295
+ 276 --- 296
+ 276 --- 297
+ 276 --- 298
+ 276 --- 299
+ 276 --- 300
+ 276 --- 301
+ 276 --- 442
+ 276 --- 443
+ 276 --- 444
+ 276 --- 445
+ 276 --- 446
+ 276 --- 447
+ 276 --- 448
+ 276 --- 449
+ 276 --- 450
+ 277 --- 316
+ 277 --- 317
+ 277 --- 318
+ 277 --- 319
+ 277 --- 374
+ 277 --- 375
+ 277 --- 400
+ 277 --- 401
+ 277 --- 402
+ 277 --- 403
+ 277 --- 465
+ 277 --- 466
+ 277 --- 467
+ 277 --- 468
+ 278 --- 320
+ 278 --- 359
+ 278 --- 360
+ 278 --- 404
+ 278 --- 469
+ 279 --- 327
+ 279 --- 362
+ 279 --- 363
+ 279 --- 411
+ 279 --- 476
+ 283 --- 336
+ 283 --- 337
+ 283 --- 338
+ 283 --- 339
+ 283 --- 340
+ 283 --- 341
+ 283 --- 342
+ 283 --- 343
+ 283 --- 344
+ 283 --- 345
+ 283 --- 346
+ 283 --- 347
+ 283 --- 368
+ 283 --- 384
+ 283 --- 420
+ 283 --- 421
+ 283 --- 422
+ 283 --- 423
+ 283 --- 424
+ 283 --- 425
+ 283 --- 426
+ 283 --- 427
+ 283 --- 428
+ 283 --- 429
+ 283 --- 430
+ 283 --- 431
+ 283 --- 485
+ 283 --- 486
+ 283 --- 487
+ 283 --- 488
+ 283 --- 489
+ 283 --- 490
+ 283 --- 491
+ 283 --- 492
+ 283 --- 493
+ 283 --- 494
+ 283 --- 495
+ 283 --- 496
+ 284 --- 348
+ 284 --- 432
+ 284 --- 497
+ 285 --- 331
+ 285 --- 381
+ 285 --- 382
+ 285 --- 415
+ 285 --- 480
+ 286 --- 328
+ 286 --- 364
+ 286 --- 365
+ 286 --- 412
+ 286 --- 477
+ 287 --- 321
+ 287 --- 376
+ 287 --- 377
+ 287 --- 405
+ 287 --- 470
+ 288 --- 315
+ 288 --- 372
+ 288 --- 373
+ 288 --- 399
+ 288 --- 464
+ 289 --- 322
+ 289 --- 323
+ 289 --- 324
+ 289 --- 325
+ 289 --- 361
+ 289 --- 378
+ 289 --- 406
+ 289 --- 407
+ 289 --- 408
+ 289 --- 409
+ 289 --- 471
+ 289 --- 472
+ 289 --- 473
+ 289 --- 474
+ 290 <--x 291
+ 292 x--> 291
+ 447 <--x 293
+ 450 <--x 293
+ 442 <--x 294
+ 445 <--x 294
+ 443 <--x 295
+ 449 <--x 295
+ 444 <--x 296
+ 446 <--x 296
+ 445 <--x 297
+ 449 <--x 297
+ 442 <--x 298
+ 448 <--x 298
+ 443 <--x 299
+ 444 <--x 299
+ 448 <--x 300
+ 450 <--x 300
+ 446 <--x 301
+ 447 <--x 301
+ 386 <--x 302
+ 451 <--x 302
+ 387 <--x 303
+ 388 <--x 304
+ 389 <--x 305
+ 390 <--x 306
+ 394 <--x 307
+ 456 <--x 307
+ 459 <--x 307
+ 398 <--x 308
+ 457 <--x 308
+ 462 <--x 308
+ 395 <--x 309
+ 461 <--x 309
+ 463 <--x 309
+ 397 <--x 310
+ 458 <--x 310
+ 460 <--x 310
+ 392 <--x 311
+ 459 <--x 311
+ 462 <--x 311
+ 396 <--x 312
+ 456 <--x 312
+ 461 <--x 312
+ 391 <--x 313
+ 458 <--x 313
+ 463 <--x 313
+ 393 <--x 314
+ 457 <--x 314
+ 460 <--x 314
+ 399 <--x 315
+ 464 <--x 315
+ 400 <--x 316
+ 466 <--x 316
+ 468 <--x 316
+ 403 <--x 317
+ 465 <--x 317
+ 468 <--x 317
+ 401 <--x 318
+ 466 <--x 318
+ 467 <--x 318
+ 402 <--x 319
+ 465 <--x 319
+ 467 <--x 319
+ 404 <--x 320
+ 469 <--x 320
+ 405 <--x 321
+ 470 <--x 321
+ 409 <--x 322
+ 407 <--x 323
+ 408 <--x 324
+ 406 <--x 325
+ 410 <--x 326
+ 475 <--x 326
+ 411 <--x 327
+ 476 <--x 327
+ 412 <--x 328
+ 477 <--x 328
+ 413 <--x 329
+ 478 <--x 329
+ 414 <--x 330
+ 479 <--x 330
+ 415 <--x 331
+ 480 <--x 331
+ 416 <--x 332
+ 419 <--x 333
+ 418 <--x 334
+ 417 <--x 335
+ 428 <--x 336
+ 491 <--x 336
+ 493 <--x 336
+ 425 <--x 337
+ 488 <--x 337
+ 490 <--x 337
+ 427 <--x 338
+ 492 <--x 338
+ 494 <--x 338
+ 422 <--x 339
+ 487 <--x 339
+ 492 <--x 339
+ 426 <--x 340
+ 432 <--x 340
+ 489 <--x 340
+ 490 <--x 340
+ 431 <--x 341
+ 486 <--x 341
+ 495 <--x 341
+ 430 <--x 342
+ 487 <--x 342
+ 488 <--x 342
+ 421 <--x 343
+ 489 <--x 343
+ 496 <--x 343
+ 429 <--x 344
+ 485 <--x 344
+ 495 <--x 344
+ 423 <--x 345
+ 485 <--x 345
+ 491 <--x 345
+ 424 <--x 346
+ 493 <--x 346
+ 496 <--x 346
+ 420 <--x 347
+ 486 <--x 347
+ 494 <--x 347
+ 432 <--x 348
+ 497 <--x 348
+ 437 <--x 349
+ 499 <--x 349
+ 501 <--x 349
+ 438 <--x 350
+ 499 <--x 350
+ 500 <--x 350
+ 435 <--x 351
+ 503 <--x 351
+ 505 <--x 351
+ 433 <--x 352
+ 501 <--x 352
+ 502 <--x 352
+ 434 <--x 353
+ 502 <--x 353
+ 504 <--x 353
+ 440 <--x 354
+ 500 <--x 354
+ 503 <--x 354
+ 436 <--x 355
+ 498 <--x 355
+ 504 <--x 355
+ 439 <--x 356
+ 498 <--x 356
+ 505 <--x 356
+ 506 <--x 357
+ 433 <--x 358
+ 434 <--x 358
+ 435 <--x 358
+ 436 <--x 358
+ 437 <--x 358
+ 438 <--x 358
+ 439 <--x 358
+ 440 <--x 358
+ 404 <--x 360
+ 411 <--x 363
+ 412 <--x 364
+ 386 <--x 370
+ 387 <--x 370
+ 388 <--x 370
+ 389 <--x 370
+ 390 <--x 370
+ 410 <--x 370
+ 391 <--x 371
+ 392 <--x 371
+ 393 <--x 371
+ 394 <--x 371
+ 395 <--x 371
+ 396 <--x 371
+ 397 <--x 371
+ 398 <--x 371
+ 399 <--x 373
+ 400 <--x 374
+ 401 <--x 374
+ 402 <--x 374
+ 403 <--x 374
+ 405 <--x 377
+ 406 <--x 378
+ 407 <--x 378
+ 408 <--x 378
+ 409 <--x 378
+ 413 <--x 379
+ 414 <--x 380
+ 415 <--x 382
+ 416 <--x 383
+ 417 <--x 383
+ 418 <--x 383
+ 419 <--x 383
+ 420 <--x 384
+ 421 <--x 384
+ 422 <--x 384
+ 423 <--x 384
+ 424 <--x 384
+ 425 <--x 384
+ 426 <--x 384
+ 427 <--x 384
+ 428 <--x 384
+ 429 <--x 384
+ 430 <--x 384
+ 431 <--x 384
+ 425 <--x 517
+ 429 <--x 520
+ 441 <--x 515
+ 452 <--x 508
+ 453 <--x 507
+ 454 <--x 512
+ 455 <--x 510
+ 471 <--x 523
+ 472 <--x 525
+ 473 <--x 522
+ 474 <--x 524
+ 481 <--x 513
+ 482 <--x 509
+ 483 <--x 514
+ 484 <--x 511
+```
diff --git a/rust/kcl-lib/tests/kcl_samples/cpu-cooler/ast.snap b/rust/kcl-lib/tests/kcl_samples/cpu-cooler/ast.snap
new file mode 100644
index 00000000000..9d0552f54c5
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/cpu-cooler/ast.snap
@@ -0,0 +1,1322 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Result of parsing cpu-cooler.kcl
+---
+{
+ "Ok": {
+ "body": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "path": {
+ "type": "Kcl",
+ "filename": "parameters.kcl"
+ },
+ "preComments": [
+ "// Import all parts and parameters into assembly file"
+ ],
+ "selector": {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "Glob"
+ },
+ "start": 0,
+ "type": "ImportStatement",
+ "type": "ImportStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "path": {
+ "type": "Kcl",
+ "filename": "fan-housing.kcl"
+ },
+ "selector": {
+ "type": "None",
+ "alias": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "fanHousing",
+ "start": 0,
+ "type": "Identifier"
+ }
+ },
+ "start": 0,
+ "type": "ImportStatement",
+ "type": "ImportStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "path": {
+ "type": "Kcl",
+ "filename": "motor.kcl"
+ },
+ "selector": {
+ "type": "None",
+ "alias": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "motor",
+ "start": 0,
+ "type": "Identifier"
+ }
+ },
+ "start": 0,
+ "type": "ImportStatement",
+ "type": "ImportStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "path": {
+ "type": "Kcl",
+ "filename": "fan.kcl"
+ },
+ "selector": {
+ "type": "None",
+ "alias": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "fan",
+ "start": 0,
+ "type": "Identifier"
+ }
+ },
+ "start": 0,
+ "type": "ImportStatement",
+ "type": "ImportStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "path": {
+ "type": "Kcl",
+ "filename": "heat-sink.kcl"
+ },
+ "selector": {
+ "type": "None",
+ "alias": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "heatSink",
+ "start": 0,
+ "type": "Identifier"
+ }
+ },
+ "start": 0,
+ "type": "ImportStatement",
+ "type": "ImportStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "path": {
+ "type": "Kcl",
+ "filename": "mounting-wire.kcl"
+ },
+ "selector": {
+ "type": "None",
+ "alias": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "mountingWire",
+ "start": 0,
+ "type": "Identifier"
+ }
+ },
+ "start": 0,
+ "type": "ImportStatement",
+ "type": "ImportStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "path": {
+ "type": "Kcl",
+ "filename": "removable-sticker.kcl"
+ },
+ "selector": {
+ "type": "None",
+ "alias": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "removableSticker",
+ "start": 0,
+ "type": "Identifier"
+ }
+ },
+ "start": 0,
+ "type": "ImportStatement",
+ "type": "ImportStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "expression": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "heatSink",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "preComments": [
+ "",
+ "",
+ "// Produce the model for each imported part"
+ ],
+ "start": 0,
+ "type": "ExpressionStatement",
+ "type": "ExpressionStatement"
+ },
+ {
+ "commentStart": 0,
+ "declaration": {
+ "commentStart": 0,
+ "end": 0,
+ "id": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "translatePart",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "init": {
+ "body": {
+ "body": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "expression": {
+ "body": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "part",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "x",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "heatSinkDepth",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "z",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "40",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 40.0,
+ "suffix": "None"
+ }
+ },
+ "operator": "+",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "fanSize",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "translate",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": null
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "instances",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "distance",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "heatSinkDepth",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "+",
+ "right": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "fanHeight",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "axis",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "argument": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "1",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 1.0,
+ "suffix": "None"
+ }
+ },
+ "commentStart": 0,
+ "end": 0,
+ "operator": "-",
+ "start": 0,
+ "type": "UnaryExpression",
+ "type": "UnaryExpression"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "patternLinear3d",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "PipeSubstitution",
+ "type": "PipeSubstitution"
+ }
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "PipeExpression",
+ "type": "PipeExpression"
+ },
+ "start": 0,
+ "type": "ExpressionStatement",
+ "type": "ExpressionStatement"
+ },
+ {
+ "argument": {
+ "commentStart": 0,
+ "end": 0,
+ "properties": [],
+ "start": 0,
+ "type": "ObjectExpression",
+ "type": "ObjectExpression"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "ReturnStatement",
+ "type": "ReturnStatement"
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "start": 0
+ },
+ "commentStart": 0,
+ "end": 0,
+ "params": [
+ {
+ "type": "Parameter",
+ "identifier": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "part",
+ "start": 0,
+ "type": "Identifier"
+ }
+ }
+ ],
+ "start": 0,
+ "type": "FunctionExpression",
+ "type": "FunctionExpression"
+ },
+ "start": 0,
+ "type": "VariableDeclarator"
+ },
+ "end": 0,
+ "kind": "fn",
+ "start": 0,
+ "type": "VariableDeclaration",
+ "type": "VariableDeclaration"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "expression": {
+ "arguments": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "fanHousing",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "translatePart",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ "start": 0,
+ "type": "ExpressionStatement",
+ "type": "ExpressionStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "expression": {
+ "arguments": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "motor",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "translatePart",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ "start": 0,
+ "type": "ExpressionStatement",
+ "type": "ExpressionStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "expression": {
+ "arguments": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "fan",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "translatePart",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpression",
+ "type": "CallExpression"
+ },
+ "start": 0,
+ "type": "ExpressionStatement",
+ "type": "ExpressionStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "expression": {
+ "body": [
+ {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "mountingWire",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "instances",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "axis",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "1",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 1.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "center",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "40",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 40.0,
+ "suffix": "None"
+ }
+ },
+ "operator": "+",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "left": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "fanSize",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "operator": "/",
+ "right": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ },
+ "start": 0,
+ "type": "BinaryExpression",
+ "type": "BinaryExpression"
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "arcDegrees",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "360",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 360.0,
+ "suffix": "None"
+ }
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "rotateDuplicates",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "true",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": true
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "patternCircular3d",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "PipeSubstitution",
+ "type": "PipeSubstitution"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "instances",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "2",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 2.0,
+ "suffix": "None"
+ }
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "axis",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "1",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 1.0,
+ "suffix": "None"
+ }
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "center",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "elements": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "0",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 0.0,
+ "suffix": "None"
+ }
+ }
+ ],
+ "end": 0,
+ "start": 0,
+ "type": "ArrayExpression",
+ "type": "ArrayExpression"
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "arcDegrees",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "360",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": {
+ "value": 360.0,
+ "suffix": "None"
+ }
+ }
+ },
+ {
+ "type": "LabeledArg",
+ "label": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "rotateDuplicates",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "arg": {
+ "commentStart": 0,
+ "end": 0,
+ "raw": "true",
+ "start": 0,
+ "type": "Literal",
+ "type": "Literal",
+ "value": true
+ }
+ }
+ ],
+ "callee": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "patternCircular3d",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name"
+ },
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "CallExpressionKw",
+ "type": "CallExpressionKw",
+ "unlabeled": {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "PipeSubstitution",
+ "type": "PipeSubstitution"
+ }
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "PipeExpression",
+ "type": "PipeExpression"
+ },
+ "start": 0,
+ "type": "ExpressionStatement",
+ "type": "ExpressionStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "expression": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "removableSticker",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "start": 0,
+ "type": "ExpressionStatement",
+ "type": "ExpressionStatement"
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "innerAttrs": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "settings",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "preComments": [
+ "// CPU Cooler",
+ "// A CPU cooler is a device designed to dissipate heat generated by the CPU of a computer. They consist of a brazed heat sink made from aluminum or copper alloys, and one or two axial fans to move airflow across the heat sink.",
+ "",
+ "",
+ "// Set units"
+ ],
+ "properties": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "key": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "defaultLengthUnit",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "start": 0,
+ "type": "ObjectProperty",
+ "value": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "mm",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ }
+ ],
+ "start": 0,
+ "type": "Annotation"
+ }
+ ],
+ "nonCodeMeta": {
+ "nonCodeNodes": {
+ "7": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "NonCodeNode",
+ "value": {
+ "type": "newLine"
+ }
+ }
+ ],
+ "11": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "NonCodeNode",
+ "value": {
+ "type": "newLine"
+ }
+ }
+ ]
+ },
+ "startNodes": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "NonCodeNode",
+ "value": {
+ "type": "newLine"
+ }
+ }
+ ]
+ },
+ "start": 0
+ }
+}
diff --git a/rust/kcl-lib/tests/kcl_samples/cpu-cooler/ops.snap b/rust/kcl-lib/tests/kcl_samples/cpu-cooler/ops.snap
new file mode 100644
index 00000000000..324e2feec64
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/cpu-cooler/ops.snap
@@ -0,0 +1,784 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Operations executed cpu-cooler.kcl
+---
+[
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "ModuleInstance",
+ "name": "heatSink",
+ "moduleId": 0
+ },
+ "sourceRange": []
+ },
+ {
+ "labeledArgs": {
+ "axis": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": -1.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ "sourceRange": []
+ },
+ "distance": {
+ "value": {
+ "type": "Number",
+ "value": 80.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "instances": {
+ "value": {
+ "type": "Number",
+ "value": 2.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "patternLinear3d",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "axis": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": -1.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ "sourceRange": []
+ },
+ "distance": {
+ "value": {
+ "type": "Number",
+ "value": 80.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "instances": {
+ "value": {
+ "type": "Number",
+ "value": 2.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "patternLinear3d",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ }
+ ]
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "axis": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": -1.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ "sourceRange": []
+ },
+ "distance": {
+ "value": {
+ "type": "Number",
+ "value": 80.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "instances": {
+ "value": {
+ "type": "Number",
+ "value": 2.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "patternLinear3d",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ }
+ ]
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "FunctionCall",
+ "name": "translatePart",
+ "functionSourceRange": [],
+ "unlabeledArg": null,
+ "labeledArgs": {}
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "ModuleInstance",
+ "name": "fanHousing",
+ "moduleId": 0
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "FunctionCall",
+ "name": "translatePart",
+ "functionSourceRange": [],
+ "unlabeledArg": null,
+ "labeledArgs": {}
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "ModuleInstance",
+ "name": "motor",
+ "moduleId": 0
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "FunctionCall",
+ "name": "translatePart",
+ "functionSourceRange": [],
+ "unlabeledArg": null,
+ "labeledArgs": {}
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "ModuleInstance",
+ "name": "fan",
+ "moduleId": 0
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "ModuleInstance",
+ "name": "mountingWire",
+ "moduleId": 0
+ },
+ "sourceRange": []
+ },
+ {
+ "labeledArgs": {
+ "arcDegrees": {
+ "value": {
+ "type": "Number",
+ "value": 360.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "axis": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 1.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ "sourceRange": []
+ },
+ "center": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 100.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ "sourceRange": []
+ },
+ "instances": {
+ "value": {
+ "type": "Number",
+ "value": 2.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "rotateDuplicates": {
+ "value": {
+ "type": "Bool",
+ "value": true
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "patternCircular3d",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "labeledArgs": {
+ "arcDegrees": {
+ "value": {
+ "type": "Number",
+ "value": 360.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "axis": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 1.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ "sourceRange": []
+ },
+ "center": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ {
+ "type": "Number",
+ "value": 0.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+ ]
+ },
+ "sourceRange": []
+ },
+ "instances": {
+ "value": {
+ "type": "Number",
+ "value": 2.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sourceRange": []
+ },
+ "rotateDuplicates": {
+ "value": {
+ "type": "Bool",
+ "value": true
+ },
+ "sourceRange": []
+ }
+ },
+ "name": "patternCircular3d",
+ "sourceRange": [],
+ "type": "StdLibCall",
+ "unlabeledArg": {
+ "value": {
+ "type": "Array",
+ "value": [
+ {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ },
+ {
+ "type": "Solid",
+ "value": {
+ "artifactId": "[uuid]"
+ }
+ }
+ ]
+ },
+ "sourceRange": []
+ }
+ },
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "ModuleInstance",
+ "name": "removableSticker",
+ "moduleId": 0
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "GroupEnd"
+ },
+ {
+ "type": "GroupEnd"
+ },
+ {
+ "type": "GroupEnd"
+ },
+ {
+ "type": "GroupEnd"
+ },
+ {
+ "type": "GroupEnd"
+ },
+ {
+ "type": "GroupEnd"
+ },
+ {
+ "type": "GroupEnd"
+ },
+ {
+ "type": "GroupEnd"
+ },
+ {
+ "type": "GroupEnd"
+ }
+]
diff --git a/rust/kcl-lib/tests/kcl_samples/cpu-cooler/program_memory.snap b/rust/kcl-lib/tests/kcl_samples/cpu-cooler/program_memory.snap
new file mode 100644
index 00000000000..9a214421e37
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/cpu-cooler/program_memory.snap
@@ -0,0 +1,124 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Variables in memory after executing cpu-cooler.kcl
+---
+{
+ "bendRadius": {
+ "type": "Number",
+ "value": 15.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "fan": {
+ "type": "Module",
+ "value": 11
+ },
+ "fanHeight": {
+ "type": "Number",
+ "value": 25.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "fanHousing": {
+ "type": "Module",
+ "value": 9
+ },
+ "fanSize": {
+ "type": "Number",
+ "value": 120.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "heatSink": {
+ "type": "Module",
+ "value": 12
+ },
+ "heatSinkDepth": {
+ "type": "Number",
+ "value": 55.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "motor": {
+ "type": "Module",
+ "value": 10
+ },
+ "mountingHoleSize": {
+ "type": "Number",
+ "value": 4.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "mountingHoleSpacing": {
+ "type": "Number",
+ "value": 105.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "mountingWire": {
+ "type": "Module",
+ "value": 13
+ },
+ "removableSticker": {
+ "type": "Module",
+ "value": 14
+ },
+ "sheetThickness": {
+ "type": "Number",
+ "value": 2.125,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Mm"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "translatePart": {
+ "type": "Function"
+ }
+}
diff --git a/rust/kcl-lib/tests/kcl_samples/cpu-cooler/rendered_model.png b/rust/kcl-lib/tests/kcl_samples/cpu-cooler/rendered_model.png
new file mode 100644
index 00000000000..ab7aa892f1a
Binary files /dev/null and b/rust/kcl-lib/tests/kcl_samples/cpu-cooler/rendered_model.png differ
diff --git a/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/artifact_commands.snap b/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/artifact_commands.snap
new file mode 100644
index 00000000000..13e8e6943b8
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/artifact_commands.snap
@@ -0,0 +1,4287 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Artifact commands pillow-block-bearing.kcl
+---
+[
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "edge_lines_visible",
+ "hidden": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 6.35
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 24.764999999999997,
+ "y": 0.0254,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 27.5431,
+ "y": 0.0254
+ },
+ "radius": 2.7781249999999997,
+ "start": {
+ "unit": "degrees",
+ "value": 180.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "revolve",
+ "target": "[uuid]",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "axis_is_2d": true,
+ "angle": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "tolerance": 0.0000001,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_circular_pattern",
+ "entity_id": "[uuid]",
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "center": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "num_repetitions": 15,
+ "arc_degrees": 360.0,
+ "rotate_duplicates": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 6.35
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "size": 100.0,
+ "clobber": false,
+ "hide": false
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "plane_set_color",
+ "plane_id": "[uuid]",
+ "color": {
+ "r": 0.6,
+ "g": 0.6,
+ "b": 0.6,
+ "a": 0.3
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 26.154062500000002,
+ "y": 2.7496306570155924,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 27.5431,
+ "y": 0.3437
+ },
+ "radius": 2.7781249999999997,
+ "start": {
+ "unit": "degrees",
+ "value": 120.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 60.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 0.6945,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -2.7781,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "revolve",
+ "target": "[uuid]",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "axis_is_2d": true,
+ "angle": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "tolerance": 0.0000001,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_circular_pattern",
+ "entity_id": "[uuid]",
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "center": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "num_repetitions": 15,
+ "arc_degrees": 360.0,
+ "rotate_duplicates": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 60.0,
+ "clobber": false,
+ "hide": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": -1.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 27.5431,
+ "y": 6.35
+ },
+ "radius": 0.6945312499999999,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 28.23765625,
+ "y": 6.35,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "size": 60.0,
+ "clobber": false,
+ "hide": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": -1.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 31.559499999999996,
+ "y": 12.7,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -0.0222,
+ "y": -1.2698,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -7.4295,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 24.1078,
+ "y": 2.667,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -0.635,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 23.2977,
+ "y": 12.7,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 31.5595,
+ "y": 12.7,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "revolve",
+ "target": "[uuid]",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "axis_is_2d": true,
+ "angle": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "tolerance": 0.0000001,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.07058824,
+ "g": 0.07058824,
+ "b": 0.07058824,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": -1.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 22.224999999999998,
+ "y": 0.635,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 1.27,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.263,
+ "y": 0.9814,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 1.27,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.263,
+ "y": -0.9814,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 33.3375,
+ "y": 0.635,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 12.7,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -1.778,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 31.3711,
+ "y": 2.54,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 23.495,
+ "y": 2.54,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 23.2622,
+ "y": 15.875,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 22.225,
+ "y": 15.875,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 22.225,
+ "y": 0.635,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "revolve",
+ "target": "[uuid]",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "axis_is_2d": true,
+ "angle": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "tolerance": 0.0000001,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.9411765,
+ "g": 0.9411765,
+ "b": 0.9411765,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "revolve",
+ "target": "[uuid]",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "axis_is_2d": true,
+ "angle": {
+ "unit": "degrees",
+ "value": 22.5
+ },
+ "tolerance": 0.0000001,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "entity_circular_pattern",
+ "entity_id": "[uuid]",
+ "axis": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ },
+ "center": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "num_repetitions": 15,
+ "arc_degrees": 360.0,
+ "rotate_duplicates": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "make_plane",
+ "origin": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "x_axis": {
+ "x": 1.0,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "y_axis": {
+ "x": 0.0,
+ "y": 1.0,
+ "z": 0.0
+ },
+ "size": 60.0,
+ "clobber": false,
+ "hide": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -77.7875,
+ "y": -52.387499999999996,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 155.575,
+ "y": 0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": 0.0,
+ "y": 104.775,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -155.575,
+ "y": -0.0,
+ "z": 0.0
+ },
+ "relative": true
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "line",
+ "end": {
+ "x": -77.7875,
+ "y": -52.3875,
+ "z": 0.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_visible",
+ "object_id": "[uuid]",
+ "hidden": true
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid2d_add_hole",
+ "object_id": "[uuid]",
+ "hole_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 0.0,
+ "y": 0.0
+ },
+ "radius": 33.3375,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 33.3375,
+ "y": 0.0,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 1.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": 12.7,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_set_material_params_pbr",
+ "object_id": "[uuid]",
+ "color": {
+ "r": 0.11764706,
+ "g": 0.38431373,
+ "b": 0.92156863,
+ "a": 100.0
+ },
+ "metalness": 0.0,
+ "roughness": 0.0,
+ "ambient_occlusion": 0.0
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 3.175,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 3.175,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 3.175,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_fillet_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "radius": 3.175,
+ "tolerance": 0.0000001,
+ "cut_type": "fillet"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -63.5,
+ "y": -38.1
+ },
+ "radius": 9.524999999999999,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -63.5,
+ "y": 38.1
+ },
+ "radius": 9.524999999999999,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 63.5,
+ "y": -38.1
+ },
+ "radius": 9.524999999999999,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 63.5,
+ "y": 38.1
+ },
+ "radius": 9.524999999999999,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -53.974999999999994,
+ "y": -38.099999999999994,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -53.974999999999994,
+ "y": 38.099999999999994,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 73.02499999999999,
+ "y": -38.099999999999994,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 73.02499999999999,
+ "y": 38.099999999999994,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -4.762499999999999,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -4.762499999999999,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -4.762499999999999,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -4.762499999999999,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "close_path",
+ "path_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -63.5,
+ "y": -38.1
+ },
+ "radius": 4.762499999999999,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": -63.5,
+ "y": 38.1
+ },
+ "radius": 4.762499999999999,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 63.5,
+ "y": -38.1
+ },
+ "radius": 4.762499999999999,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extend_path",
+ "path": "[uuid]",
+ "segment": {
+ "type": "arc",
+ "center": {
+ "x": 63.5,
+ "y": 38.1
+ },
+ "radius": 4.762499999999999,
+ "start": {
+ "unit": "degrees",
+ "value": 0.0
+ },
+ "end": {
+ "unit": "degrees",
+ "value": 360.0
+ },
+ "relative": false
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -58.7375,
+ "y": -38.099999999999994,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": -58.7375,
+ "y": 38.099999999999994,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 68.2625,
+ "y": -38.099999999999994,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "move_path_pen",
+ "path": "[uuid]",
+ "to": {
+ "x": 68.2625,
+ "y": 38.099999999999994,
+ "z": 0.0
+ }
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "start_path"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "enable_sketch_mode",
+ "entity_id": "[uuid]",
+ "ortho": false,
+ "animated": false,
+ "adjust_camera": false,
+ "planar_normal": null
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -7.9375,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -7.9375,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -7.9375,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "extrude",
+ "target": "[uuid]",
+ "distance": -7.9375,
+ "faces": null,
+ "opposite": "None"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "object_bring_to_front",
+ "object_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "sketch_mode_disable"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_all_edge_faces",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_extrusion_face_info",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_next_adjacent_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ },
+ {
+ "cmdId": "[uuid]",
+ "range": [],
+ "command": {
+ "type": "solid3d_get_opposite_edge",
+ "object_id": "[uuid]",
+ "edge_id": "[uuid]",
+ "face_id": "[uuid]"
+ }
+ }
+]
diff --git a/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/artifact_graph_flowchart.snap b/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/artifact_graph_flowchart.snap
new file mode 100644
index 00000000000..7bbfe412da7
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/artifact_graph_flowchart.snap
@@ -0,0 +1,6 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Artifact graph flowchart pillow-block-bearing.kcl
+extension: md
+snapshot_kind: binary
+---
diff --git a/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/artifact_graph_flowchart.snap.md b/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/artifact_graph_flowchart.snap.md
new file mode 100644
index 00000000000..9f3c18976bc
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/artifact_graph_flowchart.snap.md
@@ -0,0 +1,613 @@
+```mermaid
+flowchart LR
+ subgraph path6 [Path]
+ 6["Path
[410, 467, 9]"]
+ 21["Segment
[473, 532, 9]"]
+ 22["Segment
[538, 545, 9]"]
+ 73[Solid2d]
+ end
+ subgraph path7 [Path]
+ 7["Path
[953, 1079, 9]"]
+ 23["Segment
[1085, 1145, 9]"]
+ 24["Segment
[1151, 1182, 9]"]
+ 25["Segment
[1188, 1216, 9]"]
+ 26["Segment
[1222, 1229, 9]"]
+ 65[Solid2d]
+ end
+ subgraph path8 [Path]
+ 8["Path
[1559, 1719, 9]"]
+ 27["Segment
[1559, 1719, 9]"]
+ 76[Solid2d]
+ end
+ subgraph path9 [Path]
+ 9["Path
[1803, 1932, 9]"]
+ 28["Segment
[1938, 1976, 9]"]
+ 29["Segment
[1982, 2060, 9]"]
+ 30["Segment
[2066, 2092, 9]"]
+ 31["Segment
[2098, 2120, 9]"]
+ 32["Segment
[2126, 2181, 9]"]
+ 33["Segment
[2187, 2243, 9]"]
+ 34["Segment
[2249, 2256, 9]"]
+ 63[Solid2d]
+ end
+ subgraph path10 [Path]
+ 10["Path
[2347, 2411, 9]"]
+ 35["Segment
[2417, 2437, 9]"]
+ 36["Segment
[2443, 2494, 9]"]
+ 37["Segment
[2500, 2520, 9]"]
+ 38["Segment
[2526, 2573, 9]"]
+ 39["Segment
[2579, 2624, 9]"]
+ 40["Segment
[2630, 2660, 9]"]
+ 41["Segment
[2666, 2687, 9]"]
+ 42["Segment
[2693, 2756, 9]"]
+ 43["Segment
[2762, 2805, 9]"]
+ 44["Segment
[2811, 2871, 9]"]
+ 45["Segment
[2877, 2914, 9]"]
+ 46["Segment
[2920, 2976, 9]"]
+ 47["Segment
[2982, 2989, 9]"]
+ 68[Solid2d]
+ end
+ subgraph path11 [Path]
+ 11["Path
[655, 709, 10]"]
+ 48["Segment
[715, 787, 10]"]
+ 49["Segment
[793, 896, 10]"]
+ 50["Segment
[902, 1019, 10]"]
+ 51["Segment
[1025, 1110, 10]"]
+ 52["Segment
[1116, 1123, 10]"]
+ 72[Solid2d]
+ end
+ subgraph path12 [Path]
+ 12["Path
[1147, 1205, 10]"]
+ 53["Segment
[1147, 1205, 10]"]
+ 64[Solid2d]
+ end
+ subgraph path13 [Path]
+ 13["Path
[1932, 1995, 10]"]
+ 54["Segment
[1932, 1995, 10]"]
+ 62[Solid2d]
+ end
+ subgraph path14 [Path]
+ 14["Path
[1932, 1995, 10]"]
+ 56["Segment
[1932, 1995, 10]"]
+ 67[Solid2d]
+ end
+ subgraph path15 [Path]
+ 15["Path
[1932, 1995, 10]"]
+ 57["Segment
[1932, 1995, 10]"]
+ 69[Solid2d]
+ end
+ subgraph path16 [Path]
+ 16["Path
[1932, 1995, 10]"]
+ 55["Segment
[1932, 1995, 10]"]
+ 71[Solid2d]
+ end
+ subgraph path17 [Path]
+ 17["Path
[2093, 2164, 10]"]
+ 61["Segment
[2093, 2164, 10]"]
+ 66[Solid2d]
+ end
+ subgraph path18 [Path]
+ 18["Path
[2093, 2164, 10]"]
+ 59["Segment
[2093, 2164, 10]"]
+ 70[Solid2d]
+ end
+ subgraph path19 [Path]
+ 19["Path
[2093, 2164, 10]"]
+ 60["Segment
[2093, 2164, 10]"]
+ 74[Solid2d]
+ end
+ subgraph path20 [Path]
+ 20["Path
[2093, 2164, 10]"]
+ 58["Segment
[2093, 2164, 10]"]
+ 75[Solid2d]
+ end
+ 1["Plane
[359, 403, 9]"]
+ 2["Plane
[902, 946, 9]"]
+ 3["Plane
[1536, 1553, 9]"]
+ 4["Plane
[1770, 1787, 9]"]
+ 5["Plane
[632, 649, 10]"]
+ 77["Sweep Revolve
[627, 657, 9]"]
+ 78["Sweep Revolve
[1271, 1301, 9]"]
+ 79["Sweep Revolve
[2262, 2292, 9]"]
+ 80["Sweep Revolve
[2995, 3025, 9]"]
+ 81["Sweep Revolve
[3092, 3139, 9]"]
+ 82["Sweep Extrusion
[1219, 1264, 10]"]
+ 83["Sweep Extrusion
[2003, 2038, 10]"]
+ 84["Sweep Extrusion
[2003, 2038, 10]"]
+ 85["Sweep Extrusion
[2003, 2038, 10]"]
+ 86["Sweep Extrusion
[2003, 2038, 10]"]
+ 87["Sweep Extrusion
[2172, 2224, 10]"]
+ 88["Sweep Extrusion
[2172, 2224, 10]"]
+ 89["Sweep Extrusion
[2172, 2224, 10]"]
+ 90["Sweep Extrusion
[2172, 2224, 10]"]
+ 91[Wall]
+ 92[Wall]
+ 93[Wall]
+ 94[Wall]
+ 95[Wall]
+ 96[Wall]
+ 97[Wall]
+ 98[Wall]
+ 99[Wall]
+ 100[Wall]
+ 101[Wall]
+ 102[Wall]
+ 103[Wall]
+ 104[Wall]
+ 105[Wall]
+ 106[Wall]
+ 107[Wall]
+ 108[Wall]
+ 109[Wall]
+ 110[Wall]
+ 111[Wall]
+ 112[Wall]
+ 113[Wall]
+ 114[Wall]
+ 115[Wall]
+ 116[Wall]
+ 117[Wall]
+ 118[Wall]
+ 119[Wall]
+ 120[Wall]
+ 121[Wall]
+ 122[Wall]
+ 123[Wall]
+ 124[Wall]
+ 125[Wall]
+ 126[Wall]
+ 127[Wall]
+ 128["Cap Start"]
+ 129["Cap Start"]
+ 130["Cap Start"]
+ 131["Cap Start"]
+ 132["Cap Start"]
+ 133["Cap Start"]
+ 134["Cap End"]
+ 135["Cap End"]
+ 136["SweepEdge Opposite"]
+ 137["SweepEdge Opposite"]
+ 138["SweepEdge Opposite"]
+ 139["SweepEdge Opposite"]
+ 140["SweepEdge Opposite"]
+ 141["SweepEdge Opposite"]
+ 142["SweepEdge Opposite"]
+ 143["SweepEdge Opposite"]
+ 144["SweepEdge Opposite"]
+ 145["SweepEdge Opposite"]
+ 146["SweepEdge Opposite"]
+ 147["SweepEdge Opposite"]
+ 148["SweepEdge Opposite"]
+ 149["SweepEdge Adjacent"]
+ 150["SweepEdge Adjacent"]
+ 151["SweepEdge Adjacent"]
+ 152["SweepEdge Adjacent"]
+ 153["SweepEdge Adjacent"]
+ 154["SweepEdge Adjacent"]
+ 155["SweepEdge Adjacent"]
+ 156["SweepEdge Adjacent"]
+ 157["SweepEdge Adjacent"]
+ 158["SweepEdge Adjacent"]
+ 159["SweepEdge Adjacent"]
+ 160["SweepEdge Adjacent"]
+ 161["SweepEdge Adjacent"]
+ 162["SweepEdge Adjacent"]
+ 163["SweepEdge Adjacent"]
+ 164["SweepEdge Adjacent"]
+ 165["SweepEdge Adjacent"]
+ 166["SweepEdge Adjacent"]
+ 167["SweepEdge Adjacent"]
+ 168["SweepEdge Adjacent"]
+ 169["SweepEdge Adjacent"]
+ 170["SweepEdge Adjacent"]
+ 171["SweepEdge Adjacent"]
+ 172["SweepEdge Adjacent"]
+ 173["SweepEdge Adjacent"]
+ 174["SweepEdge Adjacent"]
+ 175["SweepEdge Adjacent"]
+ 176["SweepEdge Adjacent"]
+ 177["SweepEdge Adjacent"]
+ 178["SweepEdge Adjacent"]
+ 179["SweepEdge Adjacent"]
+ 180["SweepEdge Adjacent"]
+ 181["SweepEdge Adjacent"]
+ 182["SweepEdge Adjacent"]
+ 183["SweepEdge Adjacent"]
+ 184["SweepEdge Adjacent"]
+ 185["SweepEdge Adjacent"]
+ 186["EdgeCut Fillet
[1308, 1593, 10]"]
+ 187["EdgeCut Fillet
[1308, 1593, 10]"]
+ 188["EdgeCut Fillet
[1308, 1593, 10]"]
+ 189["EdgeCut Fillet
[1308, 1593, 10]"]
+ 1 --- 6
+ 2 --- 7
+ 3 --- 8
+ 4 --- 9
+ 4 --- 10
+ 5 --- 11
+ 5 --- 12
+ 6 --- 21
+ 6 --- 22
+ 6 --- 73
+ 6 ---- 77
+ 7 --- 23
+ 7 --- 24
+ 7 --- 25
+ 7 --- 26
+ 7 --- 65
+ 7 ---- 78
+ 8 --- 27
+ 8 --- 76
+ 8 ---- 81
+ 9 --- 28
+ 9 --- 29
+ 9 --- 30
+ 9 --- 31
+ 9 --- 32
+ 9 --- 33
+ 9 --- 34
+ 9 --- 63
+ 9 ---- 79
+ 10 --- 35
+ 10 --- 36
+ 10 --- 37
+ 10 --- 38
+ 10 --- 39
+ 10 --- 40
+ 10 --- 41
+ 10 --- 42
+ 10 --- 43
+ 10 --- 44
+ 10 --- 45
+ 10 --- 46
+ 10 --- 47
+ 10 --- 68
+ 10 ---- 80
+ 11 --- 48
+ 11 --- 49
+ 11 --- 50
+ 11 --- 51
+ 11 --- 52
+ 11 --- 72
+ 11 ---- 82
+ 12 --- 53
+ 12 --- 64
+ 13 --- 54
+ 13 --- 62
+ 13 ---- 86
+ 135 --- 13
+ 14 --- 56
+ 14 --- 67
+ 14 ---- 84
+ 135 --- 14
+ 15 --- 57
+ 15 --- 69
+ 15 ---- 83
+ 135 --- 15
+ 16 --- 55
+ 16 --- 71
+ 16 ---- 85
+ 135 --- 16
+ 17 --- 61
+ 17 --- 66
+ 17 ---- 88
+ 128 --- 17
+ 18 --- 59
+ 18 --- 70
+ 18 ---- 89
+ 129 --- 18
+ 19 --- 60
+ 19 --- 74
+ 19 ---- 90
+ 133 --- 19
+ 20 --- 58
+ 20 --- 75
+ 20 ---- 87
+ 132 --- 20
+ 77 <--x 21
+ 21 --- 113
+ 21 --- 171
+ 77 <--x 22
+ 22 --- 112
+ 22 --- 170
+ 78 <--x 23
+ 23 --- 115
+ 23 --- 173
+ 78 <--x 24
+ 24 --- 118
+ 24 --- 176
+ 78 <--x 25
+ 25 --- 117
+ 25 --- 175
+ 78 <--x 26
+ 26 --- 116
+ 26 --- 174
+ 27 --- 114
+ 27 x--> 130
+ 27 --- 139
+ 27 --- 172
+ 79 <--x 28
+ 28 --- 96
+ 28 --- 156
+ 79 <--x 29
+ 29 --- 97
+ 29 --- 153
+ 79 <--x 30
+ 30 --- 99
+ 30 --- 152
+ 79 <--x 31
+ 31 --- 95
+ 31 --- 155
+ 79 <--x 32
+ 32 --- 98
+ 32 --- 157
+ 79 <--x 33
+ 33 --- 94
+ 33 --- 154
+ 80 <--x 35
+ 35 --- 108
+ 35 --- 166
+ 80 <--x 36
+ 36 --- 100
+ 36 --- 167
+ 80 <--x 37
+ 37 --- 106
+ 37 --- 168
+ 80 <--x 38
+ 38 --- 109
+ 38 --- 164
+ 80 <--x 39
+ 39 --- 102
+ 39 --- 165
+ 80 <--x 40
+ 40 --- 104
+ 40 --- 163
+ 80 <--x 41
+ 41 --- 111
+ 41 --- 161
+ 80 <--x 42
+ 42 --- 105
+ 42 --- 160
+ 80 <--x 43
+ 43 --- 103
+ 43 --- 158
+ 80 <--x 44
+ 44 --- 107
+ 44 --- 162
+ 80 <--x 45
+ 45 --- 110
+ 45 --- 159
+ 80 <--x 46
+ 46 --- 101
+ 46 --- 169
+ 48 --- 122
+ 48 x--> 131
+ 48 --- 141
+ 48 --- 177
+ 49 --- 119
+ 49 x--> 131
+ 49 --- 142
+ 49 --- 179
+ 50 --- 121
+ 50 x--> 131
+ 50 --- 140
+ 50 --- 178
+ 51 --- 120
+ 51 x--> 131
+ 51 --- 143
+ 51 --- 180
+ 54 --- 127
+ 54 x--> 135
+ 54 --- 148
+ 54 --- 185
+ 55 --- 125
+ 55 x--> 135
+ 55 --- 146
+ 55 --- 183
+ 56 --- 93
+ 56 x--> 135
+ 56 --- 138
+ 56 --- 151
+ 57 --- 92
+ 57 x--> 135
+ 57 --- 137
+ 57 --- 150
+ 58 --- 91
+ 58 x--> 132
+ 58 --- 136
+ 58 --- 149
+ 59 --- 124
+ 59 x--> 129
+ 59 --- 145
+ 59 --- 182
+ 60 --- 126
+ 60 x--> 133
+ 60 --- 147
+ 60 --- 184
+ 61 --- 123
+ 61 x--> 128
+ 61 --- 144
+ 61 --- 181
+ 77 --- 112
+ 77 --- 113
+ 77 --- 170
+ 77 --- 171
+ 78 --- 115
+ 78 --- 116
+ 78 --- 117
+ 78 --- 118
+ 78 --- 173
+ 78 --- 174
+ 78 --- 175
+ 78 --- 176
+ 79 --- 94
+ 79 --- 95
+ 79 --- 96
+ 79 --- 97
+ 79 --- 98
+ 79 --- 99
+ 79 --- 152
+ 79 --- 153
+ 79 --- 154
+ 79 --- 155
+ 79 --- 156
+ 79 --- 157
+ 80 --- 100
+ 80 --- 101
+ 80 --- 102
+ 80 --- 103
+ 80 --- 104
+ 80 --- 105
+ 80 --- 106
+ 80 --- 107
+ 80 --- 108
+ 80 --- 109
+ 80 --- 110
+ 80 --- 111
+ 80 --- 158
+ 80 --- 159
+ 80 --- 160
+ 80 --- 161
+ 80 --- 162
+ 80 --- 163
+ 80 --- 164
+ 80 --- 165
+ 80 --- 166
+ 80 --- 167
+ 80 --- 168
+ 80 --- 169
+ 81 --- 114
+ 81 --- 130
+ 81 --- 134
+ 81 --- 139
+ 81 --- 172
+ 82 --- 119
+ 82 --- 120
+ 82 --- 121
+ 82 --- 122
+ 82 --- 131
+ 82 --- 135
+ 82 --- 140
+ 82 --- 141
+ 82 --- 142
+ 82 --- 143
+ 82 --- 177
+ 82 --- 178
+ 82 --- 179
+ 82 --- 180
+ 83 --- 92
+ 83 --- 128
+ 83 --- 137
+ 83 --- 150
+ 84 --- 93
+ 84 --- 129
+ 84 --- 138
+ 84 --- 151
+ 85 --- 125
+ 85 --- 132
+ 85 --- 146
+ 85 --- 183
+ 86 --- 127
+ 86 --- 133
+ 86 --- 148
+ 86 --- 185
+ 87 --- 91
+ 87 --- 136
+ 87 --- 149
+ 88 --- 123
+ 88 --- 144
+ 88 --- 181
+ 89 --- 124
+ 89 --- 145
+ 89 --- 182
+ 90 --- 126
+ 90 --- 147
+ 90 --- 184
+ 136 <--x 91
+ 149 <--x 91
+ 137 <--x 92
+ 150 <--x 92
+ 138 <--x 93
+ 151 <--x 93
+ 154 <--x 94
+ 157 <--x 94
+ 152 <--x 95
+ 155 <--x 95
+ 154 <--x 96
+ 156 <--x 96
+ 153 <--x 97
+ 156 <--x 97
+ 155 <--x 98
+ 157 <--x 98
+ 152 <--x 99
+ 153 <--x 99
+ 166 <--x 100
+ 167 <--x 100
+ 159 <--x 101
+ 169 <--x 101
+ 164 <--x 102
+ 165 <--x 102
+ 158 <--x 103
+ 160 <--x 103
+ 163 <--x 104
+ 165 <--x 104
+ 160 <--x 105
+ 161 <--x 105
+ 167 <--x 106
+ 168 <--x 106
+ 158 <--x 107
+ 162 <--x 107
+ 166 <--x 108
+ 169 <--x 108
+ 164 <--x 109
+ 168 <--x 109
+ 159 <--x 110
+ 162 <--x 110
+ 161 <--x 111
+ 163 <--x 111
+ 170 <--x 112
+ 171 <--x 112
+ 170 <--x 113
+ 171 <--x 113
+ 139 <--x 114
+ 172 <--x 114
+ 173 <--x 115
+ 174 <--x 115
+ 174 <--x 116
+ 175 <--x 116
+ 175 <--x 117
+ 176 <--x 117
+ 173 <--x 118
+ 176 <--x 118
+ 142 <--x 119
+ 143 <--x 120
+ 140 <--x 121
+ 141 <--x 122
+ 144 <--x 123
+ 181 <--x 123
+ 145 <--x 124
+ 182 <--x 124
+ 146 <--x 125
+ 183 <--x 125
+ 147 <--x 126
+ 184 <--x 126
+ 148 <--x 127
+ 185 <--x 127
+ 137 <--x 128
+ 138 <--x 129
+ 136 <--x 131
+ 144 <--x 131
+ 145 <--x 131
+ 147 <--x 131
+ 146 <--x 132
+ 148 <--x 133
+ 139 <--x 134
+ 140 <--x 135
+ 141 <--x 135
+ 142 <--x 135
+ 143 <--x 135
+ 177 <--x 186
+ 178 <--x 189
+ 179 <--x 187
+ 180 <--x 188
+```
diff --git a/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/ast.snap b/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/ast.snap
new file mode 100644
index 00000000000..04a9a90b979
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/ast.snap
@@ -0,0 +1,193 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Result of parsing pillow-block-bearing.kcl
+---
+{
+ "Ok": {
+ "body": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "path": {
+ "type": "Kcl",
+ "filename": "parameters.kcl"
+ },
+ "preComments": [
+ "// Import parts and parameters"
+ ],
+ "selector": {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "Glob"
+ },
+ "start": 0,
+ "type": "ImportStatement",
+ "type": "ImportStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "path": {
+ "type": "Kcl",
+ "filename": "ball-bearing.kcl"
+ },
+ "selector": {
+ "type": "None",
+ "alias": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "ballBearing",
+ "start": 0,
+ "type": "Identifier"
+ }
+ },
+ "start": 0,
+ "type": "ImportStatement",
+ "type": "ImportStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "path": {
+ "type": "Kcl",
+ "filename": "block.kcl"
+ },
+ "selector": {
+ "type": "None",
+ "alias": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "block",
+ "start": 0,
+ "type": "Identifier"
+ }
+ },
+ "start": 0,
+ "type": "ImportStatement",
+ "type": "ImportStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "expression": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "ballBearing",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "preComments": [
+ "",
+ "",
+ "// Render each part"
+ ],
+ "start": 0,
+ "type": "ExpressionStatement",
+ "type": "ExpressionStatement"
+ },
+ {
+ "commentStart": 0,
+ "end": 0,
+ "expression": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "block",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ },
+ "start": 0,
+ "type": "ExpressionStatement",
+ "type": "ExpressionStatement"
+ }
+ ],
+ "commentStart": 0,
+ "end": 0,
+ "innerAttrs": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "settings",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "preComments": [
+ "// Pillow Block Bearing",
+ "// A bearing pillow block, also known as a plummer block or pillow block bearing, is a pedestal used to provide support for a rotating shaft with the help of compatible bearings and various accessories. Housing a bearing, the pillow block provides a secure and stable foundation that allows the shaft to rotate smoothly within its machinery setup. These components are essential in a wide range of mechanical systems and machinery, playing a key role in reducing friction and supporting radial and axial loads.",
+ "",
+ "",
+ "// Set units"
+ ],
+ "properties": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "key": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "defaultLengthUnit",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "start": 0,
+ "type": "ObjectProperty",
+ "value": {
+ "abs_path": false,
+ "commentStart": 0,
+ "end": 0,
+ "name": {
+ "commentStart": 0,
+ "end": 0,
+ "name": "in",
+ "start": 0,
+ "type": "Identifier"
+ },
+ "path": [],
+ "start": 0,
+ "type": "Name",
+ "type": "Name"
+ }
+ }
+ ],
+ "start": 0,
+ "type": "Annotation"
+ }
+ ],
+ "nonCodeMeta": {
+ "nonCodeNodes": {},
+ "startNodes": [
+ {
+ "commentStart": 0,
+ "end": 0,
+ "start": 0,
+ "type": "NonCodeNode",
+ "value": {
+ "type": "newLine"
+ }
+ }
+ ]
+ },
+ "start": 0
+ }
+}
diff --git a/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/ops.snap b/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/ops.snap
new file mode 100644
index 00000000000..cbf22518fa6
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/ops.snap
@@ -0,0 +1,30 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Operations executed pillow-block-bearing.kcl
+---
+[
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "ModuleInstance",
+ "name": "ballBearing",
+ "moduleId": 0
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "GroupBegin",
+ "group": {
+ "type": "ModuleInstance",
+ "name": "block",
+ "moduleId": 0
+ },
+ "sourceRange": []
+ },
+ {
+ "type": "GroupEnd"
+ },
+ {
+ "type": "GroupEnd"
+ }
+]
diff --git a/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/program_memory.snap b/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/program_memory.snap
new file mode 100644
index 00000000000..d7d690c9b67
--- /dev/null
+++ b/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/program_memory.snap
@@ -0,0 +1,170 @@
+---
+source: kcl-lib/src/simulation_tests.rs
+description: Variables in memory after executing pillow-block-bearing.kcl
+---
+{
+ "ballBearing": {
+ "type": "Module",
+ "value": 9
+ },
+ "bearingBoreDiameter": {
+ "type": "Number",
+ "value": 1.75,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "bearingOuterDiameter": {
+ "type": "Number",
+ "value": 2.625,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "block": {
+ "type": "Module",
+ "value": 10
+ },
+ "boltDiameter": {
+ "type": "Number",
+ "value": 0.375,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "boltSpacingX": {
+ "type": "Number",
+ "value": 5.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "boltSpacingY": {
+ "type": "Number",
+ "value": 3.0,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "chainThickness": {
+ "type": "Number",
+ "value": 0.0273,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "chainWidth": {
+ "type": "Number",
+ "value": 0.1094,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "counterboreDepth": {
+ "type": "Number",
+ "value": 0.1875,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "counterboreDiameter": {
+ "type": "Number",
+ "value": 0.75,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "linkDiameter": {
+ "type": "Number",
+ "value": 0.0547,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "sphereDia": {
+ "type": "Number",
+ "value": 0.2188,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ },
+ "stockThickness": {
+ "type": "Number",
+ "value": 0.5,
+ "ty": {
+ "type": "Default",
+ "len": {
+ "type": "Inches"
+ },
+ "angle": {
+ "type": "Degrees"
+ }
+ }
+ }
+}
diff --git a/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/rendered_model.png b/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/rendered_model.png
new file mode 100644
index 00000000000..3d2294822c6
Binary files /dev/null and b/rust/kcl-lib/tests/kcl_samples/pillow-block-bearing/rendered_model.png differ