--- source: kcl-lib/src/simulation_tests.rs description: Result of parsing lego.kcl --- { "Ok": { "body": [ { "commentStart": 271, "declaration": { "commentStart": 293, "end": 0, "id": { "commentStart": 293, "end": 0, "name": "lbumps", "start": 0, "type": "Identifier" }, "init": { "commentStart": 302, "end": 0, "raw": "10", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 10.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "// Define constants" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 304, "declaration": { "commentStart": 329, "end": 0, "id": { "commentStart": 329, "end": 0, "name": "wbumps", "start": 0, "type": "Identifier" }, "init": { "commentStart": 338, "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": 339, "declaration": { "commentStart": 364, "end": 0, "id": { "commentStart": 364, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "init": { "commentStart": 372, "end": 0, "raw": "8.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 8.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 376, "declaration": { "commentStart": 376, "end": 0, "id": { "commentStart": 376, "end": 0, "name": "clearance", "start": 0, "type": "Identifier" }, "init": { "commentStart": 388, "end": 0, "raw": "0.1", "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": 392, "declaration": { "commentStart": 392, "end": 0, "id": { "commentStart": 392, "end": 0, "name": "bumpDiam", "start": 0, "type": "Identifier" }, "init": { "commentStart": 403, "end": 0, "raw": "4.8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 4.8, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 407, "declaration": { "commentStart": 407, "end": 0, "id": { "commentStart": 407, "end": 0, "name": "bumpHeight", "start": 0, "type": "Identifier" }, "init": { "commentStart": 420, "end": 0, "raw": "1.8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.8, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 424, "declaration": { "commentStart": 424, "end": 0, "id": { "commentStart": 424, "end": 0, "name": "height", "start": 0, "type": "Identifier" }, "init": { "commentStart": 433, "end": 0, "raw": "3.2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.2, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 437, "declaration": { "commentStart": 437, "end": 0, "id": { "commentStart": 437, "end": 0, "name": "t", "start": 0, "type": "Identifier" }, "init": { "commentStart": 442, "end": 0, "left": { "commentStart": 442, "end": 0, "left": { "commentStart": 442, "end": 0, "left": { "commentStart": 442, "end": 0, "name": "pitch", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "-", "right": { "commentStart": 451, "end": 0, "left": { "commentStart": 451, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "operator": "*", "right": { "commentStart": 455, "end": 0, "name": "clearance", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "-", "right": { "commentStart": 468, "end": 0, "name": "bumpDiam", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "/", "right": { "commentStart": 480, "end": 0, "raw": "2.0", "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": 484, "declaration": { "commentStart": 484, "end": 0, "id": { "commentStart": 484, "end": 0, "name": "postDiam", "start": 0, "type": "Identifier" }, "init": { "commentStart": 495, "end": 0, "left": { "commentStart": 495, "end": 0, "name": "pitch", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "-", "right": { "commentStart": 503, "end": 0, "name": "t", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 504, "declaration": { "commentStart": 525, "end": 0, "id": { "commentStart": 525, "end": 0, "name": "totalLength", "start": 0, "type": "Identifier" }, "init": { "commentStart": 539, "end": 0, "left": { "commentStart": 539, "end": 0, "left": { "commentStart": 539, "end": 0, "name": "lbumps", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "*", "right": { "commentStart": 548, "end": 0, "name": "pitch", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "-", "right": { "commentStart": 557, "end": 0, "left": { "commentStart": 557, "end": 0, "raw": "2.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "operator": "*", "right": { "commentStart": 563, "end": 0, "name": "clearance", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 574, "declaration": { "commentStart": 574, "end": 0, "id": { "commentStart": 574, "end": 0, "name": "totalWidth", "start": 0, "type": "Identifier" }, "init": { "commentStart": 587, "end": 0, "left": { "commentStart": 587, "end": 0, "left": { "commentStart": 587, "end": 0, "name": "wbumps", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "*", "right": { "commentStart": 596, "end": 0, "name": "pitch", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "-", "right": { "commentStart": 605, "end": 0, "left": { "commentStart": 605, "end": 0, "raw": "2.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "operator": "*", "right": { "commentStart": 611, "end": 0, "name": "clearance", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 621, "declaration": { "commentStart": 683, "end": 0, "id": { "commentStart": 683, "end": 0, "name": "lSegments", "start": 0, "type": "Identifier" }, "init": { "commentStart": 695, "end": 0, "left": { "commentStart": 695, "end": 0, "name": "totalLength", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "/", "right": { "commentStart": 709, "end": 0, "name": "lbumps", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Calculate the number of segments in the length and width" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 716, "declaration": { "commentStart": 716, "end": 0, "id": { "commentStart": 716, "end": 0, "name": "wSegments", "start": 0, "type": "Identifier" }, "init": { "commentStart": 728, "end": 0, "left": { "commentStart": 728, "end": 0, "name": "totalWidth", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "/", "right": { "commentStart": 741, "end": 0, "name": "wbumps", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 747, "end": 0, "expression": { "arguments": [ { "commentStart": 839, "end": 0, "name": "lbumps", "start": 0, "type": "Identifier", "type": "Identifier" }, { "commentStart": 847, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "commentStart": 850, "end": 0, "raw": "\"lbumps must be greater than 1\"", "start": 0, "type": "Literal", "type": "Literal", "value": "lbumps must be greater than 1" } ], "callee": { "commentStart": 821, "end": 0, "name": "assertGreaterThan", "start": 0, "type": "Identifier" }, "commentStart": 821, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "preComments": [ "", "", "// Add assertions to ensure that the number of bumps are greater than 1" ], "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 883, "end": 0, "expression": { "arguments": [ { "commentStart": 901, "end": 0, "name": "wbumps", "start": 0, "type": "Identifier", "type": "Identifier" }, { "commentStart": 909, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "commentStart": 912, "end": 0, "raw": "\"wbumps must be greater than 1\"", "start": 0, "type": "Literal", "type": "Literal", "value": "wbumps must be greater than 1" } ], "callee": { "commentStart": 883, "end": 0, "name": "assertGreaterThan", "start": 0, "type": "Identifier" }, "commentStart": 883, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 944, "declaration": { "commentStart": 963, "end": 0, "id": { "commentStart": 963, "end": 0, "name": "base", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "commentStart": 984, "end": 0, "raw": "'XY'", "start": 0, "type": "Literal", "type": "Literal", "value": "XY" } ], "callee": { "commentStart": 970, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "commentStart": 970, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 1010, "elements": [ { "commentStart": 1011, "end": 0, "left": { "argument": { "commentStart": 1012, "end": 0, "name": "totalWidth", "start": 0, "type": "Identifier", "type": "Identifier" }, "commentStart": 1011, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 1025, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 1028, "end": 0, "left": { "argument": { "commentStart": 1029, "end": 0, "name": "totalLength", "start": 0, "type": "Identifier", "type": "Identifier" }, "commentStart": 1028, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 1043, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 1047, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "commentStart": 995, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "commentStart": 995, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1060, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1066, "elements": [ { "commentStart": 1067, "end": 0, "name": "totalWidth", "start": 0, "type": "Identifier", "type": "Identifier" }, { "commentStart": 1079, "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": { "commentStart": 1055, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "commentStart": 1055, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1093, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1099, "elements": [ { "commentStart": 1100, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1103, "end": 0, "name": "totalLength", "start": 0, "type": "Identifier", "type": "Identifier" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "commentStart": 1088, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "commentStart": 1088, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1127, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1133, "elements": [ { "argument": { "commentStart": 1135, "end": 0, "name": "totalWidth", "start": 0, "type": "Identifier", "type": "Identifier" }, "commentStart": 1134, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "commentStart": 1147, "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": { "commentStart": 1122, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "commentStart": 1122, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [], "callee": { "commentStart": 1156, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "commentStart": 1156, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1177, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1186, "end": 0, "name": "height", "start": 0, "type": "Identifier", "type": "Identifier" } } ], "callee": { "commentStart": 1169, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "commentStart": 1169, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 970, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "6": [ { "commentStart": 1193, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Sketch and extrude a rectangular shape to create the shell underneath the lego. Will replace with shell function when able to call a face created from shell.", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Make the base" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1356, "declaration": { "commentStart": 1356, "end": 0, "id": { "commentStart": 1356, "end": 0, "name": "shellExtrude", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "commentStart": 1385, "end": 0, "name": "base", "start": 0, "type": "Identifier", "type": "Identifier" }, { "commentStart": 1391, "end": 0, "raw": "\"start\"", "start": 0, "type": "Literal", "type": "Literal", "value": "start" } ], "callee": { "commentStart": 1371, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "commentStart": 1371, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 1420, "elements": [ { "argument": { "commentStart": 1431, "end": 0, "left": { "commentStart": 1431, "end": 0, "left": { "commentStart": 1431, "end": 0, "name": "totalWidth", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "/", "right": { "commentStart": 1444, "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": 1448, "end": 0, "name": "t", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1429, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "argument": { "commentStart": 1461, "end": 0, "left": { "commentStart": 1461, "end": 0, "left": { "commentStart": 1461, "end": 0, "name": "totalLength", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "/", "right": { "commentStart": 1475, "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": 1479, "end": 0, "name": "t", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1459, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 1490, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "commentStart": 1405, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "commentStart": 1405, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1503, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1509, "elements": [ { "commentStart": 1510, "end": 0, "left": { "commentStart": 1510, "end": 0, "name": "totalWidth", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "-", "right": { "commentStart": 1524, "end": 0, "left": { "commentStart": 1524, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "operator": "*", "right": { "commentStart": 1528, "end": 0, "name": "t", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 1532, "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": { "commentStart": 1498, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "commentStart": 1498, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1546, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1552, "elements": [ { "commentStart": 1553, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1556, "end": 0, "left": { "commentStart": 1556, "end": 0, "name": "totalLength", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "-", "right": { "commentStart": 1571, "end": 0, "left": { "commentStart": 1571, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "operator": "*", "right": { "commentStart": 1575, "end": 0, "name": "t", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "commentStart": 1541, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "commentStart": 1541, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1590, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1596, "elements": [ { "argument": { "commentStart": 1599, "end": 0, "left": { "commentStart": 1599, "end": 0, "name": "totalWidth", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "-", "right": { "commentStart": 1613, "end": 0, "left": { "commentStart": 1613, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "operator": "*", "right": { "commentStart": 1617, "end": 0, "name": "t", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1597, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "commentStart": 1622, "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": { "commentStart": 1585, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "commentStart": 1585, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [], "callee": { "commentStart": 1631, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "commentStart": 1631, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1652, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "argument": { "commentStart": 1663, "end": 0, "left": { "commentStart": 1663, "end": 0, "name": "height", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "-", "right": { "commentStart": 1672, "end": 0, "name": "t", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1661, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } } ], "callee": { "commentStart": 1644, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "commentStart": 1644, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1371, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "6": [ { "commentStart": 1675, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Create the pegs on the top of the base", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1719, "declaration": { "commentStart": 1719, "end": 0, "id": { "commentStart": 1719, "end": 0, "name": "peg", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "commentStart": 1739, "end": 0, "name": "base", "start": 0, "type": "Identifier", "type": "Identifier" }, { "commentStart": 1745, "end": 0, "raw": "'end'", "start": 0, "type": "Literal", "type": "Literal", "value": "end" } ], "callee": { "commentStart": 1725, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "commentStart": 1725, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1772, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1781, "elements": [ { "argument": { "commentStart": 1794, "end": 0, "left": { "commentStart": 1794, "end": 0, "left": { "commentStart": 1794, "end": 0, "name": "pitch", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "*", "right": { "commentStart": 1803, "end": 0, "left": { "commentStart": 1803, "end": 0, "name": "wbumps", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "-", "right": { "commentStart": 1812, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "/", "right": { "commentStart": 1817, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1792, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "argument": { "commentStart": 1832, "end": 0, "left": { "commentStart": 1832, "end": 0, "left": { "commentStart": 1832, "end": 0, "name": "pitch", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "*", "right": { "commentStart": 1841, "end": 0, "left": { "commentStart": 1841, "end": 0, "name": "lbumps", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "-", "right": { "commentStart": 1850, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "/", "right": { "commentStart": 1855, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1830, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 1875, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1884, "end": 0, "left": { "commentStart": 1884, "end": 0, "name": "bumpDiam", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "/", "right": { "commentStart": 1895, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "commentStart": 1757, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "commentStart": 1757, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1933, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1940, "elements": [ { "commentStart": 1941, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "commentStart": 1944, "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": 1955, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1967, "end": 0, "name": "wbumps", "start": 0, "type": "Identifier", "type": "Identifier" } }, { "type": "LabeledArg", "label": { "commentStart": 1982, "end": 0, "name": "distance", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1993, "end": 0, "name": "pitch", "start": 0, "type": "Identifier", "type": "Identifier" } } ], "callee": { "commentStart": 1909, "end": 0, "name": "patternLinear2d", "start": 0, "type": "Identifier" }, "commentStart": 1909, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2035, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2042, "elements": [ { "commentStart": 2043, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2046, "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": 2057, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2069, "end": 0, "name": "lbumps", "start": 0, "type": "Identifier", "type": "Identifier" } }, { "type": "LabeledArg", "label": { "commentStart": 2084, "end": 0, "name": "distance", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2095, "end": 0, "name": "pitch", "start": 0, "type": "Identifier", "type": "Identifier" } } ], "callee": { "commentStart": 2011, "end": 0, "name": "patternLinear2d", "start": 0, "type": "Identifier" }, "commentStart": 2011, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2121, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2130, "end": 0, "name": "bumpHeight", "start": 0, "type": "Identifier", "type": "Identifier" } } ], "callee": { "commentStart": 2113, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "commentStart": 2113, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1725, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "4": [ { "commentStart": 2141, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Create the pegs on the bottom of the base", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 2188, "declaration": { "commentStart": 2188, "end": 0, "id": { "commentStart": 2188, "end": 0, "name": "tubePattern", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "commentStart": 2216, "end": 0, "name": "shellExtrude", "start": 0, "type": "Identifier", "type": "Identifier" }, { "commentStart": 2230, "end": 0, "raw": "'start'", "start": 0, "type": "Literal", "type": "Literal", "value": "start" } ], "callee": { "commentStart": 2202, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "commentStart": 2202, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2259, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2268, "elements": [ { "argument": { "commentStart": 2281, "end": 0, "left": { "commentStart": 2281, "end": 0, "left": { "commentStart": 2281, "end": 0, "left": { "commentStart": 2281, "end": 0, "name": "pitch", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "*", "right": { "commentStart": 2290, "end": 0, "left": { "commentStart": 2290, "end": 0, "name": "wbumps", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "-", "right": { "commentStart": 2299, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "/", "right": { "commentStart": 2304, "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": 2309, "end": 0, "left": { "commentStart": 2309, "end": 0, "name": "pitch", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "/", "right": { "commentStart": 2317, "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": 2279, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "argument": { "commentStart": 2333, "end": 0, "left": { "commentStart": 2333, "end": 0, "left": { "commentStart": 2333, "end": 0, "left": { "commentStart": 2333, "end": 0, "name": "pitch", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "*", "right": { "commentStart": 2342, "end": 0, "left": { "commentStart": 2342, "end": 0, "name": "lbumps", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "-", "right": { "commentStart": 2351, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "/", "right": { "commentStart": 2356, "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": 2361, "end": 0, "left": { "commentStart": 2361, "end": 0, "name": "pitch", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "/", "right": { "commentStart": 2369, "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": 2331, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 2390, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2399, "end": 0, "left": { "commentStart": 2399, "end": 0, "name": "bumpDiam", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "/", "right": { "commentStart": 2410, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "commentStart": 2244, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "commentStart": 2244, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2448, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2455, "elements": [ { "commentStart": 2456, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "commentStart": 2459, "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": 2470, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2482, "end": 0, "left": { "commentStart": 2482, "end": 0, "name": "wbumps", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "-", "right": { "commentStart": 2491, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 2501, "end": 0, "name": "distance", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2512, "end": 0, "name": "pitch", "start": 0, "type": "Identifier", "type": "Identifier" } } ], "callee": { "commentStart": 2424, "end": 0, "name": "patternLinear2d", "start": 0, "type": "Identifier" }, "commentStart": 2424, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2554, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2561, "elements": [ { "commentStart": 2562, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2565, "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": 2576, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2588, "end": 0, "left": { "commentStart": 2588, "end": 0, "name": "lbumps", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "-", "right": { "commentStart": 2597, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 2607, "end": 0, "name": "distance", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2618, "end": 0, "name": "pitch", "start": 0, "type": "Identifier", "type": "Identifier" } } ], "callee": { "commentStart": 2530, "end": 0, "name": "patternLinear2d", "start": 0, "type": "Identifier" }, "commentStart": 2530, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2644, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2653, "end": 0, "name": "bumpHeight", "start": 0, "type": "Identifier", "type": "Identifier" } } ], "callee": { "commentStart": 2636, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "commentStart": 2636, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 2202, "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": 239, "end": 0, "name": "settings", "start": 0, "type": "Identifier" }, "preComments": [ "// Lego Brick", "// A standard Lego brick. This is a small, plastic construction block toy that can be interlocked with other blocks to build various structures, models, and figures. There are a lot of hacks used in this code.", "", "", "// Set Units" ], "properties": [ { "commentStart": 248, "end": 0, "key": { "commentStart": 248, "end": 0, "name": "defaultLengthUnit", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 268, "end": 0, "name": "in", "start": 0, "type": "Identifier", "type": "Identifier" } } ], "start": 0, "type": "Annotation" } ], "nonCodeMeta": { "nonCodeNodes": { "0": [ { "commentStart": 304, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "inlineComment", "value": "number of bumps long", "style": "line" } } ], "1": [ { "commentStart": 339, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "inlineComment", "value": "number of bumps wide", "style": "line" } } ], "8": [ { "commentStart": 504, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "inlineComment", "value": "works out to 6.5", "style": "line" } } ] }, "startNodes": [ { "commentStart": 271, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "start": 0 } }