Files
modeling-app/rust/kcl-lib/tests/kcl_samples/food-service-spatula/ast.snap
2025-03-26 11:53:34 -04:00

6901 lines
246 KiB
Plaintext

---
source: kcl-lib/src/simulation_tests.rs
description: Result of parsing food-service-spatula.kcl
---
{
"Ok": {
"body": [
{
"commentStart": 129,
"declaration": {
"commentStart": 171,
"end": 0,
"id": {
"commentStart": 171,
"end": 0,
"name": "flipperThickness",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 190,
"end": 0,
"raw": "3.5",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 3.5,
"suffix": "None"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"// Define constants in millimeters (mm)"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 194,
"declaration": {
"commentStart": 194,
"end": 0,
"id": {
"commentStart": 194,
"end": 0,
"name": "flipperLength",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 210,
"end": 0,
"raw": "70.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 70.0,
"suffix": "None"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 215,
"declaration": {
"commentStart": 215,
"end": 0,
"id": {
"commentStart": 215,
"end": 0,
"name": "handleWidth",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 229,
"end": 0,
"raw": "15.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 15.0,
"suffix": "None"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 234,
"declaration": {
"commentStart": 234,
"end": 0,
"id": {
"commentStart": 234,
"end": 0,
"name": "gripLength",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 247,
"end": 0,
"raw": "150.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 150.0,
"suffix": "None"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 253,
"declaration": {
"commentStart": 253,
"end": 0,
"id": {
"commentStart": 253,
"end": 0,
"name": "flipperFilletRadius",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 275,
"end": 0,
"raw": "5.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 5.0,
"suffix": "None"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 279,
"declaration": {
"commentStart": 279,
"end": 0,
"id": {
"commentStart": 279,
"end": 0,
"name": "flipperSlotWidth",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 298,
"end": 0,
"raw": "10.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 10.0,
"suffix": "None"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 303,
"declaration": {
"commentStart": 303,
"end": 0,
"id": {
"commentStart": 303,
"end": 0,
"name": "gripWidth",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 315,
"end": 0,
"raw": "10.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 10.0,
"suffix": "None"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 320,
"declaration": {
"commentStart": 320,
"end": 0,
"id": {
"commentStart": 320,
"end": 0,
"name": "gripHeight",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 333,
"end": 0,
"raw": "20.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 20.0,
"suffix": "None"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 338,
"declaration": {
"commentStart": 338,
"end": 0,
"id": {
"commentStart": 338,
"end": 0,
"name": "gripFilletRadius",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 357,
"end": 0,
"raw": "3.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 3.0,
"suffix": "None"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 361,
"declaration": {
"commentStart": 361,
"end": 0,
"id": {
"commentStart": 361,
"end": 0,
"name": "gripSlotWidth",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 377,
"end": 0,
"raw": "8.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 8.0,
"suffix": "None"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 380,
"declaration": {
"commentStart": 477,
"end": 0,
"id": {
"commentStart": 477,
"end": 0,
"name": "slot",
"start": 0,
"type": "Identifier"
},
"init": {
"body": {
"body": [
{
"commentStart": 514,
"declaration": {
"commentStart": 514,
"end": 0,
"id": {
"commentStart": 514,
"end": 0,
"name": "angle",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 522,
"cond": {
"commentStart": 525,
"end": 0,
"left": {
"commentStart": 525,
"computed": false,
"end": 0,
"object": {
"commentStart": 525,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 531,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "==",
"right": {
"commentStart": 537,
"computed": false,
"end": 0,
"object": {
"commentStart": 537,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 541,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"digest": null,
"else_ifs": [],
"end": 0,
"final_else": {
"body": [
{
"commentStart": 626,
"end": 0,
"expression": {
"commentStart": 626,
"cond": {
"commentStart": 629,
"end": 0,
"left": {
"commentStart": 629,
"computed": false,
"end": 0,
"object": {
"commentStart": 629,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 633,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "<",
"right": {
"commentStart": 638,
"computed": false,
"end": 0,
"object": {
"commentStart": 638,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 644,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"digest": null,
"else_ifs": [],
"end": 0,
"final_else": {
"body": [
{
"commentStart": 739,
"end": 0,
"expression": {
"arguments": [
{
"arguments": [
{
"commentStart": 761,
"end": 0,
"left": {
"commentStart": 761,
"end": 0,
"left": {
"commentStart": 761,
"computed": false,
"end": 0,
"object": {
"commentStart": 761,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 765,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "-",
"right": {
"commentStart": 770,
"computed": false,
"end": 0,
"object": {
"commentStart": 770,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 776,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "/",
"right": {
"commentStart": 783,
"end": 0,
"left": {
"commentStart": 783,
"computed": false,
"end": 0,
"object": {
"commentStart": 783,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 787,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "-",
"right": {
"commentStart": 792,
"computed": false,
"end": 0,
"object": {
"commentStart": 792,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 798,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 755,
"end": 0,
"name": {
"commentStart": 755,
"end": 0,
"name": "atan",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 755,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 739,
"end": 0,
"name": {
"commentStart": 739,
"end": 0,
"name": "toDegrees",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 739,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
}
],
"commentStart": 739,
"end": 0,
"start": 0
},
"start": 0,
"then_val": {
"body": [
{
"commentStart": 655,
"end": 0,
"expression": {
"commentStart": 655,
"end": 0,
"left": {
"arguments": [
{
"arguments": [
{
"commentStart": 671,
"end": 0,
"left": {
"commentStart": 671,
"end": 0,
"left": {
"commentStart": 671,
"computed": false,
"end": 0,
"object": {
"commentStart": 671,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 675,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "-",
"right": {
"commentStart": 680,
"computed": false,
"end": 0,
"object": {
"commentStart": 680,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 686,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "/",
"right": {
"commentStart": 693,
"end": 0,
"left": {
"commentStart": 693,
"computed": false,
"end": 0,
"object": {
"commentStart": 693,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 697,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "-",
"right": {
"commentStart": 702,
"computed": false,
"end": 0,
"object": {
"commentStart": 702,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 708,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 665,
"end": 0,
"name": {
"commentStart": 665,
"end": 0,
"name": "atan",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 665,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 655,
"end": 0,
"name": {
"commentStart": 655,
"end": 0,
"name": "toDegrees",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 655,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"operator": "+",
"right": {
"commentStart": 716,
"end": 0,
"raw": "180",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
}
],
"commentStart": 655,
"end": 0,
"start": 0
},
"type": "IfExpression",
"type": "IfExpression"
},
"start": 0,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
}
],
"commentStart": 626,
"end": 0,
"start": 0
},
"start": 0,
"then_val": {
"body": [
{
"commentStart": 550,
"end": 0,
"expression": {
"commentStart": 550,
"cond": {
"commentStart": 553,
"end": 0,
"left": {
"commentStart": 553,
"computed": false,
"end": 0,
"object": {
"commentStart": 553,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 557,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": ">",
"right": {
"commentStart": 562,
"computed": false,
"end": 0,
"object": {
"commentStart": 562,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 568,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"digest": null,
"else_ifs": [],
"end": 0,
"final_else": {
"body": [
{
"commentStart": 601,
"end": 0,
"expression": {
"commentStart": 601,
"end": 0,
"raw": "270",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 270.0,
"suffix": "None"
}
},
"start": 0,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
}
],
"commentStart": 601,
"end": 0,
"start": 0
},
"start": 0,
"then_val": {
"body": [
{
"commentStart": 579,
"end": 0,
"expression": {
"commentStart": 579,
"end": 0,
"raw": "90",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 90.0,
"suffix": "None"
}
},
"start": 0,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
}
],
"commentStart": 579,
"end": 0,
"start": 0
},
"type": "IfExpression",
"type": "IfExpression"
},
"start": 0,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
}
],
"commentStart": 550,
"end": 0,
"start": 0
},
"type": "IfExpression",
"type": "IfExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 816,
"declaration": {
"commentStart": 816,
"end": 0,
"id": {
"commentStart": 816,
"end": 0,
"name": "dist",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"commentStart": 828,
"end": 0,
"left": {
"arguments": [
{
"commentStart": 832,
"end": 0,
"left": {
"commentStart": 832,
"computed": false,
"end": 0,
"object": {
"commentStart": 832,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 836,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "-",
"right": {
"commentStart": 841,
"computed": false,
"end": 0,
"object": {
"commentStart": 841,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 847,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"commentStart": 851,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 828,
"end": 0,
"name": {
"commentStart": 828,
"end": 0,
"name": "pow",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 828,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"operator": "+",
"right": {
"arguments": [
{
"commentStart": 860,
"end": 0,
"left": {
"commentStart": 860,
"computed": false,
"end": 0,
"object": {
"commentStart": 860,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 864,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "-",
"right": {
"commentStart": 869,
"computed": false,
"end": 0,
"object": {
"commentStart": 869,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 875,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"commentStart": 879,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 856,
"end": 0,
"name": {
"commentStart": 856,
"end": 0,
"name": "pow",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 856,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 823,
"end": 0,
"name": {
"commentStart": 823,
"end": 0,
"name": "sqrt",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 823,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 885,
"declaration": {
"commentStart": 885,
"end": 0,
"id": {
"commentStart": 885,
"end": 0,
"name": "xstart",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 894,
"end": 0,
"left": {
"commentStart": 894,
"end": 0,
"left": {
"commentStart": 894,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 894,
"end": 0,
"name": {
"commentStart": 894,
"end": 0,
"name": "width",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 902,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "*",
"right": {
"arguments": [
{
"arguments": [
{
"commentStart": 920,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 920,
"end": 0,
"name": {
"commentStart": 920,
"end": 0,
"name": "angle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "-",
"right": {
"commentStart": 928,
"end": 0,
"raw": "90",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 90.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 910,
"end": 0,
"name": {
"commentStart": 910,
"end": 0,
"name": "toRadians",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 910,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 906,
"end": 0,
"name": {
"commentStart": 906,
"end": 0,
"name": "cos",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 906,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"commentStart": 935,
"computed": false,
"end": 0,
"object": {
"commentStart": 935,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 941,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 946,
"declaration": {
"commentStart": 946,
"end": 0,
"id": {
"commentStart": 946,
"end": 0,
"name": "ystart",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 955,
"end": 0,
"left": {
"commentStart": 955,
"end": 0,
"left": {
"commentStart": 955,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 955,
"end": 0,
"name": {
"commentStart": 955,
"end": 0,
"name": "width",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 963,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "*",
"right": {
"arguments": [
{
"arguments": [
{
"commentStart": 981,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 981,
"end": 0,
"name": {
"commentStart": 981,
"end": 0,
"name": "angle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "-",
"right": {
"commentStart": 989,
"end": 0,
"raw": "90",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 90.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 971,
"end": 0,
"name": {
"commentStart": 971,
"end": 0,
"name": "toRadians",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 971,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 967,
"end": 0,
"name": {
"commentStart": 967,
"end": 0,
"name": "sin",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 967,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"commentStart": 996,
"computed": false,
"end": 0,
"object": {
"commentStart": 996,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"commentStart": 1002,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"start": 0,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1007,
"declaration": {
"commentStart": 1007,
"end": 0,
"id": {
"commentStart": 1007,
"end": 0,
"name": "slotSketch",
"start": 0,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"commentStart": 1035,
"elements": [
{
"abs_path": false,
"commentStart": 1036,
"end": 0,
"name": {
"commentStart": 1036,
"end": 0,
"name": "xstart",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"abs_path": false,
"commentStart": 1044,
"end": 0,
"name": {
"commentStart": 1044,
"end": 0,
"name": "ystart",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"abs_path": false,
"commentStart": 1053,
"end": 0,
"name": {
"commentStart": 1053,
"end": 0,
"name": "sketch1",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 1020,
"end": 0,
"name": {
"commentStart": 1020,
"end": 0,
"name": "startProfileAt",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1020,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"commentStart": 1080,
"end": 0,
"properties": [
{
"commentStart": 1082,
"end": 0,
"key": {
"commentStart": 1082,
"end": 0,
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"abs_path": false,
"commentStart": 1090,
"end": 0,
"name": {
"commentStart": 1090,
"end": 0,
"name": "angle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
{
"commentStart": 1097,
"end": 0,
"key": {
"commentStart": 1097,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"abs_path": false,
"commentStart": 1106,
"end": 0,
"name": {
"commentStart": 1106,
"end": 0,
"name": "dist",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 1114,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
},
{
"commentStart": 1117,
"end": 0,
"start": 0,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "line000"
}
],
"callee": {
"abs_path": false,
"commentStart": 1069,
"end": 0,
"name": {
"commentStart": 1069,
"end": 0,
"name": "angledLine",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1069,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"commentStart": 1148,
"end": 0,
"properties": [
{
"commentStart": 1150,
"end": 0,
"key": {
"commentStart": 1150,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 1159,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 1159,
"end": 0,
"name": {
"commentStart": 1159,
"end": 0,
"name": "width",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 1167,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
},
{
"commentStart": 1170,
"end": 0,
"key": {
"commentStart": 1170,
"end": 0,
"name": "offset",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 1179,
"end": 0,
"raw": "180",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 1186,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
},
{
"commentStart": 1189,
"end": 0,
"start": 0,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "arc000"
}
],
"callee": {
"abs_path": false,
"commentStart": 1134,
"end": 0,
"name": {
"commentStart": 1134,
"end": 0,
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1134,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"commentStart": 1216,
"end": 0,
"properties": [
{
"commentStart": 1218,
"end": 0,
"key": {
"commentStart": 1218,
"end": 0,
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"abs_path": false,
"commentStart": 1226,
"end": 0,
"name": {
"commentStart": 1226,
"end": 0,
"name": "angle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
{
"commentStart": 1233,
"end": 0,
"key": {
"commentStart": 1233,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"argument": {
"abs_path": false,
"commentStart": 1243,
"end": 0,
"name": {
"commentStart": 1243,
"end": 0,
"name": "dist",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 1242,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 1251,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
},
{
"commentStart": 1254,
"end": 0,
"start": 0,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "line001"
}
],
"callee": {
"abs_path": false,
"commentStart": 1205,
"end": 0,
"name": {
"commentStart": 1205,
"end": 0,
"name": "angledLine",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1205,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"commentStart": 1287,
"elements": [
{
"arguments": [
{
"commentStart": 1302,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 1288,
"end": 0,
"name": {
"commentStart": 1288,
"end": 0,
"name": "profileStartX",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1288,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"commentStart": 1320,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 1306,
"end": 0,
"name": {
"commentStart": 1306,
"end": 0,
"name": "profileStartY",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1306,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 1325,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
},
{
"commentStart": 1328,
"end": 0,
"start": 0,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "arc001"
}
],
"callee": {
"abs_path": false,
"commentStart": 1271,
"end": 0,
"name": {
"commentStart": 1271,
"end": 0,
"name": "tangentialArcTo",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1271,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [],
"callee": {
"abs_path": false,
"commentStart": 1344,
"end": 0,
"name": {
"commentStart": 1344,
"end": 0,
"name": "close",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1344,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"commentStart": 1020,
"end": 0,
"start": 0,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"argument": {
"abs_path": false,
"commentStart": 1361,
"end": 0,
"name": {
"commentStart": 1361,
"end": 0,
"name": "slotSketch",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 1354,
"end": 0,
"start": 0,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"commentStart": 510,
"end": 0,
"start": 0
},
"commentStart": 481,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 482,
"end": 0,
"name": "sketch1",
"start": 0,
"type": "Identifier"
}
},
{
"type": "Parameter",
"identifier": {
"commentStart": 491,
"end": 0,
"name": "start",
"start": 0,
"type": "Identifier"
}
},
{
"type": "Parameter",
"identifier": {
"commentStart": 498,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
}
},
{
"type": "Parameter",
"identifier": {
"commentStart": 503,
"end": 0,
"name": "width",
"start": 0,
"type": "Identifier"
}
}
],
"start": 0,
"type": "FunctionExpression",
"type": "FunctionExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "fn",
"preComments": [
"",
"",
"// function for drawing slots on a sketch given the start and end points as well as a width"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1373,
"declaration": {
"commentStart": 1412,
"end": 0,
"id": {
"commentStart": 1412,
"end": 0,
"name": "sketch000",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"abs_path": false,
"commentStart": 1438,
"end": 0,
"name": {
"commentStart": 1438,
"end": 0,
"name": "XY",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 1424,
"end": 0,
"name": {
"commentStart": 1424,
"end": 0,
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1424,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// create a sketch on the \"XY\" plane"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1441,
"declaration": {
"commentStart": 1478,
"end": 0,
"id": {
"commentStart": 1478,
"end": 0,
"name": "flipperProfile",
"start": 0,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"commentStart": 1510,
"elements": [
{
"argument": {
"abs_path": false,
"commentStart": 1512,
"end": 0,
"name": {
"commentStart": 1512,
"end": 0,
"name": "flipperLength",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 1511,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"argument": {
"commentStart": 1528,
"end": 0,
"raw": "32.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 32.0,
"suffix": "None"
}
},
"commentStart": 1527,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"abs_path": false,
"commentStart": 1535,
"end": 0,
"name": {
"commentStart": 1535,
"end": 0,
"name": "sketch000",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 1495,
"end": 0,
"name": {
"commentStart": 1495,
"end": 0,
"name": "startProfileAt",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1495,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 1556,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 1562,
"elements": [
{
"abs_path": false,
"commentStart": 1563,
"end": 0,
"name": {
"commentStart": 1563,
"end": 0,
"name": "flipperLength",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"commentStart": 1578,
"end": 0,
"raw": "2.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 1551,
"end": 0,
"name": {
"commentStart": 1551,
"end": 0,
"name": "line",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1551,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 1595,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 1604,
"end": 0,
"raw": "60.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 60.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 1610,
"end": 0,
"name": "tag",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 1616,
"end": 0,
"start": 0,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "backEdge"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 1589,
"end": 0,
"name": {
"commentStart": 1589,
"end": 0,
"name": "yLine",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1589,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 1637,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 1643,
"elements": [
{
"argument": {
"abs_path": false,
"commentStart": 1645,
"end": 0,
"name": {
"commentStart": 1645,
"end": 0,
"name": "flipperLength",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 1644,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"commentStart": 1660,
"end": 0,
"raw": "2.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 1632,
"end": 0,
"name": {
"commentStart": 1632,
"end": 0,
"name": "line",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1632,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 1675,
"end": 0,
"properties": [
{
"commentStart": 1684,
"end": 0,
"key": {
"commentStart": 1684,
"end": 0,
"name": "angleEnd",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 1695,
"end": 0,
"raw": "196.912390",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 196.91239,
"suffix": "None"
}
}
},
{
"commentStart": 1714,
"end": 0,
"key": {
"commentStart": 1714,
"end": 0,
"name": "angleStart",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 1727,
"end": 0,
"raw": "163.087610",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 163.08761,
"suffix": "None"
}
}
},
{
"commentStart": 1746,
"end": 0,
"key": {
"commentStart": 1746,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 1755,
"end": 0,
"raw": "110.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 110.0,
"suffix": "None"
}
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 1769,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 1671,
"end": 0,
"name": {
"commentStart": 1671,
"end": 0,
"name": "arc",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1671,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [],
"callee": {
"abs_path": false,
"commentStart": 1777,
"end": 0,
"name": {
"commentStart": 1777,
"end": 0,
"name": "close",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1777,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"commentStart": 1495,
"end": 0,
"nonCodeMeta": {
"nonCodeNodes": {
"5": [
{
"commentStart": 1784,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "create a profile of the middle",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 0,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// create a profile of the flipper"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1820,
"declaration": {
"commentStart": 1820,
"end": 0,
"id": {
"commentStart": 1820,
"end": 0,
"name": "slotProfile000",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"abs_path": false,
"commentStart": 1842,
"end": 0,
"name": {
"commentStart": 1842,
"end": 0,
"name": "sketch000",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"commentStart": 1853,
"elements": [
{
"argument": {
"commentStart": 1855,
"end": 0,
"raw": "25",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 25.0,
"suffix": "None"
}
},
"commentStart": 1854,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"commentStart": 1859,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 1863,
"elements": [
{
"argument": {
"commentStart": 1865,
"end": 0,
"raw": "55",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 55.0,
"suffix": "None"
}
},
"commentStart": 1864,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"commentStart": 1869,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"abs_path": false,
"commentStart": 1873,
"end": 0,
"name": {
"commentStart": 1873,
"end": 0,
"name": "flipperSlotWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 1837,
"end": 0,
"name": {
"commentStart": 1837,
"end": 0,
"name": "slot",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1837,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 1890,
"declaration": {
"commentStart": 1928,
"end": 0,
"id": {
"commentStart": 1928,
"end": 0,
"name": "slotProfile001",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"abs_path": false,
"commentStart": 1950,
"end": 0,
"name": {
"commentStart": 1950,
"end": 0,
"name": "sketch000",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"commentStart": 1961,
"elements": [
{
"argument": {
"commentStart": 1963,
"end": 0,
"raw": "25",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 25.0,
"suffix": "None"
}
},
"commentStart": 1962,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"commentStart": 1967,
"end": 0,
"raw": "18",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 18.0,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 1972,
"elements": [
{
"argument": {
"commentStart": 1974,
"end": 0,
"raw": "55",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 55.0,
"suffix": "None"
}
},
"commentStart": 1973,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"commentStart": 1978,
"end": 0,
"raw": "19",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 19.0,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"abs_path": false,
"commentStart": 1983,
"end": 0,
"name": {
"commentStart": 1983,
"end": 0,
"name": "flipperSlotWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 1945,
"end": 0,
"name": {
"commentStart": 1945,
"end": 0,
"name": "slot",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 1945,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// create a profile of the top slot"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 2000,
"declaration": {
"commentStart": 2041,
"end": 0,
"id": {
"commentStart": 2041,
"end": 0,
"name": "slotProfile002",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"abs_path": false,
"commentStart": 2063,
"end": 0,
"name": {
"commentStart": 2063,
"end": 0,
"name": "sketch000",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"commentStart": 2074,
"elements": [
{
"argument": {
"commentStart": 2076,
"end": 0,
"raw": "25",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 25.0,
"suffix": "None"
}
},
"commentStart": 2075,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"argument": {
"commentStart": 2081,
"end": 0,
"raw": "18",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 18.0,
"suffix": "None"
}
},
"commentStart": 2080,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 2086,
"elements": [
{
"argument": {
"commentStart": 2088,
"end": 0,
"raw": "55",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 55.0,
"suffix": "None"
}
},
"commentStart": 2087,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"argument": {
"commentStart": 2093,
"end": 0,
"raw": "19",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 19.0,
"suffix": "None"
}
},
"commentStart": 2092,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"abs_path": false,
"commentStart": 2098,
"end": 0,
"name": {
"commentStart": 2098,
"end": 0,
"name": "flipperSlotWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 2058,
"end": 0,
"name": {
"commentStart": 2058,
"end": 0,
"name": "slot",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2058,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// create a profile of the bottom slot"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 2115,
"declaration": {
"commentStart": 2164,
"end": 0,
"id": {
"commentStart": 2164,
"end": 0,
"name": "spatulaProfile",
"start": 0,
"type": "Identifier"
},
"init": {
"body": [
{
"abs_path": false,
"commentStart": 2181,
"end": 0,
"name": {
"commentStart": 2181,
"end": 0,
"name": "flipperProfile",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"arguments": [
{
"abs_path": false,
"commentStart": 2206,
"end": 0,
"name": {
"commentStart": 2206,
"end": 0,
"name": "slotProfile000",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"commentStart": 2222,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 2201,
"end": 0,
"name": {
"commentStart": 2201,
"end": 0,
"name": "hole",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2201,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"abs_path": false,
"commentStart": 2235,
"end": 0,
"name": {
"commentStart": 2235,
"end": 0,
"name": "slotProfile001",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"commentStart": 2251,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 2230,
"end": 0,
"name": {
"commentStart": 2230,
"end": 0,
"name": "hole",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2230,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"abs_path": false,
"commentStart": 2264,
"end": 0,
"name": {
"commentStart": 2264,
"end": 0,
"name": "slotProfile002",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"commentStart": 2280,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 2259,
"end": 0,
"name": {
"commentStart": 2259,
"end": 0,
"name": "hole",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2259,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"commentStart": 2181,
"end": 0,
"nonCodeMeta": {
"nonCodeNodes": {
"3": [
{
"commentStart": 2282,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "extrude the profile to create the spatula flipper",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 0,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// create a profile with slots for the spatula"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 2337,
"declaration": {
"commentStart": 2337,
"end": 0,
"id": {
"commentStart": 2337,
"end": 0,
"name": "flipper",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2371,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"abs_path": false,
"commentStart": 2380,
"end": 0,
"name": {
"commentStart": 2380,
"end": 0,
"name": "flipperThickness",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2347,
"end": 0,
"name": {
"commentStart": 2347,
"end": 0,
"name": "extrude",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2347,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 2355,
"end": 0,
"name": {
"commentStart": 2355,
"end": 0,
"name": "spatulaProfile",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 2397,
"end": 0,
"expression": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2455,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"arg": {
"abs_path": false,
"commentStart": 2464,
"end": 0,
"name": {
"commentStart": 2464,
"end": 0,
"name": "flipperFilletRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 2487,
"end": 0,
"name": "tags",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 2494,
"elements": [
{
"arguments": [
{
"abs_path": false,
"commentStart": 2520,
"end": 0,
"name": {
"commentStart": 2520,
"end": 0,
"name": "backEdge",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 2500,
"end": 0,
"name": {
"commentStart": 2500,
"end": 0,
"name": "getNextAdjacentEdge",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2500,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"abs_path": false,
"commentStart": 2559,
"end": 0,
"name": {
"commentStart": 2559,
"end": 0,
"name": "backEdge",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 2535,
"end": 0,
"name": {
"commentStart": 2535,
"end": 0,
"name": "getPreviousAdjacentEdge",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2535,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2434,
"end": 0,
"name": {
"commentStart": 2434,
"end": 0,
"name": "fillet",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2434,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 2444,
"end": 0,
"name": {
"commentStart": 2444,
"end": 0,
"name": "flipper",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
"preComments": [
"",
"",
"// fillet the edges of the flipper"
],
"start": 0,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
},
{
"commentStart": 2575,
"declaration": {
"commentStart": 2643,
"end": 0,
"id": {
"commentStart": 2643,
"end": 0,
"name": "sketch001",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2685,
"end": 0,
"name": "offset",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 2694,
"end": 0,
"left": {
"argument": {
"abs_path": false,
"commentStart": 2695,
"end": 0,
"name": {
"commentStart": 2695,
"end": 0,
"name": "handleWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 2694,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "/",
"right": {
"commentStart": 2709,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2669,
"end": 0,
"name": {
"commentStart": 2669,
"end": 0,
"name": "offsetPlane",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2669,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 2681,
"end": 0,
"name": {
"commentStart": 2681,
"end": 0,
"name": "XZ",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2655,
"end": 0,
"name": {
"commentStart": 2655,
"end": 0,
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2655,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// create a sketch on the \"XZ\" plane offset by half the thickness"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 2712,
"declaration": {
"commentStart": 2756,
"end": 0,
"id": {
"commentStart": 2756,
"end": 0,
"name": "handleProfile",
"start": 0,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"commentStart": 2787,
"elements": [
{
"commentStart": 2788,
"end": 0,
"raw": "0.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"abs_path": false,
"commentStart": 2793,
"end": 0,
"name": {
"commentStart": 2793,
"end": 0,
"name": "flipperThickness",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"abs_path": false,
"commentStart": 2812,
"end": 0,
"name": {
"commentStart": 2812,
"end": 0,
"name": "sketch001",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 2772,
"end": 0,
"name": {
"commentStart": 2772,
"end": 0,
"name": "startProfileAt",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2772,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2833,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 2839,
"elements": [
{
"commentStart": 2840,
"end": 0,
"raw": "31.819805",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 31.819805,
"suffix": "None"
}
},
{
"commentStart": 2851,
"end": 0,
"raw": "31.819805",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 31.819805,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 2863,
"end": 0,
"name": "tag",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 2869,
"end": 0,
"start": 0,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "handleBottomEdge"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2828,
"end": 0,
"name": {
"commentStart": 2828,
"end": 0,
"name": "line",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2828,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2898,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 2904,
"elements": [
{
"commentStart": 2905,
"end": 0,
"raw": "140.953893",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 140.953893,
"suffix": "None"
}
},
{
"commentStart": 2917,
"end": 0,
"raw": "51.303021",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 51.303021,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2893,
"end": 0,
"name": {
"commentStart": 2893,
"end": 0,
"name": "line",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2893,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2939,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 2945,
"elements": [
{
"argument": {
"commentStart": 2947,
"end": 0,
"raw": "1.710101",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.710101,
"suffix": "None"
}
},
"commentStart": 2946,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"commentStart": 2957,
"end": 0,
"raw": "4.698463",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 4.698463,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2934,
"end": 0,
"name": {
"commentStart": 2934,
"end": 0,
"name": "line",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2934,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 2978,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 2984,
"elements": [
{
"argument": {
"commentStart": 2986,
"end": 0,
"raw": "141.995517",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 141.995517,
"suffix": "None"
}
},
"commentStart": 2985,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"argument": {
"commentStart": 2999,
"end": 0,
"raw": "51.682142",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 51.682142,
"suffix": "None"
}
},
"commentStart": 2998,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 3011,
"end": 0,
"name": "tag",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 3017,
"end": 0,
"start": 0,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "handleTopEdge"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 2973,
"end": 0,
"name": {
"commentStart": 2973,
"end": 0,
"name": "line",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 2973,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 3043,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 3049,
"elements": [
{
"argument": {
"commentStart": 3051,
"end": 0,
"raw": "36.139148",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 36.139148,
"suffix": "None"
}
},
"commentStart": 3050,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"argument": {
"commentStart": 3063,
"end": 0,
"raw": "36.139148",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 36.139148,
"suffix": "None"
}
},
"commentStart": 3062,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 3038,
"end": 0,
"name": {
"commentStart": 3038,
"end": 0,
"name": "line",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 3038,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 3086,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 3095,
"end": 0,
"raw": "7.071068",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 7.071068,
"suffix": "None"
}
}
}
],
"callee": {
"abs_path": false,
"commentStart": 3080,
"end": 0,
"name": {
"commentStart": 3080,
"end": 0,
"name": "xLine",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 3080,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [],
"callee": {
"abs_path": false,
"commentStart": 3110,
"end": 0,
"name": {
"commentStart": 3110,
"end": 0,
"name": "close",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 3110,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"commentStart": 2772,
"end": 0,
"nonCodeMeta": {
"nonCodeNodes": {
"7": [
{
"commentStart": 3117,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "create an extrusion extrude001",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 0,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// create a profile of the spatula handle"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 3153,
"declaration": {
"commentStart": 3153,
"end": 0,
"id": {
"commentStart": 3153,
"end": 0,
"name": "handle",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 3185,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"abs_path": false,
"commentStart": 3194,
"end": 0,
"name": {
"commentStart": 3194,
"end": 0,
"name": "handleWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 3162,
"end": 0,
"name": {
"commentStart": 3162,
"end": 0,
"name": "extrude",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 3162,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 3170,
"end": 0,
"name": {
"commentStart": 3170,
"end": 0,
"name": "handleProfile",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 3206,
"end": 0,
"expression": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 3269,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 3278,
"end": 0,
"raw": "4",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 4.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 3283,
"end": 0,
"name": "tags",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 3290,
"elements": [
{
"arguments": [
{
"abs_path": false,
"commentStart": 3316,
"end": 0,
"name": {
"commentStart": 3316,
"end": 0,
"name": "handleBottomEdge",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 3296,
"end": 0,
"name": {
"commentStart": 3296,
"end": 0,
"name": "getNextAdjacentEdge",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 3296,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"abs_path": false,
"commentStart": 3359,
"end": 0,
"name": {
"commentStart": 3359,
"end": 0,
"name": "handleTopEdge",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 3339,
"end": 0,
"name": {
"commentStart": 3339,
"end": 0,
"name": "getNextAdjacentEdge",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 3339,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 3249,
"end": 0,
"name": {
"commentStart": 3249,
"end": 0,
"name": "fillet",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 3249,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 3259,
"end": 0,
"name": {
"commentStart": 3259,
"end": 0,
"name": "handle",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
"preComments": [
"",
"",
"// fillet the bend of the spatula handle"
],
"start": 0,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
},
{
"commentStart": 3380,
"declaration": {
"commentStart": 3434,
"end": 0,
"id": {
"commentStart": 3434,
"end": 0,
"name": "handlePlane",
"start": 0,
"type": "Identifier"
},
"init": {
"commentStart": 3448,
"end": 0,
"properties": [
{
"commentStart": 3452,
"end": 0,
"key": {
"commentStart": 3452,
"end": 0,
"name": "plane",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 3460,
"end": 0,
"properties": [
{
"commentStart": 3466,
"end": 0,
"key": {
"commentStart": 3466,
"end": 0,
"name": "origin",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 3475,
"elements": [
{
"commentStart": 3476,
"end": 0,
"raw": "208.593833",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 208.593833,
"suffix": "None"
}
},
{
"commentStart": 3488,
"end": 0,
"raw": "0.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"commentStart": 3493,
"end": 0,
"raw": "75.921946",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 75.921946,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"commentStart": 3509,
"end": 0,
"key": {
"commentStart": 3509,
"end": 0,
"name": "xAxis",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 3517,
"elements": [
{
"commentStart": 3518,
"end": 0,
"raw": "0.342020",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.34202,
"suffix": "None"
}
},
{
"argument": {
"commentStart": 3529,
"end": 0,
"raw": "0.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"commentStart": 3528,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"argument": {
"commentStart": 3535,
"end": 0,
"raw": "0.939693",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.939693,
"suffix": "None"
}
},
"commentStart": 3534,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"commentStart": 3550,
"end": 0,
"key": {
"commentStart": 3550,
"end": 0,
"name": "yAxis",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 3558,
"elements": [
{
"commentStart": 3559,
"end": 0,
"raw": "0.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"commentStart": 3564,
"end": 0,
"raw": "1.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
{
"commentStart": 3569,
"end": 0,
"raw": "0.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"commentStart": 3579,
"end": 0,
"key": {
"commentStart": 3579,
"end": 0,
"name": "zAxis",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 3587,
"elements": [
{
"commentStart": 3588,
"end": 0,
"raw": "0.939693",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.939693,
"suffix": "None"
}
},
{
"argument": {
"commentStart": 3599,
"end": 0,
"raw": "0.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"commentStart": 3598,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"commentStart": 3604,
"end": 0,
"raw": "0.342020",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.34202,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// define a plane which is at the end of the handle"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 3619,
"declaration": {
"commentStart": 3660,
"end": 0,
"id": {
"commentStart": 3660,
"end": 0,
"name": "sketch002",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"abs_path": false,
"commentStart": 3686,
"end": 0,
"name": {
"commentStart": 3686,
"end": 0,
"name": "handlePlane",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 3672,
"end": 0,
"name": {
"commentStart": 3672,
"end": 0,
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 3672,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// create a sketch on the handle plane"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 3698,
"declaration": {
"commentStart": 3732,
"end": 0,
"id": {
"commentStart": 3732,
"end": 0,
"name": "gripProfile",
"start": 0,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"commentStart": 3761,
"elements": [
{
"argument": {
"commentStart": 3763,
"end": 0,
"raw": "26.806746",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 26.806746,
"suffix": "None"
}
},
"commentStart": 3762,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"argument": {
"commentStart": 3775,
"end": 0,
"raw": "10.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 10.0,
"suffix": "None"
}
},
"commentStart": 3774,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"abs_path": false,
"commentStart": 3782,
"end": 0,
"name": {
"commentStart": 3782,
"end": 0,
"name": "sketch002",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 3746,
"end": 0,
"name": {
"commentStart": 3746,
"end": 0,
"name": "startProfileAt",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 3746,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 3804,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 3813,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 3813,
"end": 0,
"name": {
"commentStart": 3813,
"end": 0,
"name": "gripWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "-",
"right": {
"commentStart": 3826,
"end": 0,
"left": {
"commentStart": 3826,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"abs_path": false,
"commentStart": 3830,
"end": 0,
"name": {
"commentStart": 3830,
"end": 0,
"name": "gripFilletRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 3798,
"end": 0,
"name": {
"commentStart": 3798,
"end": 0,
"name": "xLine",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 3798,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 3858,
"end": 0,
"properties": [
{
"commentStart": 3867,
"end": 0,
"key": {
"commentStart": 3867,
"end": 0,
"name": "angleStart",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"argument": {
"commentStart": 3881,
"end": 0,
"raw": "90.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 90.0,
"suffix": "None"
}
},
"commentStart": 3880,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
},
{
"commentStart": 3894,
"end": 0,
"key": {
"commentStart": 3894,
"end": 0,
"name": "angleEnd",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 3905,
"end": 0,
"raw": "0.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
},
{
"commentStart": 3917,
"end": 0,
"key": {
"commentStart": 3917,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"abs_path": false,
"commentStart": 3926,
"end": 0,
"name": {
"commentStart": 3926,
"end": 0,
"name": "gripFilletRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 3951,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 3854,
"end": 0,
"name": {
"commentStart": 3854,
"end": 0,
"name": "arc",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 3854,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 3965,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 3974,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 3974,
"end": 0,
"name": {
"commentStart": 3974,
"end": 0,
"name": "gripHeight",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "-",
"right": {
"commentStart": 3988,
"end": 0,
"left": {
"commentStart": 3988,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"abs_path": false,
"commentStart": 3992,
"end": 0,
"name": {
"commentStart": 3992,
"end": 0,
"name": "gripFilletRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 3959,
"end": 0,
"name": {
"commentStart": 3959,
"end": 0,
"name": "yLine",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 3959,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 4020,
"end": 0,
"properties": [
{
"commentStart": 4029,
"end": 0,
"key": {
"commentStart": 4029,
"end": 0,
"name": "angleStart",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 4042,
"end": 0,
"raw": "0.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
},
{
"commentStart": 4054,
"end": 0,
"key": {
"commentStart": 4054,
"end": 0,
"name": "angleEnd",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 4065,
"end": 0,
"raw": "90.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 90.0,
"suffix": "None"
}
}
},
{
"commentStart": 4078,
"end": 0,
"key": {
"commentStart": 4078,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"abs_path": false,
"commentStart": 4087,
"end": 0,
"name": {
"commentStart": 4087,
"end": 0,
"name": "gripFilletRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 4112,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 4016,
"end": 0,
"name": {
"commentStart": 4016,
"end": 0,
"name": "arc",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 4016,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 4126,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"argument": {
"commentStart": 4137,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 4137,
"end": 0,
"name": {
"commentStart": 4137,
"end": 0,
"name": "gripWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "-",
"right": {
"commentStart": 4150,
"end": 0,
"left": {
"commentStart": 4150,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"abs_path": false,
"commentStart": 4154,
"end": 0,
"name": {
"commentStart": 4154,
"end": 0,
"name": "gripFilletRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"commentStart": 4135,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 4120,
"end": 0,
"name": {
"commentStart": 4120,
"end": 0,
"name": "xLine",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 4120,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 4183,
"end": 0,
"properties": [
{
"commentStart": 4192,
"end": 0,
"key": {
"commentStart": 4192,
"end": 0,
"name": "angleStart",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 4205,
"end": 0,
"raw": "90.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 90.0,
"suffix": "None"
}
}
},
{
"commentStart": 4218,
"end": 0,
"key": {
"commentStart": 4218,
"end": 0,
"name": "angleEnd",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 4229,
"end": 0,
"raw": "180.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
}
},
{
"commentStart": 4243,
"end": 0,
"key": {
"commentStart": 4243,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"abs_path": false,
"commentStart": 4252,
"end": 0,
"name": {
"commentStart": 4252,
"end": 0,
"name": "gripFilletRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 4277,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 4179,
"end": 0,
"name": {
"commentStart": 4179,
"end": 0,
"name": "arc",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 4179,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 4291,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"argument": {
"commentStart": 4302,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 4302,
"end": 0,
"name": {
"commentStart": 4302,
"end": 0,
"name": "gripHeight",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "-",
"right": {
"commentStart": 4316,
"end": 0,
"left": {
"commentStart": 4316,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"abs_path": false,
"commentStart": 4320,
"end": 0,
"name": {
"commentStart": 4320,
"end": 0,
"name": "gripFilletRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"commentStart": 4300,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 4340,
"end": 0,
"name": "tag",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 4346,
"end": 0,
"start": 0,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "gripEdgeTop"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 4285,
"end": 0,
"name": {
"commentStart": 4285,
"end": 0,
"name": "yLine",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 4285,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 4369,
"end": 0,
"properties": [
{
"commentStart": 4378,
"end": 0,
"key": {
"commentStart": 4378,
"end": 0,
"name": "angleStart",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 4391,
"end": 0,
"raw": "180.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
}
},
{
"commentStart": 4405,
"end": 0,
"key": {
"commentStart": 4405,
"end": 0,
"name": "angleEnd",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 4416,
"end": 0,
"raw": "270.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 270.0,
"suffix": "None"
}
}
},
{
"commentStart": 4430,
"end": 0,
"key": {
"commentStart": 4430,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"abs_path": false,
"commentStart": 4439,
"end": 0,
"name": {
"commentStart": 4439,
"end": 0,
"name": "gripFilletRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 4464,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 4365,
"end": 0,
"name": {
"commentStart": 4365,
"end": 0,
"name": "arc",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 4365,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [],
"callee": {
"abs_path": false,
"commentStart": 4472,
"end": 0,
"name": {
"commentStart": 4472,
"end": 0,
"name": "close",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 4472,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
}
],
"commentStart": 3746,
"end": 0,
"nonCodeMeta": {
"nonCodeNodes": {
"9": [
{
"commentStart": 4479,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "extrude the grip profile to create the grip",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 0,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// create a profile of the grip"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 4528,
"declaration": {
"commentStart": 4528,
"end": 0,
"id": {
"commentStart": 4528,
"end": 0,
"name": "grip",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 4556,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"argument": {
"abs_path": false,
"commentStart": 4566,
"end": 0,
"name": {
"commentStart": 4566,
"end": 0,
"name": "gripLength",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 4565,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 4535,
"end": 0,
"name": {
"commentStart": 4535,
"end": 0,
"name": "extrude",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 4535,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 4543,
"end": 0,
"name": {
"commentStart": 4543,
"end": 0,
"name": "gripProfile",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 4577,
"declaration": {
"commentStart": 4623,
"end": 0,
"id": {
"commentStart": 4623,
"end": 0,
"name": "sketch003",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"abs_path": false,
"commentStart": 4649,
"end": 0,
"name": {
"commentStart": 4649,
"end": 0,
"name": "grip",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"abs_path": false,
"commentStart": 4655,
"end": 0,
"name": {
"commentStart": 4655,
"end": 0,
"name": "gripEdgeTop",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 4635,
"end": 0,
"name": {
"commentStart": 4635,
"end": 0,
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 4635,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// create a sketch on the grip for the hole"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 4667,
"declaration": {
"commentStart": 4707,
"end": 0,
"id": {
"commentStart": 4707,
"end": 0,
"name": "gripHoleProfile",
"start": 0,
"type": "Identifier"
},
"init": {
"arguments": [
{
"abs_path": false,
"commentStart": 4730,
"end": 0,
"name": {
"commentStart": 4730,
"end": 0,
"name": "sketch003",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"commentStart": 4741,
"elements": [
{
"commentStart": 4742,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"commentStart": 4745,
"end": 0,
"raw": "200",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 200.0,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 4751,
"elements": [
{
"commentStart": 4752,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"commentStart": 4755,
"end": 0,
"raw": "210",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 210.0,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"abs_path": false,
"commentStart": 4761,
"end": 0,
"name": {
"commentStart": 4761,
"end": 0,
"name": "gripSlotWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
],
"callee": {
"abs_path": false,
"commentStart": 4725,
"end": 0,
"name": {
"commentStart": 4725,
"end": 0,
"name": "slot",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 4725,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"preComments": [
"",
"",
"// create a profile for the grip hole"
],
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 4775,
"end": 0,
"expression": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 4828,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 4837,
"end": 0,
"left": {
"argument": {
"abs_path": false,
"commentStart": 4838,
"end": 0,
"name": {
"commentStart": 4838,
"end": 0,
"name": "gripWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 4837,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "-",
"right": {
"commentStart": 4850,
"end": 0,
"raw": "20",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 20.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 4803,
"end": 0,
"name": {
"commentStart": 4803,
"end": 0,
"name": "extrude",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 4803,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 4811,
"end": 0,
"name": {
"commentStart": 4811,
"end": 0,
"name": "gripHoleProfile",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
"preComments": [
"",
"",
"// cut a hole in the grip"
],
"start": 0,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
}
],
"commentStart": 0,
"end": 0,
"innerAttrs": [
{
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 97,
"end": 0,
"name": "settings",
"start": 0,
"type": "Identifier"
},
"preComments": [
"// Food Service Spatula",
"// Use these spatulas for mixing, flipping, and scraping.",
"",
"",
"// Set units"
],
"properties": [
{
"commentStart": 106,
"end": 0,
"key": {
"commentStart": 106,
"end": 0,
"name": "defaultLengthUnit",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"abs_path": false,
"commentStart": 126,
"end": 0,
"name": {
"commentStart": 126,
"end": 0,
"name": "mm",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"start": 0,
"type": "Annotation"
}
],
"nonCodeMeta": {
"nonCodeNodes": {},
"startNodes": [
{
"commentStart": 129,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
]
},
"start": 0
}
}