--- source: kcl-lib/src/simulation_tests.rs description: Result of parsing counterdrilled-weldment.kcl --- { "Ok": { "body": [ { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "boltSpacingX", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "end": 0, "raw": "5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 5.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "// Define parameters" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "boltSpacingY", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "boltDiameter", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "operator": "/", "right": { "commentStart": 0, "end": 0, "raw": "4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 4.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "counterdrillDiameter", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "raw": "7", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 7.0, "suffix": "None" } }, "operator": "/", "right": { "commentStart": 0, "end": 0, "raw": "16", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 16.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "counterdrillDepth", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "operator": "/", "right": { "commentStart": 0, "end": 0, "raw": "16", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 16.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "tubeInnerDiameter", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "operator": "+", "right": { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "operator": "/", "right": { "commentStart": 0, "end": 0, "raw": "4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 4.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "tubeThickness", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "end": 0, "raw": "0.115", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.115, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "tubeHeight", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "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": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "stockThickness", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "end": 0, "raw": ".5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.5, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "blockLength", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltSpacingX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 0, "end": 0, "raw": "6", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 6.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Calculate the dimensions of the block using the specified bolt spacing. The size of the block can be defined by adding a multiple of the counterdrill diameter to the bolt spacing" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "blockWidth", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltSpacingY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 0, "end": 0, "raw": "6", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 6.0, "suffix": "None" } }, "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": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "plateSketch", "start": 0, "type": "Identifier" }, "init": { "body": [ { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "XY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "at", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "blockLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 0, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 0, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "blockWidth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 0, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 0, "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" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "startProfile", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "angle", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "blockLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "tag", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "start": 0, "type": "TagDeclarator", "type": "TagDeclarator", "value": "rectangleSegmentA001" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "angledLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "angle", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "left": { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "segAng", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "rectangleSegmentA001", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "operator": "+", "right": { "commentStart": 0, "end": 0, "raw": "90", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 90.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "blockWidth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "tag", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "start": 0, "type": "TagDeclarator", "type": "TagDeclarator", "value": "rectangleSegmentB001" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "angledLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "angle", "start": 0, "type": "Identifier" }, "arg": { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "segAng", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "rectangleSegmentA001", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "argument": { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "segLen", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "rectangleSegmentA001", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "commentStart": 0, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "tag", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "start": 0, "type": "TagDeclarator", "type": "TagDeclarator", "value": "rectangleSegmentC001" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "angledLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "endAbsolute", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "profileStartX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 0, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } }, { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "profileStartY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 0, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "tag", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "start": 0, "type": "TagDeclarator", "type": "TagDeclarator", "value": "rectangleSegmentD001" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "tool", "start": 0, "type": "Identifier" }, "arg": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "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": 0, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "tubeInnerDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 0, "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": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "subtract2d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 0, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Draw the base plate" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "plateBody", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "stockThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "plateSketch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 0, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "tags", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "getNextAdjacentEdge", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "rectangleSegmentB001", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "getNextAdjacentEdge", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "rectangleSegmentA001", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "getNextAdjacentEdge", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "rectangleSegmentC001", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "getNextAdjacentEdge", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "rectangleSegmentD001", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "chamfer", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 0, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "1": [ { "commentStart": 0, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Define hole positions", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "holePositions", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "elements": [ { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltSpacingX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 0, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 0, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltSpacingY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 0, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 0, "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": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltSpacingX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 0, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 0, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltSpacingY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 0, "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": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltSpacingX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 0, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltSpacingY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 0, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 0, "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": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltSpacingX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 0, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltSpacingY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 0, "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" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "counterdrill", "start": 0, "type": "Identifier" }, "init": { "body": { "body": [ { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "cbdrill", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "face", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "END", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "plateBody", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "holePosition", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "counterdrillDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 0, "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": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "argument": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "counterdrillDepth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 0, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 0, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "cbBolt", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "face", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "START", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "cbdrill", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "holePosition", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 0, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "tag", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "start": 0, "type": "TagDeclarator", "type": "TagDeclarator", "value": "hole01" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "stockThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 0, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "counterdrillDepth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "counterdrillDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "/", "right": { "commentStart": 0, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "*", "right": { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "sqrt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 0, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "tags", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "hole01", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "chamfer", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 0, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "2": [ { "commentStart": 0, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "blockComment", "value": "Use a chamfer to create a 90-degree counterdrill edge", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "argument": { "commentStart": 0, "end": 0, "properties": [], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, "commentStart": 0, "end": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 0, "end": 0, "start": 0 }, "commentStart": 0, "end": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 0, "end": 0, "name": "holePosition", "start": 0, "type": "Identifier" }, "labeled": false } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "fn", "preComments": [ "", "", "// Function to create a counterdrilled hole" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "end": 0, "expression": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "f", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "counterdrill", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "map", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "holePositions", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "preComments": [ "", "", "// Place a counterdrilled hole at each bolt hole position" ], "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "pinhole", "start": 0, "type": "Identifier" }, "init": { "body": [ { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "YZ", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "raw": "2.2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.2, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "raw": "0.125", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.125, "suffix": "None" } } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "argument": { "commentStart": 0, "end": 0, "raw": "10", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 10.0, "suffix": "None" } }, "commentStart": 0, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 0, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "2": [ { "commentStart": 0, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Model the central tube and subtract the pin hole", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Drill a small pin hole in the side of the tube" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "centralTube", "start": 0, "type": "Identifier" }, "init": { "body": [ { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "offset", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "stockThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "offsetPlane", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "XY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "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": 0, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "tubeInnerDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 0, "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": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "tubeThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "tool", "start": 0, "type": "Identifier" }, "arg": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "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": 0, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "tubeInnerDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 0, "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": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "subtract2d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "tubeHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "tools", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "pinhole", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "subtract", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 0, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "4": [ { "commentStart": 0, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Create a function to create a fin which spans from the central tube to the bolt hole", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "fin", "start": 0, "type": "Identifier" }, "init": { "body": { "body": [ { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "diagPlane", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "end": 0, "properties": [ { "commentStart": 0, "end": 0, "key": { "commentStart": 0, "end": 0, "name": "origin", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "commentStart": 0, "end": 0, "key": { "commentStart": 0, "end": 0, "name": "xAxis", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltSpacingX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 0, "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": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "i", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltSpacingY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 0, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "commentStart": 0, "end": 0, "key": { "commentStart": 0, "end": 0, "name": "yAxis", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "raw": "1.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "finSketch", "start": 0, "type": "Identifier" }, "init": { "body": [ { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "diagPlane", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "at", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "tubeInnerDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 0, "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": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "tubeThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "stockThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "startProfile", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "endAbsolute", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "left": { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "sqrt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltSpacingX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 0, "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": 0, "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": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "boltSpacingY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 0, "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": 0, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, "operator": "-", "right": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "counterdrillDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "xLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "raw": "0.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.15, "suffix": "None" } } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "yLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "endAbsolute", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "profileStartX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 0, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } }, "operator": "+", "right": { "commentStart": 0, "end": 0, "raw": "0.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.15, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "stockThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "tubeHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 0, "end": 0, "raw": ".8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.8, "suffix": "None" } }, "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": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "argument": { "commentStart": 0, "end": 0, "raw": "0.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.15, "suffix": "None" } }, "commentStart": 0, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "xLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "endAbsolute", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "profileStartX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 0, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } }, { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "profileStartY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 0, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "tubeThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "symmetric", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "raw": "true", "start": 0, "type": "Literal", "type": "Literal", "value": true } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 0, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "8": [ { "commentStart": 0, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Use a circular pattern to create an identical fin on the opposite side", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "name": "otherFin", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "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": 0, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "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": 0, "end": 0, "name": "arcDegrees", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "raw": "360", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 360.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "name": "rotateDuplicates", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "raw": "true", "start": 0, "type": "Literal", "type": "Literal", "value": true } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "patternCircular3d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "finSketch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "argument": { "commentStart": 0, "end": 0, "properties": [], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, "commentStart": 0, "end": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 0, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "0": [ { "commentStart": 0, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "startNodes": [] }, "start": 0 }, "commentStart": 0, "end": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 0, "end": 0, "name": "i", "start": 0, "type": "Identifier" }, "labeled": false } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "fn", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "end": 0, "expression": { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "fin", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 0, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } } }, "preComments": [ "", "", "// Place a pair of support fins along each diagonal axis of the bolt pattern" ], "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 0, "end": 0, "expression": { "callee": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "fin", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "argument": { "commentStart": 0, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "commentStart": 0, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" } ], "commentStart": 0, "end": 0, "innerAttrs": [ { "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "settings", "start": 0, "type": "Identifier" }, "preComments": [ "// Counterdrilled Weldment", "// A metal weldment consisting of a counterdrilled plate, a centrally mounted housing tube, and four structural support fins.", "", "", "// Set units" ], "properties": [ { "commentStart": 0, "end": 0, "key": { "commentStart": 0, "end": 0, "name": "defaultLengthUnit", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "abs_path": false, "commentStart": 0, "end": 0, "name": { "commentStart": 0, "end": 0, "name": "in", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "start": 0, "type": "Annotation" } ], "nonCodeMeta": { "nonCodeNodes": {}, "startNodes": [ { "commentStart": 0, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "start": 0 } }