--- source: kcl-lib/src/simulation_tests.rs description: Result of parsing gear-rack.kcl --- { "Ok": { "body": [ { "commentStart": 423, "declaration": { "commentStart": 445, "end": 0, "id": { "commentStart": 445, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "init": { "commentStart": 454, "end": 0, "raw": "100", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 100.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "// Define constants" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 458, "declaration": { "commentStart": 458, "end": 0, "id": { "commentStart": 458, "end": 0, "name": "pitchHeight", "start": 0, "type": "Identifier" }, "init": { "commentStart": 472, "end": 0, "raw": "11.5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 11.5, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 477, "declaration": { "commentStart": 477, "end": 0, "id": { "commentStart": 477, "end": 0, "name": "width", "start": 0, "type": "Identifier" }, "init": { "commentStart": 485, "end": 0, "raw": "5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 5.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 487, "declaration": { "commentStart": 487, "end": 0, "id": { "commentStart": 487, "end": 0, "name": "height", "start": 0, "type": "Identifier" }, "init": { "commentStart": 496, "end": 0, "raw": "12", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 12.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 499, "declaration": { "commentStart": 499, "end": 0, "id": { "commentStart": 499, "end": 0, "name": "minHeight", "start": 0, "type": "Identifier" }, "init": { "commentStart": 511, "end": 0, "raw": "10.875", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 10.875, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 517, "declaration": { "commentStart": 550, "end": 0, "id": { "commentStart": 550, "end": 0, "name": "rackBody", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "commentStart": 575, "end": 0, "raw": "'XY'", "start": 0, "type": "Literal", "type": "Literal", "value": "XY" } ], "callee": { "abs_path": false, "commentStart": 561, "end": 0, "name": { "commentStart": 561, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 561, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 601, "elements": [ { "commentStart": 602, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 603, "end": 0, "name": { "commentStart": 603, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 602, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 612, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 615, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 619, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 586, "end": 0, "name": { "commentStart": 586, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 586, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 632, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 638, "elements": [ { "abs_path": false, "commentStart": 639, "end": 0, "name": { "commentStart": 639, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 647, "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": 627, "end": 0, "name": { "commentStart": 627, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 627, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 661, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 667, "elements": [ { "commentStart": 668, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 671, "end": 0, "name": { "commentStart": 671, "end": 0, "name": "minHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 656, "end": 0, "name": { "commentStart": 656, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 656, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 693, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 699, "elements": [ { "argument": { "abs_path": false, "commentStart": 701, "end": 0, "name": { "commentStart": 701, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 700, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "commentStart": 709, "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": 688, "end": 0, "name": { "commentStart": 688, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 688, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 718, "end": 0, "name": { "commentStart": 718, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 718, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 739, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 748, "end": 0, "name": { "commentStart": 748, "end": 0, "name": "width", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 731, "end": 0, "name": { "commentStart": 731, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 731, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 561, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "6": [ { "commentStart": 754, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Create a function for sketch of a single tooth", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Create the body of the rack" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 806, "declaration": { "commentStart": 809, "end": 0, "id": { "commentStart": 809, "end": 0, "name": "tooth", "start": 0, "type": "Identifier" }, "init": { "body": { "body": [ { "commentStart": 821, "declaration": { "commentStart": 821, "end": 0, "id": { "commentStart": 821, "end": 0, "name": "toothSketch", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "commentStart": 849, "end": 0, "raw": "'XY'", "start": 0, "type": "Literal", "type": "Literal", "value": "XY" } ], "callee": { "abs_path": false, "commentStart": 835, "end": 0, "name": { "commentStart": 835, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 835, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 877, "elements": [ { "commentStart": 878, "end": 0, "left": { "commentStart": 878, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 879, "end": 0, "name": { "commentStart": 879, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 878, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 888, "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": 892, "end": 0, "raw": "0.567672", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.567672, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 902, "end": 0, "name": { "commentStart": 902, "end": 0, "name": "minHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 914, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 862, "end": 0, "name": { "commentStart": 862, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 862, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 948, "elements": [ { "commentStart": 949, "end": 0, "raw": "0.157636", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.157636, "suffix": "None" } }, { "commentStart": 959, "end": 0, "raw": "0.110378", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.110378, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 970, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 924, "end": 0, "name": { "commentStart": 924, "end": 0, "name": "tangentialArcToRelative", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 924, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 985, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 991, "elements": [ { "commentStart": 992, "end": 0, "raw": "0.329118", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.329118, "suffix": "None" } }, { "commentStart": 1002, "end": 0, "raw": "0.904244", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.904244, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 980, "end": 0, "name": { "commentStart": 980, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 980, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "commentStart": 1044, "elements": [ { "commentStart": 1045, "end": 0, "raw": "0.157636", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.157636, "suffix": "None" } }, { "commentStart": 1055, "end": 0, "raw": "0.110378", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.110378, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 1066, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 1020, "end": 0, "name": { "commentStart": 1020, "end": 0, "name": "tangentialArcToRelative", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1020, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1081, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1087, "elements": [ { "commentStart": 1088, "end": 0, "raw": "0.186505", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.186505, "suffix": "None" } }, { "commentStart": 1098, "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": 1076, "end": 0, "name": { "commentStart": 1076, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1076, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "commentStart": 1133, "elements": [ { "commentStart": 1134, "end": 0, "raw": "0.157636", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.157636, "suffix": "None" } }, { "argument": { "commentStart": 1145, "end": 0, "raw": "0.110378", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.110378, "suffix": "None" } }, "commentStart": 1144, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 1156, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 1109, "end": 0, "name": { "commentStart": 1109, "end": 0, "name": "tangentialArcToRelative", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1109, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1171, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1177, "elements": [ { "commentStart": 1178, "end": 0, "raw": "0.329118", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.329118, "suffix": "None" } }, { "argument": { "commentStart": 1189, "end": 0, "raw": "0.904244", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.904244, "suffix": "None" } }, "commentStart": 1188, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 1166, "end": 0, "name": { "commentStart": 1166, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1166, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "commentStart": 1231, "elements": [ { "commentStart": 1232, "end": 0, "raw": "0.157636", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.157636, "suffix": "None" } }, { "argument": { "commentStart": 1243, "end": 0, "raw": "0.110378", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.110378, "suffix": "None" } }, "commentStart": 1242, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 1254, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 1207, "end": 0, "name": { "commentStart": 1207, "end": 0, "name": "tangentialArcToRelative", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1207, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 1264, "end": 0, "name": { "commentStart": 1264, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1264, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1287, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 1296, "end": 0, "name": { "commentStart": 1296, "end": 0, "name": "width", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 1279, "end": 0, "name": { "commentStart": 1279, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1279, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 835, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "argument": { "abs_path": false, "commentStart": 1312, "end": 0, "name": { "commentStart": 1312, "end": 0, "name": "toothSketch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 1305, "end": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 817, "end": 0, "start": 0 }, "commentStart": 814, "end": 0, "params": [], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "fn", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1325, "declaration": { "commentStart": 1388, "end": 0, "id": { "commentStart": 1388, "end": 0, "name": "teeth", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [], "callee": { "abs_path": false, "commentStart": 1396, "end": 0, "name": { "commentStart": 1396, "end": 0, "name": "tooth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1396, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1433, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1440, "elements": [ { "commentStart": 1441, "end": 0, "raw": "10", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 10.0, "suffix": "None" } }, { "commentStart": 1445, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1448, "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": 1459, "end": 0, "name": "distance", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1470, "end": 0, "raw": "1.570796", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.570796, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1487, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1499, "end": 0, "raw": "63", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 63.0, "suffix": "None" } } } ], "callee": { "abs_path": false, "commentStart": 1409, "end": 0, "name": { "commentStart": 1409, "end": 0, "name": "patternLinear3d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1409, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1396, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "1": [ { "commentStart": 1508, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Sketch and extrude the first end cap. This is a partial tooth", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Pattern the single tooth over the length of the rack body" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1575, "declaration": { "commentStart": 1575, "end": 0, "id": { "commentStart": 1575, "end": 0, "name": "endCapTooth", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "commentStart": 1603, "end": 0, "raw": "'XY'", "start": 0, "type": "Literal", "type": "Literal", "value": "XY" } ], "callee": { "abs_path": false, "commentStart": 1589, "end": 0, "name": { "commentStart": 1589, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1589, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 1629, "elements": [ { "commentStart": 1630, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 1631, "end": 0, "name": { "commentStart": 1631, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 1630, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 1640, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 1643, "end": 0, "raw": "11.849525", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 11.849525, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 1655, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 1614, "end": 0, "name": { "commentStart": 1614, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1614, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1668, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1674, "elements": [ { "commentStart": 1675, "end": 0, "raw": "0.314524", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.314524, "suffix": "None" } }, { "argument": { "commentStart": 1686, "end": 0, "raw": "0.864147", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.864147, "suffix": "None" } }, "commentStart": 1685, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 1663, "end": 0, "name": { "commentStart": 1663, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1663, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "commentStart": 1726, "elements": [ { "commentStart": 1727, "end": 0, "raw": "0.157636", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.157636, "suffix": "None" } }, { "argument": { "commentStart": 1738, "end": 0, "raw": "0.110378", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.110378, "suffix": "None" } }, "commentStart": 1737, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 1749, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 1702, "end": 0, "name": { "commentStart": 1702, "end": 0, "name": "tangentialArcToRelative", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1702, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1762, "end": 0, "name": "endAbsolute", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1776, "elements": [ { "commentStart": 1777, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 1778, "end": 0, "name": { "commentStart": 1778, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 1777, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 1787, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 1790, "end": 0, "name": { "commentStart": 1790, "end": 0, "name": "minHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 1757, "end": 0, "name": { "commentStart": 1757, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1757, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 1807, "end": 0, "name": { "commentStart": 1807, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1807, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1828, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 1837, "end": 0, "name": { "commentStart": 1837, "end": 0, "name": "width", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 1820, "end": 0, "name": { "commentStart": 1820, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1820, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1589, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "6": [ { "commentStart": 1843, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Sketch and extrude the second end cap. This is a partial tooth", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1911, "declaration": { "commentStart": 1911, "end": 0, "id": { "commentStart": 1911, "end": 0, "name": "endCapTooth2", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "commentStart": 1940, "end": 0, "raw": "'XY'", "start": 0, "type": "Literal", "type": "Literal", "value": "XY" } ], "callee": { "abs_path": false, "commentStart": 1926, "end": 0, "name": { "commentStart": 1926, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1926, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 1966, "elements": [ { "commentStart": 1967, "end": 0, "left": { "abs_path": false, "commentStart": 1967, "end": 0, "name": { "commentStart": 1967, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 1976, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 1979, "end": 0, "raw": "11.849525", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 11.849525, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 1991, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 1951, "end": 0, "name": { "commentStart": 1951, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1951, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2004, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2010, "elements": [ { "argument": { "commentStart": 2012, "end": 0, "raw": "0.314524", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.314524, "suffix": "None" } }, "commentStart": 2011, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "argument": { "commentStart": 2023, "end": 0, "raw": "0.864147", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.864147, "suffix": "None" } }, "commentStart": 2022, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 1999, "end": 0, "name": { "commentStart": 1999, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1999, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "commentStart": 2063, "elements": [ { "argument": { "commentStart": 2065, "end": 0, "raw": "0.157636", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.157636, "suffix": "None" } }, "commentStart": 2064, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "argument": { "commentStart": 2076, "end": 0, "raw": "0.110378", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.110378, "suffix": "None" } }, "commentStart": 2075, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 2087, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 2039, "end": 0, "name": { "commentStart": 2039, "end": 0, "name": "tangentialArcToRelative", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2039, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2100, "end": 0, "name": "endAbsolute", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2114, "elements": [ { "commentStart": 2115, "end": 0, "left": { "abs_path": false, "commentStart": 2115, "end": 0, "name": { "commentStart": 2115, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 2124, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 2127, "end": 0, "name": { "commentStart": 2127, "end": 0, "name": "minHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 2095, "end": 0, "name": { "commentStart": 2095, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2095, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 2144, "end": 0, "name": { "commentStart": 2144, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2144, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2165, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 2174, "end": 0, "name": { "commentStart": 2174, "end": 0, "name": "width", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 2157, "end": 0, "name": { "commentStart": 2157, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2157, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1926, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" } ], "commentStart": 0, "end": 0, "innerAttrs": [ { "commentStart": 0, "end": 0, "name": { "commentStart": 391, "end": 0, "name": "settings", "start": 0, "type": "Identifier" }, "preComments": [ "// 100mm Gear Rack", "// A flat bar or rail that is engraved with teeth along its length. These teeth are designed to mesh with the teeth of a gear, known as a pinion. When the pinion, a small cylindrical gear, rotates, its teeth engage with the teeth on the rack, causing the rack to move linearly. Conversely, linear motion applied to the rack will cause the pinion to rotate.", "", "", "// Set Units" ], "properties": [ { "commentStart": 400, "end": 0, "key": { "commentStart": 400, "end": 0, "name": "defaultLengthUnit", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "abs_path": false, "commentStart": 420, "end": 0, "name": { "commentStart": 420, "end": 0, "name": "mm", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "start": 0, "type": "Annotation" } ], "nonCodeMeta": { "nonCodeNodes": {}, "startNodes": [ { "commentStart": 423, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "start": 0 } }