Files
modeling-app/rust/kcl-lib/tests/kcl_samples/gear/ast.snap
2025-03-26 11:53:34 -04:00

4866 lines
165 KiB
Plaintext

---
source: kcl-lib/src/simulation_tests.rs
description: Result of parsing gear.kcl
---
{
"Ok": {
"body": [
{
"commentStart": 472,
"declaration": {
"commentStart": 494,
"end": 0,
"id": {
"commentStart": 494,
"end": 0,
"name": "nTeeth",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 503,
"end": 0,
"raw": "21",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 21.0,
"suffix": "None"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"// Define constants"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 506,
"declaration": {
"commentStart": 506,
"end": 0,
"id": {
"commentStart": 506,
"end": 0,
"name": "module",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 515,
"end": 0,
"raw": "0.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": 519,
"declaration": {
"commentStart": 519,
"end": 0,
"id": {
"commentStart": 519,
"end": 0,
"name": "pitchDiameter",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 535,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 535,
"end": 0,
"name": {
"commentStart": 535,
"end": 0,
"name": "module",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "*",
"right": {
"abs_path": false,
"commentStart": 544,
"end": 0,
"name": {
"commentStart": 544,
"end": 0,
"name": "nTeeth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 551,
"declaration": {
"commentStart": 551,
"end": 0,
"id": {
"commentStart": 551,
"end": 0,
"name": "pressureAngle",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 567,
"end": 0,
"raw": "20",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 20.0,
"suffix": "None"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 570,
"declaration": {
"commentStart": 570,
"end": 0,
"id": {
"commentStart": 570,
"end": 0,
"name": "addendum",
"start": 0,
"type": "Identifier"
},
"init": {
"abs_path": false,
"commentStart": 581,
"end": 0,
"name": {
"commentStart": 581,
"end": 0,
"name": "module",
"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": 588,
"declaration": {
"commentStart": 588,
"end": 0,
"id": {
"commentStart": 588,
"end": 0,
"name": "deddendum",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 600,
"end": 0,
"left": {
"commentStart": 600,
"end": 0,
"raw": "1.25",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.25,
"suffix": "None"
}
},
"operator": "*",
"right": {
"abs_path": false,
"commentStart": 607,
"end": 0,
"name": {
"commentStart": 607,
"end": 0,
"name": "module",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 614,
"declaration": {
"commentStart": 614,
"end": 0,
"id": {
"commentStart": 614,
"end": 0,
"name": "baseDiameter",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 629,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 629,
"end": 0,
"name": {
"commentStart": 629,
"end": 0,
"name": "pitchDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "*",
"right": {
"arguments": [
{
"arguments": [
{
"abs_path": false,
"commentStart": 659,
"end": 0,
"name": {
"commentStart": 659,
"end": 0,
"name": "pressureAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 649,
"end": 0,
"name": {
"commentStart": 649,
"end": 0,
"name": "toRadians",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 649,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 645,
"end": 0,
"name": {
"commentStart": 645,
"end": 0,
"name": "cos",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 645,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 675,
"declaration": {
"commentStart": 675,
"end": 0,
"id": {
"commentStart": 675,
"end": 0,
"name": "tipDiameter",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 689,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 689,
"end": 0,
"name": {
"commentStart": 689,
"end": 0,
"name": "pitchDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "+",
"right": {
"commentStart": 705,
"end": 0,
"left": {
"commentStart": 705,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"abs_path": false,
"commentStart": 709,
"end": 0,
"name": {
"commentStart": 709,
"end": 0,
"name": "module",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 716,
"declaration": {
"commentStart": 716,
"end": 0,
"id": {
"commentStart": 716,
"end": 0,
"name": "gearHeight",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 729,
"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": 730,
"declaration": {
"commentStart": 779,
"end": 0,
"id": {
"commentStart": 779,
"end": 0,
"name": "cmo",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 785,
"end": 0,
"raw": "101",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 101.0,
"suffix": "None"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// Interpolate points along the involute curve"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 789,
"declaration": {
"commentStart": 789,
"end": 0,
"id": {
"commentStart": 789,
"end": 0,
"name": "rs",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"commentStart": 798,
"end": 0,
"endElement": {
"abs_path": false,
"commentStart": 802,
"end": 0,
"name": {
"commentStart": 802,
"end": 0,
"name": "cmo",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"endInclusive": true,
"start": 0,
"startElement": {
"commentStart": 799,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"type": "ArrayRangeExpression",
"type": "ArrayRangeExpression"
},
{
"body": {
"body": [
{
"argument": {
"commentStart": 825,
"end": 0,
"left": {
"commentStart": 825,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 825,
"end": 0,
"name": {
"commentStart": 825,
"end": 0,
"name": "baseDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 840,
"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": 844,
"end": 0,
"left": {
"commentStart": 844,
"end": 0,
"left": {
"commentStart": 844,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 844,
"end": 0,
"name": {
"commentStart": 844,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"abs_path": false,
"commentStart": 848,
"end": 0,
"name": {
"commentStart": 848,
"end": 0,
"name": "cmo",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "*",
"right": {
"commentStart": 855,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 855,
"end": 0,
"name": {
"commentStart": 855,
"end": 0,
"name": "tipDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "-",
"right": {
"abs_path": false,
"commentStart": 869,
"end": 0,
"name": {
"commentStart": 869,
"end": 0,
"name": "baseDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "/",
"right": {
"commentStart": 885,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"commentStart": 818,
"end": 0,
"start": 0,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"commentStart": 814,
"end": 0,
"start": 0
},
"commentStart": 810,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 811,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier"
}
}
],
"start": 0,
"type": "FunctionExpression",
"type": "FunctionExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 794,
"end": 0,
"name": {
"commentStart": 794,
"end": 0,
"name": "map",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 794,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 889,
"declaration": {
"commentStart": 929,
"end": 0,
"id": {
"commentStart": 929,
"end": 0,
"name": "angles",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"abs_path": false,
"commentStart": 942,
"end": 0,
"name": {
"commentStart": 942,
"end": 0,
"name": "rs",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"body": {
"body": [
{
"argument": {
"arguments": [
{
"arguments": [
{
"commentStart": 980,
"end": 0,
"left": {
"commentStart": 980,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 980,
"end": 0,
"name": {
"commentStart": 980,
"end": 0,
"name": "baseDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 995,
"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": 999,
"end": 0,
"name": {
"commentStart": 999,
"end": 0,
"name": "r",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 975,
"end": 0,
"name": {
"commentStart": 975,
"end": 0,
"name": "acos",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 975,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 963,
"end": 0,
"name": {
"commentStart": 963,
"end": 0,
"name": "toDegrees",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 963,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"commentStart": 956,
"end": 0,
"start": 0,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"commentStart": 952,
"end": 0,
"start": 0
},
"commentStart": 948,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 949,
"end": 0,
"name": "r",
"start": 0,
"type": "Identifier"
}
}
],
"start": 0,
"type": "FunctionExpression",
"type": "FunctionExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 938,
"end": 0,
"name": {
"commentStart": 938,
"end": 0,
"name": "map",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 938,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// Calculate operating pressure angle"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1005,
"declaration": {
"commentStart": 1042,
"end": 0,
"id": {
"commentStart": 1042,
"end": 0,
"name": "invas",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"abs_path": false,
"commentStart": 1054,
"end": 0,
"name": {
"commentStart": 1054,
"end": 0,
"name": "angles",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"body": {
"body": [
{
"argument": {
"commentStart": 1079,
"end": 0,
"left": {
"arguments": [
{
"arguments": [
{
"abs_path": false,
"commentStart": 1093,
"end": 0,
"name": {
"commentStart": 1093,
"end": 0,
"name": "a",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 1083,
"end": 0,
"name": {
"commentStart": 1083,
"end": 0,
"name": "toRadians",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1083,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1079,
"end": 0,
"name": {
"commentStart": 1079,
"end": 0,
"name": "tan",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1079,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"operator": "-",
"right": {
"arguments": [
{
"abs_path": false,
"commentStart": 1109,
"end": 0,
"name": {
"commentStart": 1109,
"end": 0,
"name": "a",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 1099,
"end": 0,
"name": {
"commentStart": 1099,
"end": 0,
"name": "toRadians",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1099,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"commentStart": 1072,
"end": 0,
"start": 0,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"commentStart": 1068,
"end": 0,
"start": 0
},
"commentStart": 1064,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 1065,
"end": 0,
"name": "a",
"start": 0,
"type": "Identifier"
}
}
],
"start": 0,
"type": "FunctionExpression",
"type": "FunctionExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1050,
"end": 0,
"name": {
"commentStart": 1050,
"end": 0,
"name": "map",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1050,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// Calculate the involute function"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1114,
"declaration": {
"commentStart": 1142,
"end": 0,
"id": {
"commentStart": 1142,
"end": 0,
"name": "xs",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"commentStart": 1151,
"end": 0,
"endElement": {
"abs_path": false,
"commentStart": 1155,
"end": 0,
"name": {
"commentStart": 1155,
"end": 0,
"name": "cmo",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"endInclusive": true,
"start": 0,
"startElement": {
"commentStart": 1152,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"type": "ArrayRangeExpression",
"type": "ArrayRangeExpression"
},
{
"body": {
"body": [
{
"argument": {
"commentStart": 1178,
"end": 0,
"left": {
"commentStart": 1178,
"computed": true,
"end": 0,
"object": {
"commentStart": 1178,
"end": 0,
"name": "rs",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1181,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "*",
"right": {
"arguments": [
{
"commentStart": 1190,
"computed": true,
"end": 0,
"object": {
"commentStart": 1190,
"end": 0,
"name": "invas",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1196,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1186,
"end": 0,
"name": {
"commentStart": 1186,
"end": 0,
"name": "cos",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1186,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"commentStart": 1171,
"end": 0,
"start": 0,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"commentStart": 1167,
"end": 0,
"start": 0
},
"commentStart": 1163,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 1164,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier"
}
}
],
"start": 0,
"type": "FunctionExpression",
"type": "FunctionExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1147,
"end": 0,
"name": {
"commentStart": 1147,
"end": 0,
"name": "map",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1147,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// Map the involute curve"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1202,
"declaration": {
"commentStart": 1204,
"end": 0,
"id": {
"commentStart": 1204,
"end": 0,
"name": "ys",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"commentStart": 1213,
"end": 0,
"endElement": {
"abs_path": false,
"commentStart": 1217,
"end": 0,
"name": {
"commentStart": 1217,
"end": 0,
"name": "cmo",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"endInclusive": true,
"start": 0,
"startElement": {
"commentStart": 1214,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"type": "ArrayRangeExpression",
"type": "ArrayRangeExpression"
},
{
"body": {
"body": [
{
"argument": {
"commentStart": 1240,
"end": 0,
"left": {
"commentStart": 1240,
"computed": true,
"end": 0,
"object": {
"commentStart": 1240,
"end": 0,
"name": "rs",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1243,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "*",
"right": {
"arguments": [
{
"commentStart": 1252,
"computed": true,
"end": 0,
"object": {
"commentStart": 1252,
"end": 0,
"name": "invas",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1258,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1248,
"end": 0,
"name": {
"commentStart": 1248,
"end": 0,
"name": "sin",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1248,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"commentStart": 1233,
"end": 0,
"start": 0,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"commentStart": 1229,
"end": 0,
"start": 0
},
"commentStart": 1225,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 1226,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier"
}
}
],
"start": 0,
"type": "FunctionExpression",
"type": "FunctionExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1209,
"end": 0,
"name": {
"commentStart": 1209,
"end": 0,
"name": "map",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1209,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1264,
"declaration": {
"commentStart": 1291,
"end": 0,
"id": {
"commentStart": 1291,
"end": 0,
"name": "body",
"start": 0,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"abs_path": false,
"commentStart": 1312,
"end": 0,
"name": {
"commentStart": 1312,
"end": 0,
"name": "XY",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 1298,
"end": 0,
"name": {
"commentStart": 1298,
"end": 0,
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1298,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 1328,
"end": 0,
"name": "center",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 1337,
"elements": [
{
"commentStart": 1338,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"commentStart": 1341,
"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": 1345,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 1354,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 1354,
"end": 0,
"name": {
"commentStart": 1354,
"end": 0,
"name": "baseDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 1369,
"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": 1321,
"end": 0,
"name": {
"commentStart": 1321,
"end": 0,
"name": "circle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1321,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 1385,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"abs_path": false,
"commentStart": 1394,
"end": 0,
"name": {
"commentStart": 1394,
"end": 0,
"name": "gearHeight",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 1377,
"end": 0,
"name": {
"commentStart": 1377,
"end": 0,
"name": "extrude",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1377,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"commentStart": 1298,
"end": 0,
"start": 0,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// Extrude the gear body"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1405,
"declaration": {
"commentStart": 1407,
"end": 0,
"id": {
"commentStart": 1407,
"end": 0,
"name": "toothAngle",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 1420,
"end": 0,
"left": {
"commentStart": 1420,
"end": 0,
"left": {
"commentStart": 1420,
"end": 0,
"raw": "360",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
},
"operator": "/",
"right": {
"abs_path": false,
"commentStart": 1426,
"end": 0,
"name": {
"commentStart": 1426,
"end": 0,
"name": "nTeeth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "/",
"right": {
"commentStart": 1435,
"end": 0,
"raw": "1.5",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.5,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1438,
"declaration": {
"commentStart": 1470,
"end": 0,
"id": {
"commentStart": 1470,
"end": 0,
"name": "leftInvolute",
"start": 0,
"type": "Identifier"
},
"init": {
"body": {
"body": [
{
"commentStart": 1494,
"declaration": {
"commentStart": 1494,
"end": 0,
"id": {
"commentStart": 1494,
"end": 0,
"name": "j",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 1498,
"end": 0,
"left": {
"commentStart": 1498,
"end": 0,
"raw": "100",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 100.0,
"suffix": "None"
}
},
"operator": "-",
"right": {
"abs_path": false,
"commentStart": 1504,
"end": 0,
"name": {
"commentStart": 1504,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"argument": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 1545,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 1559,
"elements": [
{
"commentStart": 1560,
"computed": true,
"end": 0,
"object": {
"commentStart": 1560,
"end": 0,
"name": "xs",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1563,
"end": 0,
"name": "j",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
{
"commentStart": 1567,
"computed": true,
"end": 0,
"object": {
"commentStart": 1567,
"end": 0,
"name": "ys",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1570,
"end": 0,
"name": "j",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 1536,
"end": 0,
"name": {
"commentStart": 1536,
"end": 0,
"name": "line",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1536,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 1541,
"end": 0,
"name": {
"commentStart": 1541,
"end": 0,
"name": "sg",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
"commentStart": 1505,
"end": 0,
"start": 0,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"commentStart": 1490,
"end": 0,
"nonCodeMeta": {
"nonCodeNodes": {
"0": [
{
"commentStart": 1505,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "iterate backwards",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 0
},
"commentStart": 1482,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 1483,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier"
}
},
{
"type": "Parameter",
"identifier": {
"commentStart": 1486,
"end": 0,
"name": "sg",
"start": 0,
"type": "Identifier"
}
}
],
"start": 0,
"type": "FunctionExpression",
"type": "FunctionExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "fn",
"preComments": [
"",
"",
"// Plot the involute curve"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1576,
"declaration": {
"commentStart": 1581,
"end": 0,
"id": {
"commentStart": 1581,
"end": 0,
"name": "rightInvolute",
"start": 0,
"type": "Identifier"
},
"init": {
"body": {
"body": [
{
"commentStart": 1606,
"declaration": {
"commentStart": 1606,
"end": 0,
"id": {
"commentStart": 1606,
"end": 0,
"name": "x",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 1610,
"end": 0,
"left": {
"commentStart": 1610,
"computed": true,
"end": 0,
"object": {
"commentStart": 1610,
"end": 0,
"name": "rs",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1613,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "*",
"right": {
"arguments": [
{
"arguments": [
{
"commentStart": 1632,
"end": 0,
"left": {
"argument": {
"abs_path": false,
"commentStart": 1633,
"end": 0,
"name": {
"commentStart": 1633,
"end": 0,
"name": "toothAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 1632,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "+",
"right": {
"arguments": [
{
"arguments": [
{
"commentStart": 1661,
"end": 0,
"left": {
"commentStart": 1661,
"computed": true,
"end": 0,
"object": {
"commentStart": 1661,
"end": 0,
"name": "ys",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1664,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "/",
"right": {
"commentStart": 1669,
"computed": true,
"end": 0,
"object": {
"commentStart": 1669,
"end": 0,
"name": "xs",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1672,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1656,
"end": 0,
"name": {
"commentStart": 1656,
"end": 0,
"name": "atan",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1656,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1646,
"end": 0,
"name": {
"commentStart": 1646,
"end": 0,
"name": "toDegrees",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1646,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1622,
"end": 0,
"name": {
"commentStart": 1622,
"end": 0,
"name": "toRadians",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1622,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1618,
"end": 0,
"name": {
"commentStart": 1618,
"end": 0,
"name": "cos",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1618,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1681,
"declaration": {
"commentStart": 1681,
"end": 0,
"id": {
"commentStart": 1681,
"end": 0,
"name": "y",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 1685,
"end": 0,
"left": {
"argument": {
"commentStart": 1686,
"computed": true,
"end": 0,
"object": {
"commentStart": 1686,
"end": 0,
"name": "rs",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1689,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"commentStart": 1685,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "*",
"right": {
"arguments": [
{
"arguments": [
{
"commentStart": 1708,
"end": 0,
"left": {
"argument": {
"abs_path": false,
"commentStart": 1709,
"end": 0,
"name": {
"commentStart": 1709,
"end": 0,
"name": "toothAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 1708,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "+",
"right": {
"arguments": [
{
"arguments": [
{
"commentStart": 1737,
"end": 0,
"left": {
"commentStart": 1737,
"computed": true,
"end": 0,
"object": {
"commentStart": 1737,
"end": 0,
"name": "ys",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1740,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "/",
"right": {
"commentStart": 1745,
"computed": true,
"end": 0,
"object": {
"commentStart": 1745,
"end": 0,
"name": "xs",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1748,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1732,
"end": 0,
"name": {
"commentStart": 1732,
"end": 0,
"name": "atan",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1732,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1722,
"end": 0,
"name": {
"commentStart": 1722,
"end": 0,
"name": "toDegrees",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1722,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1698,
"end": 0,
"name": {
"commentStart": 1698,
"end": 0,
"name": "toRadians",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1698,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1694,
"end": 0,
"name": {
"commentStart": 1694,
"end": 0,
"name": "sin",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1694,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"argument": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 1773,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 1787,
"elements": [
{
"abs_path": false,
"commentStart": 1788,
"end": 0,
"name": {
"commentStart": 1788,
"end": 0,
"name": "x",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"abs_path": false,
"commentStart": 1791,
"end": 0,
"name": {
"commentStart": 1791,
"end": 0,
"name": "y",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 1764,
"end": 0,
"name": {
"commentStart": 1764,
"end": 0,
"name": "line",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1764,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 1769,
"end": 0,
"name": {
"commentStart": 1769,
"end": 0,
"name": "sg",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
"commentStart": 1757,
"end": 0,
"start": 0,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"commentStart": 1602,
"end": 0,
"start": 0
},
"commentStart": 1594,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 1595,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier"
}
},
{
"type": "Parameter",
"identifier": {
"commentStart": 1598,
"end": 0,
"name": "sg",
"start": 0,
"type": "Identifier"
}
}
],
"start": 0,
"type": "FunctionExpression",
"type": "FunctionExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "fn",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1796,
"declaration": {
"commentStart": 1817,
"end": 0,
"id": {
"commentStart": 1817,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"abs_path": false,
"commentStart": 1839,
"end": 0,
"name": {
"commentStart": 1839,
"end": 0,
"name": "XY",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 1825,
"end": 0,
"name": {
"commentStart": 1825,
"end": 0,
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1825,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"commentStart": 1863,
"elements": [
{
"commentStart": 1864,
"computed": false,
"end": 0,
"object": {
"commentStart": 1864,
"end": 0,
"name": "xs",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1867,
"end": 0,
"raw": "101",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 101.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
{
"commentStart": 1873,
"computed": false,
"end": 0,
"object": {
"commentStart": 1873,
"end": 0,
"name": "ys",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1876,
"end": 0,
"raw": "101",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 101.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 1883,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 1848,
"end": 0,
"name": {
"commentStart": 1848,
"end": 0,
"name": "startProfileAt",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1848,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"commentStart": 1825,
"end": 0,
"start": 0,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// Draw gear teeth"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1886,
"declaration": {
"commentStart": 1886,
"end": 0,
"id": {
"commentStart": 1886,
"end": 0,
"name": "teeth",
"start": 0,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"commentStart": 1901,
"end": 0,
"endElement": {
"commentStart": 1905,
"end": 0,
"raw": "100",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 100.0,
"suffix": "None"
}
},
"endInclusive": true,
"start": 0,
"startElement": {
"commentStart": 1902,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"type": "ArrayRangeExpression",
"type": "ArrayRangeExpression"
},
{
"abs_path": false,
"commentStart": 1911,
"end": 0,
"name": {
"commentStart": 1911,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"abs_path": false,
"commentStart": 1918,
"end": 0,
"name": {
"commentStart": 1918,
"end": 0,
"name": "leftInvolute",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 1894,
"end": 0,
"name": {
"commentStart": 1894,
"end": 0,
"name": "reduce",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1894,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"commentStart": 1941,
"end": 0,
"properties": [
{
"commentStart": 1950,
"end": 0,
"key": {
"commentStart": 1950,
"end": 0,
"name": "angleStart",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 1963,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
},
{
"commentStart": 1973,
"end": 0,
"key": {
"commentStart": 1973,
"end": 0,
"name": "angleEnd",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"abs_path": false,
"commentStart": 1984,
"end": 0,
"name": {
"commentStart": 1984,
"end": 0,
"name": "toothAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
{
"commentStart": 2003,
"end": 0,
"key": {
"commentStart": 2003,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 2012,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 2012,
"end": 0,
"name": {
"commentStart": 2012,
"end": 0,
"name": "baseDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 2027,
"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": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 2037,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 1937,
"end": 0,
"name": {
"commentStart": 1937,
"end": 0,
"name": "arc",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1937,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"commentStart": 2052,
"end": 0,
"endElement": {
"commentStart": 2056,
"end": 0,
"raw": "101",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 101.0,
"suffix": "None"
}
},
"endInclusive": true,
"start": 0,
"startElement": {
"commentStart": 2053,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"type": "ArrayRangeExpression",
"type": "ArrayRangeExpression"
},
{
"commentStart": 2062,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
},
{
"abs_path": false,
"commentStart": 2065,
"end": 0,
"name": {
"commentStart": 2065,
"end": 0,
"name": "rightInvolute",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 2045,
"end": 0,
"name": {
"commentStart": 2045,
"end": 0,
"name": "reduce",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2045,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [],
"callee": {
"abs_path": false,
"commentStart": 2085,
"end": 0,
"name": {
"commentStart": 2085,
"end": 0,
"name": "close",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2085,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2106,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"abs_path": false,
"commentStart": 2115,
"end": 0,
"name": {
"commentStart": 2115,
"end": 0,
"name": "gearHeight",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2098,
"end": 0,
"name": {
"commentStart": 2098,
"end": 0,
"name": "extrude",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2098,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2158,
"end": 0,
"name": "axis",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 2165,
"elements": [
{
"commentStart": 2166,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"commentStart": 2169,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"commentStart": 2172,
"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": 2183,
"end": 0,
"name": "center",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 2192,
"elements": [
{
"commentStart": 2193,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"commentStart": 2196,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"commentStart": 2199,
"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": 2210,
"end": 0,
"name": "instances",
"start": 0,
"type": "Identifier"
},
"arg": {
"abs_path": false,
"commentStart": 2222,
"end": 0,
"name": {
"commentStart": 2222,
"end": 0,
"name": "nTeeth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 2237,
"end": 0,
"name": "arcDegrees",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 2250,
"end": 0,
"raw": "360",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 2262,
"end": 0,
"name": "rotateDuplicates",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 2281,
"end": 0,
"raw": "true",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": true
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2132,
"end": 0,
"name": {
"commentStart": 2132,
"end": 0,
"name": "patternCircular3d",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2132,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"commentStart": 1894,
"end": 0,
"nonCodeMeta": {
"nonCodeNodes": {
"5": [
{
"commentStart": 2293,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Define the constants of the keyway and the bore 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": 2351,
"declaration": {
"commentStart": 2351,
"end": 0,
"id": {
"commentStart": 2351,
"end": 0,
"name": "keywayWidth",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 2365,
"end": 0,
"raw": "0.250",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.25,
"suffix": "None"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 2371,
"declaration": {
"commentStart": 2371,
"end": 0,
"id": {
"commentStart": 2371,
"end": 0,
"name": "keywayDepth",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 2385,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 2385,
"end": 0,
"name": {
"commentStart": 2385,
"end": 0,
"name": "keywayWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 2399,
"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": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 2401,
"declaration": {
"commentStart": 2401,
"end": 0,
"id": {
"commentStart": 2401,
"end": 0,
"name": "holeDiam",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 2412,
"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": 2414,
"declaration": {
"commentStart": 2414,
"end": 0,
"id": {
"commentStart": 2414,
"end": 0,
"name": "holeRadius",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 2427,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 2429,
"declaration": {
"commentStart": 2429,
"end": 0,
"id": {
"commentStart": 2429,
"end": 0,
"name": "startAngle",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"commentStart": 2447,
"end": 0,
"left": {
"commentStart": 2447,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 2447,
"end": 0,
"name": {
"commentStart": 2447,
"end": 0,
"name": "keywayWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 2461,
"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": 2465,
"end": 0,
"name": {
"commentStart": 2465,
"end": 0,
"name": "holeRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 2442,
"end": 0,
"name": {
"commentStart": 2442,
"end": 0,
"name": "asin",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2442,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 2476,
"declaration": {
"commentStart": 2527,
"end": 0,
"id": {
"commentStart": 2527,
"end": 0,
"name": "keyWay",
"start": 0,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"abs_path": false,
"commentStart": 2550,
"end": 0,
"name": {
"commentStart": 2550,
"end": 0,
"name": "body",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"commentStart": 2556,
"end": 0,
"raw": "'END'",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": "END"
}
],
"callee": {
"abs_path": false,
"commentStart": 2536,
"end": 0,
"name": {
"commentStart": 2536,
"end": 0,
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2536,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"commentStart": 2583,
"elements": [
{
"commentStart": 2592,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 2592,
"end": 0,
"name": {
"commentStart": 2592,
"end": 0,
"name": "holeRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "*",
"right": {
"arguments": [
{
"abs_path": false,
"commentStart": 2609,
"end": 0,
"name": {
"commentStart": 2609,
"end": 0,
"name": "startAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 2605,
"end": 0,
"name": {
"commentStart": 2605,
"end": 0,
"name": "cos",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2605,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"commentStart": 2629,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 2629,
"end": 0,
"name": {
"commentStart": 2629,
"end": 0,
"name": "holeRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "*",
"right": {
"arguments": [
{
"abs_path": false,
"commentStart": 2646,
"end": 0,
"name": {
"commentStart": 2646,
"end": 0,
"name": "startAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 2642,
"end": 0,
"name": {
"commentStart": 2642,
"end": 0,
"name": "sin",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2642,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 2666,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 2568,
"end": 0,
"name": {
"commentStart": 2568,
"end": 0,
"name": "startProfileAt",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2568,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2680,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"abs_path": false,
"commentStart": 2689,
"end": 0,
"name": {
"commentStart": 2689,
"end": 0,
"name": "keywayDepth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2674,
"end": 0,
"name": {
"commentStart": 2674,
"end": 0,
"name": "xLine",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2674,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2713,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"argument": {
"abs_path": false,
"commentStart": 2723,
"end": 0,
"name": {
"commentStart": 2723,
"end": 0,
"name": "keywayWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 2722,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2707,
"end": 0,
"name": {
"commentStart": 2707,
"end": 0,
"name": "yLine",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2707,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2747,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"argument": {
"abs_path": false,
"commentStart": 2757,
"end": 0,
"name": {
"commentStart": 2757,
"end": 0,
"name": "keywayDepth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 2756,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2741,
"end": 0,
"name": {
"commentStart": 2741,
"end": 0,
"name": "xLine",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2741,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 2779,
"end": 0,
"properties": [
{
"commentStart": 2788,
"end": 0,
"key": {
"commentStart": 2788,
"end": 0,
"name": "angleEnd",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 2799,
"end": 0,
"raw": "180",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
}
},
{
"commentStart": 2811,
"end": 0,
"key": {
"commentStart": 2811,
"end": 0,
"name": "angleStart",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 2824,
"end": 0,
"left": {
"commentStart": 2824,
"end": 0,
"left": {
"commentStart": 2824,
"end": 0,
"left": {
"commentStart": 2824,
"end": 0,
"left": {
"argument": {
"commentStart": 2825,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"commentStart": 2824,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "*",
"right": {
"commentStart": 2829,
"end": 0,
"raw": "180",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "/",
"right": {
"abs_path": false,
"commentStart": 2835,
"end": 0,
"name": {
"commentStart": 2835,
"end": 0,
"name": "PI",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "*",
"right": {
"abs_path": false,
"commentStart": 2840,
"end": 0,
"name": {
"commentStart": 2840,
"end": 0,
"name": "startAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"commentStart": 2853,
"end": 0,
"raw": "360",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
},
{
"commentStart": 2865,
"end": 0,
"key": {
"commentStart": 2865,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"abs_path": false,
"commentStart": 2874,
"end": 0,
"name": {
"commentStart": 2874,
"end": 0,
"name": "holeRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 2893,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 2775,
"end": 0,
"name": {
"commentStart": 2775,
"end": 0,
"name": "arc",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2775,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"commentStart": 2905,
"end": 0,
"properties": [
{
"commentStart": 2914,
"end": 0,
"key": {
"commentStart": 2914,
"end": 0,
"name": "angleEnd",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 2925,
"end": 0,
"left": {
"commentStart": 2925,
"end": 0,
"left": {
"commentStart": 2925,
"end": 0,
"raw": "180",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
},
"operator": "/",
"right": {
"abs_path": false,
"commentStart": 2931,
"end": 0,
"name": {
"commentStart": 2931,
"end": 0,
"name": "PI",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "*",
"right": {
"abs_path": false,
"commentStart": 2936,
"end": 0,
"name": {
"commentStart": 2936,
"end": 0,
"name": "startAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
},
{
"commentStart": 2955,
"end": 0,
"key": {
"commentStart": 2955,
"end": 0,
"name": "angleStart",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 2968,
"end": 0,
"raw": "180",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
}
},
{
"commentStart": 2980,
"end": 0,
"key": {
"commentStart": 2980,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"abs_path": false,
"commentStart": 2989,
"end": 0,
"name": {
"commentStart": 2989,
"end": 0,
"name": "holeRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 3008,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 2901,
"end": 0,
"name": {
"commentStart": 2901,
"end": 0,
"name": "arc",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2901,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [],
"callee": {
"abs_path": false,
"commentStart": 3016,
"end": 0,
"name": {
"commentStart": 3016,
"end": 0,
"name": "close",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 3016,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 3037,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"argument": {
"abs_path": false,
"commentStart": 3047,
"end": 0,
"name": {
"commentStart": 3047,
"end": 0,
"name": "gearHeight",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 3046,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 3029,
"end": 0,
"name": {
"commentStart": 3029,
"end": 0,
"name": "extrude",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 3029,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"commentStart": 2536,
"end": 0,
"start": 0,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// Sketch the keyway and center hole and extrude"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
"commentStart": 0,
"end": 0,
"innerAttrs": [
{
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 440,
"end": 0,
"name": "settings",
"start": 0,
"type": "Identifier"
},
"preComments": [
"// Spur Gear",
"// A rotating machine part having cut teeth or, in the case of a cogwheel, inserted teeth (called cogs), which mesh with another toothed part to transmit torque. Geared devices can change the speed, torque, and direction of a power source. The two elements that define a gear are its circular shape and the teeth that are integrated into its outer edge, which are designed to fit into the teeth of another gear.",
"",
"",
"// Set Units"
],
"properties": [
{
"commentStart": 449,
"end": 0,
"key": {
"commentStart": 449,
"end": 0,
"name": "defaultLengthUnit",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"abs_path": false,
"commentStart": 469,
"end": 0,
"name": {
"commentStart": 469,
"end": 0,
"name": "in",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"start": 0,
"type": "Annotation"
}
],
"nonCodeMeta": {
"nonCodeNodes": {
"13": [
{
"commentStart": 1202,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
],
"15": [
{
"commentStart": 1405,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
],
"17": [
{
"commentStart": 1576,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
]
},
"startNodes": [
{
"commentStart": 472,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
]
},
"start": 0
}
}