--- source: kcl-lib/src/simulation_tests.rs description: Result of parsing dodecahedron.kcl --- { "Ok": { "body": [ { "commentStart": 305, "declaration": { "commentStart": 351, "end": 0, "id": { "commentStart": 351, "end": 0, "name": "circR", "start": 0, "type": "Identifier" }, "init": { "commentStart": 359, "end": 0, "raw": "25", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 25.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "// Input parameters", "// circumscribed radius" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 361, "declaration": { "commentStart": 421, "end": 0, "id": { "commentStart": 421, "end": 0, "name": "wallThickness", "start": 0, "type": "Identifier" }, "init": { "commentStart": 437, "end": 0, "left": { "abs_path": false, "commentStart": 437, "end": 0, "name": { "commentStart": 437, "end": 0, "name": "circR", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 445, "end": 0, "raw": "0.2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.2, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Calculated parameters", "// Thickness of the dodecahedron" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 448, "declaration": { "commentStart": 484, "end": 0, "id": { "commentStart": 484, "end": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "argument": { "commentStart": 502, "end": 0, "left": { "arguments": [ { "commentStart": 507, "end": 0, "raw": "5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 5.0, "suffix": "None" } } ], "callee": { "abs_path": false, "commentStart": 502, "end": 0, "name": { "commentStart": 502, "end": 0, "name": "sqrt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 502, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "operator": "/", "right": { "commentStart": 512, "end": 0, "raw": "5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 5.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 500, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "callee": { "abs_path": false, "commentStart": 495, "end": 0, "name": { "commentStart": 495, "end": 0, "name": "acos", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 495, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Angle between faces in radians" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 515, "declaration": { "commentStart": 537, "end": 0, "id": { "commentStart": 537, "end": 0, "name": "inscR", "start": 0, "type": "Identifier" }, "init": { "commentStart": 545, "end": 0, "left": { "commentStart": 545, "end": 0, "left": { "abs_path": false, "commentStart": 545, "end": 0, "name": { "commentStart": 545, "end": 0, "name": "circR", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 553, "end": 0, "raw": "15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 15.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "*", "right": { "arguments": [ { "commentStart": 563, "end": 0, "left": { "commentStart": 563, "end": 0, "raw": "75", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 75.0, "suffix": "None" } }, "operator": "+", "right": { "commentStart": 568, "end": 0, "left": { "commentStart": 568, "end": 0, "raw": "30", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 30.0, "suffix": "None" } }, "operator": "*", "right": { "arguments": [ { "commentStart": 578, "end": 0, "raw": "5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 5.0, "suffix": "None" } } ], "callee": { "abs_path": false, "commentStart": 573, "end": 0, "name": { "commentStart": 573, "end": 0, "name": "sqrt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 573, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 558, "end": 0, "name": { "commentStart": 558, "end": 0, "name": "sqrt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 558, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Inscribed radius" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 581, "declaration": { "commentStart": 607, "end": 0, "id": { "commentStart": 607, "end": 0, "name": "edgeL", "start": 0, "type": "Identifier" }, "init": { "commentStart": 615, "end": 0, "left": { "commentStart": 615, "end": 0, "left": { "commentStart": 615, "end": 0, "raw": "4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 4.0, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 619, "end": 0, "name": { "commentStart": 619, "end": 0, "name": "circR", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "/", "right": { "commentStart": 628, "end": 0, "left": { "arguments": [ { "commentStart": 633, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } } ], "callee": { "abs_path": false, "commentStart": 628, "end": 0, "name": { "commentStart": 628, "end": 0, "name": "sqrt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 628, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "operator": "*", "right": { "commentStart": 639, "end": 0, "left": { "commentStart": 639, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "operator": "+", "right": { "arguments": [ { "commentStart": 648, "end": 0, "raw": "5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 5.0, "suffix": "None" } } ], "callee": { "abs_path": false, "commentStart": 643, "end": 0, "name": { "commentStart": 643, "end": 0, "name": "sqrt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 643, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Pentagon edge length" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 652, "declaration": { "commentStart": 673, "end": 0, "id": { "commentStart": 673, "end": 0, "name": "pentR", "start": 0, "type": "Identifier" }, "init": { "commentStart": 681, "end": 0, "left": { "commentStart": 681, "end": 0, "left": { "abs_path": false, "commentStart": 681, "end": 0, "name": { "commentStart": 681, "end": 0, "name": "edgeL", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 689, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "/", "right": { "arguments": [ { "arguments": [ { "commentStart": 707, "end": 0, "raw": "36", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 36.0, "suffix": "None" } } ], "callee": { "abs_path": false, "commentStart": 697, "end": 0, "name": { "commentStart": 697, "end": 0, "name": "toRadians", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 697, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "callee": { "abs_path": false, "commentStart": 693, "end": 0, "name": { "commentStart": 693, "end": 0, "name": "sin", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 693, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Pentagon radius" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 711, "declaration": { "commentStart": 758, "end": 0, "id": { "commentStart": 758, "end": 0, "name": "plane", "start": 0, "type": "Identifier" }, "init": { "commentStart": 766, "end": 0, "properties": [ { "commentStart": 770, "end": 0, "key": { "commentStart": 770, "end": 0, "name": "plane", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 778, "end": 0, "properties": [ { "commentStart": 784, "end": 0, "key": { "commentStart": 784, "end": 0, "name": "origin", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 793, "elements": [ { "commentStart": 801, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 802, "end": 0, "name": { "commentStart": 802, "end": 0, "name": "inscR", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 801, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "*", "right": { "arguments": [ { "arguments": [ { "commentStart": 824, "end": 0, "left": { "arguments": [ { "abs_path": false, "commentStart": 834, "end": 0, "name": { "commentStart": 834, "end": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 824, "end": 0, "name": { "commentStart": 824, "end": 0, "name": "toDegrees", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 824, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "operator": "-", "right": { "commentStart": 846, "end": 0, "raw": "90", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 90.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 814, "end": 0, "name": { "commentStart": 814, "end": 0, "name": "toRadians", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 814, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "callee": { "abs_path": false, "commentStart": 810, "end": 0, "name": { "commentStart": 810, "end": 0, "name": "cos", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 810, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 858, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 867, "end": 0, "left": { "abs_path": false, "commentStart": 867, "end": 0, "name": { "commentStart": 867, "end": 0, "name": "inscR", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "commentStart": 876, "end": 0, "left": { "abs_path": false, "commentStart": 876, "end": 0, "name": { "commentStart": 876, "end": 0, "name": "inscR", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "arguments": [ { "arguments": [ { "commentStart": 898, "end": 0, "left": { "arguments": [ { "abs_path": false, "commentStart": 908, "end": 0, "name": { "commentStart": 908, "end": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 898, "end": 0, "name": { "commentStart": 898, "end": 0, "name": "toDegrees", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 898, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "operator": "-", "right": { "commentStart": 920, "end": 0, "raw": "90", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 90.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 888, "end": 0, "name": { "commentStart": 888, "end": 0, "name": "toRadians", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 888, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "callee": { "abs_path": false, "commentStart": 884, "end": 0, "name": { "commentStart": 884, "end": 0, "name": "sin", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 884, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "commentStart": 937, "end": 0, "key": { "commentStart": 937, "end": 0, "name": "xAxis", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 945, "elements": [ { "arguments": [ { "abs_path": false, "commentStart": 950, "end": 0, "name": { "commentStart": 950, "end": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 946, "end": 0, "name": { "commentStart": 946, "end": 0, "name": "cos", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 946, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "commentStart": 961, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "arguments": [ { "abs_path": false, "commentStart": 970, "end": 0, "name": { "commentStart": 970, "end": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 966, "end": 0, "name": { "commentStart": 966, "end": 0, "name": "sin", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 966, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "commentStart": 986, "end": 0, "key": { "commentStart": 986, "end": 0, "name": "yAxis", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 994, "elements": [ { "commentStart": 995, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 998, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "commentStart": 1001, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "commentStart": 1009, "end": 0, "key": { "commentStart": 1009, "end": 0, "name": "zAxis", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1017, "elements": [ { "arguments": [ { "abs_path": false, "commentStart": 1022, "end": 0, "name": { "commentStart": 1022, "end": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 1018, "end": 0, "name": { "commentStart": 1018, "end": 0, "name": "sin", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1018, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "commentStart": 1033, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "argument": { "arguments": [ { "abs_path": false, "commentStart": 1041, "end": 0, "name": { "commentStart": 1041, "end": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 1037, "end": 0, "name": { "commentStart": 1037, "end": 0, "name": "cos", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1037, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "commentStart": 1036, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Define a plane for the bottom angled face" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1057, "declaration": { "commentStart": 1126, "end": 0, "id": { "commentStart": 1126, "end": 0, "name": "bottomFace", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "abs_path": false, "commentStart": 1153, "end": 0, "name": { "commentStart": 1153, "end": 0, "name": "XY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 1139, "end": 0, "name": { "commentStart": 1139, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1139, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 1170, "end": 0, "properties": [ { "commentStart": 1179, "end": 0, "key": { "commentStart": 1179, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "abs_path": false, "commentStart": 1188, "end": 0, "name": { "commentStart": 1188, "end": 0, "name": "pentR", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "commentStart": 1202, "end": 0, "key": { "commentStart": 1202, "end": 0, "name": "numSides", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1213, "end": 0, "raw": "5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 5.0, "suffix": "None" } } }, { "commentStart": 1223, "end": 0, "key": { "commentStart": 1223, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1232, "elements": [ { "commentStart": 1233, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1236, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "commentStart": 1247, "end": 0, "key": { "commentStart": 1247, "end": 0, "name": "inscribed", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1259, "end": 0, "raw": "true", "start": 0, "type": "Literal", "type": "Literal", "value": true } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 1272, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 1162, "end": 0, "name": { "commentStart": 1162, "end": 0, "name": "polygon", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1162, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "commentStart": 1139, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Create a regular pentagon inscribed in a circle of radius pentR" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1274, "declaration": { "commentStart": 1276, "end": 0, "id": { "commentStart": 1276, "end": 0, "name": "bottomSideFace", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "abs_path": false, "commentStart": 1307, "end": 0, "name": { "commentStart": 1307, "end": 0, "name": "plane", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 1293, "end": 0, "name": { "commentStart": 1293, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1293, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 1327, "end": 0, "properties": [ { "commentStart": 1336, "end": 0, "key": { "commentStart": 1336, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "abs_path": false, "commentStart": 1345, "end": 0, "name": { "commentStart": 1345, "end": 0, "name": "pentR", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "commentStart": 1359, "end": 0, "key": { "commentStart": 1359, "end": 0, "name": "numSides", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1370, "end": 0, "raw": "5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 5.0, "suffix": "None" } } }, { "commentStart": 1380, "end": 0, "key": { "commentStart": 1380, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1389, "elements": [ { "commentStart": 1390, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1393, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "commentStart": 1404, "end": 0, "key": { "commentStart": 1404, "end": 0, "name": "inscribed", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1416, "end": 0, "raw": "true", "start": 0, "type": "Literal", "type": "Literal", "value": true } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 1429, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 1319, "end": 0, "name": { "commentStart": 1319, "end": 0, "name": "polygon", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1319, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "commentStart": 1293, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "1": [ { "commentStart": 1431, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Extrude the faces in each plane", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1468, "declaration": { "commentStart": 1468, "end": 0, "id": { "commentStart": 1468, "end": 0, "name": "bottom", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1497, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 1506, "end": 0, "name": { "commentStart": 1506, "end": 0, "name": "wallThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 1477, "end": 0, "name": { "commentStart": 1477, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1477, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 1485, "end": 0, "name": { "commentStart": 1485, "end": 0, "name": "bottomFace", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1521, "declaration": { "commentStart": 1521, "end": 0, "id": { "commentStart": 1521, "end": 0, "name": "bottomSide", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1558, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 1567, "end": 0, "name": { "commentStart": 1567, "end": 0, "name": "wallThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 1534, "end": 0, "name": { "commentStart": 1534, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1534, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 1542, "end": 0, "name": { "commentStart": 1542, "end": 0, "name": "bottomSideFace", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1581, "declaration": { "commentStart": 1635, "end": 0, "id": { "commentStart": 1635, "end": 0, "name": "bottomBowl", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1683, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1695, "end": 0, "raw": "5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 5.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1700, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1707, "elements": [ { "commentStart": 1708, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1711, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1714, "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": 1720, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1729, "elements": [ { "commentStart": 1730, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1733, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1736, "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": 1742, "end": 0, "name": "arcDegrees", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1755, "end": 0, "raw": "360", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 360.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1762, "end": 0, "name": "rotateDuplicates", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1781, "end": 0, "raw": "true", "start": 0, "type": "Literal", "type": "Literal", "value": true } } ], "callee": { "abs_path": false, "commentStart": 1648, "end": 0, "name": { "commentStart": 1648, "end": 0, "name": "patternCircular3d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1648, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 1669, "end": 0, "name": { "commentStart": 1669, "end": 0, "name": "bottomSide", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Pattern the sides so we have a full dodecahedron" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1788, "end": 0, "expression": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1866, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1878, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1883, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1890, "elements": [ { "commentStart": 1891, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1894, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "commentStart": 1897, "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": 1903, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1912, "elements": [ { "commentStart": 1913, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1916, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 1919, "end": 0, "name": { "commentStart": 1919, "end": 0, "name": "inscR", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 1929, "end": 0, "name": "arcDegrees", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1942, "end": 0, "raw": "360", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 360.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1949, "end": 0, "name": "rotateDuplicates", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1968, "end": 0, "raw": "true", "start": 0, "type": "Literal", "type": "Literal", "value": true } } ], "callee": { "abs_path": false, "commentStart": 1835, "end": 0, "name": { "commentStart": 1835, "end": 0, "name": "patternCircular3d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1835, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 1856, "end": 0, "name": { "commentStart": 1856, "end": 0, "name": "bottom", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "preComments": [ "", "", "// Pattern the bottom to create the top face" ], "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 1975, "end": 0, "expression": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2065, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2077, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 2082, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2089, "elements": [ { "commentStart": 2090, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2093, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "commentStart": 2096, "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": 2102, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2111, "elements": [ { "commentStart": 2112, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2115, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 2118, "end": 0, "name": { "commentStart": 2118, "end": 0, "name": "inscR", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 2128, "end": 0, "name": "arcDegrees", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2141, "end": 0, "raw": "360", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 360.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 2148, "end": 0, "name": "rotateDuplicates", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2167, "end": 0, "raw": "true", "start": 0, "type": "Literal", "type": "Literal", "value": true } } ], "callee": { "abs_path": false, "commentStart": 2030, "end": 0, "name": { "commentStart": 2030, "end": 0, "name": "patternCircular3d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2030, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 2051, "end": 0, "name": { "commentStart": 2051, "end": 0, "name": "bottomBowl", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "preComments": [ "", "", "// Pattern the bottom angled faces to create the top" ], "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" } ], "commentStart": 0, "end": 0, "innerAttrs": [ { "commentStart": 0, "end": 0, "name": { "commentStart": 273, "end": 0, "name": "settings", "start": 0, "type": "Identifier" }, "preComments": [ "// Hollow Dodecahedron", "// A regular dodecahedron or pentagonal dodecahedron is a dodecahedron composed of regular pentagonal faces, three meeting at each vertex. This example shows constructing the individual faces of the dodecahedron and extruding inwards.", "", "", "// Set units" ], "properties": [ { "commentStart": 282, "end": 0, "key": { "commentStart": 282, "end": 0, "name": "defaultLengthUnit", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "abs_path": false, "commentStart": 302, "end": 0, "name": { "commentStart": 302, "end": 0, "name": "in", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "start": 0, "type": "Annotation" } ], "nonCodeMeta": { "nonCodeNodes": { "7": [ { "commentStart": 1274, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "startNodes": [ { "commentStart": 305, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "start": 0 } }