--- source: kcl-lib/src/simulation_tests.rs description: Result of parsing ball-bearing.kcl --- { "Ok": { "body": [ { "commentStart": 295, "declaration": { "commentStart": 385, "end": 0, "id": { "commentStart": 385, "end": 0, "name": "outsideDiameter", "start": 0, "type": "Identifier" }, "init": { "commentStart": 403, "end": 0, "raw": "1.625", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.625, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "// Define constants like ball diameter, inside diamter, overhange length, and thickness" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 409, "declaration": { "commentStart": 409, "end": 0, "id": { "commentStart": 409, "end": 0, "name": "sphereDia", "start": 0, "type": "Identifier" }, "init": { "commentStart": 421, "end": 0, "raw": "0.25", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.25, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 426, "declaration": { "commentStart": 426, "end": 0, "id": { "commentStart": 426, "end": 0, "name": "shaftDia", "start": 0, "type": "Identifier" }, "init": { "commentStart": 437, "end": 0, "raw": "0.75", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.75, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 442, "declaration": { "commentStart": 442, "end": 0, "id": { "commentStart": 442, "end": 0, "name": "overallThickness", "start": 0, "type": "Identifier" }, "init": { "commentStart": 461, "end": 0, "raw": "0.313", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.313, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 467, "declaration": { "commentStart": 467, "end": 0, "id": { "commentStart": 467, "end": 0, "name": "wallThickness", "start": 0, "type": "Identifier" }, "init": { "commentStart": 483, "end": 0, "raw": "0.100", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.1, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 489, "declaration": { "commentStart": 489, "end": 0, "id": { "commentStart": 489, "end": 0, "name": "overHangLength", "start": 0, "type": "Identifier" }, "init": { "commentStart": 506, "end": 0, "raw": ".3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.3, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 509, "declaration": { "commentStart": 509, "end": 0, "id": { "commentStart": 509, "end": 0, "name": "nBalls", "start": 0, "type": "Identifier" }, "init": { "commentStart": 518, "end": 0, "raw": "10", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 10.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 521, "declaration": { "commentStart": 521, "end": 0, "id": { "commentStart": 521, "end": 0, "name": "chainWidth", "start": 0, "type": "Identifier" }, "init": { "commentStart": 534, "end": 0, "left": { "abs_path": false, "commentStart": 534, "end": 0, "name": { "commentStart": 534, "end": 0, "name": "sphereDia", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 546, "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": 548, "declaration": { "commentStart": 548, "end": 0, "id": { "commentStart": 548, "end": 0, "name": "chainThickness", "start": 0, "type": "Identifier" }, "init": { "commentStart": 565, "end": 0, "left": { "abs_path": false, "commentStart": 565, "end": 0, "name": { "commentStart": 565, "end": 0, "name": "sphereDia", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 577, "end": 0, "raw": "8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 8.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 579, "declaration": { "commentStart": 579, "end": 0, "id": { "commentStart": 579, "end": 0, "name": "linkDiameter", "start": 0, "type": "Identifier" }, "init": { "commentStart": 594, "end": 0, "left": { "abs_path": false, "commentStart": 594, "end": 0, "name": { "commentStart": 594, "end": 0, "name": "sphereDia", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 606, "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": 607, "declaration": { "commentStart": 644, "end": 0, "id": { "commentStart": 644, "end": 0, "name": "insideWallSketch", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 695, "end": 0, "name": "offset", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 704, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 705, "end": 0, "name": { "commentStart": 705, "end": 0, "name": "overallThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 704, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 724, "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": 677, "end": 0, "name": { "commentStart": 677, "end": 0, "name": "offsetPlane", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 677, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 689, "end": 0, "raw": "\"XY\"", "start": 0, "type": "Literal", "type": "Literal", "value": "XY" } } ], "callee": { "abs_path": false, "commentStart": 663, "end": 0, "name": { "commentStart": 663, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 663, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 748, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 757, "elements": [ { "commentStart": 758, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 761, "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": 772, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 781, "end": 0, "left": { "commentStart": 781, "end": 0, "left": { "abs_path": false, "commentStart": 781, "end": 0, "name": { "commentStart": 781, "end": 0, "name": "shaftDia", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 792, "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": 796, "end": 0, "name": { "commentStart": 796, "end": 0, "name": "wallThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 733, "end": 0, "name": { "commentStart": 733, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 733, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 842, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 851, "elements": [ { "commentStart": 852, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 855, "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": 866, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 875, "end": 0, "left": { "abs_path": false, "commentStart": 875, "end": 0, "name": { "commentStart": 875, "end": 0, "name": "shaftDia", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 886, "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": 827, "end": 0, "name": { "commentStart": 827, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 827, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "commentStart": 896, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 822, "end": 0, "name": { "commentStart": 822, "end": 0, "name": "hole", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 822, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "commentStart": 663, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "2": [ { "commentStart": 898, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Extrude the inside bearing piece", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Sketch the inside bearing piece" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 936, "declaration": { "commentStart": 936, "end": 0, "id": { "commentStart": 936, "end": 0, "name": "insideWall", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 975, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 984, "end": 0, "name": { "commentStart": 984, "end": 0, "name": "overallThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 949, "end": 0, "name": { "commentStart": 949, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 949, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 957, "end": 0, "name": { "commentStart": 957, "end": 0, "name": "insideWallSketch", "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" }, { "commentStart": 1001, "declaration": { "commentStart": 1044, "end": 0, "id": { "commentStart": 1044, "end": 0, "name": "ballsSketch", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "commentStart": 1072, "end": 0, "raw": "\"XY\"", "start": 0, "type": "Literal", "type": "Literal", "value": "XY" } ], "callee": { "abs_path": false, "commentStart": 1058, "end": 0, "name": { "commentStart": 1058, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1058, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 1098, "elements": [ { "commentStart": 1099, "end": 0, "left": { "commentStart": 1099, "end": 0, "left": { "abs_path": false, "commentStart": 1099, "end": 0, "name": { "commentStart": 1099, "end": 0, "name": "shaftDia", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 1110, "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": 1114, "end": 0, "name": { "commentStart": 1114, "end": 0, "name": "wallThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 1129, "end": 0, "raw": "0.001", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.001, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 1137, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 1083, "end": 0, "name": { "commentStart": 1083, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1083, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 1149, "end": 0, "properties": [ { "commentStart": 1158, "end": 0, "key": { "commentStart": 1158, "end": 0, "name": "angleEnd", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1169, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } }, { "commentStart": 1179, "end": 0, "key": { "commentStart": 1179, "end": 0, "name": "angleStart", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1192, "end": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } } }, { "commentStart": 1204, "end": 0, "key": { "commentStart": 1204, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1213, "end": 0, "left": { "abs_path": false, "commentStart": 1213, "end": 0, "name": { "commentStart": 1213, "end": 0, "name": "sphereDia", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 1225, "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": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 1235, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 1145, "end": 0, "name": { "commentStart": 1145, "end": 0, "name": "arc", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1145, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 1243, "end": 0, "name": { "commentStart": 1243, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1243, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "commentStart": 1058, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "3": [ { "commentStart": 1250, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Revolve the ball to make a sphere and pattern around the inside wall", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Create the sketch of one of the balls" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1324, "declaration": { "commentStart": 1324, "end": 0, "id": { "commentStart": 1324, "end": 0, "name": "balls", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1353, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1360, "end": 0, "raw": "\"X\"", "start": 0, "type": "Literal", "type": "Literal", "value": "X" } } ], "callee": { "abs_path": false, "commentStart": 1332, "end": 0, "name": { "commentStart": 1332, "end": 0, "name": "revolve", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1332, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 1340, "end": 0, "name": { "commentStart": 1340, "end": 0, "name": "ballsSketch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1396, "end": 0, "name": "arcDegrees", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1409, "end": 0, "raw": "360", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 360.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1421, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1428, "elements": [ { "commentStart": 1429, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1432, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1435, "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": 1446, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1455, "elements": [ { "commentStart": 1456, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1459, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1462, "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": 1473, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 1485, "end": 0, "name": { "commentStart": 1485, "end": 0, "name": "nBalls", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "type": "LabeledArg", "label": { "commentStart": 1500, "end": 0, "name": "rotateDuplicates", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1519, "end": 0, "raw": "true", "start": 0, "type": "Literal", "type": "Literal", "value": true } } ], "callee": { "abs_path": false, "commentStart": 1370, "end": 0, "name": { "commentStart": 1370, "end": 0, "name": "patternCircular3d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1370, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1332, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "1": [ { "commentStart": 1530, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Create the sketch for the chain around the balls", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1584, "declaration": { "commentStart": 1584, "end": 0, "id": { "commentStart": 1584, "end": 0, "name": "chainSketch", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "commentStart": 1612, "end": 0, "raw": "\"XY\"", "start": 0, "type": "Literal", "type": "Literal", "value": "XY" } ], "callee": { "abs_path": false, "commentStart": 1598, "end": 0, "name": { "commentStart": 1598, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1598, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 1638, "elements": [ { "commentStart": 1647, "end": 0, "left": { "commentStart": 1647, "end": 0, "left": { "commentStart": 1647, "end": 0, "left": { "commentStart": 1647, "end": 0, "left": { "abs_path": false, "commentStart": 1647, "end": 0, "name": { "commentStart": 1647, "end": 0, "name": "shaftDia", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 1658, "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": 1662, "end": 0, "name": { "commentStart": 1662, "end": 0, "name": "wallThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 1678, "end": 0, "left": { "abs_path": false, "commentStart": 1678, "end": 0, "name": { "commentStart": 1678, "end": 0, "name": "sphereDia", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 1690, "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" }, "operator": "-", "right": { "commentStart": 1695, "end": 0, "left": { "abs_path": false, "commentStart": 1695, "end": 0, "name": { "commentStart": 1695, "end": 0, "name": "chainWidth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 1708, "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" }, { "commentStart": 1719, "end": 0, "left": { "commentStart": 1719, "end": 0, "raw": "0.125", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.125, "suffix": "None" } }, "operator": "*", "right": { "arguments": [ { "arguments": [ { "commentStart": 1741, "end": 0, "raw": "60", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 60.0, "suffix": "None" } } ], "callee": { "abs_path": false, "commentStart": 1731, "end": 0, "name": { "commentStart": 1731, "end": 0, "name": "toRadians", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1731, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "callee": { "abs_path": false, "commentStart": 1727, "end": 0, "name": { "commentStart": 1727, "end": 0, "name": "sin", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1727, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 1754, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 1623, "end": 0, "name": { "commentStart": 1623, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1623, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 1766, "end": 0, "properties": [ { "commentStart": 1775, "end": 0, "key": { "commentStart": 1775, "end": 0, "name": "angleEnd", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1786, "end": 0, "raw": "60", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 60.0, "suffix": "None" } } }, { "commentStart": 1797, "end": 0, "key": { "commentStart": 1797, "end": 0, "name": "angleStart", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1810, "end": 0, "raw": "120", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 120.0, "suffix": "None" } } }, { "commentStart": 1822, "end": 0, "key": { "commentStart": 1822, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1831, "end": 0, "left": { "abs_path": false, "commentStart": 1831, "end": 0, "name": { "commentStart": 1831, "end": 0, "name": "sphereDia", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 1843, "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": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 1853, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 1762, "end": 0, "name": { "commentStart": 1762, "end": 0, "name": "arc", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1762, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1866, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1872, "elements": [ { "commentStart": 1873, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 1876, "end": 0, "name": { "commentStart": 1876, "end": 0, "name": "chainThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 1861, "end": 0, "name": { "commentStart": 1861, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1861, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1903, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1909, "elements": [ { "argument": { "abs_path": false, "commentStart": 1911, "end": 0, "name": { "commentStart": 1911, "end": 0, "name": "chainWidth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 1910, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "commentStart": 1923, "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": 1898, "end": 0, "name": { "commentStart": 1898, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1898, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 1932, "end": 0, "name": { "commentStart": 1932, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1932, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "commentStart": 1598, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "5": [ { "commentStart": 1939, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Revolve the chain sketch", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1969, "declaration": { "commentStart": 1969, "end": 0, "id": { "commentStart": 1969, "end": 0, "name": "chainHead", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2002, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2009, "end": 0, "raw": "\"X\"", "start": 0, "type": "Literal", "type": "Literal", "value": "X" } } ], "callee": { "abs_path": false, "commentStart": 1981, "end": 0, "name": { "commentStart": 1981, "end": 0, "name": "revolve", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1981, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 1989, "end": 0, "name": { "commentStart": 1989, "end": 0, "name": "chainSketch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2045, "end": 0, "name": "arcDegrees", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2058, "end": 0, "raw": "360", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 360.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 2070, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2077, "elements": [ { "commentStart": 2078, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2081, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2084, "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": 2095, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2104, "elements": [ { "commentStart": 2105, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2108, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2111, "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": 2122, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 2134, "end": 0, "name": { "commentStart": 2134, "end": 0, "name": "nBalls", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "type": "LabeledArg", "label": { "commentStart": 2149, "end": 0, "name": "rotateDuplicates", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2168, "end": 0, "raw": "true", "start": 0, "type": "Literal", "type": "Literal", "value": true } } ], "callee": { "abs_path": false, "commentStart": 2019, "end": 0, "name": { "commentStart": 2019, "end": 0, "name": "patternCircular3d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2019, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1981, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "1": [ { "commentStart": 2179, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Create the sketch for the links in between the chains", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 2238, "declaration": { "commentStart": 2238, "end": 0, "id": { "commentStart": 2238, "end": 0, "name": "linkSketch", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "commentStart": 2265, "end": 0, "raw": "\"XZ\"", "start": 0, "type": "Literal", "type": "Literal", "value": "XZ" } ], "callee": { "abs_path": false, "commentStart": 2251, "end": 0, "name": { "commentStart": 2251, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2251, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2291, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2300, "elements": [ { "commentStart": 2311, "end": 0, "left": { "commentStart": 2311, "end": 0, "left": { "commentStart": 2311, "end": 0, "left": { "abs_path": false, "commentStart": 2311, "end": 0, "name": { "commentStart": 2311, "end": 0, "name": "shaftDia", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 2322, "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": 2326, "end": 0, "name": { "commentStart": 2326, "end": 0, "name": "wallThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 2342, "end": 0, "left": { "abs_path": false, "commentStart": 2342, "end": 0, "name": { "commentStart": 2342, "end": 0, "name": "sphereDia", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 2354, "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" }, { "commentStart": 2366, "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": 2385, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2394, "end": 0, "left": { "abs_path": false, "commentStart": 2394, "end": 0, "name": { "commentStart": 2394, "end": 0, "name": "linkDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 2409, "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": 2276, "end": 0, "name": { "commentStart": 2276, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2276, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 2251, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "1": [ { "commentStart": 2417, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Revolve the link sketch", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 2446, "declaration": { "commentStart": 2446, "end": 0, "id": { "commentStart": 2446, "end": 0, "name": "linkRevolve", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2480, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2487, "end": 0, "raw": "'Y'", "start": 0, "type": "Literal", "type": "Literal", "value": "Y" } }, { "type": "LabeledArg", "label": { "commentStart": 2492, "end": 0, "name": "angle", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2500, "end": 0, "left": { "commentStart": 2500, "end": 0, "raw": "360", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 360.0, "suffix": "None" } }, "operator": "/", "right": { "abs_path": false, "commentStart": 2506, "end": 0, "name": { "commentStart": 2506, "end": 0, "name": "nBalls", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 2460, "end": 0, "name": { "commentStart": 2460, "end": 0, "name": "revolve", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2460, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 2468, "end": 0, "name": { "commentStart": 2468, "end": 0, "name": "linkSketch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2545, "end": 0, "name": "arcDegrees", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2558, "end": 0, "raw": "360", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 360.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 2570, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2577, "elements": [ { "commentStart": 2578, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2581, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2584, "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": 2595, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2604, "elements": [ { "commentStart": 2605, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2608, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2611, "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": 2622, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 2634, "end": 0, "name": { "commentStart": 2634, "end": 0, "name": "nBalls", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "type": "LabeledArg", "label": { "commentStart": 2649, "end": 0, "name": "rotateDuplicates", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2668, "end": 0, "raw": "true", "start": 0, "type": "Literal", "type": "Literal", "value": true } } ], "callee": { "abs_path": false, "commentStart": 2519, "end": 0, "name": { "commentStart": 2519, "end": 0, "name": "patternCircular3d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2519, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 2460, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "1": [ { "commentStart": 2679, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Create the sketch for the outside walls", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 2724, "declaration": { "commentStart": 2724, "end": 0, "id": { "commentStart": 2724, "end": 0, "name": "outsideWallSketch", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2776, "end": 0, "name": "offset", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2785, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 2786, "end": 0, "name": { "commentStart": 2786, "end": 0, "name": "overallThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 2785, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 2805, "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": 2758, "end": 0, "name": { "commentStart": 2758, "end": 0, "name": "offsetPlane", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2758, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 2770, "end": 0, "raw": "\"XY\"", "start": 0, "type": "Literal", "type": "Literal", "value": "XY" } } ], "callee": { "abs_path": false, "commentStart": 2744, "end": 0, "name": { "commentStart": 2744, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2744, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2829, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2838, "elements": [ { "commentStart": 2839, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2842, "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": 2853, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2862, "end": 0, "left": { "abs_path": false, "commentStart": 2862, "end": 0, "name": { "commentStart": 2862, "end": 0, "name": "outsideDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 2880, "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": 2814, "end": 0, "name": { "commentStart": 2814, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2814, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2914, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2923, "elements": [ { "commentStart": 2924, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2927, "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": 2938, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2947, "end": 0, "left": { "commentStart": 2947, "end": 0, "left": { "commentStart": 2947, "end": 0, "left": { "abs_path": false, "commentStart": 2947, "end": 0, "name": { "commentStart": 2947, "end": 0, "name": "shaftDia", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 2958, "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": 2962, "end": 0, "name": { "commentStart": 2962, "end": 0, "name": "wallThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 2978, "end": 0, "name": { "commentStart": 2978, "end": 0, "name": "sphereDia", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 2899, "end": 0, "name": { "commentStart": 2899, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2899, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "commentStart": 2996, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 2894, "end": 0, "name": { "commentStart": 2894, "end": 0, "name": "hole", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2894, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "commentStart": 2744, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 2998, "declaration": { "commentStart": 3000, "end": 0, "id": { "commentStart": 3000, "end": 0, "name": "outsideWall", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 3041, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 3050, "end": 0, "name": { "commentStart": 3050, "end": 0, "name": "overallThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 3014, "end": 0, "name": { "commentStart": 3014, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 3014, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 3022, "end": 0, "name": { "commentStart": 3022, "end": 0, "name": "outsideWallSketch", "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" } ], "commentStart": 0, "end": 0, "innerAttrs": [ { "commentStart": 0, "end": 0, "name": { "commentStart": 263, "end": 0, "name": "settings", "start": 0, "type": "Identifier" }, "preComments": [ "// Ball Bearing", "// A ball bearing is a type of rolling-element bearing that uses balls to maintain the separation between the bearing races. The primary purpose of a ball bearing is to reduce rotational friction and support radial and axial loads.", "", "", "// Set units" ], "properties": [ { "commentStart": 272, "end": 0, "key": { "commentStart": 272, "end": 0, "name": "defaultLengthUnit", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "abs_path": false, "commentStart": 292, "end": 0, "name": { "commentStart": 292, "end": 0, "name": "in", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "start": 0, "type": "Annotation" } ], "nonCodeMeta": { "nonCodeNodes": { "18": [ { "commentStart": 2998, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ], "19": [ { "commentStart": 3067, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "https://www.mcmaster.com/60355K185/", "style": "line" } } ] }, "startNodes": [ { "commentStart": 295, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "start": 0 } }