--- 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": "4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 4.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "// Define constants" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 303, "declaration": { "commentStart": 328, "end": 0, "id": { "commentStart": 328, "end": 0, "name": "wbumps", "start": 0, "type": "Identifier" }, "init": { "commentStart": 337, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 338, "declaration": { "commentStart": 363, "end": 0, "id": { "commentStart": 363, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "init": { "commentStart": 371, "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": 375, "declaration": { "commentStart": 375, "end": 0, "id": { "commentStart": 375, "end": 0, "name": "clearance", "start": 0, "type": "Identifier" }, "init": { "commentStart": 387, "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": 391, "declaration": { "commentStart": 391, "end": 0, "id": { "commentStart": 391, "end": 0, "name": "bumpDiam", "start": 0, "type": "Identifier" }, "init": { "commentStart": 402, "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": 406, "declaration": { "commentStart": 406, "end": 0, "id": { "commentStart": 406, "end": 0, "name": "bumpHeight", "start": 0, "type": "Identifier" }, "init": { "commentStart": 419, "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": 423, "declaration": { "commentStart": 423, "end": 0, "id": { "commentStart": 423, "end": 0, "name": "height", "start": 0, "type": "Identifier" }, "init": { "commentStart": 432, "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": 436, "declaration": { "commentStart": 436, "end": 0, "id": { "commentStart": 436, "end": 0, "name": "t", "start": 0, "type": "Identifier" }, "init": { "commentStart": 441, "end": 0, "left": { "commentStart": 441, "end": 0, "left": { "commentStart": 441, "end": 0, "left": { "abs_path": false, "commentStart": 441, "end": 0, "name": { "commentStart": 441, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "commentStart": 450, "end": 0, "left": { "commentStart": 450, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 454, "end": 0, "name": { "commentStart": 454, "end": 0, "name": "clearance", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "-", "right": { "abs_path": false, "commentStart": 467, "end": 0, "name": { "commentStart": 467, "end": 0, "name": "bumpDiam", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "/", "right": { "commentStart": 479, "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": 483, "declaration": { "commentStart": 483, "end": 0, "id": { "commentStart": 483, "end": 0, "name": "postDiam", "start": 0, "type": "Identifier" }, "init": { "commentStart": 494, "end": 0, "left": { "abs_path": false, "commentStart": 494, "end": 0, "name": { "commentStart": 494, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "abs_path": false, "commentStart": 502, "end": 0, "name": { "commentStart": 502, "end": 0, "name": "t", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 503, "declaration": { "commentStart": 524, "end": 0, "id": { "commentStart": 524, "end": 0, "name": "totalLength", "start": 0, "type": "Identifier" }, "init": { "commentStart": 538, "end": 0, "left": { "commentStart": 538, "end": 0, "left": { "abs_path": false, "commentStart": 538, "end": 0, "name": { "commentStart": 538, "end": 0, "name": "lbumps", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "abs_path": false, "commentStart": 547, "end": 0, "name": { "commentStart": 547, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "-", "right": { "commentStart": 556, "end": 0, "left": { "commentStart": 556, "end": 0, "raw": "2.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 562, "end": 0, "name": { "commentStart": 562, "end": 0, "name": "clearance", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "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": 573, "declaration": { "commentStart": 573, "end": 0, "id": { "commentStart": 573, "end": 0, "name": "totalWidth", "start": 0, "type": "Identifier" }, "init": { "commentStart": 586, "end": 0, "left": { "commentStart": 586, "end": 0, "left": { "abs_path": false, "commentStart": 586, "end": 0, "name": { "commentStart": 586, "end": 0, "name": "wbumps", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "abs_path": false, "commentStart": 595, "end": 0, "name": { "commentStart": 595, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "-", "right": { "commentStart": 604, "end": 0, "left": { "commentStart": 604, "end": 0, "raw": "2.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 610, "end": 0, "name": { "commentStart": 610, "end": 0, "name": "clearance", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "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": 620, "declaration": { "commentStart": 682, "end": 0, "id": { "commentStart": 682, "end": 0, "name": "lSegments", "start": 0, "type": "Identifier" }, "init": { "commentStart": 694, "end": 0, "left": { "abs_path": false, "commentStart": 694, "end": 0, "name": { "commentStart": 694, "end": 0, "name": "totalLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "abs_path": false, "commentStart": 708, "end": 0, "name": { "commentStart": 708, "end": 0, "name": "lbumps", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "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": 715, "declaration": { "commentStart": 715, "end": 0, "id": { "commentStart": 715, "end": 0, "name": "wSegments", "start": 0, "type": "Identifier" }, "init": { "commentStart": 727, "end": 0, "left": { "abs_path": false, "commentStart": 727, "end": 0, "name": { "commentStart": 727, "end": 0, "name": "totalWidth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "abs_path": false, "commentStart": 740, "end": 0, "name": { "commentStart": 740, "end": 0, "name": "wbumps", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 746, "end": 0, "expression": { "arguments": [ { "abs_path": false, "commentStart": 838, "end": 0, "name": { "commentStart": 838, "end": 0, "name": "lbumps", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 846, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "commentStart": 849, "end": 0, "raw": "\"lbumps must be greater than 1\"", "start": 0, "type": "Literal", "type": "Literal", "value": "lbumps must be greater than 1" } ], "callee": { "abs_path": false, "commentStart": 820, "end": 0, "name": { "commentStart": 820, "end": 0, "name": "assertGreaterThan", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 820, "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": 882, "end": 0, "expression": { "arguments": [ { "abs_path": false, "commentStart": 900, "end": 0, "name": { "commentStart": 900, "end": 0, "name": "wbumps", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 908, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "commentStart": 911, "end": 0, "raw": "\"wbumps must be greater than 1\"", "start": 0, "type": "Literal", "type": "Literal", "value": "wbumps must be greater than 1" } ], "callee": { "abs_path": false, "commentStart": 882, "end": 0, "name": { "commentStart": 882, "end": 0, "name": "assertGreaterThan", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 882, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 943, "declaration": { "commentStart": 962, "end": 0, "id": { "commentStart": 962, "end": 0, "name": "base", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "abs_path": false, "commentStart": 983, "end": 0, "name": { "commentStart": 983, "end": 0, "name": "XY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 969, "end": 0, "name": { "commentStart": 969, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 969, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 1007, "elements": [ { "commentStart": 1008, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 1009, "end": 0, "name": { "commentStart": 1009, "end": 0, "name": "totalWidth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 1008, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 1022, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 1025, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 1026, "end": 0, "name": { "commentStart": 1026, "end": 0, "name": "totalLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 1025, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 1040, "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": 1044, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 992, "end": 0, "name": { "commentStart": 992, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 992, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1057, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1063, "elements": [ { "abs_path": false, "commentStart": 1064, "end": 0, "name": { "commentStart": 1064, "end": 0, "name": "totalWidth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 1076, "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": 1052, "end": 0, "name": { "commentStart": 1052, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1052, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1090, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1096, "elements": [ { "commentStart": 1097, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 1100, "end": 0, "name": { "commentStart": 1100, "end": 0, "name": "totalLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 1085, "end": 0, "name": { "commentStart": 1085, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1085, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1124, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1130, "elements": [ { "argument": { "abs_path": false, "commentStart": 1132, "end": 0, "name": { "commentStart": 1132, "end": 0, "name": "totalWidth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 1131, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "commentStart": 1144, "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": 1119, "end": 0, "name": { "commentStart": 1119, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1119, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 1153, "end": 0, "name": { "commentStart": 1153, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1153, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1174, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 1183, "end": 0, "name": { "commentStart": 1183, "end": 0, "name": "height", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 1166, "end": 0, "name": { "commentStart": 1166, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1166, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 969, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "6": [ { "commentStart": 1190, "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": 1353, "declaration": { "commentStart": 1353, "end": 0, "id": { "commentStart": 1353, "end": 0, "name": "shellExtrude", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "abs_path": false, "commentStart": 1382, "end": 0, "name": { "commentStart": 1382, "end": 0, "name": "base", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 1388, "end": 0, "raw": "\"start\"", "start": 0, "type": "Literal", "type": "Literal", "value": "start" } ], "callee": { "abs_path": false, "commentStart": 1368, "end": 0, "name": { "commentStart": 1368, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1368, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 1417, "elements": [ { "argument": { "commentStart": 1428, "end": 0, "left": { "commentStart": 1428, "end": 0, "left": { "abs_path": false, "commentStart": 1428, "end": 0, "name": { "commentStart": 1428, "end": 0, "name": "totalWidth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 1441, "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": 1445, "end": 0, "name": { "commentStart": 1445, "end": 0, "name": "t", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1426, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "argument": { "commentStart": 1458, "end": 0, "left": { "commentStart": 1458, "end": 0, "left": { "abs_path": false, "commentStart": 1458, "end": 0, "name": { "commentStart": 1458, "end": 0, "name": "totalLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 1472, "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": 1476, "end": 0, "name": { "commentStart": 1476, "end": 0, "name": "t", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1456, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 1487, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 1402, "end": 0, "name": { "commentStart": 1402, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1402, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1500, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1506, "elements": [ { "commentStart": 1507, "end": 0, "left": { "abs_path": false, "commentStart": 1507, "end": 0, "name": { "commentStart": 1507, "end": 0, "name": "totalWidth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "commentStart": 1521, "end": 0, "left": { "commentStart": 1521, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 1525, "end": 0, "name": { "commentStart": 1525, "end": 0, "name": "t", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 1529, "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": 1495, "end": 0, "name": { "commentStart": 1495, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1495, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1543, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1549, "elements": [ { "commentStart": 1550, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1553, "end": 0, "left": { "abs_path": false, "commentStart": 1553, "end": 0, "name": { "commentStart": 1553, "end": 0, "name": "totalLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "commentStart": 1568, "end": 0, "left": { "commentStart": 1568, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 1572, "end": 0, "name": { "commentStart": 1572, "end": 0, "name": "t", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 1538, "end": 0, "name": { "commentStart": 1538, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1538, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1587, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1593, "elements": [ { "argument": { "commentStart": 1596, "end": 0, "left": { "abs_path": false, "commentStart": 1596, "end": 0, "name": { "commentStart": 1596, "end": 0, "name": "totalWidth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "commentStart": 1610, "end": 0, "left": { "commentStart": 1610, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 1614, "end": 0, "name": { "commentStart": 1614, "end": 0, "name": "t", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1594, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "commentStart": 1619, "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": 1582, "end": 0, "name": { "commentStart": 1582, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1582, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 1628, "end": 0, "name": { "commentStart": 1628, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1628, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1649, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "argument": { "commentStart": 1660, "end": 0, "left": { "abs_path": false, "commentStart": 1660, "end": 0, "name": { "commentStart": 1660, "end": 0, "name": "height", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "abs_path": false, "commentStart": 1669, "end": 0, "name": { "commentStart": 1669, "end": 0, "name": "t", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1658, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 1641, "end": 0, "name": { "commentStart": 1641, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1641, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1368, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "6": [ { "commentStart": 1672, "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": 1716, "declaration": { "commentStart": 1716, "end": 0, "id": { "commentStart": 1716, "end": 0, "name": "peg", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "abs_path": false, "commentStart": 1736, "end": 0, "name": { "commentStart": 1736, "end": 0, "name": "base", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 1742, "end": 0, "raw": "'end'", "start": 0, "type": "Literal", "type": "Literal", "value": "end" } ], "callee": { "abs_path": false, "commentStart": 1722, "end": 0, "name": { "commentStart": 1722, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1722, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1769, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1778, "elements": [ { "argument": { "commentStart": 1791, "end": 0, "left": { "commentStart": 1791, "end": 0, "left": { "abs_path": false, "commentStart": 1791, "end": 0, "name": { "commentStart": 1791, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 1800, "end": 0, "left": { "abs_path": false, "commentStart": 1800, "end": 0, "name": { "commentStart": 1800, "end": 0, "name": "wbumps", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "commentStart": 1809, "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": 1814, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1789, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "argument": { "commentStart": 1829, "end": 0, "left": { "commentStart": 1829, "end": 0, "left": { "abs_path": false, "commentStart": 1829, "end": 0, "name": { "commentStart": 1829, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 1838, "end": 0, "left": { "abs_path": false, "commentStart": 1838, "end": 0, "name": { "commentStart": 1838, "end": 0, "name": "lbumps", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "commentStart": 1847, "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": 1852, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1827, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 1872, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1881, "end": 0, "left": { "abs_path": false, "commentStart": 1881, "end": 0, "name": { "commentStart": 1881, "end": 0, "name": "bumpDiam", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 1892, "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": 1754, "end": 0, "name": { "commentStart": 1754, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1754, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1923, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1930, "elements": [ { "commentStart": 1931, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "commentStart": 1934, "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": 1938, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 1950, "end": 0, "name": { "commentStart": 1950, "end": 0, "name": "wbumps", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "type": "LabeledArg", "label": { "commentStart": 1958, "end": 0, "name": "distance", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 1969, "end": 0, "name": { "commentStart": 1969, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 1907, "end": 0, "name": { "commentStart": 1907, "end": 0, "name": "patternLinear2d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1907, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1997, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2004, "elements": [ { "commentStart": 2005, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2008, "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": 2012, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 2024, "end": 0, "name": { "commentStart": 2024, "end": 0, "name": "lbumps", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "type": "LabeledArg", "label": { "commentStart": 2032, "end": 0, "name": "distance", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 2043, "end": 0, "name": { "commentStart": 2043, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 1981, "end": 0, "name": { "commentStart": 1981, "end": 0, "name": "patternLinear2d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1981, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2063, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 2072, "end": 0, "name": { "commentStart": 2072, "end": 0, "name": "bumpHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 2055, "end": 0, "name": { "commentStart": 2055, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2055, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1722, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "4": [ { "commentStart": 2083, "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": 2130, "declaration": { "commentStart": 2130, "end": 0, "id": { "commentStart": 2130, "end": 0, "name": "tubePattern", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "abs_path": false, "commentStart": 2158, "end": 0, "name": { "commentStart": 2158, "end": 0, "name": "shellExtrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 2172, "end": 0, "raw": "'start'", "start": 0, "type": "Literal", "type": "Literal", "value": "start" } ], "callee": { "abs_path": false, "commentStart": 2144, "end": 0, "name": { "commentStart": 2144, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2144, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2201, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2210, "elements": [ { "argument": { "commentStart": 2223, "end": 0, "left": { "commentStart": 2223, "end": 0, "left": { "commentStart": 2223, "end": 0, "left": { "abs_path": false, "commentStart": 2223, "end": 0, "name": { "commentStart": 2223, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 2232, "end": 0, "left": { "abs_path": false, "commentStart": 2232, "end": 0, "name": { "commentStart": 2232, "end": 0, "name": "wbumps", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "commentStart": 2241, "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": 2246, "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": 2251, "end": 0, "left": { "abs_path": false, "commentStart": 2251, "end": 0, "name": { "commentStart": 2251, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 2259, "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": 2221, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "argument": { "commentStart": 2275, "end": 0, "left": { "commentStart": 2275, "end": 0, "left": { "commentStart": 2275, "end": 0, "left": { "abs_path": false, "commentStart": 2275, "end": 0, "name": { "commentStart": 2275, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 2284, "end": 0, "left": { "abs_path": false, "commentStart": 2284, "end": 0, "name": { "commentStart": 2284, "end": 0, "name": "lbumps", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "commentStart": 2293, "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": 2298, "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": 2303, "end": 0, "left": { "abs_path": false, "commentStart": 2303, "end": 0, "name": { "commentStart": 2303, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 2311, "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": 2273, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 2332, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2341, "end": 0, "left": { "abs_path": false, "commentStart": 2341, "end": 0, "name": { "commentStart": 2341, "end": 0, "name": "bumpDiam", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 2352, "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": 2186, "end": 0, "name": { "commentStart": 2186, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2186, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2383, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2390, "elements": [ { "commentStart": 2391, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "commentStart": 2394, "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": 2398, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2410, "end": 0, "left": { "abs_path": false, "commentStart": 2410, "end": 0, "name": { "commentStart": 2410, "end": 0, "name": "wbumps", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "commentStart": 2419, "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": 2422, "end": 0, "name": "distance", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 2433, "end": 0, "name": { "commentStart": 2433, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 2367, "end": 0, "name": { "commentStart": 2367, "end": 0, "name": "patternLinear2d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2367, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2461, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2468, "elements": [ { "commentStart": 2469, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2472, "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": 2476, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2488, "end": 0, "left": { "abs_path": false, "commentStart": 2488, "end": 0, "name": { "commentStart": 2488, "end": 0, "name": "lbumps", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "commentStart": 2497, "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": 2500, "end": 0, "name": "distance", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 2511, "end": 0, "name": { "commentStart": 2511, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 2445, "end": 0, "name": { "commentStart": 2445, "end": 0, "name": "patternLinear2d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2445, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2531, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 2540, "end": 0, "name": { "commentStart": 2540, "end": 0, "name": "bumpHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 2523, "end": 0, "name": { "commentStart": 2523, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2523, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 2144, "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": { "abs_path": false, "commentStart": 268, "end": 0, "name": { "commentStart": 268, "end": 0, "name": "in", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "start": 0, "type": "Annotation" } ], "nonCodeMeta": { "nonCodeNodes": { "0": [ { "commentStart": 303, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "inlineComment", "value": "number of bumps long", "style": "line" } } ], "1": [ { "commentStart": 338, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "inlineComment", "value": "number of bumps wide", "style": "line" } } ], "8": [ { "commentStart": 503, "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 } }