2025-03-06 18:01:24 -05:00
---
source: kcl-lib/src/simulation_tests.rs
description: Result of parsing gear.kcl
---
{
"Ok": {
"body": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 472,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 494,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 494,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "nTeeth",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 503,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "21",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 21.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 16:23:20 +13:00
"preComments": [
"// Define constants"
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 506,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 506,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 506,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "module",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 515,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "0.5",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.5,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 519,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 519,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 519,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "pitchDiameter",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 535,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 535,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 535,
"end": 0,
"name": "module",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
"operator": "*",
"right": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 544,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 544,
"end": 0,
"name": "nTeeth",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 551,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 551,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 551,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "pressureAngle",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 567,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "20",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 20.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 570,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 570,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 570,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "addendum",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 581,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 581,
"end": 0,
"name": "module",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 588,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 588,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 588,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "deddendum",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 600,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 600,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "1.25",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.25,
"suffix": "None"
}
},
"operator": "*",
"right": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 607,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 607,
"end": 0,
"name": "module",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 614,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 614,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 614,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "baseDiameter",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 629,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 629,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 629,
"end": 0,
"name": "pitchDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
"operator": "*",
"right": {
"arguments": [
{
"arguments": [
{
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 659,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 659,
"end": 0,
"name": "pressureAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 649,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 649,
"end": 0,
"name": "toRadians",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 649,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 645,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 645,
"end": 0,
"name": "cos",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 645,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 675,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 675,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 675,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "tipDiameter",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 689,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 689,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 689,
"end": 0,
"name": "pitchDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
"operator": "+",
"right": {
2025-03-20 16:23:20 +13:00
"commentStart": 705,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 705,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 709,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 709,
"end": 0,
"name": "module",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 716,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 716,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 716,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "gearHeight",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 729,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "3",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 3.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 730,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 779,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 779,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "cmo",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 785,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "101",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 101.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
"// Interpolate points along the involute curve"
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 789,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 789,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 789,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "rs",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 798,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"endElement": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 802,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 802,
"end": 0,
"name": "cmo",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
"endInclusive": true,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"startElement": {
2025-03-20 16:23:20 +13:00
"commentStart": 799,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"type": "ArrayRangeExpression",
"type": "ArrayRangeExpression"
},
{
"body": {
"body": [
{
"argument": {
2025-03-20 16:23:20 +13:00
"commentStart": 826,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 826,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 826,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 826,
"end": 0,
"name": "baseDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
"operator": "/",
"right": {
2025-03-20 16:23:20 +13:00
"commentStart": 841,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
2025-03-20 16:23:20 +13:00
"commentStart": 845,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 845,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 845,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 845,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 845,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
"operator": "/",
"right": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 849,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 849,
"end": 0,
"name": "cmo",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "*",
"right": {
2025-03-20 16:23:20 +13:00
"commentStart": 856,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 856,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 856,
"end": 0,
"name": "tipDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
"operator": "-",
"right": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 870,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 870,
"end": 0,
"name": "baseDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "/",
"right": {
2025-03-20 16:23:20 +13:00
"commentStart": 886,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 16:23:20 +13:00
"commentStart": 819,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
2025-03-20 16:23:20 +13:00
"commentStart": 815,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 811,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"params": [
{
"type": "Parameter",
"identifier": {
2025-03-20 16:23:20 +13:00
"commentStart": 812,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "i",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
}
}
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "FunctionExpression",
"type": "FunctionExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 794,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 794,
"end": 0,
"name": "map",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 794,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 890,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 930,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 930,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "angles",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"arguments": [
{
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 943,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 943,
"end": 0,
"name": "rs",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
{
"body": {
"body": [
{
"argument": {
"arguments": [
{
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 982,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 982,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 982,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 982,
"end": 0,
"name": "baseDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
"operator": "/",
"right": {
2025-03-20 16:23:20 +13:00
"commentStart": 997,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "/",
"right": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1001,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1001,
"end": 0,
"name": "r",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 977,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 977,
"end": 0,
"name": "acos",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 977,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 965,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 965,
"end": 0,
"name": "toDegrees",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 965,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 16:23:20 +13:00
"commentStart": 958,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
2025-03-20 16:23:20 +13:00
"commentStart": 954,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 950,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"params": [
{
"type": "Parameter",
"identifier": {
2025-03-20 16:23:20 +13:00
"commentStart": 951,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "r",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
}
}
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "FunctionExpression",
"type": "FunctionExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 939,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 939,
"end": 0,
"name": "map",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 939,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
"// Calculate operating pressure angle"
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 1007,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 1044,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 1044,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "invas",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"arguments": [
{
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1056,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1056,
"end": 0,
"name": "angles",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
{
"body": {
"body": [
{
"argument": {
2025-03-20 16:23:20 +13:00
"commentStart": 1082,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
"arguments": [
{
"arguments": [
{
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1096,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1096,
"end": 0,
"name": "a",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1086,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1086,
"end": 0,
"name": "toRadians",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1086,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1082,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1082,
"end": 0,
"name": "tan",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1082,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
"operator": "-",
"right": {
"arguments": [
{
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1112,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1112,
"end": 0,
"name": "a",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1102,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1102,
"end": 0,
"name": "toRadians",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1102,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 16:23:20 +13:00
"commentStart": 1075,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
2025-03-20 16:23:20 +13:00
"commentStart": 1071,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1067,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"params": [
{
"type": "Parameter",
"identifier": {
2025-03-20 16:23:20 +13:00
"commentStart": 1068,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "a",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
}
}
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "FunctionExpression",
"type": "FunctionExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1052,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1052,
"end": 0,
"name": "map",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1052,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
"// Calculate the involute function"
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 1117,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 1145,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 1145,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "xs",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1154,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"endElement": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1158,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1158,
"end": 0,
"name": "cmo",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
"endInclusive": true,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"startElement": {
2025-03-20 16:23:20 +13:00
"commentStart": 1155,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"type": "ArrayRangeExpression",
"type": "ArrayRangeExpression"
},
{
"body": {
"body": [
{
"argument": {
2025-03-20 16:23:20 +13:00
"commentStart": 1182,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 1182,
2025-03-06 18:01:24 -05:00
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
2025-03-20 16:23:20 +13:00
"commentStart": 1182,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "rs",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"property": {
2025-03-20 16:23:20 +13:00
"commentStart": 1185,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "i",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "*",
"right": {
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1194,
2025-03-06 18:01:24 -05:00
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
2025-03-20 16:23:20 +13:00
"commentStart": 1194,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "invas",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"property": {
2025-03-20 16:23:20 +13:00
"commentStart": 1200,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "i",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "MemberExpression",
"type": "MemberExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1190,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1190,
"end": 0,
"name": "cos",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1190,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 16:23:20 +13:00
"commentStart": 1175,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
2025-03-20 16:23:20 +13:00
"commentStart": 1171,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1167,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"params": [
{
"type": "Parameter",
"identifier": {
2025-03-20 16:23:20 +13:00
"commentStart": 1168,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "i",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
}
}
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "FunctionExpression",
"type": "FunctionExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1150,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1150,
"end": 0,
"name": "map",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1150,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
"// Map the involute curve"
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 1206,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 1208,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 1208,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "ys",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1217,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"endElement": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1221,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1221,
"end": 0,
"name": "cmo",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
"endInclusive": true,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"startElement": {
2025-03-20 16:23:20 +13:00
"commentStart": 1218,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"type": "ArrayRangeExpression",
"type": "ArrayRangeExpression"
},
{
"body": {
"body": [
{
"argument": {
2025-03-20 16:23:20 +13:00
"commentStart": 1245,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 1245,
2025-03-06 18:01:24 -05:00
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
2025-03-20 16:23:20 +13:00
"commentStart": 1245,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "rs",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"property": {
2025-03-20 16:23:20 +13:00
"commentStart": 1248,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "i",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "*",
"right": {
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1257,
2025-03-06 18:01:24 -05:00
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
2025-03-20 16:23:20 +13:00
"commentStart": 1257,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "invas",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"property": {
2025-03-20 16:23:20 +13:00
"commentStart": 1263,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "i",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "MemberExpression",
"type": "MemberExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1253,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1253,
"end": 0,
"name": "sin",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1253,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 16:23:20 +13:00
"commentStart": 1238,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
2025-03-20 16:23:20 +13:00
"commentStart": 1234,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1230,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"params": [
{
"type": "Parameter",
"identifier": {
2025-03-20 16:23:20 +13:00
"commentStart": 1231,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "i",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
}
}
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "FunctionExpression",
"type": "FunctionExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1213,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1213,
"end": 0,
"name": "map",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1213,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 1269,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 1296,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 1296,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "body",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1317,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "'XY'",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": "XY"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1303,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1303,
"end": 0,
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1303,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-20 16:23:20 +13:00
"commentStart": 1343,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "center",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-20 16:23:20 +13:00
"commentStart": 1352,
2025-03-06 18:01:24 -05:00
"elements": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1353,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 1356,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-20 16:23:20 +13:00
"commentStart": 1367,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "radius",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-20 16:23:20 +13:00
"commentStart": 1376,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1376,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1376,
"end": 0,
"name": "baseDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
"operator": "/",
"right": {
2025-03-20 16:23:20 +13:00
"commentStart": 1391,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1328,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1328,
"end": 0,
"name": "circle",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1328,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-20 16:23:20 +13:00
"commentStart": 1413,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "length",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1422,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1422,
"end": 0,
"name": "gearHeight",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1405,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1405,
"end": 0,
"name": "extrude",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1405,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
2025-03-20 16:23:20 +13:00
"commentStart": 1303,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeExpression",
"type": "PipeExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
"// Extrude the gear body"
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 1433,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 1435,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 1435,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "toothAngle",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 1448,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 1448,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 1448,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "360",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
},
"operator": "/",
"right": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1454,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1454,
"end": 0,
"name": "nTeeth",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "/",
"right": {
2025-03-20 16:23:20 +13:00
"commentStart": 1463,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "1.5",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.5,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 1466,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 1498,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 1498,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "leftInvolute",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": {
"body": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1522,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 1522,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 1522,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "j",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 1526,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 1526,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "100",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 100.0,
"suffix": "None"
}
},
"operator": "-",
"right": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1532,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1532,
"end": 0,
"name": "i",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"argument": {
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-20 16:23:20 +13:00
"commentStart": 1573,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "endAbsolute",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-20 16:23:20 +13:00
"commentStart": 1587,
2025-03-06 18:01:24 -05:00
"elements": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1588,
2025-03-06 18:01:24 -05:00
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
2025-03-20 16:23:20 +13:00
"commentStart": 1588,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "xs",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"property": {
2025-03-20 16:23:20 +13:00
"commentStart": 1591,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "j",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "MemberExpression",
"type": "MemberExpression"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 1595,
2025-03-06 18:01:24 -05:00
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
2025-03-20 16:23:20 +13:00
"commentStart": 1595,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "ys",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"property": {
2025-03-20 16:23:20 +13:00
"commentStart": 1598,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "j",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "MemberExpression",
"type": "MemberExpression"
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1564,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1564,
"end": 0,
"name": "line",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1564,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1569,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1569,
"end": 0,
"name": "sg",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
},
2025-03-20 16:23:20 +13:00
"commentStart": 1533,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
2025-03-20 16:23:20 +13:00
"commentStart": 1518,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"nonCodeMeta": {
"nonCodeNodes": {
"0": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1533,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "iterate backwards",
"style": "line"
}
}
]
},
"startNodes": []
},
2025-03-20 11:06:27 +13:00
"start": 0
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1510,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"params": [
{
"type": "Parameter",
"identifier": {
2025-03-20 16:23:20 +13:00
"commentStart": 1511,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "i",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
}
},
{
"type": "Parameter",
"identifier": {
2025-03-20 16:23:20 +13:00
"commentStart": 1514,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "sg",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
}
}
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "FunctionExpression",
"type": "FunctionExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "fn",
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
"// Plot the involute curve"
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 1604,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 1609,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 1609,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "rightInvolute",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": {
"body": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1634,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 1634,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 1634,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "x",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 1638,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 1638,
2025-03-06 18:01:24 -05:00
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
2025-03-20 16:23:20 +13:00
"commentStart": 1638,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "rs",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"property": {
2025-03-20 16:23:20 +13:00
"commentStart": 1641,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "i",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "*",
"right": {
"arguments": [
{
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1660,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
"argument": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1661,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1661,
"end": 0,
"name": "toothAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1660,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"operator": "-",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "+",
"right": {
"arguments": [
{
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1689,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 1689,
2025-03-06 18:01:24 -05:00
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
2025-03-20 16:23:20 +13:00
"commentStart": 1689,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "ys",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"property": {
2025-03-20 16:23:20 +13:00
"commentStart": 1692,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "i",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "/",
"right": {
2025-03-20 16:23:20 +13:00
"commentStart": 1697,
2025-03-06 18:01:24 -05:00
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
2025-03-20 16:23:20 +13:00
"commentStart": 1697,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "xs",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"property": {
2025-03-20 16:23:20 +13:00
"commentStart": 1700,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "i",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "MemberExpression",
"type": "MemberExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1684,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1684,
"end": 0,
"name": "atan",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1684,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1674,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1674,
"end": 0,
"name": "toDegrees",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1674,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1650,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1650,
"end": 0,
"name": "toRadians",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
2025-03-20 16:23:20 +13:00
"commentStart": 1650,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1646,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1646,
"end": 0,
"name": "cos",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1646,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 1709,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 1709,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 1709,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "y",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 1713,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
"argument": {
2025-03-20 16:23:20 +13:00
"commentStart": 1714,
2025-03-06 18:01:24 -05:00
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
2025-03-20 16:23:20 +13:00
"commentStart": 1714,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "rs",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"property": {
2025-03-20 16:23:20 +13:00
"commentStart": 1717,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "i",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "MemberExpression",
"type": "MemberExpression"
},
2025-03-20 16:23:20 +13:00
"commentStart": 1713,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"operator": "-",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "*",
"right": {
"arguments": [
{
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1736,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
"argument": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1737,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1737,
"end": 0,
"name": "toothAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1736,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"operator": "-",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "+",
"right": {
"arguments": [
{
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1765,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 1765,
2025-03-06 18:01:24 -05:00
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
2025-03-20 16:23:20 +13:00
"commentStart": 1765,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "ys",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"property": {
2025-03-20 16:23:20 +13:00
"commentStart": 1768,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "i",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "/",
"right": {
2025-03-20 16:23:20 +13:00
"commentStart": 1773,
2025-03-06 18:01:24 -05:00
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
2025-03-20 16:23:20 +13:00
"commentStart": 1773,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "xs",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"property": {
2025-03-20 16:23:20 +13:00
"commentStart": 1776,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "i",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "MemberExpression",
"type": "MemberExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1760,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1760,
"end": 0,
"name": "atan",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1760,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1750,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1750,
"end": 0,
"name": "toDegrees",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1750,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1726,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1726,
"end": 0,
"name": "toRadians",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1726,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1722,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1722,
"end": 0,
"name": "sin",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1722,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"argument": {
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-20 16:23:20 +13:00
"commentStart": 1801,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "endAbsolute",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-20 16:23:20 +13:00
"commentStart": 1815,
2025-03-06 18:01:24 -05:00
"elements": [
{
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1816,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1816,
"end": 0,
"name": "x",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
{
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1819,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1819,
"end": 0,
"name": "y",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1792,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1792,
"end": 0,
"name": "line",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1792,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1797,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1797,
"end": 0,
"name": "sg",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
},
2025-03-20 16:23:20 +13:00
"commentStart": 1785,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
2025-03-20 16:23:20 +13:00
"commentStart": 1630,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1622,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"params": [
{
"type": "Parameter",
"identifier": {
2025-03-20 16:23:20 +13:00
"commentStart": 1623,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "i",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
}
},
{
"type": "Parameter",
"identifier": {
2025-03-20 16:23:20 +13:00
"commentStart": 1626,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "sg",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
}
}
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "FunctionExpression",
"type": "FunctionExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "fn",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 1824,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 1845,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 1845,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "start",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1867,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "'XY'",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": "XY"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1853,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1853,
"end": 0,
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1853,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1893,
2025-03-06 18:01:24 -05:00
"elements": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1894,
2025-03-06 18:01:24 -05:00
"computed": false,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
2025-03-20 16:23:20 +13:00
"commentStart": 1894,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "xs",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"property": {
2025-03-20 16:23:20 +13:00
"commentStart": 1897,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "101",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 101.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "MemberExpression",
"type": "MemberExpression"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 1903,
2025-03-06 18:01:24 -05:00
"computed": false,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
2025-03-20 16:23:20 +13:00
"commentStart": 1903,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "ys",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"property": {
2025-03-20 16:23:20 +13:00
"commentStart": 1906,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "101",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 101.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "MemberExpression",
"type": "MemberExpression"
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 1913,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1878,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1878,
"end": 0,
"name": "startProfileAt",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1878,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
2025-03-20 16:23:20 +13:00
"commentStart": 1853,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeExpression",
"type": "PipeExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
"// Draw gear teeth"
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 1916,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 1916,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 1916,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "teeth",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1931,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"endElement": {
2025-03-20 16:23:20 +13:00
"commentStart": 1935,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "100",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 100.0,
"suffix": "None"
}
},
"endInclusive": true,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"startElement": {
2025-03-20 16:23:20 +13:00
"commentStart": 1932,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"type": "ArrayRangeExpression",
"type": "ArrayRangeExpression"
},
{
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1941,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1941,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
{
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1948,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1948,
"end": 0,
"name": "leftInvolute",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1924,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1924,
"end": 0,
"name": "reduce",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1924,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1971,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"properties": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1980,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-20 16:23:20 +13:00
"commentStart": 1980,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "angleStart",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-20 16:23:20 +13:00
"commentStart": 1993,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2003,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-20 16:23:20 +13:00
"commentStart": 2003,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "angleEnd",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2014,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2014,
"end": 0,
"name": "toothAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2033,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-20 16:23:20 +13:00
"commentStart": 2033,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "radius",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-20 16:23:20 +13:00
"commentStart": 2042,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2042,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2042,
"end": 0,
"name": "baseDiameter",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
"operator": "/",
"right": {
2025-03-20 16:23:20 +13:00
"commentStart": 2057,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2067,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 1967,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 1967,
"end": 0,
"name": "arc",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 1967,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 2082,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"endElement": {
2025-03-20 16:23:20 +13:00
"commentStart": 2086,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "101",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 101.0,
"suffix": "None"
}
},
"endInclusive": true,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"startElement": {
2025-03-20 16:23:20 +13:00
"commentStart": 2083,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "1",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"type": "ArrayRangeExpression",
"type": "ArrayRangeExpression"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2092,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
},
{
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2095,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2095,
"end": 0,
"name": "rightInvolute",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2075,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2075,
"end": 0,
"name": "reduce",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 2075,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2115,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2115,
"end": 0,
"name": "close",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 2115,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-20 16:23:20 +13:00
"commentStart": 2136,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "length",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2145,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2145,
"end": 0,
"name": "gearHeight",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2128,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2128,
"end": 0,
"name": "extrude",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 2128,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-20 16:23:20 +13:00
"commentStart": 2188,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "axis",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-20 16:23:20 +13:00
"commentStart": 2195,
2025-03-06 18:01:24 -05:00
"elements": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 2196,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2199,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2202,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "1",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-20 16:23:20 +13:00
"commentStart": 2213,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "center",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-20 16:23:20 +13:00
"commentStart": 2222,
2025-03-06 18:01:24 -05:00
"elements": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 2223,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2226,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2229,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-20 16:23:20 +13:00
"commentStart": 2240,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "instances",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2252,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2252,
"end": 0,
"name": "nTeeth",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
},
{
"type": "LabeledArg",
"label": {
2025-03-20 16:23:20 +13:00
"commentStart": 2267,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "arcDegrees",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-20 16:23:20 +13:00
"commentStart": 2280,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "360",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
2025-03-20 16:23:20 +13:00
"commentStart": 2292,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "rotateDuplicates",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-20 16:23:20 +13:00
"commentStart": 2311,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "true",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": true
}
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2162,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2162,
"end": 0,
"name": "patternCircular3d",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 2162,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
2025-03-20 16:23:20 +13:00
"commentStart": 1924,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"nonCodeMeta": {
"nonCodeNodes": {
"5": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 2322,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Define the constants of the keyway and the bore hole",
"style": "line"
}
}
]
},
"startNodes": []
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeExpression",
"type": "PipeExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2380,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 2380,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 2380,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "keywayWidth",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 2394,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "0.250",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.25,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2400,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 2400,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 2400,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "keywayDepth",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 2414,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2414,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2414,
"end": 0,
"name": "keywayWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
"operator": "/",
"right": {
2025-03-20 16:23:20 +13:00
"commentStart": 2428,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2430,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 2430,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 2430,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "holeDiam",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 2441,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2443,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 2443,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 2443,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "holeRadius",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-20 16:23:20 +13:00
"commentStart": 2456,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "1",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2458,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 2458,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 2458,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "startAngle",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 2476,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 2476,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2476,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2476,
"end": 0,
"name": "keywayWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
"operator": "/",
"right": {
2025-03-20 16:23:20 +13:00
"commentStart": 2490,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "/",
"right": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2494,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2494,
"end": 0,
"name": "holeRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2471,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2471,
"end": 0,
"name": "asin",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 2471,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2505,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-03-20 16:23:20 +13:00
"commentStart": 2556,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-20 16:23:20 +13:00
"commentStart": 2556,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "keyWay",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2579,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2579,
"end": 0,
"name": "body",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2585,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "'END'",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": "END"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2565,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2565,
"end": 0,
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 2565,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 2612,
2025-03-06 18:01:24 -05:00
"elements": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 2621,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2621,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2621,
"end": 0,
"name": "holeRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
"operator": "*",
"right": {
"arguments": [
{
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2638,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2638,
"end": 0,
"name": "startAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2634,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2634,
"end": 0,
"name": "cos",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 2634,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2658,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2658,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2658,
"end": 0,
"name": "holeRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
"operator": "*",
"right": {
"arguments": [
{
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2675,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2675,
"end": 0,
"name": "startAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2671,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2671,
"end": 0,
"name": "sin",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 2671,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2695,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2597,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2597,
"end": 0,
"name": "startProfileAt",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 2597,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
2025-03-07 22:07:16 -06:00
"type": "LabeledArg",
"label": {
2025-03-20 16:23:20 +13:00
"commentStart": 2709,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-07 22:07:16 -06:00
"name": "length",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-07 22:07:16 -06:00
"type": "Identifier"
},
"arg": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2718,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2718,
"end": 0,
"name": "keywayDepth",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-07 22:07:16 -06:00
}
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2703,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2703,
"end": 0,
"name": "xLine",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 2703,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-07 22:07:16 -06:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
2025-03-06 18:01:24 -05:00
},
{
"arguments": [
{
2025-03-07 22:07:16 -06:00
"type": "LabeledArg",
"label": {
2025-03-20 16:23:20 +13:00
"commentStart": 2742,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-07 22:07:16 -06:00
"name": "length",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-07 22:07:16 -06:00
"arg": {
"argument": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2752,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2752,
"end": 0,
"name": "keywayWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-07 22:07:16 -06:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 2751,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-07 22:07:16 -06:00
"operator": "-",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-07 22:07:16 -06:00
"type": "UnaryExpression",
"type": "UnaryExpression"
}
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2736,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2736,
"end": 0,
"name": "yLine",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 2736,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-07 22:07:16 -06:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
2025-03-06 18:01:24 -05:00
},
{
"arguments": [
{
2025-03-07 22:07:16 -06:00
"type": "LabeledArg",
"label": {
2025-03-20 16:23:20 +13:00
"commentStart": 2776,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-07 22:07:16 -06:00
"name": "length",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-07 22:07:16 -06:00
"arg": {
"argument": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2786,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2786,
"end": 0,
"name": "keywayDepth",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-07 22:07:16 -06:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 2785,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-07 22:07:16 -06:00
"operator": "-",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-07 22:07:16 -06:00
"type": "UnaryExpression",
"type": "UnaryExpression"
}
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2770,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2770,
"end": 0,
"name": "xLine",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 2770,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-07 22:07:16 -06:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
2025-03-06 18:01:24 -05:00
},
{
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 2808,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"properties": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 2817,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-20 16:23:20 +13:00
"commentStart": 2817,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "angleEnd",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-20 16:23:20 +13:00
"commentStart": 2828,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "180",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
}
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2840,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-20 16:23:20 +13:00
"commentStart": 2840,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "angleStart",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-20 16:23:20 +13:00
"commentStart": 2853,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 2853,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 2853,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 2853,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
"argument": {
2025-03-20 16:23:20 +13:00
"commentStart": 2854,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "1",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
2025-03-20 16:23:20 +13:00
"commentStart": 2853,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"operator": "-",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "*",
"right": {
2025-03-20 16:23:20 +13:00
"commentStart": 2858,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "180",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "/",
"right": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2864,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2864,
"end": 0,
"name": "PI",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "*",
"right": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2869,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2869,
"end": 0,
"name": "startAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
2025-03-20 16:23:20 +13:00
"commentStart": 2882,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "360",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2894,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-20 16:23:20 +13:00
"commentStart": 2894,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "radius",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2903,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2903,
"end": 0,
"name": "holeRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
}
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2922,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2804,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2804,
"end": 0,
"name": "arc",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 2804,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 2934,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"properties": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 2943,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-20 16:23:20 +13:00
"commentStart": 2943,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "angleEnd",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-20 16:23:20 +13:00
"commentStart": 2954,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 2954,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 16:23:20 +13:00
"commentStart": 2954,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "180",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
},
"operator": "/",
"right": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2960,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2960,
"end": 0,
"name": "PI",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "*",
"right": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2965,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2965,
"end": 0,
"name": "startAngle",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 2984,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-20 16:23:20 +13:00
"commentStart": 2984,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "angleStart",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-20 16:23:20 +13:00
"commentStart": 2997,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "180",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
}
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 3009,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-20 16:23:20 +13:00
"commentStart": 3009,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "radius",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 3018,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 3018,
"end": 0,
"name": "holeRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
}
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
2025-03-20 16:23:20 +13:00
"commentStart": 3037,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 2930,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 2930,
"end": 0,
"name": "arc",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 2930,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 3045,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 3045,
"end": 0,
"name": "close",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 3045,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-20 16:23:20 +13:00
"commentStart": 3066,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "length",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
"argument": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 3076,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 3076,
"end": 0,
"name": "gearHeight",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 3075,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"operator": "-",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 3058,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 3058,
"end": 0,
"name": "extrude",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"commentStart": 3058,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
2025-03-20 16:23:20 +13:00
"commentStart": 2565,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeExpression",
"type": "PipeExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
"// Sketch the keyway and center hole and extrude"
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
2025-03-20 16:23:20 +13:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"innerAttrs": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": {
2025-03-20 16:23:20 +13:00
"commentStart": 440,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "settings",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 16:23:20 +13:00
"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"
],
2025-03-06 18:01:24 -05:00
"properties": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 449,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-20 16:23:20 +13:00
"commentStart": 449,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "defaultLengthUnit",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-03-20 16:23:20 +13:00
"commentStart": 469,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-24 20:58:55 +13:00
"name": {
"commentStart": 469,
"end": 0,
"name": "in",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
}
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Annotation"
}
],
"nonCodeMeta": {
"nonCodeNodes": {
"13": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1206,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
],
"15": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1433,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
],
"17": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 1604,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
]
},
"startNodes": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 472,
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
]
},
"start": 0
}
}