2025-03-06 18:01:24 -05:00
---
source: kcl-lib/src/simulation_tests.rs
description: Result of parsing gear.kcl
---
{
"Ok": {
"body": [
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 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 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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",
"type": "Identifier"
},
"operator": "*",
"right": {
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",
"type": "Identifier"
},
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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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-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",
"type": "Identifier"
},
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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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-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",
"type": "Identifier"
},
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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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",
"type": "Identifier"
},
"operator": "*",
"right": {
"arguments": [
{
"arguments": [
{
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",
"type": "Identifier"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "toRadians",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "cos",
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
"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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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",
"type": "Identifier"
},
"operator": "+",
"right": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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-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",
"type": "Identifier"
},
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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 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 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"endElement": {
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",
"type": "Identifier"
},
"endInclusive": true,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"startElement": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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",
"type": "Identifier"
},
"operator": "/",
"right": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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"
},
"operator": "/",
"right": {
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",
"type": "Identifier"
},
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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",
"type": "Identifier"
},
"operator": "-",
"right": {
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",
"type": "Identifier"
},
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 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 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0
2025-03-06 18:01:24 -05:00
},
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 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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "map",
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
"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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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-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"
},
{
"body": {
"body": [
{
"argument": {
"arguments": [
{
"arguments": [
{
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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",
"type": "Identifier"
},
"operator": "/",
"right": {
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 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",
"type": "Identifier"
},
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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "acos",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "toDegrees",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
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 11:06:27 +13:00
"end": 0,
"start": 0
2025-03-06 18:01:24 -05:00
},
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 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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "map",
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
"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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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-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",
"type": "Identifier"
},
{
"body": {
"body": [
{
"argument": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
"arguments": [
{
"arguments": [
{
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",
"type": "Identifier"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "toRadians",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "tan",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
"operator": "-",
"right": {
"arguments": [
{
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",
"type": "Identifier"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "toRadians",
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
"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": "ReturnStatement",
"type": "ReturnStatement"
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0
2025-03-06 18:01:24 -05:00
},
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 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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "map",
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
"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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"endElement": {
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",
"type": "Identifier"
},
"endInclusive": true,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"startElement": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
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 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": [
{
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
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 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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "cos",
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
"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": "ReturnStatement",
"type": "ReturnStatement"
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0
2025-03-06 18:01:24 -05:00
},
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 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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "map",
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
"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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"endElement": {
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",
"type": "Identifier"
},
"endInclusive": true,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"startElement": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
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 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": [
{
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
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 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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "sin",
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
"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": "ReturnStatement",
"type": "ReturnStatement"
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0
2025-03-06 18:01:24 -05:00
},
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 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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "map",
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
"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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "startSketchOn",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
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": {
"elements": [
{
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,
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 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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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",
"type": "Identifier"
},
"operator": "/",
"right": {
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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "circle",
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
"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 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-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",
"type": "Identifier"
}
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "extrude",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
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 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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-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",
"type": "Identifier"
},
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 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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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": [
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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-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": "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 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": {
"elements": [
{
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
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 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"
},
{
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
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 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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "line",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
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",
"type": "Identifier"
}
},
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"nonCodeMeta": {
"nonCodeNodes": {
"0": [
{
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"params": [
{
"type": "Parameter",
"identifier": {
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 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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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": [
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
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 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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
"argument": {
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",
"type": "Identifier"
},
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
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 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": {
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
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 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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "atan",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "toDegrees",
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
"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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "toRadians",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "cos",
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
"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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
"argument": {
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
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 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
"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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
"argument": {
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",
"type": "Identifier"
},
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
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 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": {
"computed": true,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
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 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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "atan",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "toDegrees",
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
"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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "toRadians",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "sin",
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
"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 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": {
"elements": [
{
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",
"type": "Identifier"
},
{
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",
"type": "Identifier"
}
],
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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "line",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
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",
"type": "Identifier"
}
},
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 11:06:27 +13:00
"end": 0,
"start": 0
2025-03-06 18:01:24 -05:00
},
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 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 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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "startSketchOn",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
"computed": false,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
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 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"
},
{
"computed": false,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"object": {
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 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 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "startProfileAt",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
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 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"endElement": {
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 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-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",
"type": "Identifier"
},
{
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",
"type": "Identifier"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "reduce",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"properties": [
{
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
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 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,
2025-03-06 18:01:24 -05:00
"key": {
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 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",
"type": "Identifier"
}
},
{
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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",
"type": "Identifier"
},
"operator": "/",
"right": {
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 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "arc",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"endElement": {
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 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 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
},
{
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",
"type": "Identifier"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "reduce",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "close",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
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-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",
"type": "Identifier"
}
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "extrude",
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
"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 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": {
"elements": [
{
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,
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,
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 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": {
"elements": [
{
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,
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,
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 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-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",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
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 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 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 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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "patternCircular3d",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"nonCodeMeta": {
"nonCodeNodes": {
"5": [
{
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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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",
"type": "Identifier"
},
"operator": "/",
"right": {
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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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",
"type": "Identifier"
},
"operator": "/",
"right": {
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 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",
"type": "Identifier"
},
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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "asin",
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
"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"
},
{
"declaration": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
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-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",
"type": "Identifier"
},
{
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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "startSketchOn",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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",
"type": "Identifier"
},
"operator": "*",
"right": {
"arguments": [
{
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",
"type": "Identifier"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "cos",
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
"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,
2025-03-06 18:01:24 -05:00
"left": {
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",
"type": "Identifier"
},
"operator": "*",
"right": {
"arguments": [
{
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",
"type": "Identifier"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "sin",
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
"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 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "startProfileAt",
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
"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 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-20 11:06:27 +13:00
"end": 0,
2025-03-07 22:07:16 -06:00
"name": "keywayDepth",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-07 22:07:16 -06:00
"type": "Identifier",
"type": "Identifier"
}
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "xLine",
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
"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 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-20 11:06:27 +13:00
"end": 0,
2025-03-07 22:07:16 -06:00
"name": "keywayWidth",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-07 22:07:16 -06:00
"type": "Identifier",
"type": "Identifier"
},
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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "yLine",
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
"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 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-20 11:06:27 +13:00
"end": 0,
2025-03-07 22:07:16 -06:00
"name": "keywayDepth",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-07 22:07:16 -06:00
"type": "Identifier",
"type": "Identifier"
},
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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "xLine",
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
"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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"properties": [
{
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
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 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
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
"argument": {
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,
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 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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "PI",
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": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "*",
"right": {
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",
"type": "Identifier"
},
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 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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
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 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",
"type": "Identifier"
}
}
],
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 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "arc",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"properties": [
{
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
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 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "PI",
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": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "*",
"right": {
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",
"type": "Identifier"
},
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,
2025-03-06 18:01:24 -05:00
"key": {
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 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
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
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 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",
"type": "Identifier"
}
}
],
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 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "arc",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "close",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
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-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",
"type": "Identifier"
},
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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "extrude",
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
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
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 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"innerAttrs": [
{
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": {
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"
},
"properties": [
{
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "in",
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": "Annotation"
}
],
"nonCodeMeta": {
"nonCodeNodes": {
"8": [
{
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": "Interpolate points along the involute curve",
"style": "line"
}
}
],
"10": [
{
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": "Calculate operating pressure angle",
"style": "line"
}
}
],
"11": [
{
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": "Calculate the involute function",
"style": "line"
}
}
],
"12": [
{
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": "Map the involute curve",
"style": "line"
}
}
],
"13": [
{
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"
}
}
],
"14": [
{
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": "Extrude the gear body",
"style": "line"
}
}
],
"15": [
{
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"
}
}
],
"16": [
{
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": "Plot the involute curve",
"style": "line"
}
}
],
"17": [
{
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"
}
}
],
"18": [
{
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": "Draw gear teeth",
"style": "line"
}
}
],
"25": [
{
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": "Sketch the keyway and center hole and extrude",
"style": "line"
}
}
]
},
"startNodes": [
{
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "Spur Gear",
"style": "line"
}
},
{
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "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.",
"style": "line"
}
},
{
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"
}
},
{
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "Set Units",
"style": "line"
}
},
{
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"
}
},
{
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "Define constants",
"style": "line"
}
}
]
},
"start": 0
}
}