--- source: kcl-lib/src/simulation_tests.rs description: Result of parsing pipe-flange-assembly.kcl --- { "Ok": { "body": [ { "commentStart": 378, "end": 0, "path": { "type": "Kcl", "filename": "globals.kcl" }, "preComments": [ "// import constants" ], "selector": { "commentStart": 407, "end": 0, "start": 0, "type": "Glob" }, "start": 0, "type": "ImportStatement", "type": "ImportStatement" }, { "commentStart": 427, "end": 0, "path": { "type": "Kcl", "filename": "68095k348-flange.kcl" }, "preComments": [ "", "", "// import parts" ], "selector": { "type": "List", "items": [ { "alias": null, "commentStart": 452, "end": 0, "name": { "commentStart": 452, "end": 0, "name": "flange", "start": 0, "type": "Identifier" }, "start": 0, "type": "ImportItem" } ] }, "start": 0, "type": "ImportStatement", "type": "ImportStatement" }, { "commentStart": 487, "end": 0, "path": { "type": "Kcl", "filename": "9472k188-gasket.kcl" }, "selector": { "type": "List", "items": [ { "alias": null, "commentStart": 494, "end": 0, "name": { "commentStart": 494, "end": 0, "name": "gasket", "start": 0, "type": "Identifier" }, "start": 0, "type": "ImportItem" } ] }, "start": 0, "type": "ImportStatement", "type": "ImportStatement" }, { "commentStart": 528, "end": 0, "path": { "type": "Kcl", "filename": "98017a257-washer.kcl" }, "selector": { "type": "List", "items": [ { "alias": null, "commentStart": 535, "end": 0, "name": { "commentStart": 535, "end": 0, "name": "washer", "start": 0, "type": "Identifier" }, "start": 0, "type": "ImportItem" } ] }, "start": 0, "type": "ImportStatement", "type": "ImportStatement" }, { "commentStart": 570, "end": 0, "path": { "type": "Kcl", "filename": "91251a404-bolt.kcl" }, "selector": { "type": "List", "items": [ { "alias": null, "commentStart": 577, "end": 0, "name": { "commentStart": 577, "end": 0, "name": "bolt", "start": 0, "type": "Identifier" }, "start": 0, "type": "ImportItem" } ] }, "start": 0, "type": "ImportStatement", "type": "ImportStatement" }, { "commentStart": 608, "end": 0, "path": { "type": "Kcl", "filename": "95479a127-hex-nut.kcl" }, "selector": { "type": "List", "items": [ { "alias": null, "commentStart": 615, "end": 0, "name": { "commentStart": 615, "end": 0, "name": "hexNut", "start": 0, "type": "Identifier" }, "start": 0, "type": "ImportItem" } ] }, "start": 0, "type": "ImportStatement", "type": "ImportStatement" }, { "commentStart": 651, "end": 0, "path": { "type": "Kcl", "filename": "1120t74-pipe.kcl" }, "selector": { "type": "List", "items": [ { "alias": null, "commentStart": 658, "end": 0, "name": { "commentStart": 658, "end": 0, "name": "pipe", "start": 0, "type": "Identifier" }, "start": 0, "type": "ImportItem" } ] }, "start": 0, "type": "ImportStatement", "type": "ImportStatement" }, { "commentStart": 686, "end": 0, "expression": { "arguments": [], "callee": { "abs_path": false, "commentStart": 705, "end": 0, "name": { "commentStart": 705, "end": 0, "name": "flange", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 705, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "preComments": [ "", "", "// place flanges" ], "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 714, "end": 0, "expression": { "body": [ { "arguments": [], "callee": { "abs_path": false, "commentStart": 714, "end": 0, "name": { "commentStart": 714, "end": 0, "name": "flange", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 714, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 735, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 742, "elements": [ { "commentStart": 743, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 746, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "commentStart": 749, "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": 753, "end": 0, "name": "angle", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 761, "end": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } } } ], "callee": { "abs_path": false, "commentStart": 728, "end": 0, "name": { "commentStart": 728, "end": 0, "name": "rotate", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 728, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 781, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 793, "elements": [ { "commentStart": 802, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 812, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 822, "end": 0, "left": { "commentStart": 822, "end": 0, "left": { "abs_path": false, "commentStart": 822, "end": 0, "name": { "commentStart": 822, "end": 0, "name": "flangeBackHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 841, "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": 845, "end": 0, "name": { "commentStart": 845, "end": 0, "name": "gasketThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 771, "end": 0, "name": { "commentStart": 771, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 771, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 714, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "2": [ { "commentStart": 868, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "place gasket between the flanges", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 906, "end": 0, "expression": { "body": [ { "arguments": [], "callee": { "abs_path": false, "commentStart": 906, "end": 0, "name": { "commentStart": 906, "end": 0, "name": "gasket", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 906, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 930, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 942, "elements": [ { "commentStart": 951, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 961, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 971, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 972, "end": 0, "name": { "commentStart": 972, "end": 0, "name": "flangeBackHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 971, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "-", "right": { "abs_path": false, "commentStart": 991, "end": 0, "name": { "commentStart": 991, "end": 0, "name": "gasketThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 920, "end": 0, "name": { "commentStart": 920, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 920, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 906, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "1": [ { "commentStart": 1014, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "place eight washers (four front, four back)", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 1063, "end": 0, "expression": { "body": [ { "arguments": [], "callee": { "abs_path": false, "commentStart": 1063, "end": 0, "name": { "commentStart": 1063, "end": 0, "name": "washer", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1063, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1087, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1099, "elements": [ { "commentStart": 1108, "end": 0, "left": { "abs_path": false, "commentStart": 1108, "end": 0, "name": { "commentStart": 1108, "end": 0, "name": "mountingHolePlacementDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 1140, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 1150, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 1160, "end": 0, "name": { "commentStart": 1160, "end": 0, "name": "flangeBaseThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 1077, "end": 0, "name": { "commentStart": 1077, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1077, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1229, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1241, "end": 0, "raw": "4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 4.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1251, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1258, "elements": [ { "commentStart": 1259, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1262, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1265, "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": 1276, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1285, "elements": [ { "commentStart": 1286, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1289, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1292, "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": 1303, "end": 0, "name": "arcDegrees", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1316, "end": 0, "raw": "360", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 360.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1328, "end": 0, "name": "rotateDuplicates", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1347, "end": 0, "raw": "false", "start": 0, "type": "Literal", "type": "Literal", "value": false } } ], "callee": { "abs_path": false, "commentStart": 1193, "end": 0, "name": { "commentStart": 1193, "end": 0, "name": "patternCircular3d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1193, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 1219, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1400, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1412, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1422, "end": 0, "name": "distance", "start": 0, "type": "Identifier" }, "arg": { "argument": { "commentStart": 1435, "end": 0, "left": { "commentStart": 1435, "end": 0, "left": { "commentStart": 1435, "end": 0, "left": { "commentStart": 1435, "end": 0, "left": { "abs_path": false, "commentStart": 1435, "end": 0, "name": { "commentStart": 1435, "end": 0, "name": "flangeBaseThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 1457, "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": 1461, "end": 0, "left": { "abs_path": false, "commentStart": 1461, "end": 0, "name": { "commentStart": 1461, "end": 0, "name": "flangeBackHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 1480, "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": 1484, "end": 0, "name": { "commentStart": 1484, "end": 0, "name": "gasketThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 1502, "end": 0, "name": { "commentStart": 1502, "end": 0, "name": "washerThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1433, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 1527, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1534, "elements": [ { "commentStart": 1535, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1538, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1541, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 1366, "end": 0, "name": { "commentStart": 1366, "end": 0, "name": "patternLinear3d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1366, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 1390, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } } ], "commentStart": 1063, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "3": [ { "commentStart": 1551, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "place four bolts", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 1573, "end": 0, "expression": { "body": [ { "arguments": [], "callee": { "abs_path": false, "commentStart": 1573, "end": 0, "name": { "commentStart": 1573, "end": 0, "name": "bolt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1573, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1595, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1607, "elements": [ { "commentStart": 1616, "end": 0, "left": { "abs_path": false, "commentStart": 1616, "end": 0, "name": { "commentStart": 1616, "end": 0, "name": "mountingHolePlacementDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 1648, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 1658, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1668, "end": 0, "left": { "abs_path": false, "commentStart": 1668, "end": 0, "name": { "commentStart": 1668, "end": 0, "name": "flangeBaseThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "abs_path": false, "commentStart": 1690, "end": 0, "name": { "commentStart": 1690, "end": 0, "name": "washerThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 1585, "end": 0, "name": { "commentStart": 1585, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1585, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1726, "end": 0, "name": "roll", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1733, "end": 0, "raw": "90", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 90.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1737, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1745, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1748, "end": 0, "name": "yaw", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1754, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } } ], "callee": { "abs_path": false, "commentStart": 1719, "end": 0, "name": { "commentStart": 1719, "end": 0, "name": "rotate", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1719, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1798, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1810, "end": 0, "raw": "4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 4.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1820, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1827, "elements": [ { "commentStart": 1828, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1831, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1834, "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": 1845, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1854, "elements": [ { "commentStart": 1855, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1858, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1861, "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": 1872, "end": 0, "name": "arcDegrees", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1885, "end": 0, "raw": "360", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 360.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1897, "end": 0, "name": "rotateDuplicates", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1916, "end": 0, "raw": "false", "start": 0, "type": "Literal", "type": "Literal", "value": false } } ], "callee": { "abs_path": false, "commentStart": 1762, "end": 0, "name": { "commentStart": 1762, "end": 0, "name": "patternCircular3d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1762, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 1788, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } } ], "commentStart": 1573, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "3": [ { "commentStart": 1929, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "place four hex nuts", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 1954, "end": 0, "expression": { "body": [ { "arguments": [], "callee": { "abs_path": false, "commentStart": 1954, "end": 0, "name": { "commentStart": 1954, "end": 0, "name": "hexNut", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1954, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1978, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1990, "elements": [ { "commentStart": 1999, "end": 0, "left": { "abs_path": false, "commentStart": 1999, "end": 0, "name": { "commentStart": 1999, "end": 0, "name": "mountingHolePlacementDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 2031, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 2041, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "argument": { "commentStart": 2053, "end": 0, "left": { "commentStart": 2053, "end": 0, "left": { "commentStart": 2053, "end": 0, "left": { "commentStart": 2053, "end": 0, "left": { "commentStart": 2053, "end": 0, "left": { "abs_path": false, "commentStart": 2053, "end": 0, "name": { "commentStart": 2053, "end": 0, "name": "flangeBackHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 2072, "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": 2076, "end": 0, "name": { "commentStart": 2076, "end": 0, "name": "gasketThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 2094, "end": 0, "name": { "commentStart": 2094, "end": 0, "name": "flangeBaseThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 2116, "end": 0, "name": { "commentStart": 2116, "end": 0, "name": "washerThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 2134, "end": 0, "name": { "commentStart": 2134, "end": 0, "name": "hexNutThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 2051, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 1968, "end": 0, "name": { "commentStart": 1968, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1968, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2200, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2212, "end": 0, "raw": "4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 4.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 2222, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2229, "elements": [ { "commentStart": 2230, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2233, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2236, "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": 2247, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2256, "elements": [ { "commentStart": 2257, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2260, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2263, "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": 2274, "end": 0, "name": "arcDegrees", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2287, "end": 0, "raw": "360", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 360.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 2299, "end": 0, "name": "rotateDuplicates", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2318, "end": 0, "raw": "false", "start": 0, "type": "Literal", "type": "Literal", "value": false } } ], "callee": { "abs_path": false, "commentStart": 2164, "end": 0, "name": { "commentStart": 2164, "end": 0, "name": "patternCircular3d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2164, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 2190, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } } ], "commentStart": 1954, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "2": [ { "commentStart": 2331, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "place both pieces of pipe", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 2362, "end": 0, "expression": { "body": [ { "arguments": [], "callee": { "abs_path": false, "commentStart": 2362, "end": 0, "name": { "commentStart": 2362, "end": 0, "name": "pipe", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2362, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2399, "end": 0, "name": "roll", "start": 0, "type": "Identifier" }, "arg": { "argument": { "commentStart": 2407, "end": 0, "raw": "90", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 90.0, "suffix": "None" } }, "commentStart": 2406, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 2418, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2426, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 2436, "end": 0, "name": "yaw", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2442, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } } ], "callee": { "abs_path": false, "commentStart": 2374, "end": 0, "name": { "commentStart": 2374, "end": 0, "name": "rotate", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2374, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 2389, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2485, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2497, "elements": [ { "commentStart": 2508, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2520, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2532, "end": 0, "left": { "commentStart": 2532, "end": 0, "left": { "abs_path": false, "commentStart": 2532, "end": 0, "name": { "commentStart": 2532, "end": 0, "name": "flangeBaseThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "abs_path": false, "commentStart": 2554, "end": 0, "name": { "commentStart": 2554, "end": 0, "name": "flangeFrontHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "-", "right": { "commentStart": 2574, "end": 0, "raw": "0.5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.5, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 2595, "end": 0, "name": "global", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2604, "end": 0, "raw": "true", "start": 0, "type": "Literal", "type": "Literal", "value": true } } ], "callee": { "abs_path": false, "commentStart": 2457, "end": 0, "name": { "commentStart": 2457, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2457, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 2475, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } } ], "commentStart": 2362, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 2616, "end": 0, "expression": { "body": [ { "arguments": [], "callee": { "abs_path": false, "commentStart": 2618, "end": 0, "name": { "commentStart": 2618, "end": 0, "name": "pipe", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2618, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2655, "end": 0, "name": "roll", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2662, "end": 0, "raw": "90", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 90.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 2673, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2681, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 2691, "end": 0, "name": "yaw", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2697, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } } ], "callee": { "abs_path": false, "commentStart": 2630, "end": 0, "name": { "commentStart": 2630, "end": 0, "name": "rotate", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2630, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 2645, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2740, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2752, "elements": [ { "commentStart": 2763, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2775, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "argument": { "commentStart": 2789, "end": 0, "left": { "commentStart": 2789, "end": 0, "left": { "commentStart": 2789, "end": 0, "left": { "commentStart": 2789, "end": 0, "left": { "commentStart": 2789, "end": 0, "left": { "abs_path": false, "commentStart": 2789, "end": 0, "name": { "commentStart": 2789, "end": 0, "name": "flangeBackHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 2808, "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": 2812, "end": 0, "name": { "commentStart": 2812, "end": 0, "name": "gasketThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 2830, "end": 0, "name": { "commentStart": 2830, "end": 0, "name": "flangeBaseThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 2852, "end": 0, "name": { "commentStart": 2852, "end": 0, "name": "flangeFrontHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "-", "right": { "commentStart": 2872, "end": 0, "raw": "0.5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.5, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 2787, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 2894, "end": 0, "name": "global", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2903, "end": 0, "raw": "true", "start": 0, "type": "Literal", "type": "Literal", "value": true } } ], "callee": { "abs_path": false, "commentStart": 2712, "end": 0, "name": { "commentStart": 2712, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2712, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 2730, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } } ], "commentStart": 2618, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" } ], "commentStart": 0, "end": 0, "innerAttrs": [ { "commentStart": 0, "end": 0, "name": { "commentStart": 346, "end": 0, "name": "settings", "start": 0, "type": "Identifier" }, "preComments": [ "// Pipe and Flange Assembly", "// A crucial component in various piping systems, designed to facilitate the connection, disconnection, and access to piping for inspection, cleaning, and modifications. This assembly combines pipes (long cylindrical conduits) with flanges (plate-like fittings) to create a secure yet detachable joint.", "", "", "// set units" ], "properties": [ { "commentStart": 355, "end": 0, "key": { "commentStart": 355, "end": 0, "name": "defaultLengthUnit", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "abs_path": false, "commentStart": 375, "end": 0, "name": { "commentStart": 375, "end": 0, "name": "in", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "start": 0, "type": "Annotation" } ], "nonCodeMeta": { "nonCodeNodes": { "13": [ { "commentStart": 2616, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "startNodes": [ { "commentStart": 378, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "start": 0 } }