* Add libm dependency * Change to use libm for trig functions * Remove redactions for floating point * Update output * Use clippy to prevent stdlib math sneaking back in --------- Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev>
		
			
				
	
	
		
			1206 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1206 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
---
 | 
						|
source: kcl-lib/src/simulation_tests.rs
 | 
						|
description: Operations executed cycloidal-gear.kcl
 | 
						|
---
 | 
						|
{
 | 
						|
  "public/kcl-samples/cycloidal-gear/main.kcl": [
 | 
						|
    {
 | 
						|
      "type": "GroupBegin",
 | 
						|
      "group": {
 | 
						|
        "type": "FunctionCall",
 | 
						|
        "name": "cycloidalGear",
 | 
						|
        "functionSourceRange": [],
 | 
						|
        "unlabeledArg": null,
 | 
						|
        "labeledArgs": {
 | 
						|
          "gearHeight": {
 | 
						|
            "value": {
 | 
						|
              "type": "Number",
 | 
						|
              "value": 1.5,
 | 
						|
              "ty": {
 | 
						|
                "type": "Default",
 | 
						|
                "len": {
 | 
						|
                  "type": "Inches"
 | 
						|
                },
 | 
						|
                "angle": {
 | 
						|
                  "type": "Degrees"
 | 
						|
                }
 | 
						|
              }
 | 
						|
            },
 | 
						|
            "sourceRange": []
 | 
						|
          },
 | 
						|
          "gearPitch": {
 | 
						|
            "value": {
 | 
						|
              "type": "Number",
 | 
						|
              "value": 0.3,
 | 
						|
              "ty": {
 | 
						|
                "type": "Default",
 | 
						|
                "len": {
 | 
						|
                  "type": "Inches"
 | 
						|
                },
 | 
						|
                "angle": {
 | 
						|
                  "type": "Degrees"
 | 
						|
                }
 | 
						|
              }
 | 
						|
            },
 | 
						|
            "sourceRange": []
 | 
						|
          },
 | 
						|
          "helixAngle": {
 | 
						|
            "value": {
 | 
						|
              "type": "Number",
 | 
						|
              "value": -80.0,
 | 
						|
              "ty": {
 | 
						|
                "type": "Known",
 | 
						|
                "type": "Angle",
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            },
 | 
						|
            "sourceRange": []
 | 
						|
          },
 | 
						|
          "holeDiameter": {
 | 
						|
            "value": {
 | 
						|
              "type": "Number",
 | 
						|
              "value": 0.297,
 | 
						|
              "ty": {
 | 
						|
                "type": "Default",
 | 
						|
                "len": {
 | 
						|
                  "type": "Inches"
 | 
						|
                },
 | 
						|
                "angle": {
 | 
						|
                  "type": "Degrees"
 | 
						|
                }
 | 
						|
              }
 | 
						|
            },
 | 
						|
            "sourceRange": []
 | 
						|
          }
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 1
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "ExpressionStatementExpr"
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "GroupBegin",
 | 
						|
      "group": {
 | 
						|
        "type": "FunctionCall",
 | 
						|
        "name": "gearSketch",
 | 
						|
        "functionSourceRange": [],
 | 
						|
        "unlabeledArg": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 0.0,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Inches"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        },
 | 
						|
        "labeledArgs": {}
 | 
						|
      },
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 1
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "CallKwUnlabeledArg"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "ArrayElement",
 | 
						|
            "index": 0
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "VariableDeclaration",
 | 
						|
      "name": "helixAngleP",
 | 
						|
      "value": {
 | 
						|
        "type": "Number",
 | 
						|
        "value": -0.0,
 | 
						|
        "ty": {
 | 
						|
          "type": "Known",
 | 
						|
          "type": "Angle",
 | 
						|
          "type": "Degrees"
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "visibility": "default",
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "StdLibCall",
 | 
						|
      "name": "offsetPlane",
 | 
						|
      "unlabeledArg": {
 | 
						|
        "value": {
 | 
						|
          "type": "Plane",
 | 
						|
          "artifact_id": "[uuid]"
 | 
						|
        },
 | 
						|
        "sourceRange": []
 | 
						|
      },
 | 
						|
      "labeledArgs": {
 | 
						|
        "offset": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 0.0,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Inches"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 1
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "PipeBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "CallKwUnlabeledArg"
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "StdLibCall",
 | 
						|
      "name": "startSketchOn",
 | 
						|
      "unlabeledArg": {
 | 
						|
        "value": {
 | 
						|
          "type": "Plane",
 | 
						|
          "artifact_id": "[uuid]"
 | 
						|
        },
 | 
						|
        "sourceRange": []
 | 
						|
      },
 | 
						|
      "labeledArgs": {},
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 1
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "PipeBodyItem",
 | 
						|
            "index": 0
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "StdLibCall",
 | 
						|
      "name": "subtract2d",
 | 
						|
      "unlabeledArg": {
 | 
						|
        "value": {
 | 
						|
          "type": "Sketch",
 | 
						|
          "value": {
 | 
						|
            "artifactId": "[uuid]"
 | 
						|
          }
 | 
						|
        },
 | 
						|
        "sourceRange": []
 | 
						|
      },
 | 
						|
      "labeledArgs": {
 | 
						|
        "tool": {
 | 
						|
          "value": {
 | 
						|
            "type": "Sketch",
 | 
						|
            "value": {
 | 
						|
              "artifactId": "[uuid]"
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 1
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "PipeBodyItem",
 | 
						|
            "index": 9
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "GroupEnd"
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "GroupBegin",
 | 
						|
      "group": {
 | 
						|
        "type": "FunctionCall",
 | 
						|
        "name": "gearSketch",
 | 
						|
        "functionSourceRange": [],
 | 
						|
        "unlabeledArg": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 0.75,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Inches"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        },
 | 
						|
        "labeledArgs": {}
 | 
						|
      },
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 1
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "CallKwUnlabeledArg"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "ArrayElement",
 | 
						|
            "index": 1
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "VariableDeclaration",
 | 
						|
      "name": "helixAngleP",
 | 
						|
      "value": {
 | 
						|
        "type": "Number",
 | 
						|
        "value": -40.0,
 | 
						|
        "ty": {
 | 
						|
          "type": "Known",
 | 
						|
          "type": "Angle",
 | 
						|
          "type": "Degrees"
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "visibility": "default",
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "StdLibCall",
 | 
						|
      "name": "offsetPlane",
 | 
						|
      "unlabeledArg": {
 | 
						|
        "value": {
 | 
						|
          "type": "Plane",
 | 
						|
          "artifact_id": "[uuid]"
 | 
						|
        },
 | 
						|
        "sourceRange": []
 | 
						|
      },
 | 
						|
      "labeledArgs": {
 | 
						|
        "offset": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 0.75,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Inches"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 1
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "PipeBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "CallKwUnlabeledArg"
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "StdLibCall",
 | 
						|
      "name": "startSketchOn",
 | 
						|
      "unlabeledArg": {
 | 
						|
        "value": {
 | 
						|
          "type": "Plane",
 | 
						|
          "artifact_id": "[uuid]"
 | 
						|
        },
 | 
						|
        "sourceRange": []
 | 
						|
      },
 | 
						|
      "labeledArgs": {},
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 1
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "PipeBodyItem",
 | 
						|
            "index": 0
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "StdLibCall",
 | 
						|
      "name": "subtract2d",
 | 
						|
      "unlabeledArg": {
 | 
						|
        "value": {
 | 
						|
          "type": "Sketch",
 | 
						|
          "value": {
 | 
						|
            "artifactId": "[uuid]"
 | 
						|
          }
 | 
						|
        },
 | 
						|
        "sourceRange": []
 | 
						|
      },
 | 
						|
      "labeledArgs": {
 | 
						|
        "tool": {
 | 
						|
          "value": {
 | 
						|
            "type": "Sketch",
 | 
						|
            "value": {
 | 
						|
              "artifactId": "[uuid]"
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 1
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "PipeBodyItem",
 | 
						|
            "index": 9
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "GroupEnd"
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "GroupBegin",
 | 
						|
      "group": {
 | 
						|
        "type": "FunctionCall",
 | 
						|
        "name": "gearSketch",
 | 
						|
        "functionSourceRange": [],
 | 
						|
        "unlabeledArg": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 1.5,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Inches"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        },
 | 
						|
        "labeledArgs": {}
 | 
						|
      },
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 1
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "CallKwUnlabeledArg"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "ArrayElement",
 | 
						|
            "index": 2
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "VariableDeclaration",
 | 
						|
      "name": "helixAngleP",
 | 
						|
      "value": {
 | 
						|
        "type": "Number",
 | 
						|
        "value": -80.0,
 | 
						|
        "ty": {
 | 
						|
          "type": "Known",
 | 
						|
          "type": "Angle",
 | 
						|
          "type": "Degrees"
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "visibility": "default",
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "StdLibCall",
 | 
						|
      "name": "offsetPlane",
 | 
						|
      "unlabeledArg": {
 | 
						|
        "value": {
 | 
						|
          "type": "Plane",
 | 
						|
          "artifact_id": "[uuid]"
 | 
						|
        },
 | 
						|
        "sourceRange": []
 | 
						|
      },
 | 
						|
      "labeledArgs": {
 | 
						|
        "offset": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 1.5,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Inches"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 1
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "PipeBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "CallKwUnlabeledArg"
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "StdLibCall",
 | 
						|
      "name": "startSketchOn",
 | 
						|
      "unlabeledArg": {
 | 
						|
        "value": {
 | 
						|
          "type": "Plane",
 | 
						|
          "artifact_id": "[uuid]"
 | 
						|
        },
 | 
						|
        "sourceRange": []
 | 
						|
      },
 | 
						|
      "labeledArgs": {},
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 1
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "PipeBodyItem",
 | 
						|
            "index": 0
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "StdLibCall",
 | 
						|
      "name": "subtract2d",
 | 
						|
      "unlabeledArg": {
 | 
						|
        "value": {
 | 
						|
          "type": "Sketch",
 | 
						|
          "value": {
 | 
						|
            "artifactId": "[uuid]"
 | 
						|
          }
 | 
						|
        },
 | 
						|
        "sourceRange": []
 | 
						|
      },
 | 
						|
      "labeledArgs": {
 | 
						|
        "tool": {
 | 
						|
          "value": {
 | 
						|
            "type": "Sketch",
 | 
						|
            "value": {
 | 
						|
              "artifactId": "[uuid]"
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 1
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "PipeBodyItem",
 | 
						|
            "index": 9
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "GroupEnd"
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "StdLibCall",
 | 
						|
      "name": "loft",
 | 
						|
      "unlabeledArg": {
 | 
						|
        "value": {
 | 
						|
          "type": "Array",
 | 
						|
          "value": [
 | 
						|
            {
 | 
						|
              "type": "Sketch",
 | 
						|
              "value": {
 | 
						|
                "artifactId": "[uuid]"
 | 
						|
              }
 | 
						|
            },
 | 
						|
            {
 | 
						|
              "type": "Sketch",
 | 
						|
              "value": {
 | 
						|
                "artifactId": "[uuid]"
 | 
						|
              }
 | 
						|
            },
 | 
						|
            {
 | 
						|
              "type": "Sketch",
 | 
						|
              "value": {
 | 
						|
                "artifactId": "[uuid]"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          ]
 | 
						|
        },
 | 
						|
        "sourceRange": []
 | 
						|
      },
 | 
						|
      "labeledArgs": {},
 | 
						|
      "nodePath": {
 | 
						|
        "steps": [
 | 
						|
          {
 | 
						|
            "type": "ProgramBodyItem",
 | 
						|
            "index": 0
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBody"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "FunctionExpressionBodyItem",
 | 
						|
            "index": 1
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationDeclaration"
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "VariableDeclarationInit"
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "GroupEnd"
 | 
						|
    }
 | 
						|
  ],
 | 
						|
  "std::appearance": [],
 | 
						|
  "std::array": [],
 | 
						|
  "std::math": [
 | 
						|
    {
 | 
						|
      "type": "VariableDeclaration",
 | 
						|
      "name": "PI",
 | 
						|
      "value": {
 | 
						|
        "type": "Number",
 | 
						|
        "value": 3.141592653589793,
 | 
						|
        "ty": {
 | 
						|
          "type": "Unknown"
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "visibility": "export",
 | 
						|
      "nodePath": {
 | 
						|
        "steps": []
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "VariableDeclaration",
 | 
						|
      "name": "E",
 | 
						|
      "value": {
 | 
						|
        "type": "Number",
 | 
						|
        "value": 2.718281828459045,
 | 
						|
        "ty": {
 | 
						|
          "type": "Known",
 | 
						|
          "type": "Count"
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "visibility": "export",
 | 
						|
      "nodePath": {
 | 
						|
        "steps": []
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "VariableDeclaration",
 | 
						|
      "name": "TAU",
 | 
						|
      "value": {
 | 
						|
        "type": "Number",
 | 
						|
        "value": 6.283185307179586,
 | 
						|
        "ty": {
 | 
						|
          "type": "Known",
 | 
						|
          "type": "Count"
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "visibility": "export",
 | 
						|
      "nodePath": {
 | 
						|
        "steps": []
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    }
 | 
						|
  ],
 | 
						|
  "std::prelude": [
 | 
						|
    {
 | 
						|
      "type": "VariableDeclaration",
 | 
						|
      "name": "START",
 | 
						|
      "value": {
 | 
						|
        "type": "String",
 | 
						|
        "value": "start"
 | 
						|
      },
 | 
						|
      "visibility": "export",
 | 
						|
      "nodePath": {
 | 
						|
        "steps": []
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "type": "VariableDeclaration",
 | 
						|
      "name": "END",
 | 
						|
      "value": {
 | 
						|
        "type": "String",
 | 
						|
        "value": "end"
 | 
						|
      },
 | 
						|
      "visibility": "export",
 | 
						|
      "nodePath": {
 | 
						|
        "steps": []
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    }
 | 
						|
  ],
 | 
						|
  "std::sketch": [],
 | 
						|
  "std::solid": [],
 | 
						|
  "std::sweep": [],
 | 
						|
  "std::transform": [],
 | 
						|
  "std::turns": [],
 | 
						|
  "std::types": [],
 | 
						|
  "std::units": []
 | 
						|
}
 |