2025-03-06 18:01:24 -05:00
---
source: kcl-lib/src/simulation_tests.rs
description: Result of parsing cycloidal-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": "cycloidalGear",
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": "gearSketch",
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": "helixAngleP",
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
"name": "helixAngle",
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": "gHeight",
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": "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
"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": "gearProfile",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "offset",
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": "gHeight",
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": "offsetPlane",
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
"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": [
{
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": "gearPitch",
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": "1.55",
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.55,
"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": {
"arguments": [
{
"arguments": [
{
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "helixAngleP",
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"
},
"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": "gearPitch",
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": [
{
"argument": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "helixAngleP",
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": "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": "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
"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": "gearPitch",
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": "1.55",
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.55,
"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": {
"arguments": [
{
"arguments": [
{
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "helixAngleP",
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": "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"
},
"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": "gearPitch",
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": [
{
"argument": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "helixAngleP",
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": "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": "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-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
"left": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "90",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 90.0,
"suffix": "None"
}
},
"operator": "+",
"right": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "helixAngleP",
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": "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": {
"argument": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "90",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 90.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
"name": "helixAngleP",
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": "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": "gearPitch",
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": "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": "gearPitch",
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": "1.67",
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.67,
"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": "offset",
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": "60",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 60.0,
"suffix": "None"
}
}
}
],
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": "tangentialArc",
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": "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": "gearPitch",
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": "offset",
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": {
"argument": {
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
"operator": "-",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
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": "tangentialArc",
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": "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": "gearPitch",
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": "1.67",
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.67,
"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": "offset",
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": "60",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 60.0,
"suffix": "None"
}
}
}
],
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": "tangentialArc",
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": "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": "gearPitch",
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": "offset",
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": {
"argument": {
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
"operator": "-",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
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": "tangentialArc",
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": [
{
"arguments": [
{
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": "profileStartX",
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,
"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": "profileStartY",
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": "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": "tangentialArcTo",
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,
"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": "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": [
{
"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": "holeDiameter",
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
},
{
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": "hole",
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"
},
{
"argument": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "gearProfile",
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": "gHeight",
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": "gearLoft",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"arguments": [
{
"elements": [
{
"arguments": [
{
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"
}
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "gearSketch",
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
"left": {
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"
},
"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": "gearSketch",
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
"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": "gearSketch",
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": "ArrayExpression",
"type": "ArrayExpression"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "loft",
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"
},
{
"argument": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "gearLoft",
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": "newLineBlockComment",
"value": "Draw sketches of the gear profile along the gear height and loft them together",
"style": "line"
}
}
],
"1": [
{
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
]
},
"startNodes": [
{
2025-03-20 11:06:27 +13:00
"end": 0,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "Create a function to draw the gear profile as a sketch. Rotate each profile about the gear's axis by an helix angle proportional to the total gear height",
"style": "line"
}
}
]
},
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": "gearPitch",
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": "gearHeight",
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": "holeDiameter",
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": "helixAngle",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
}
}
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "FunctionExpression",
"type": "FunctionExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "fn",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"expression": {
"arguments": [
{
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": 0.3,
"suffix": "None"
}
},
{
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
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "0.297",
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.297,
"suffix": "None"
}
},
{
"argument": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"raw": "80",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 80.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"
}
],
"callee": {
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"name": "cycloidalGear",
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": "ExpressionStatement",
"type": "ExpressionStatement"
}
],
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": {
"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": "newLine"
}
}
]
},
"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": "Cycloidal 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 cycloidal gear is a gear with a continuous, curved tooth profile. They are used in watchmaking and high precision robotics actuation",
"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"
}
}
]
},
"start": 0
}
}