Compare commits

...

5 Commits

10 changed files with 1725 additions and 4230 deletions

View File

@ -29,71 +29,46 @@ fn helicalGear(nTeeth, module, pressureAngle, helixAngle, gearHeight) {
|> xLine(length = keywayDepth) |> xLine(length = keywayDepth)
|> yLine(length = -keywayWidth) |> yLine(length = -keywayWidth)
|> xLine(length = -keywayDepth) |> xLine(length = -keywayDepth)
|> arc(angleStart = -1 * startAngle + 360, angleEnd = 180, radius = holeRadius) |> arc(angleStart = -1 * startAngle + 360, angleEnd = 180, diameter = holeDiam)
|> arc(angleStart = 180, angleEnd = startAngle, radius = holeRadius) |> arc(angleStart = 180, angleEnd = startAngle, diameter = holeDiam)
|> close() |> close()
|> extrude(length = gearHeight)
// Define a function to create a rotated gear sketch on an offset plane
fn helicalGearSketch(offsetHeight) {
// Calculate the amount to rotate each planar sketch of the gear given the gear helix angle and total gear height
helixCalc = acos(offsetHeight * tan(helixAngle) / (tipDiameter / 2))
// Using the gear parameters, sketch an involute tooth spanning from the base diameter to the tip diameter // Using the gear parameters, sketch an involute tooth spanning from the base diameter to the tip diameter
helicalGearSketch = startSketchOn(offsetPlane(XY, offset = offsetHeight)) helicalGearSketch = startSketchOn(XY)
|> startProfile(at = polar(angle = helixCalc, length = baseDiameter / 2)) |> startProfile(at = polar(angle = 0, length = baseDiameter / 2))
|> involuteCircular( |> involuteCircular(
startRadius = baseDiameter / 2, startRadius = baseDiameter / 2,
endRadius = tipDiameter / 2, endRadius = tipDiameter / 2,
angle = helixCalc, angle = 0,
tag = $seg01, tag = $seg01,
) )
|> line(endAbsolute = polar(angle = 160 / nTeeth + helixCalc, length = tipDiameter / 2)) |> line(endAbsolute = polar(angle = 160 / nTeeth, length = tipDiameter / 2))
|> involuteCircular( |> involuteCircular(
startRadius = baseDiameter / 2, startRadius = baseDiameter / 2,
endRadius = tipDiameter / 2, endRadius = tipDiameter / 2,
angle = -(4 * atan(segEndY(seg01) / segEndX(seg01)) - (3 * helixCalc)), angle = -(4 * atan(segEndY(seg01) / segEndX(seg01))),
reverse = true, reverse = true,
) )
// Position the end line of the sketch at the start of the next tooth // Position the end line of the sketch at the start of the next tooth
|> line(endAbsolute = polar(angle = 360 / nTeeth + helixCalc, length = baseDiameter / 2)) |> line(endAbsolute = polar(angle = 360 / nTeeth, length = baseDiameter / 2))
// Pattern the sketch about the center by the specified number of teeth, then close the sketch // Pattern the sketch about the center by the specified number of teeth, then close the sketch
|> patternCircular2d( |> patternCircular2d(%, instances = nTeeth, center = [0, 0])
%,
instances = nTeeth,
center = [0, 0],
arcDegrees = 360,
rotateDuplicates = true,
)
|> close() |> close()
|> subtract2d(tool = holeWithKeyway)
return helicalGearSketch
}
// Draw a gear sketch on the base plane // Draw a gear sketch on the base plane
gearSketch001 = helicalGearSketch(offsetHeight = 0) return helicalGearSketch
|> extrude(length = gearHeight, twistAngle = helixAngle)
// Draw a rotated gear sketch on a middle interstitial plane |> subtract([%], tools = [holeWithKeyway])
gearSketch002 = helicalGearSketch(offsetHeight = gearHeight / 2)
// Draw a rotated gear sketch at the gear height offset plane
gearSketch003 = helicalGearSketch(offsetHeight = gearHeight)
// Loft each rotated gear sketch together to form a helical gear
helicalGear = loft([
gearSketch001,
gearSketch002,
gearSketch003
])
return helicalGear
} }
gearHeight = 7
helicalGear( helicalGear(
nTeeth = 21, nTeeth = 21,
module = 2, module = 2,
pressureAngle = 20, pressureAngle = 20,
helixAngle = 35, helixAngle = 35,
gearHeight = 7, gearHeight,
) )

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

View File

@ -181,54 +181,6 @@ description: Artifact commands helical-gear.kcl
"path_id": "[uuid]" "path_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": 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": "object_visible",
"object_id": "[uuid]",
"hidden": true
}
},
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [], "range": [],
@ -249,20 +201,11 @@ description: Artifact commands helical-gear.kcl
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [], "range": [],
"command": { "command": {
"type": "start_path" "type": "extrude",
} "target": "[uuid]",
}, "distance": 7.0,
{ "faces": null,
"cmdId": "[uuid]", "opposite": "None"
"range": [],
"command": {
"type": "move_path_pen",
"path": "[uuid]",
"to": {
"x": 0.0000000000000012083311382392428,
"y": 19.733545036504076,
"z": 0.0
}
} }
}, },
{ {
@ -272,555 +215,6 @@ description: Artifact commands helical-gear.kcl
"type": "sketch_mode_disable" "type": "sketch_mode_disable"
} }
}, },
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "circular_involute",
"start_radius": 19.733545036504076,
"end_radius": 23.0,
"angle": {
"unit": "degrees",
"value": 90.0
},
"reverse": false
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "line",
"end": {
"x": -3.0494758442486236,
"y": 22.796944906617295,
"z": 0.0
},
"relative": false
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "circular_involute",
"start_radius": 19.733545036504076,
"end_radius": 23.0,
"angle": {
"unit": "degrees",
"value": 616.4231928988978
},
"reverse": true
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "line",
"end": {
"x": -5.816564508980187,
"y": 18.856838998639372,
"z": 0.0
},
"relative": false
}
}
},
{
"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": 20,
"arc_degrees": 360.0,
"rotate_duplicates": true
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "close_path",
"path_id": "[uuid]"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid2d_add_hole",
"object_id": "[uuid]",
"hole_id": "[uuid]"
}
},
{
"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": 3.5
},
"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": "object_visible",
"object_id": "[uuid]",
"hidden": 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": "start_path"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "move_path_pen",
"path": "[uuid]",
"to": {
"x": 2.1026747593723187,
"y": 19.62120176146286,
"z": 0.0
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "sketch_mode_disable"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "circular_involute",
"start_radius": 19.733545036504076,
"end_radius": 23.0,
"angle": {
"unit": "degrees",
"value": 83.88333258352058
},
"reverse": false
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "line",
"end": {
"x": -0.603024957692658,
"y": 22.992093443190416,
"z": 0.0
},
"relative": false
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "circular_involute",
"start_radius": 19.733545036504076,
"end_radius": 23.0,
"angle": {
"unit": "degrees",
"value": -97.46013968462269
},
"reverse": true
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "line",
"end": {
"x": -3.7741919278824176,
"y": 19.369261085525228,
"z": 0.0
},
"relative": false
}
}
},
{
"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": 20,
"arc_degrees": 360.0,
"rotate_duplicates": true
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "close_path",
"path_id": "[uuid]"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid2d_add_hole",
"object_id": "[uuid]",
"hole_id": "[uuid]"
}
},
{
"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": 7.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": "object_visible",
"object_id": "[uuid]",
"hidden": 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": "start_path"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "move_path_pen",
"path": "[uuid]",
"to": {
"x": 4.20534951874464,
"y": 19.280244685504613,
"z": 0.0
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "sketch_mode_disable"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "circular_involute",
"start_radius": 19.733545036504076,
"end_radius": 23.0,
"angle": {
"unit": "degrees",
"value": 77.6955281798938
},
"reverse": false
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "line",
"end": {
"x": 1.8787542118590292,
"y": 22.923138585530168,
"z": 0.0
},
"relative": false
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "circular_involute",
"start_radius": 19.733545036504076,
"end_radius": 23.0,
"angle": {
"unit": "degrees",
"value": -91.27233528099592
},
"reverse": true
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "line",
"end": {
"x": -1.6644342460226098,
"y": 19.66322604122736,
"z": 0.0
},
"relative": false
}
}
},
{
"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": 20,
"arc_degrees": 360.0,
"rotate_duplicates": true
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "close_path",
"path_id": "[uuid]"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid2d_add_hole",
"object_id": "[uuid]",
"hole_id": "[uuid]"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "object_visible",
"object_id": "[uuid]",
"hidden": true
}
},
{
"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]", "cmdId": "[uuid]",
"range": [], "range": [],
@ -846,6 +240,259 @@ description: Artifact commands helical-gear.kcl
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]" "edge_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": 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": "start_path"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "move_path_pen",
"path": "[uuid]",
"to": {
"x": 19.733545036504076,
"y": 0.0,
"z": 0.0
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "sketch_mode_disable"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "circular_involute",
"start_radius": 19.733545036504076,
"end_radius": 23.0,
"angle": {
"unit": "degrees",
"value": 0.0
},
"reverse": false
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "line",
"end": {
"x": 22.796944906617295,
"y": 3.049475844248623,
"z": 0.0
},
"relative": false
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "circular_involute",
"start_radius": 19.733545036504076,
"end_radius": 23.0,
"angle": {
"unit": "degrees",
"value": -13.576807101102158
},
"reverse": true
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "line",
"end": {
"x": 18.856838998639372,
"y": 5.816564508980191,
"z": 0.0
},
"relative": false
}
}
},
{
"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": 20,
"arc_degrees": 360.0,
"rotate_duplicates": 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": 0.0,
"z": 1.0
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "twist_extrude",
"target": "[uuid]",
"distance": 7.0,
"faces": null,
"center_2d": {
"x": 0.0,
"y": 0.0
},
"total_rotation_angle": {
"unit": "degrees",
"value": 35.0
},
"angle_step_size": {
"unit": "degrees",
"value": 15.0
},
"tolerance": 0.0000001
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "sketch_mode_disable"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "object_bring_to_front",
"object_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_adjacency_info",
"object_id": "[uuid]",
"edge_id": "[uuid]"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "boolean_subtract",
"target_ids": [
"[uuid]"
],
"tool_ids": [
"[uuid]"
],
"tolerance": 0.0000001
}
} }
], ],
"std::appearance": [], "std::appearance": [],

View File

@ -17,79 +17,70 @@ flowchart LR
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }] %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
9[Solid2d] 9[Solid2d]
end end
subgraph path11 [Path] subgraph path25 [Path]
11["Path<br>[1779, 1849, 0]"] 25["Path<br>[1468, 1530, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }] %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
12["Segment<br>[1859, 2025, 0]"] 26["Segment<br>[1538, 1686, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }] %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
13["Segment<br>[2035, 2120, 0]"] 27["Segment<br>[1694, 1767, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }] %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
14["Segment<br>[2130, 2351, 0]"] 28["Segment<br>[1775, 1968, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }] %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
15["Segment<br>[2438, 2524, 0]"] 29["Segment<br>[2051, 2125, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }] %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
16["Segment<br>[2813, 2820, 0]"] 30["Segment<br>[2298, 2305, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }] %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
17[Solid2d] 31[Solid2d]
end
subgraph path19 [Path]
19["Path<br>[1779, 1849, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
20["Segment<br>[1859, 2025, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
21["Segment<br>[2035, 2120, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
22["Segment<br>[2130, 2351, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
23["Segment<br>[2438, 2524, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
24["Segment<br>[2813, 2820, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
25[Solid2d]
end
subgraph path27 [Path]
27["Path<br>[1779, 1849, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
32["Segment<br>[2813, 2820, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
33[Solid2d]
end end
1["Plane<br>[864, 881, 0]"] 1["Plane<br>[864, 881, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }] %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
10["Plane<br>[1730, 1768, 0]"] 10["Sweep Extrusion<br>[1282, 1310, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }, CallKwUnlabeledArg] %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
18["Plane<br>[1730, 1768, 0]"] 11[Wall]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }, CallKwUnlabeledArg] %% face_code_ref=Missing NodePath
26["Plane<br>[1730, 1768, 0]"] 12[Wall]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }, CallKwUnlabeledArg] %% face_code_ref=Missing NodePath
28["SweepEdge Opposite"] 13[Wall]
29["SweepEdge Opposite"] %% face_code_ref=Missing NodePath
30["SweepEdge Opposite"] 14[Wall]
31["SweepEdge Opposite"] %% face_code_ref=Missing NodePath
34["Sweep Loft<br>[3337, 3404, 0]"] 15["Cap Start"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 15 }, VariableDeclarationDeclaration, VariableDeclarationInit] %% face_code_ref=Missing NodePath
16["Cap End"]
%% face_code_ref=Missing NodePath
17["SweepEdge Opposite"]
18["SweepEdge Adjacent"]
19["SweepEdge Opposite"]
20["SweepEdge Adjacent"]
21["SweepEdge Opposite"]
22["SweepEdge Opposite"]
23["SweepEdge Adjacent"]
24["Plane<br>[1443, 1460, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
32["Sweep ExtrusionTwist<br>[2383, 2436, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 12 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
33[Wall]
%% face_code_ref=Missing NodePath
34[Wall]
%% face_code_ref=Missing NodePath
35[Wall] 35[Wall]
%% face_code_ref=Missing NodePath %% face_code_ref=Missing NodePath
36[Wall] 36[Wall]
%% face_code_ref=Missing NodePath %% face_code_ref=Missing NodePath
37[Wall] 37["Cap Start"]
%% face_code_ref=Missing NodePath %% face_code_ref=Missing NodePath
38[Wall] 38["Cap End"]
%% face_code_ref=Missing NodePath %% face_code_ref=Missing NodePath
39["Cap Start"] 39["SweepEdge Opposite"]
%% face_code_ref=Missing NodePath 40["SweepEdge Adjacent"]
40["Cap End"] 41["SweepEdge Opposite"]
%% face_code_ref=Missing NodePath
41["SweepEdge Adjacent"]
42["SweepEdge Adjacent"] 42["SweepEdge Adjacent"]
43["SweepEdge Adjacent"] 43["SweepEdge Opposite"]
44["SweepEdge Adjacent"] 44["SweepEdge Adjacent"]
45["StartSketchOnPlane<br>[1716, 1769, 0]"] 45["SweepEdge Opposite"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }] 46["SweepEdge Adjacent"]
46["StartSketchOnPlane<br>[1716, 1769, 0]"] 47["CompositeSolid Subtract<br>[2444, 2483, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }] %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 12 }, ReturnStatementArg, PipeBodyItem { index: 2 }]
47["StartSketchOnPlane<br>[1716, 1769, 0]"]
%% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
1 --- 2 1 --- 2
2 --- 3 2 --- 3
2 --- 4 2 --- 4
@ -98,76 +89,103 @@ flowchart LR
2 --- 7 2 --- 7
2 --- 8 2 --- 8
2 --- 9 2 --- 9
2 ---- 10
2 --- 47
3 --- 14
3 x--> 15
3 --- 22
3 --- 23
4 --- 13
4 x--> 15
4 --- 20
4 --- 21
5 --- 12
5 x--> 15
5 --- 19
5 x--> 20
7 --- 11
7 x--> 15
7 --- 17
7 --- 18
10 --- 11 10 --- 11
10 <--x 45 10 --- 12
11 --- 12 10 --- 13
11 --- 13 10 --- 14
11 --- 14 10 --- 15
11 --- 15 10 --- 16
11 --- 16 10 --- 17
10 --- 18
10 --- 19
10 --- 20
10 --- 21
10 --- 22
10 --- 23
11 --- 17 11 --- 17
11 ---- 34 11 --- 18
12 --- 28 12 --- 19
12 --- 35 12 --- 20
12 x--> 39 13 --- 20
12 --- 41 13 --- 21
13 --- 29 23 <--x 13
13 --- 36 18 <--x 14
13 x--> 39 14 --- 22
13 --- 42 14 --- 23
14 --- 30 17 <--x 16
14 --- 37 19 <--x 16
14 x--> 39 21 <--x 16
14 --- 43 22 <--x 16
15 --- 31 24 --- 25
15 --- 38 25 --- 26
15 x--> 39 25 --- 27
15 --- 44 25 --- 28
18 --- 19 25 --- 29
18 <--x 46 25 --- 30
19 --- 20 25 --- 31
19 --- 21 25 ---- 32
19 --- 22 25 --- 47
19 --- 23 26 --- 33
19 --- 24 26 x--> 37
19 --- 25 26 --- 39
19 x---> 34 26 --- 40
26 --- 27 27 --- 34
26 <--x 47 27 x--> 37
27 x--> 28 27 --- 41
27 x--> 29 27 --- 42
27 x--> 30
27 x--> 31
27 --- 32
27 --- 33
27 x---> 34
34 --- 28
28 --- 35 28 --- 35
28 x--> 40 28 x--> 37
34 --- 29 28 --- 43
28 --- 44
29 --- 36 29 --- 36
29 x--> 40 29 x--> 37
34 --- 30 29 --- 45
30 --- 37 29 --- 46
30 x--> 40 32 --- 33
34 --- 31 32 --- 34
31 --- 38 32 --- 35
31 x--> 40 32 --- 36
34 --- 35 32 --- 37
34 --- 36 32 --- 38
34 --- 37 32 --- 39
34 --- 38 32 --- 40
34 --- 39 32 --- 41
34 --- 40 32 --- 42
32 --- 43
32 --- 44
32 --- 45
32 --- 46
33 --- 39
33 --- 40
42 <--x 33
34 --- 41 34 --- 41
34 --- 42 34 --- 42
34 --- 43 44 <--x 34
34 --- 44 35 --- 43
35 --- 41 35 --- 44
42 <--x 35 46 <--x 35
36 --- 42 36 --- 45
43 <--x 36 36 --- 46
37 --- 43 39 <--x 38
44 <--x 37 41 <--x 38
38 --- 44 43 <--x 38
45 <--x 38
``` ```

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -3,6 +3,19 @@ source: kcl-lib/src/simulation_tests.rs
description: Variables in memory after executing helical-gear.kcl description: Variables in memory after executing helical-gear.kcl
--- ---
{ {
"gearHeight": {
"type": "Number",
"value": 7.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"helicalGear": { "helicalGear": {
"type": "Function", "type": "Function",
"value": null "value": null

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 76 KiB