Files
modeling-app/rust/kcl-lib/tests/kcl_samples/gear/ast.snap
Nick Cameron dddcd5ff46 Support paths to names rather than just raw idents (#5778)
* Support paths to names rather than just raw idents

Signed-off-by: Nick Cameron <nrc@ncameron.org>

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

---------

Signed-off-by: Nick Cameron <nrc@ncameron.org>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-24 20:58:55 +13:00

4852 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": 826,
"end": 0,
"left": {
"commentStart": 826,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 826,
"end": 0,
"name": {
"commentStart": 826,
"end": 0,
"name": "baseDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 841,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"commentStart": 845,
"end": 0,
"left": {
"commentStart": 845,
"end": 0,
"left": {
"commentStart": 845,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 845,
"end": 0,
"name": {
"commentStart": 845,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"abs_path": false,
"commentStart": 849,
"end": 0,
"name": {
"commentStart": 849,
"end": 0,
"name": "cmo",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "*",
"right": {
"commentStart": 856,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 856,
"end": 0,
"name": {
"commentStart": 856,
"end": 0,
"name": "tipDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "-",
"right": {
"abs_path": false,
"commentStart": 870,
"end": 0,
"name": {
"commentStart": 870,
"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": 886,
"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": 819,
"end": 0,
"start": 0,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"commentStart": 815,
"end": 0,
"start": 0
},
"commentStart": 811,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 812,
"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": 890,
"declaration": {
"commentStart": 930,
"end": 0,
"id": {
"commentStart": 930,
"end": 0,
"name": "angles",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"abs_path": false,
"commentStart": 943,
"end": 0,
"name": {
"commentStart": 943,
"end": 0,
"name": "rs",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"body": {
"body": [
{
"argument": {
"arguments": [
{
"arguments": [
{
"commentStart": 982,
"end": 0,
"left": {
"commentStart": 982,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 982,
"end": 0,
"name": {
"commentStart": 982,
"end": 0,
"name": "baseDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 997,
"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": 1001,
"end": 0,
"name": {
"commentStart": 1001,
"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": 977,
"end": 0,
"name": {
"commentStart": 977,
"end": 0,
"name": "acos",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 977,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 965,
"end": 0,
"name": {
"commentStart": 965,
"end": 0,
"name": "toDegrees",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 965,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"commentStart": 958,
"end": 0,
"start": 0,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"commentStart": 954,
"end": 0,
"start": 0
},
"commentStart": 950,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 951,
"end": 0,
"name": "r",
"start": 0,
"type": "Identifier"
}
}
],
"start": 0,
"type": "FunctionExpression",
"type": "FunctionExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 939,
"end": 0,
"name": {
"commentStart": 939,
"end": 0,
"name": "map",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 939,
"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": 1007,
"declaration": {
"commentStart": 1044,
"end": 0,
"id": {
"commentStart": 1044,
"end": 0,
"name": "invas",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"abs_path": false,
"commentStart": 1056,
"end": 0,
"name": {
"commentStart": 1056,
"end": 0,
"name": "angles",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"body": {
"body": [
{
"argument": {
"commentStart": 1082,
"end": 0,
"left": {
"arguments": [
{
"arguments": [
{
"abs_path": false,
"commentStart": 1096,
"end": 0,
"name": {
"commentStart": 1096,
"end": 0,
"name": "a",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 1086,
"end": 0,
"name": {
"commentStart": 1086,
"end": 0,
"name": "toRadians",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1086,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1082,
"end": 0,
"name": {
"commentStart": 1082,
"end": 0,
"name": "tan",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1082,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"operator": "-",
"right": {
"arguments": [
{
"abs_path": false,
"commentStart": 1112,
"end": 0,
"name": {
"commentStart": 1112,
"end": 0,
"name": "a",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 1102,
"end": 0,
"name": {
"commentStart": 1102,
"end": 0,
"name": "toRadians",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1102,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"commentStart": 1075,
"end": 0,
"start": 0,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"commentStart": 1071,
"end": 0,
"start": 0
},
"commentStart": 1067,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 1068,
"end": 0,
"name": "a",
"start": 0,
"type": "Identifier"
}
}
],
"start": 0,
"type": "FunctionExpression",
"type": "FunctionExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1052,
"end": 0,
"name": {
"commentStart": 1052,
"end": 0,
"name": "map",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1052,
"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": 1117,
"declaration": {
"commentStart": 1145,
"end": 0,
"id": {
"commentStart": 1145,
"end": 0,
"name": "xs",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"commentStart": 1154,
"end": 0,
"endElement": {
"abs_path": false,
"commentStart": 1158,
"end": 0,
"name": {
"commentStart": 1158,
"end": 0,
"name": "cmo",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"endInclusive": true,
"start": 0,
"startElement": {
"commentStart": 1155,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"type": "ArrayRangeExpression",
"type": "ArrayRangeExpression"
},
{
"body": {
"body": [
{
"argument": {
"commentStart": 1182,
"end": 0,
"left": {
"commentStart": 1182,
"computed": true,
"end": 0,
"object": {
"commentStart": 1182,
"end": 0,
"name": "rs",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1185,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "*",
"right": {
"arguments": [
{
"commentStart": 1194,
"computed": true,
"end": 0,
"object": {
"commentStart": 1194,
"end": 0,
"name": "invas",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1200,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1190,
"end": 0,
"name": {
"commentStart": 1190,
"end": 0,
"name": "cos",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1190,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"commentStart": 1175,
"end": 0,
"start": 0,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"commentStart": 1171,
"end": 0,
"start": 0
},
"commentStart": 1167,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 1168,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier"
}
}
],
"start": 0,
"type": "FunctionExpression",
"type": "FunctionExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1150,
"end": 0,
"name": {
"commentStart": 1150,
"end": 0,
"name": "map",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1150,
"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": 1206,
"declaration": {
"commentStart": 1208,
"end": 0,
"id": {
"commentStart": 1208,
"end": 0,
"name": "ys",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"commentStart": 1217,
"end": 0,
"endElement": {
"abs_path": false,
"commentStart": 1221,
"end": 0,
"name": {
"commentStart": 1221,
"end": 0,
"name": "cmo",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"endInclusive": true,
"start": 0,
"startElement": {
"commentStart": 1218,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"type": "ArrayRangeExpression",
"type": "ArrayRangeExpression"
},
{
"body": {
"body": [
{
"argument": {
"commentStart": 1245,
"end": 0,
"left": {
"commentStart": 1245,
"computed": true,
"end": 0,
"object": {
"commentStart": 1245,
"end": 0,
"name": "rs",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1248,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "*",
"right": {
"arguments": [
{
"commentStart": 1257,
"computed": true,
"end": 0,
"object": {
"commentStart": 1257,
"end": 0,
"name": "invas",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1263,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1253,
"end": 0,
"name": {
"commentStart": 1253,
"end": 0,
"name": "sin",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1253,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"commentStart": 1238,
"end": 0,
"start": 0,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"commentStart": 1234,
"end": 0,
"start": 0
},
"commentStart": 1230,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 1231,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier"
}
}
],
"start": 0,
"type": "FunctionExpression",
"type": "FunctionExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1213,
"end": 0,
"name": {
"commentStart": 1213,
"end": 0,
"name": "map",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1213,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1269,
"declaration": {
"commentStart": 1296,
"end": 0,
"id": {
"commentStart": 1296,
"end": 0,
"name": "body",
"start": 0,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"commentStart": 1317,
"end": 0,
"raw": "'XY'",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": "XY"
}
],
"callee": {
"abs_path": false,
"commentStart": 1303,
"end": 0,
"name": {
"commentStart": 1303,
"end": 0,
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1303,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 1343,
"end": 0,
"name": "center",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 1352,
"elements": [
{
"commentStart": 1353,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"commentStart": 1356,
"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": 1367,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 1376,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 1376,
"end": 0,
"name": {
"commentStart": 1376,
"end": 0,
"name": "baseDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 1391,
"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": 1328,
"end": 0,
"name": {
"commentStart": 1328,
"end": 0,
"name": "circle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1328,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 1413,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"abs_path": false,
"commentStart": 1422,
"end": 0,
"name": {
"commentStart": 1422,
"end": 0,
"name": "gearHeight",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 1405,
"end": 0,
"name": {
"commentStart": 1405,
"end": 0,
"name": "extrude",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1405,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"commentStart": 1303,
"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": 1433,
"declaration": {
"commentStart": 1435,
"end": 0,
"id": {
"commentStart": 1435,
"end": 0,
"name": "toothAngle",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 1448,
"end": 0,
"left": {
"commentStart": 1448,
"end": 0,
"left": {
"commentStart": 1448,
"end": 0,
"raw": "360",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
},
"operator": "/",
"right": {
"abs_path": false,
"commentStart": 1454,
"end": 0,
"name": {
"commentStart": 1454,
"end": 0,
"name": "nTeeth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "/",
"right": {
"commentStart": 1463,
"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": 1466,
"declaration": {
"commentStart": 1498,
"end": 0,
"id": {
"commentStart": 1498,
"end": 0,
"name": "leftInvolute",
"start": 0,
"type": "Identifier"
},
"init": {
"body": {
"body": [
{
"commentStart": 1522,
"declaration": {
"commentStart": 1522,
"end": 0,
"id": {
"commentStart": 1522,
"end": 0,
"name": "j",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 1526,
"end": 0,
"left": {
"commentStart": 1526,
"end": 0,
"raw": "100",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 100.0,
"suffix": "None"
}
},
"operator": "-",
"right": {
"abs_path": false,
"commentStart": 1532,
"end": 0,
"name": {
"commentStart": 1532,
"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": 1573,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 1587,
"elements": [
{
"commentStart": 1588,
"computed": true,
"end": 0,
"object": {
"commentStart": 1588,
"end": 0,
"name": "xs",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1591,
"end": 0,
"name": "j",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
{
"commentStart": 1595,
"computed": true,
"end": 0,
"object": {
"commentStart": 1595,
"end": 0,
"name": "ys",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1598,
"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": 1564,
"end": 0,
"name": {
"commentStart": 1564,
"end": 0,
"name": "line",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1564,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 1569,
"end": 0,
"name": {
"commentStart": 1569,
"end": 0,
"name": "sg",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
"commentStart": 1533,
"end": 0,
"start": 0,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"commentStart": 1518,
"end": 0,
"nonCodeMeta": {
"nonCodeNodes": {
"0": [
{
"commentStart": 1533,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "iterate backwards",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 0
},
"commentStart": 1510,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 1511,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier"
}
},
{
"type": "Parameter",
"identifier": {
"commentStart": 1514,
"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": 1604,
"declaration": {
"commentStart": 1609,
"end": 0,
"id": {
"commentStart": 1609,
"end": 0,
"name": "rightInvolute",
"start": 0,
"type": "Identifier"
},
"init": {
"body": {
"body": [
{
"commentStart": 1634,
"declaration": {
"commentStart": 1634,
"end": 0,
"id": {
"commentStart": 1634,
"end": 0,
"name": "x",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 1638,
"end": 0,
"left": {
"commentStart": 1638,
"computed": true,
"end": 0,
"object": {
"commentStart": 1638,
"end": 0,
"name": "rs",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1641,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "*",
"right": {
"arguments": [
{
"arguments": [
{
"commentStart": 1660,
"end": 0,
"left": {
"argument": {
"abs_path": false,
"commentStart": 1661,
"end": 0,
"name": {
"commentStart": 1661,
"end": 0,
"name": "toothAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 1660,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "+",
"right": {
"arguments": [
{
"arguments": [
{
"commentStart": 1689,
"end": 0,
"left": {
"commentStart": 1689,
"computed": true,
"end": 0,
"object": {
"commentStart": 1689,
"end": 0,
"name": "ys",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1692,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "/",
"right": {
"commentStart": 1697,
"computed": true,
"end": 0,
"object": {
"commentStart": 1697,
"end": 0,
"name": "xs",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1700,
"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": 1684,
"end": 0,
"name": {
"commentStart": 1684,
"end": 0,
"name": "atan",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1684,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1674,
"end": 0,
"name": {
"commentStart": 1674,
"end": 0,
"name": "toDegrees",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1674,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1650,
"end": 0,
"name": {
"commentStart": 1650,
"end": 0,
"name": "toRadians",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1650,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1646,
"end": 0,
"name": {
"commentStart": 1646,
"end": 0,
"name": "cos",
"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"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1709,
"declaration": {
"commentStart": 1709,
"end": 0,
"id": {
"commentStart": 1709,
"end": 0,
"name": "y",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 1713,
"end": 0,
"left": {
"argument": {
"commentStart": 1714,
"computed": true,
"end": 0,
"object": {
"commentStart": 1714,
"end": 0,
"name": "rs",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1717,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"commentStart": 1713,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "*",
"right": {
"arguments": [
{
"arguments": [
{
"commentStart": 1736,
"end": 0,
"left": {
"argument": {
"abs_path": false,
"commentStart": 1737,
"end": 0,
"name": {
"commentStart": 1737,
"end": 0,
"name": "toothAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 1736,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "+",
"right": {
"arguments": [
{
"arguments": [
{
"commentStart": 1765,
"end": 0,
"left": {
"commentStart": 1765,
"computed": true,
"end": 0,
"object": {
"commentStart": 1765,
"end": 0,
"name": "ys",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1768,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "/",
"right": {
"commentStart": 1773,
"computed": true,
"end": 0,
"object": {
"commentStart": 1773,
"end": 0,
"name": "xs",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1776,
"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": 1760,
"end": 0,
"name": {
"commentStart": 1760,
"end": 0,
"name": "atan",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1760,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1750,
"end": 0,
"name": {
"commentStart": 1750,
"end": 0,
"name": "toDegrees",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1750,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1726,
"end": 0,
"name": {
"commentStart": 1726,
"end": 0,
"name": "toRadians",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1726,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 1722,
"end": 0,
"name": {
"commentStart": 1722,
"end": 0,
"name": "sin",
"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"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"argument": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 1801,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 1815,
"elements": [
{
"abs_path": false,
"commentStart": 1816,
"end": 0,
"name": {
"commentStart": 1816,
"end": 0,
"name": "x",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"abs_path": false,
"commentStart": 1819,
"end": 0,
"name": {
"commentStart": 1819,
"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": 1792,
"end": 0,
"name": {
"commentStart": 1792,
"end": 0,
"name": "line",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1792,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 1797,
"end": 0,
"name": {
"commentStart": 1797,
"end": 0,
"name": "sg",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
"commentStart": 1785,
"end": 0,
"start": 0,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"commentStart": 1630,
"end": 0,
"start": 0
},
"commentStart": 1622,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 1623,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier"
}
},
{
"type": "Parameter",
"identifier": {
"commentStart": 1626,
"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": 1824,
"declaration": {
"commentStart": 1845,
"end": 0,
"id": {
"commentStart": 1845,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"commentStart": 1867,
"end": 0,
"raw": "'XY'",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": "XY"
}
],
"callee": {
"abs_path": false,
"commentStart": 1853,
"end": 0,
"name": {
"commentStart": 1853,
"end": 0,
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1853,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"commentStart": 1893,
"elements": [
{
"commentStart": 1894,
"computed": false,
"end": 0,
"object": {
"commentStart": 1894,
"end": 0,
"name": "xs",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1897,
"end": 0,
"raw": "101",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 101.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
{
"commentStart": 1903,
"computed": false,
"end": 0,
"object": {
"commentStart": 1903,
"end": 0,
"name": "ys",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1906,
"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": 1913,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 1878,
"end": 0,
"name": {
"commentStart": 1878,
"end": 0,
"name": "startProfileAt",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1878,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"commentStart": 1853,
"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": 1916,
"declaration": {
"commentStart": 1916,
"end": 0,
"id": {
"commentStart": 1916,
"end": 0,
"name": "teeth",
"start": 0,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"commentStart": 1931,
"end": 0,
"endElement": {
"commentStart": 1935,
"end": 0,
"raw": "100",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 100.0,
"suffix": "None"
}
},
"endInclusive": true,
"start": 0,
"startElement": {
"commentStart": 1932,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"type": "ArrayRangeExpression",
"type": "ArrayRangeExpression"
},
{
"abs_path": false,
"commentStart": 1941,
"end": 0,
"name": {
"commentStart": 1941,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"abs_path": false,
"commentStart": 1948,
"end": 0,
"name": {
"commentStart": 1948,
"end": 0,
"name": "leftInvolute",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 1924,
"end": 0,
"name": {
"commentStart": 1924,
"end": 0,
"name": "reduce",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1924,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"commentStart": 1971,
"end": 0,
"properties": [
{
"commentStart": 1980,
"end": 0,
"key": {
"commentStart": 1980,
"end": 0,
"name": "angleStart",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 1993,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
},
{
"commentStart": 2003,
"end": 0,
"key": {
"commentStart": 2003,
"end": 0,
"name": "angleEnd",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"abs_path": false,
"commentStart": 2014,
"end": 0,
"name": {
"commentStart": 2014,
"end": 0,
"name": "toothAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
{
"commentStart": 2033,
"end": 0,
"key": {
"commentStart": 2033,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 2042,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 2042,
"end": 0,
"name": {
"commentStart": 2042,
"end": 0,
"name": "baseDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 2057,
"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": 2067,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 1967,
"end": 0,
"name": {
"commentStart": 1967,
"end": 0,
"name": "arc",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1967,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"commentStart": 2082,
"end": 0,
"endElement": {
"commentStart": 2086,
"end": 0,
"raw": "101",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 101.0,
"suffix": "None"
}
},
"endInclusive": true,
"start": 0,
"startElement": {
"commentStart": 2083,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"type": "ArrayRangeExpression",
"type": "ArrayRangeExpression"
},
{
"commentStart": 2092,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
},
{
"abs_path": false,
"commentStart": 2095,
"end": 0,
"name": {
"commentStart": 2095,
"end": 0,
"name": "rightInvolute",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 2075,
"end": 0,
"name": {
"commentStart": 2075,
"end": 0,
"name": "reduce",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2075,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [],
"callee": {
"abs_path": false,
"commentStart": 2115,
"end": 0,
"name": {
"commentStart": 2115,
"end": 0,
"name": "close",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2115,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2136,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"abs_path": false,
"commentStart": 2145,
"end": 0,
"name": {
"commentStart": 2145,
"end": 0,
"name": "gearHeight",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2128,
"end": 0,
"name": {
"commentStart": 2128,
"end": 0,
"name": "extrude",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2128,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2188,
"end": 0,
"name": "axis",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 2195,
"elements": [
{
"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"
}
},
{
"commentStart": 2202,
"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": 2213,
"end": 0,
"name": "center",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 2222,
"elements": [
{
"commentStart": 2223,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"commentStart": 2226,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"commentStart": 2229,
"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": 2240,
"end": 0,
"name": "instances",
"start": 0,
"type": "Identifier"
},
"arg": {
"abs_path": false,
"commentStart": 2252,
"end": 0,
"name": {
"commentStart": 2252,
"end": 0,
"name": "nTeeth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 2267,
"end": 0,
"name": "arcDegrees",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 2280,
"end": 0,
"raw": "360",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 2292,
"end": 0,
"name": "rotateDuplicates",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 2311,
"end": 0,
"raw": "true",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": true
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2162,
"end": 0,
"name": {
"commentStart": 2162,
"end": 0,
"name": "patternCircular3d",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2162,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"commentStart": 1924,
"end": 0,
"nonCodeMeta": {
"nonCodeNodes": {
"5": [
{
"commentStart": 2322,
"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": 2380,
"declaration": {
"commentStart": 2380,
"end": 0,
"id": {
"commentStart": 2380,
"end": 0,
"name": "keywayWidth",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 2394,
"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": 2400,
"declaration": {
"commentStart": 2400,
"end": 0,
"id": {
"commentStart": 2400,
"end": 0,
"name": "keywayDepth",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 2414,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 2414,
"end": 0,
"name": {
"commentStart": 2414,
"end": 0,
"name": "keywayWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 2428,
"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": 2430,
"declaration": {
"commentStart": 2430,
"end": 0,
"id": {
"commentStart": 2430,
"end": 0,
"name": "holeDiam",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 2441,
"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": 2443,
"declaration": {
"commentStart": 2443,
"end": 0,
"id": {
"commentStart": 2443,
"end": 0,
"name": "holeRadius",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 2456,
"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": 2458,
"declaration": {
"commentStart": 2458,
"end": 0,
"id": {
"commentStart": 2458,
"end": 0,
"name": "startAngle",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"commentStart": 2476,
"end": 0,
"left": {
"commentStart": 2476,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 2476,
"end": 0,
"name": {
"commentStart": 2476,
"end": 0,
"name": "keywayWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 2490,
"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": 2494,
"end": 0,
"name": {
"commentStart": 2494,
"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": 2471,
"end": 0,
"name": {
"commentStart": 2471,
"end": 0,
"name": "asin",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2471,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 2505,
"declaration": {
"commentStart": 2556,
"end": 0,
"id": {
"commentStart": 2556,
"end": 0,
"name": "keyWay",
"start": 0,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"abs_path": false,
"commentStart": 2579,
"end": 0,
"name": {
"commentStart": 2579,
"end": 0,
"name": "body",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"commentStart": 2585,
"end": 0,
"raw": "'END'",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": "END"
}
],
"callee": {
"abs_path": false,
"commentStart": 2565,
"end": 0,
"name": {
"commentStart": 2565,
"end": 0,
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2565,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"commentStart": 2612,
"elements": [
{
"commentStart": 2621,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 2621,
"end": 0,
"name": {
"commentStart": 2621,
"end": 0,
"name": "holeRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "*",
"right": {
"arguments": [
{
"abs_path": false,
"commentStart": 2638,
"end": 0,
"name": {
"commentStart": 2638,
"end": 0,
"name": "startAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 2634,
"end": 0,
"name": {
"commentStart": 2634,
"end": 0,
"name": "cos",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2634,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"commentStart": 2658,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 2658,
"end": 0,
"name": {
"commentStart": 2658,
"end": 0,
"name": "holeRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "*",
"right": {
"arguments": [
{
"abs_path": false,
"commentStart": 2675,
"end": 0,
"name": {
"commentStart": 2675,
"end": 0,
"name": "startAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 2671,
"end": 0,
"name": {
"commentStart": 2671,
"end": 0,
"name": "sin",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2671,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 2695,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 2597,
"end": 0,
"name": {
"commentStart": 2597,
"end": 0,
"name": "startProfileAt",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2597,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2709,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"abs_path": false,
"commentStart": 2718,
"end": 0,
"name": {
"commentStart": 2718,
"end": 0,
"name": "keywayDepth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2703,
"end": 0,
"name": {
"commentStart": 2703,
"end": 0,
"name": "xLine",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2703,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2742,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"argument": {
"abs_path": false,
"commentStart": 2752,
"end": 0,
"name": {
"commentStart": 2752,
"end": 0,
"name": "keywayWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 2751,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2736,
"end": 0,
"name": {
"commentStart": 2736,
"end": 0,
"name": "yLine",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2736,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2776,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"argument": {
"abs_path": false,
"commentStart": 2786,
"end": 0,
"name": {
"commentStart": 2786,
"end": 0,
"name": "keywayDepth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 2785,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2770,
"end": 0,
"name": {
"commentStart": 2770,
"end": 0,
"name": "xLine",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2770,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 2808,
"end": 0,
"properties": [
{
"commentStart": 2817,
"end": 0,
"key": {
"commentStart": 2817,
"end": 0,
"name": "angleEnd",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 2828,
"end": 0,
"raw": "180",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
}
},
{
"commentStart": 2840,
"end": 0,
"key": {
"commentStart": 2840,
"end": 0,
"name": "angleStart",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 2853,
"end": 0,
"left": {
"commentStart": 2853,
"end": 0,
"left": {
"commentStart": 2853,
"end": 0,
"left": {
"commentStart": 2853,
"end": 0,
"left": {
"argument": {
"commentStart": 2854,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"commentStart": 2853,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "*",
"right": {
"commentStart": 2858,
"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": 2864,
"end": 0,
"name": {
"commentStart": 2864,
"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": 2869,
"end": 0,
"name": {
"commentStart": 2869,
"end": 0,
"name": "startAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"commentStart": 2882,
"end": 0,
"raw": "360",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
},
{
"commentStart": 2894,
"end": 0,
"key": {
"commentStart": 2894,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"abs_path": false,
"commentStart": 2903,
"end": 0,
"name": {
"commentStart": 2903,
"end": 0,
"name": "holeRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 2922,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 2804,
"end": 0,
"name": {
"commentStart": 2804,
"end": 0,
"name": "arc",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2804,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"commentStart": 2934,
"end": 0,
"properties": [
{
"commentStart": 2943,
"end": 0,
"key": {
"commentStart": 2943,
"end": 0,
"name": "angleEnd",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 2954,
"end": 0,
"left": {
"commentStart": 2954,
"end": 0,
"left": {
"commentStart": 2954,
"end": 0,
"raw": "180",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
},
"operator": "/",
"right": {
"abs_path": false,
"commentStart": 2960,
"end": 0,
"name": {
"commentStart": 2960,
"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": 2965,
"end": 0,
"name": {
"commentStart": 2965,
"end": 0,
"name": "startAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
},
{
"commentStart": 2984,
"end": 0,
"key": {
"commentStart": 2984,
"end": 0,
"name": "angleStart",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 2997,
"end": 0,
"raw": "180",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
}
},
{
"commentStart": 3009,
"end": 0,
"key": {
"commentStart": 3009,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"abs_path": false,
"commentStart": 3018,
"end": 0,
"name": {
"commentStart": 3018,
"end": 0,
"name": "holeRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 3037,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 2930,
"end": 0,
"name": {
"commentStart": 2930,
"end": 0,
"name": "arc",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2930,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [],
"callee": {
"abs_path": false,
"commentStart": 3045,
"end": 0,
"name": {
"commentStart": 3045,
"end": 0,
"name": "close",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 3045,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 3066,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"argument": {
"abs_path": false,
"commentStart": 3076,
"end": 0,
"name": {
"commentStart": 3076,
"end": 0,
"name": "gearHeight",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 3075,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 3058,
"end": 0,
"name": {
"commentStart": 3058,
"end": 0,
"name": "extrude",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 3058,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"commentStart": 2565,
"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": 1206,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
],
"15": [
{
"commentStart": 1433,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
],
"17": [
{
"commentStart": 1604,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
]
},
"startNodes": [
{
"commentStart": 472,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
]
},
"start": 0
}
}