2025-03-06 18:01:24 -05:00
---
source: kcl-lib/src/simulation_tests.rs
description: Result of parsing ball-bearing.kcl
---
{
"Ok": {
"body": [
{
"declaration": {
"end": 408,
"id": {
"end": 400,
"name": "outsideDiameter",
"start": 385,
"type": "Identifier"
},
"init": {
"end": 408,
"raw": "1.625",
"start": 403,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.625,
"suffix": "None"
}
},
"start": 385,
"type": "VariableDeclarator"
},
"end": 408,
"kind": "const",
"start": 385,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 425,
"id": {
"end": 418,
"name": "sphereDia",
"start": 409,
"type": "Identifier"
},
"init": {
"end": 425,
"raw": "0.25",
"start": 421,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.25,
"suffix": "None"
}
},
"start": 409,
"type": "VariableDeclarator"
},
"end": 425,
"kind": "const",
"start": 409,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 441,
"id": {
"end": 434,
"name": "shaftDia",
"start": 426,
"type": "Identifier"
},
"init": {
"end": 441,
"raw": "0.75",
"start": 437,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.75,
"suffix": "None"
}
},
"start": 426,
"type": "VariableDeclarator"
},
"end": 441,
"kind": "const",
"start": 426,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 466,
"id": {
"end": 458,
"name": "overallThickness",
"start": 442,
"type": "Identifier"
},
"init": {
"end": 466,
"raw": "0.313",
"start": 461,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.313,
"suffix": "None"
}
},
"start": 442,
"type": "VariableDeclarator"
},
"end": 466,
"kind": "const",
"start": 442,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 488,
"id": {
"end": 480,
"name": "wallThickness",
"start": 467,
"type": "Identifier"
},
"init": {
"end": 488,
"raw": "0.100",
"start": 483,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.1,
"suffix": "None"
}
},
"start": 467,
"type": "VariableDeclarator"
},
"end": 488,
"kind": "const",
"start": 467,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 508,
"id": {
"end": 503,
"name": "overHangLength",
"start": 489,
"type": "Identifier"
},
"init": {
"end": 508,
"raw": ".3",
"start": 506,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.3,
"suffix": "None"
}
},
"start": 489,
"type": "VariableDeclarator"
},
"end": 508,
"kind": "const",
"start": 489,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 520,
"id": {
"end": 515,
"name": "nBalls",
"start": 509,
"type": "Identifier"
},
"init": {
"end": 520,
"raw": "10",
"start": 518,
"type": "Literal",
"type": "Literal",
"value": {
"value": 10.0,
"suffix": "None"
}
},
"start": 509,
"type": "VariableDeclarator"
},
"end": 520,
"kind": "const",
"start": 509,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 547,
"id": {
"end": 531,
"name": "chainWidth",
"start": 521,
"type": "Identifier"
},
"init": {
"end": 547,
"left": {
"end": 543,
"name": "sphereDia",
"start": 534,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 547,
"raw": "2",
"start": 546,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 534,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 521,
"type": "VariableDeclarator"
},
"end": 547,
"kind": "const",
"start": 521,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 578,
"id": {
"end": 562,
"name": "chainThickness",
"start": 548,
"type": "Identifier"
},
"init": {
"end": 578,
"left": {
"end": 574,
"name": "sphereDia",
"start": 565,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 578,
"raw": "8",
"start": 577,
"type": "Literal",
"type": "Literal",
"value": {
"value": 8.0,
"suffix": "None"
}
},
"start": 565,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 548,
"type": "VariableDeclarator"
},
"end": 578,
"kind": "const",
"start": 548,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 607,
"id": {
"end": 591,
"name": "linkDiameter",
"start": 579,
"type": "Identifier"
},
"init": {
"end": 607,
"left": {
"end": 603,
"name": "sphereDia",
"start": 594,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 607,
"raw": "4",
"start": 606,
"type": "Literal",
"type": "Literal",
"value": {
"value": 4.0,
"suffix": "None"
}
},
"start": 594,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 579,
"type": "VariableDeclarator"
},
"end": 607,
"kind": "const",
"start": 579,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
2025-03-13 23:38:51 -07:00
"end": 935,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-13 23:38:51 -07:00
"end": 660,
"name": "insideWallSketch",
"start": 644,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-03-13 23:38:51 -07:00
"body": [
2025-03-06 18:01:24 -05:00
{
2025-03-13 23:38:51 -07:00
"arguments": [
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 701,
"name": "offset",
"start": 695,
"type": "Identifier"
},
"arg": {
"end": 725,
"left": {
"argument": {
"end": 721,
"name": "overallThickness",
"start": 705,
"type": "Identifier",
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 721,
"operator": "-",
"start": 704,
"type": "UnaryExpression",
"type": "UnaryExpression"
2025-03-06 18:01:24 -05:00
},
2025-03-13 23:38:51 -07:00
"operator": "/",
"right": {
"end": 725,
"raw": "2",
"start": 724,
"type": "Literal",
"type": "Literal",
2025-03-06 18:01:24 -05:00
"value": {
2025-03-13 23:38:51 -07:00
"value": 2.0,
"suffix": "None"
2025-03-06 18:01:24 -05:00
}
},
2025-03-13 23:38:51 -07:00
"start": 704,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
2025-03-06 18:01:24 -05:00
}
2025-03-13 23:38:51 -07:00
],
"callee": {
"end": 688,
"name": "offsetPlane",
"start": 677,
"type": "Identifier"
2025-03-06 18:01:24 -05:00
},
2025-03-13 23:38:51 -07:00
"end": 726,
"start": 677,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 693,
"raw": "\"XY\"",
"start": 689,
"type": "Literal",
"type": "Literal",
"value": "XY"
2025-03-06 18:01:24 -05:00
}
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 676,
2025-03-06 18:01:24 -05:00
"name": "startSketchOn",
2025-03-13 23:38:51 -07:00
"start": 663,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 727,
"start": 663,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 754,
2025-03-06 18:01:24 -05:00
"name": "center",
2025-03-13 23:38:51 -07:00
"start": 748,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
"elements": [
{
2025-03-13 23:38:51 -07:00
"end": 759,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 758,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 762,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 761,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-13 23:38:51 -07:00
"end": 763,
"start": 757,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 778,
2025-03-06 18:01:24 -05:00
"name": "radius",
2025-03-13 23:38:51 -07:00
"start": 772,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-13 23:38:51 -07:00
"end": 809,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 793,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 789,
2025-03-06 18:01:24 -05:00
"name": "shaftDia",
2025-03-13 23:38:51 -07:00
"start": 781,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
2025-03-13 23:38:51 -07:00
"end": 793,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-13 23:38:51 -07:00
"start": 792,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-13 23:38:51 -07:00
"start": 781,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
2025-03-13 23:38:51 -07:00
"end": 809,
2025-03-06 18:01:24 -05:00
"name": "wallThickness",
2025-03-13 23:38:51 -07:00
"start": 796,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 781,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 739,
2025-03-06 18:01:24 -05:00
"name": "circle",
2025-03-13 23:38:51 -07:00
"start": 733,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 816,
"start": 733,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 848,
2025-03-06 18:01:24 -05:00
"name": "center",
2025-03-13 23:38:51 -07:00
"start": 842,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
"elements": [
{
2025-03-13 23:38:51 -07:00
"end": 853,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 852,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 856,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 855,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-13 23:38:51 -07:00
"end": 857,
"start": 851,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 872,
2025-03-06 18:01:24 -05:00
"name": "radius",
2025-03-13 23:38:51 -07:00
"start": 866,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-13 23:38:51 -07:00
"end": 887,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 883,
2025-03-06 18:01:24 -05:00
"name": "shaftDia",
2025-03-13 23:38:51 -07:00
"start": 875,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
2025-03-13 23:38:51 -07:00
"end": 887,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-13 23:38:51 -07:00
"start": 886,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-13 23:38:51 -07:00
"start": 875,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 833,
2025-03-06 18:01:24 -05:00
"name": "circle",
2025-03-13 23:38:51 -07:00
"start": 827,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 894,
"start": 827,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
2025-03-13 23:38:51 -07:00
"end": 897,
"start": 896,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 826,
2025-03-06 18:01:24 -05:00
"name": "hole",
2025-03-13 23:38:51 -07:00
"start": 822,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 898,
"start": 822,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
2025-03-13 23:38:51 -07:00
"end": 935,
2025-03-06 18:01:24 -05:00
"nonCodeMeta": {
"nonCodeNodes": {
"2": [
{
2025-03-13 23:38:51 -07:00
"end": 935,
"start": 898,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Extrude the inside bearing piece",
"style": "line"
}
}
]
},
"startNodes": []
},
2025-03-13 23:38:51 -07:00
"start": 663,
2025-03-06 18:01:24 -05:00
"type": "PipeExpression",
"type": "PipeExpression"
},
2025-03-13 23:38:51 -07:00
"start": 644,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-13 23:38:51 -07:00
"end": 935,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-13 23:38:51 -07:00
"start": 644,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
2025-03-13 23:38:51 -07:00
"end": 1001,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-13 23:38:51 -07:00
"end": 946,
2025-03-06 18:01:24 -05:00
"name": "insideWall",
2025-03-13 23:38:51 -07:00
"start": 936,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 981,
2025-03-06 18:01:24 -05:00
"name": "length",
2025-03-13 23:38:51 -07:00
"start": 975,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-13 23:38:51 -07:00
"end": 1000,
2025-03-06 18:01:24 -05:00
"name": "overallThickness",
2025-03-13 23:38:51 -07:00
"start": 984,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 956,
2025-03-06 18:01:24 -05:00
"name": "extrude",
2025-03-13 23:38:51 -07:00
"start": 949,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 1001,
"start": 949,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
2025-03-13 23:38:51 -07:00
"end": 973,
2025-03-06 18:01:24 -05:00
"name": "insideWallSketch",
2025-03-13 23:38:51 -07:00
"start": 957,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
}
},
2025-03-13 23:38:51 -07:00
"start": 936,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-13 23:38:51 -07:00
"end": 1001,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-13 23:38:51 -07:00
"start": 936,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
2025-03-13 23:38:51 -07:00
"end": 1323,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-13 23:38:51 -07:00
"end": 1055,
2025-03-06 18:01:24 -05:00
"name": "ballsSketch",
2025-03-13 23:38:51 -07:00
"start": 1044,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
2025-03-13 23:38:51 -07:00
"end": 1076,
2025-03-06 18:01:24 -05:00
"raw": "\"XY\"",
2025-03-13 23:38:51 -07:00
"start": 1072,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": "XY"
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 1071,
2025-03-06 18:01:24 -05:00
"name": "startSketchOn",
2025-03-13 23:38:51 -07:00
"start": 1058,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 1077,
"start": 1058,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
2025-03-13 23:38:51 -07:00
"end": 1127,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 1111,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 1107,
2025-03-06 18:01:24 -05:00
"name": "shaftDia",
2025-03-13 23:38:51 -07:00
"start": 1099,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
2025-03-13 23:38:51 -07:00
"end": 1111,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-13 23:38:51 -07:00
"start": 1110,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-13 23:38:51 -07:00
"start": 1099,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
2025-03-13 23:38:51 -07:00
"end": 1127,
2025-03-06 18:01:24 -05:00
"name": "wallThickness",
2025-03-13 23:38:51 -07:00
"start": 1114,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 1099,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
2025-03-13 23:38:51 -07:00
"end": 1134,
2025-03-06 18:01:24 -05:00
"raw": "0.001",
2025-03-13 23:38:51 -07:00
"start": 1129,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.001,
"suffix": "None"
}
}
],
2025-03-13 23:38:51 -07:00
"end": 1135,
"start": 1098,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
2025-03-13 23:38:51 -07:00
"end": 1138,
"start": 1137,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 1097,
2025-03-06 18:01:24 -05:00
"name": "startProfileAt",
2025-03-13 23:38:51 -07:00
"start": 1083,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 1139,
"start": 1083,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
2025-03-13 23:38:51 -07:00
"end": 1233,
2025-03-06 18:01:24 -05:00
"properties": [
{
2025-03-13 23:38:51 -07:00
"end": 1170,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-13 23:38:51 -07:00
"end": 1166,
2025-03-06 18:01:24 -05:00
"name": "angleEnd",
2025-03-13 23:38:51 -07:00
"start": 1158,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 1158,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-13 23:38:51 -07:00
"end": 1170,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 1169,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
},
{
2025-03-13 23:38:51 -07:00
"end": 1195,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-13 23:38:51 -07:00
"end": 1189,
2025-03-06 18:01:24 -05:00
"name": "angleStart",
2025-03-13 23:38:51 -07:00
"start": 1179,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 1179,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-13 23:38:51 -07:00
"end": 1195,
2025-03-06 18:01:24 -05:00
"raw": "180",
2025-03-13 23:38:51 -07:00
"start": 1192,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
}
},
{
2025-03-13 23:38:51 -07:00
"end": 1226,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-13 23:38:51 -07:00
"end": 1210,
2025-03-06 18:01:24 -05:00
"name": "radius",
2025-03-13 23:38:51 -07:00
"start": 1204,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 1204,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-13 23:38:51 -07:00
"end": 1226,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 1222,
2025-03-06 18:01:24 -05:00
"name": "sphereDia",
2025-03-13 23:38:51 -07:00
"start": 1213,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
2025-03-13 23:38:51 -07:00
"end": 1226,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-13 23:38:51 -07:00
"start": 1225,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-13 23:38:51 -07:00
"start": 1213,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
2025-03-13 23:38:51 -07:00
"start": 1149,
2025-03-06 18:01:24 -05:00
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
2025-03-13 23:38:51 -07:00
"end": 1236,
"start": 1235,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 1148,
2025-03-06 18:01:24 -05:00
"name": "arc",
2025-03-13 23:38:51 -07:00
"start": 1145,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 1237,
"start": 1145,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 1248,
2025-03-06 18:01:24 -05:00
"name": "close",
2025-03-13 23:38:51 -07:00
"start": 1243,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 1250,
"start": 1243,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
2025-03-13 23:38:51 -07:00
"end": 1323,
2025-03-06 18:01:24 -05:00
"nonCodeMeta": {
"nonCodeNodes": {
"3": [
{
2025-03-13 23:38:51 -07:00
"end": 1323,
"start": 1250,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Revolve the ball to make a sphere and pattern around the inside wall",
"style": "line"
}
}
]
},
"startNodes": []
},
2025-03-13 23:38:51 -07:00
"start": 1058,
2025-03-06 18:01:24 -05:00
"type": "PipeExpression",
"type": "PipeExpression"
},
2025-03-13 23:38:51 -07:00
"start": 1044,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-13 23:38:51 -07:00
"end": 1323,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-13 23:38:51 -07:00
"start": 1044,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
2025-03-13 23:38:51 -07:00
"end": 1587,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-13 23:38:51 -07:00
"end": 1329,
2025-03-06 18:01:24 -05:00
"name": "balls",
2025-03-13 23:38:51 -07:00
"start": 1324,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
2025-03-13 23:38:51 -07:00
"end": 1354,
2025-03-06 18:01:24 -05:00
"properties": [
{
2025-03-13 23:38:51 -07:00
"end": 1352,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-13 23:38:51 -07:00
"end": 1346,
2025-03-06 18:01:24 -05:00
"name": "axis",
2025-03-13 23:38:51 -07:00
"start": 1342,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 1342,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-13 23:38:51 -07:00
"end": 1352,
2025-03-06 18:01:24 -05:00
"raw": "\"X\"",
2025-03-13 23:38:51 -07:00
"start": 1349,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": "X"
}
}
],
2025-03-13 23:38:51 -07:00
"start": 1340,
2025-03-06 18:01:24 -05:00
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
2025-03-13 23:38:51 -07:00
"end": 1367,
2025-03-06 18:01:24 -05:00
"name": "ballsSketch",
2025-03-13 23:38:51 -07:00
"start": 1356,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 1339,
2025-03-06 18:01:24 -05:00
"name": "revolve",
2025-03-13 23:38:51 -07:00
"start": 1332,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 1368,
"start": 1332,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 1410,
2025-03-06 18:01:24 -05:00
"name": "arcDegrees",
2025-03-13 23:38:51 -07:00
"start": 1400,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-13 23:38:51 -07:00
"end": 1416,
2025-03-06 18:01:24 -05:00
"raw": "360",
2025-03-13 23:38:51 -07:00
"start": 1413,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 1429,
2025-03-06 18:01:24 -05:00
"name": "axis",
2025-03-13 23:38:51 -07:00
"start": 1425,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
"elements": [
{
2025-03-13 23:38:51 -07:00
"end": 1434,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 1433,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 1437,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 1436,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 1440,
2025-03-06 18:01:24 -05:00
"raw": "1",
2025-03-13 23:38:51 -07:00
"start": 1439,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
],
2025-03-13 23:38:51 -07:00
"end": 1441,
"start": 1432,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 1456,
2025-03-06 18:01:24 -05:00
"name": "center",
2025-03-13 23:38:51 -07:00
"start": 1450,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
"elements": [
{
2025-03-13 23:38:51 -07:00
"end": 1461,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 1460,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 1464,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 1463,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 1467,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 1466,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-13 23:38:51 -07:00
"end": 1468,
"start": 1459,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 1486,
2025-03-06 18:01:24 -05:00
"name": "instances",
2025-03-13 23:38:51 -07:00
"start": 1477,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-13 23:38:51 -07:00
"end": 1495,
2025-03-06 18:01:24 -05:00
"name": "nBalls",
2025-03-13 23:38:51 -07:00
"start": 1489,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 1520,
2025-03-06 18:01:24 -05:00
"name": "rotateDuplicates",
2025-03-13 23:38:51 -07:00
"start": 1504,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-13 23:38:51 -07:00
"end": 1527,
2025-03-06 18:01:24 -05:00
"raw": "true",
2025-03-13 23:38:51 -07:00
"start": 1523,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": true
}
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 1391,
2025-03-06 18:01:24 -05:00
"name": "patternCircular3d",
2025-03-13 23:38:51 -07:00
"start": 1374,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 1534,
"start": 1374,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
2025-03-13 23:38:51 -07:00
"end": 1587,
2025-03-06 18:01:24 -05:00
"nonCodeMeta": {
"nonCodeNodes": {
"1": [
{
2025-03-13 23:38:51 -07:00
"end": 1587,
"start": 1534,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Create the sketch for the chain around the balls",
"style": "line"
}
}
]
},
"startNodes": []
},
2025-03-13 23:38:51 -07:00
"start": 1332,
2025-03-06 18:01:24 -05:00
"type": "PipeExpression",
"type": "PipeExpression"
},
2025-03-13 23:38:51 -07:00
"start": 1324,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-13 23:38:51 -07:00
"end": 1587,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-13 23:38:51 -07:00
"start": 1324,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
2025-03-13 23:38:51 -07:00
"end": 1972,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-13 23:38:51 -07:00
"end": 1599,
2025-03-06 18:01:24 -05:00
"name": "chainSketch",
2025-03-13 23:38:51 -07:00
"start": 1588,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
2025-03-13 23:38:51 -07:00
"end": 1620,
2025-03-06 18:01:24 -05:00
"raw": "\"XY\"",
2025-03-13 23:38:51 -07:00
"start": 1616,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": "XY"
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 1615,
2025-03-06 18:01:24 -05:00
"name": "startSketchOn",
2025-03-13 23:38:51 -07:00
"start": 1602,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 1621,
"start": 1602,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
2025-03-13 23:38:51 -07:00
"end": 1713,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 1695,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 1679,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 1663,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 1659,
2025-03-06 18:01:24 -05:00
"name": "shaftDia",
2025-03-13 23:38:51 -07:00
"start": 1651,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
2025-03-13 23:38:51 -07:00
"end": 1663,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-13 23:38:51 -07:00
"start": 1662,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-13 23:38:51 -07:00
"start": 1651,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
2025-03-13 23:38:51 -07:00
"end": 1679,
2025-03-06 18:01:24 -05:00
"name": "wallThickness",
2025-03-13 23:38:51 -07:00
"start": 1666,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 1651,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
2025-03-13 23:38:51 -07:00
"end": 1695,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 1691,
2025-03-06 18:01:24 -05:00
"name": "sphereDia",
2025-03-13 23:38:51 -07:00
"start": 1682,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
2025-03-13 23:38:51 -07:00
"end": 1695,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-13 23:38:51 -07:00
"start": 1694,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-13 23:38:51 -07:00
"start": 1682,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-13 23:38:51 -07:00
"start": 1651,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
2025-03-13 23:38:51 -07:00
"end": 1713,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 1709,
2025-03-06 18:01:24 -05:00
"name": "chainWidth",
2025-03-13 23:38:51 -07:00
"start": 1699,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
2025-03-13 23:38:51 -07:00
"end": 1713,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-13 23:38:51 -07:00
"start": 1712,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-13 23:38:51 -07:00
"start": 1699,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-13 23:38:51 -07:00
"start": 1651,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
2025-03-13 23:38:51 -07:00
"end": 1749,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 1728,
2025-03-06 18:01:24 -05:00
"raw": "0.125",
2025-03-13 23:38:51 -07:00
"start": 1723,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.125,
"suffix": "None"
}
},
"operator": "*",
"right": {
"arguments": [
{
"arguments": [
{
2025-03-13 23:38:51 -07:00
"end": 1747,
2025-03-06 18:01:24 -05:00
"raw": "60",
2025-03-13 23:38:51 -07:00
"start": 1745,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 60.0,
"suffix": "None"
}
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 1744,
2025-03-06 18:01:24 -05:00
"name": "toRadians",
2025-03-13 23:38:51 -07:00
"start": 1735,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 1748,
"start": 1735,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 1734,
2025-03-06 18:01:24 -05:00
"name": "sin",
2025-03-13 23:38:51 -07:00
"start": 1731,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 1749,
"start": 1731,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
2025-03-13 23:38:51 -07:00
"start": 1723,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
2025-03-13 23:38:51 -07:00
"end": 1756,
"start": 1642,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
2025-03-13 23:38:51 -07:00
"end": 1759,
"start": 1758,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 1641,
2025-03-06 18:01:24 -05:00
"name": "startProfileAt",
2025-03-13 23:38:51 -07:00
"start": 1627,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 1760,
"start": 1627,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
2025-03-13 23:38:51 -07:00
"end": 1855,
2025-03-06 18:01:24 -05:00
"properties": [
{
2025-03-13 23:38:51 -07:00
"end": 1792,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-13 23:38:51 -07:00
"end": 1787,
2025-03-06 18:01:24 -05:00
"name": "angleEnd",
2025-03-13 23:38:51 -07:00
"start": 1779,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 1779,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-13 23:38:51 -07:00
"end": 1792,
2025-03-06 18:01:24 -05:00
"raw": "60",
2025-03-13 23:38:51 -07:00
"start": 1790,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 60.0,
"suffix": "None"
}
}
},
{
2025-03-13 23:38:51 -07:00
"end": 1817,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-13 23:38:51 -07:00
"end": 1811,
2025-03-06 18:01:24 -05:00
"name": "angleStart",
2025-03-13 23:38:51 -07:00
"start": 1801,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 1801,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-13 23:38:51 -07:00
"end": 1817,
2025-03-06 18:01:24 -05:00
"raw": "120",
2025-03-13 23:38:51 -07:00
"start": 1814,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 120.0,
"suffix": "None"
}
}
},
{
2025-03-13 23:38:51 -07:00
"end": 1848,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-13 23:38:51 -07:00
"end": 1832,
2025-03-06 18:01:24 -05:00
"name": "radius",
2025-03-13 23:38:51 -07:00
"start": 1826,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 1826,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-13 23:38:51 -07:00
"end": 1848,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 1844,
2025-03-06 18:01:24 -05:00
"name": "sphereDia",
2025-03-13 23:38:51 -07:00
"start": 1835,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
2025-03-13 23:38:51 -07:00
"end": 1848,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-13 23:38:51 -07:00
"start": 1847,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-13 23:38:51 -07:00
"start": 1835,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
2025-03-13 23:38:51 -07:00
"start": 1770,
2025-03-06 18:01:24 -05:00
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
2025-03-13 23:38:51 -07:00
"end": 1858,
"start": 1857,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 1769,
2025-03-06 18:01:24 -05:00
"name": "arc",
2025-03-13 23:38:51 -07:00
"start": 1766,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 1859,
"start": 1766,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 1873,
2025-03-06 18:01:24 -05:00
"name": "end",
2025-03-13 23:38:51 -07:00
"start": 1870,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
"elements": [
{
2025-03-13 23:38:51 -07:00
"end": 1878,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 1877,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 1894,
2025-03-06 18:01:24 -05:00
"name": "chainThickness",
2025-03-13 23:38:51 -07:00
"start": 1880,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
}
],
2025-03-13 23:38:51 -07:00
"end": 1895,
"start": 1876,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 1869,
2025-03-06 18:01:24 -05:00
"name": "line",
2025-03-13 23:38:51 -07:00
"start": 1865,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 1896,
"start": 1865,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 1910,
2025-03-06 18:01:24 -05:00
"name": "end",
2025-03-13 23:38:51 -07:00
"start": 1907,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
"elements": [
{
"argument": {
2025-03-13 23:38:51 -07:00
"end": 1925,
2025-03-06 18:01:24 -05:00
"name": "chainWidth",
2025-03-13 23:38:51 -07:00
"start": 1915,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 1925,
2025-03-06 18:01:24 -05:00
"operator": "-",
2025-03-13 23:38:51 -07:00
"start": 1914,
2025-03-06 18:01:24 -05:00
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
2025-03-13 23:38:51 -07:00
"end": 1928,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 1927,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-13 23:38:51 -07:00
"end": 1929,
"start": 1913,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 1906,
2025-03-06 18:01:24 -05:00
"name": "line",
2025-03-13 23:38:51 -07:00
"start": 1902,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 1930,
"start": 1902,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 1941,
2025-03-06 18:01:24 -05:00
"name": "close",
2025-03-13 23:38:51 -07:00
"start": 1936,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 1943,
"start": 1936,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
2025-03-13 23:38:51 -07:00
"end": 1972,
2025-03-06 18:01:24 -05:00
"nonCodeMeta": {
"nonCodeNodes": {
"5": [
{
2025-03-13 23:38:51 -07:00
"end": 1972,
"start": 1943,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Revolve the chain sketch",
"style": "line"
}
}
]
},
"startNodes": []
},
2025-03-13 23:38:51 -07:00
"start": 1602,
2025-03-06 18:01:24 -05:00
"type": "PipeExpression",
"type": "PipeExpression"
},
2025-03-13 23:38:51 -07:00
"start": 1588,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-13 23:38:51 -07:00
"end": 1972,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-13 23:38:51 -07:00
"start": 1588,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
2025-03-13 23:38:51 -07:00
"end": 2245,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-13 23:38:51 -07:00
"end": 1982,
2025-03-06 18:01:24 -05:00
"name": "chainHead",
2025-03-13 23:38:51 -07:00
"start": 1973,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
2025-03-13 23:38:51 -07:00
"end": 2007,
2025-03-06 18:01:24 -05:00
"properties": [
{
2025-03-13 23:38:51 -07:00
"end": 2005,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-13 23:38:51 -07:00
"end": 1999,
2025-03-06 18:01:24 -05:00
"name": "axis",
2025-03-13 23:38:51 -07:00
"start": 1995,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 1995,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-13 23:38:51 -07:00
"end": 2005,
2025-03-06 18:01:24 -05:00
"raw": "\"X\"",
2025-03-13 23:38:51 -07:00
"start": 2002,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": "X"
}
}
],
2025-03-13 23:38:51 -07:00
"start": 1993,
2025-03-06 18:01:24 -05:00
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
2025-03-13 23:38:51 -07:00
"end": 2020,
2025-03-06 18:01:24 -05:00
"name": "chainSketch",
2025-03-13 23:38:51 -07:00
"start": 2009,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 1992,
2025-03-06 18:01:24 -05:00
"name": "revolve",
2025-03-13 23:38:51 -07:00
"start": 1985,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 2021,
"start": 1985,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 2063,
2025-03-06 18:01:24 -05:00
"name": "arcDegrees",
2025-03-13 23:38:51 -07:00
"start": 2053,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-13 23:38:51 -07:00
"end": 2069,
2025-03-06 18:01:24 -05:00
"raw": "360",
2025-03-13 23:38:51 -07:00
"start": 2066,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 2082,
2025-03-06 18:01:24 -05:00
"name": "axis",
2025-03-13 23:38:51 -07:00
"start": 2078,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
"elements": [
{
2025-03-13 23:38:51 -07:00
"end": 2087,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 2086,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 2090,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 2089,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 2093,
2025-03-06 18:01:24 -05:00
"raw": "1",
2025-03-13 23:38:51 -07:00
"start": 2092,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
],
2025-03-13 23:38:51 -07:00
"end": 2094,
"start": 2085,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 2109,
2025-03-06 18:01:24 -05:00
"name": "center",
2025-03-13 23:38:51 -07:00
"start": 2103,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
"elements": [
{
2025-03-13 23:38:51 -07:00
"end": 2114,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 2113,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 2117,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 2116,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 2120,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 2119,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-13 23:38:51 -07:00
"end": 2121,
"start": 2112,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 2139,
2025-03-06 18:01:24 -05:00
"name": "instances",
2025-03-13 23:38:51 -07:00
"start": 2130,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-13 23:38:51 -07:00
"end": 2148,
2025-03-06 18:01:24 -05:00
"name": "nBalls",
2025-03-13 23:38:51 -07:00
"start": 2142,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 2173,
2025-03-06 18:01:24 -05:00
"name": "rotateDuplicates",
2025-03-13 23:38:51 -07:00
"start": 2157,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-13 23:38:51 -07:00
"end": 2180,
2025-03-06 18:01:24 -05:00
"raw": "true",
2025-03-13 23:38:51 -07:00
"start": 2176,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": true
}
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 2044,
2025-03-06 18:01:24 -05:00
"name": "patternCircular3d",
2025-03-13 23:38:51 -07:00
"start": 2027,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 2187,
"start": 2027,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
2025-03-13 23:38:51 -07:00
"end": 2245,
2025-03-06 18:01:24 -05:00
"nonCodeMeta": {
"nonCodeNodes": {
"1": [
{
2025-03-13 23:38:51 -07:00
"end": 2245,
"start": 2187,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Create the sketch for the links in between the chains",
"style": "line"
}
}
]
},
"startNodes": []
},
2025-03-13 23:38:51 -07:00
"start": 1985,
2025-03-06 18:01:24 -05:00
"type": "PipeExpression",
"type": "PipeExpression"
},
2025-03-13 23:38:51 -07:00
"start": 1973,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-13 23:38:51 -07:00
"end": 2245,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-13 23:38:51 -07:00
"start": 1973,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
2025-03-13 23:38:51 -07:00
"end": 2453,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-13 23:38:51 -07:00
"end": 2256,
2025-03-06 18:01:24 -05:00
"name": "linkSketch",
2025-03-13 23:38:51 -07:00
"start": 2246,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
2025-03-13 23:38:51 -07:00
"end": 2277,
2025-03-06 18:01:24 -05:00
"raw": "\"XZ\"",
2025-03-13 23:38:51 -07:00
"start": 2273,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": "XZ"
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 2272,
2025-03-06 18:01:24 -05:00
"name": "startSketchOn",
2025-03-13 23:38:51 -07:00
"start": 2259,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 2278,
"start": 2259,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 2305,
2025-03-06 18:01:24 -05:00
"name": "center",
2025-03-13 23:38:51 -07:00
"start": 2299,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
"elements": [
{
2025-03-13 23:38:51 -07:00
"end": 2363,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 2347,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 2331,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 2327,
2025-03-06 18:01:24 -05:00
"name": "shaftDia",
2025-03-13 23:38:51 -07:00
"start": 2319,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
2025-03-13 23:38:51 -07:00
"end": 2331,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-13 23:38:51 -07:00
"start": 2330,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-13 23:38:51 -07:00
"start": 2319,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
2025-03-13 23:38:51 -07:00
"end": 2347,
2025-03-06 18:01:24 -05:00
"name": "wallThickness",
2025-03-13 23:38:51 -07:00
"start": 2334,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 2319,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
2025-03-13 23:38:51 -07:00
"end": 2363,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 2359,
2025-03-06 18:01:24 -05:00
"name": "sphereDia",
2025-03-13 23:38:51 -07:00
"start": 2350,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
2025-03-13 23:38:51 -07:00
"end": 2363,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-13 23:38:51 -07:00
"start": 2362,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-13 23:38:51 -07:00
"start": 2350,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-13 23:38:51 -07:00
"start": 2319,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
2025-03-13 23:38:51 -07:00
"end": 2375,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 2374,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-13 23:38:51 -07:00
"end": 2384,
"start": 2308,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 2399,
2025-03-06 18:01:24 -05:00
"name": "radius",
2025-03-13 23:38:51 -07:00
"start": 2393,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-13 23:38:51 -07:00
"end": 2418,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 2414,
2025-03-06 18:01:24 -05:00
"name": "linkDiameter",
2025-03-13 23:38:51 -07:00
"start": 2402,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
2025-03-13 23:38:51 -07:00
"end": 2418,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-13 23:38:51 -07:00
"start": 2417,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-13 23:38:51 -07:00
"start": 2402,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 2290,
2025-03-06 18:01:24 -05:00
"name": "circle",
2025-03-13 23:38:51 -07:00
"start": 2284,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 2425,
"start": 2284,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
2025-03-13 23:38:51 -07:00
"end": 2453,
2025-03-06 18:01:24 -05:00
"nonCodeMeta": {
"nonCodeNodes": {
"1": [
{
2025-03-13 23:38:51 -07:00
"end": 2453,
"start": 2425,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Revolve the link sketch",
"style": "line"
}
}
]
},
"startNodes": []
},
2025-03-13 23:38:51 -07:00
"start": 2259,
2025-03-06 18:01:24 -05:00
"type": "PipeExpression",
"type": "PipeExpression"
},
2025-03-13 23:38:51 -07:00
"start": 2246,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-13 23:38:51 -07:00
"end": 2453,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-13 23:38:51 -07:00
"start": 2246,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
2025-03-13 23:38:51 -07:00
"end": 2735,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-13 23:38:51 -07:00
"end": 2465,
2025-03-06 18:01:24 -05:00
"name": "linkRevolve",
2025-03-13 23:38:51 -07:00
"start": 2454,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
2025-03-13 23:38:51 -07:00
"end": 2512,
2025-03-06 18:01:24 -05:00
"properties": [
{
2025-03-13 23:38:51 -07:00
"end": 2488,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-13 23:38:51 -07:00
"end": 2482,
2025-03-06 18:01:24 -05:00
"name": "axis",
2025-03-13 23:38:51 -07:00
"start": 2478,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 2478,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-13 23:38:51 -07:00
"end": 2488,
2025-03-06 18:01:24 -05:00
"raw": "'Y'",
2025-03-13 23:38:51 -07:00
"start": 2485,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": "Y"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 2510,
2025-03-06 18:01:24 -05:00
"key": {
2025-03-13 23:38:51 -07:00
"end": 2495,
2025-03-06 18:01:24 -05:00
"name": "angle",
2025-03-13 23:38:51 -07:00
"start": 2490,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 2490,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-13 23:38:51 -07:00
"end": 2510,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 2501,
2025-03-06 18:01:24 -05:00
"raw": "360",
2025-03-13 23:38:51 -07:00
"start": 2498,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
},
"operator": "/",
"right": {
2025-03-13 23:38:51 -07:00
"end": 2510,
2025-03-06 18:01:24 -05:00
"name": "nBalls",
2025-03-13 23:38:51 -07:00
"start": 2504,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 2498,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
2025-03-13 23:38:51 -07:00
"start": 2476,
2025-03-06 18:01:24 -05:00
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
2025-03-13 23:38:51 -07:00
"end": 2524,
2025-03-06 18:01:24 -05:00
"name": "linkSketch",
2025-03-13 23:38:51 -07:00
"start": 2514,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 2475,
2025-03-06 18:01:24 -05:00
"name": "revolve",
2025-03-13 23:38:51 -07:00
"start": 2468,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 2525,
"start": 2468,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 2567,
2025-03-06 18:01:24 -05:00
"name": "arcDegrees",
2025-03-13 23:38:51 -07:00
"start": 2557,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-13 23:38:51 -07:00
"end": 2573,
2025-03-06 18:01:24 -05:00
"raw": "360",
2025-03-13 23:38:51 -07:00
"start": 2570,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 2586,
2025-03-06 18:01:24 -05:00
"name": "axis",
2025-03-13 23:38:51 -07:00
"start": 2582,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
"elements": [
{
2025-03-13 23:38:51 -07:00
"end": 2591,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 2590,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 2594,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 2593,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 2597,
2025-03-06 18:01:24 -05:00
"raw": "1",
2025-03-13 23:38:51 -07:00
"start": 2596,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
],
2025-03-13 23:38:51 -07:00
"end": 2598,
"start": 2589,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 2613,
2025-03-06 18:01:24 -05:00
"name": "center",
2025-03-13 23:38:51 -07:00
"start": 2607,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
"elements": [
{
2025-03-13 23:38:51 -07:00
"end": 2618,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 2617,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 2621,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 2620,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 2624,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 2623,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-13 23:38:51 -07:00
"end": 2625,
"start": 2616,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 2643,
2025-03-06 18:01:24 -05:00
"name": "instances",
2025-03-13 23:38:51 -07:00
"start": 2634,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-13 23:38:51 -07:00
"end": 2652,
2025-03-06 18:01:24 -05:00
"name": "nBalls",
2025-03-13 23:38:51 -07:00
"start": 2646,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 2677,
2025-03-06 18:01:24 -05:00
"name": "rotateDuplicates",
2025-03-13 23:38:51 -07:00
"start": 2661,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-13 23:38:51 -07:00
"end": 2684,
2025-03-06 18:01:24 -05:00
"raw": "true",
2025-03-13 23:38:51 -07:00
"start": 2680,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": true
}
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 2548,
2025-03-06 18:01:24 -05:00
"name": "patternCircular3d",
2025-03-13 23:38:51 -07:00
"start": 2531,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 2691,
"start": 2531,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
2025-03-13 23:38:51 -07:00
"end": 2735,
2025-03-06 18:01:24 -05:00
"nonCodeMeta": {
"nonCodeNodes": {
"1": [
{
2025-03-13 23:38:51 -07:00
"end": 2735,
"start": 2691,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Create the sketch for the outside walls",
"style": "line"
}
}
]
},
"startNodes": []
},
2025-03-13 23:38:51 -07:00
"start": 2468,
2025-03-06 18:01:24 -05:00
"type": "PipeExpression",
"type": "PipeExpression"
},
2025-03-13 23:38:51 -07:00
"start": 2454,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-13 23:38:51 -07:00
"end": 2735,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-13 23:38:51 -07:00
"start": 2454,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
2025-03-13 23:38:51 -07:00
"end": 3010,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-13 23:38:51 -07:00
"end": 2753,
2025-03-06 18:01:24 -05:00
"name": "outsideWallSketch",
2025-03-13 23:38:51 -07:00
"start": 2736,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
2025-03-13 23:38:51 -07:00
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 2794,
"name": "offset",
"start": 2788,
"type": "Identifier"
},
"arg": {
"end": 2818,
"left": {
"argument": {
"end": 2814,
"name": "overallThickness",
"start": 2798,
"type": "Identifier",
"type": "Identifier"
},
"end": 2814,
"operator": "-",
"start": 2797,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "/",
"right": {
"end": 2818,
"raw": "2",
"start": 2817,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 2797,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"end": 2781,
"name": "offsetPlane",
"start": 2770,
"type": "Identifier"
},
"end": 2819,
"start": 2770,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 2786,
"raw": "\"XY\"",
"start": 2782,
"type": "Literal",
"type": "Literal",
"value": "XY"
}
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 2769,
2025-03-06 18:01:24 -05:00
"name": "startSketchOn",
2025-03-13 23:38:51 -07:00
"start": 2756,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 2820,
"start": 2756,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 2847,
2025-03-06 18:01:24 -05:00
"name": "center",
2025-03-13 23:38:51 -07:00
"start": 2841,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
"elements": [
{
2025-03-13 23:38:51 -07:00
"end": 2852,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 2851,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 2855,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 2854,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-13 23:38:51 -07:00
"end": 2856,
"start": 2850,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 2871,
2025-03-06 18:01:24 -05:00
"name": "radius",
2025-03-13 23:38:51 -07:00
"start": 2865,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-13 23:38:51 -07:00
"end": 2893,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 2889,
2025-03-06 18:01:24 -05:00
"name": "outsideDiameter",
2025-03-13 23:38:51 -07:00
"start": 2874,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
2025-03-13 23:38:51 -07:00
"end": 2893,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-13 23:38:51 -07:00
"start": 2892,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-13 23:38:51 -07:00
"start": 2874,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 2832,
2025-03-06 18:01:24 -05:00
"name": "circle",
2025-03-13 23:38:51 -07:00
"start": 2826,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 2900,
"start": 2826,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 2932,
2025-03-06 18:01:24 -05:00
"name": "center",
2025-03-13 23:38:51 -07:00
"start": 2926,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
"elements": [
{
2025-03-13 23:38:51 -07:00
"end": 2937,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 2936,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-03-13 23:38:51 -07:00
"end": 2940,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-13 23:38:51 -07:00
"start": 2939,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-13 23:38:51 -07:00
"end": 2941,
"start": 2935,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 2956,
2025-03-06 18:01:24 -05:00
"name": "radius",
2025-03-13 23:38:51 -07:00
"start": 2950,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-13 23:38:51 -07:00
"end": 2999,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 2987,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 2971,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-13 23:38:51 -07:00
"end": 2967,
2025-03-06 18:01:24 -05:00
"name": "shaftDia",
2025-03-13 23:38:51 -07:00
"start": 2959,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
2025-03-13 23:38:51 -07:00
"end": 2971,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-13 23:38:51 -07:00
"start": 2970,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-13 23:38:51 -07:00
"start": 2959,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
2025-03-13 23:38:51 -07:00
"end": 2987,
2025-03-06 18:01:24 -05:00
"name": "wallThickness",
2025-03-13 23:38:51 -07:00
"start": 2974,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 2959,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
2025-03-13 23:38:51 -07:00
"end": 2999,
2025-03-06 18:01:24 -05:00
"name": "sphereDia",
2025-03-13 23:38:51 -07:00
"start": 2990,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"start": 2959,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 2917,
2025-03-06 18:01:24 -05:00
"name": "circle",
2025-03-13 23:38:51 -07:00
"start": 2911,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 3006,
"start": 2911,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
2025-03-13 23:38:51 -07:00
"end": 3009,
"start": 3008,
2025-03-06 18:01:24 -05:00
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 2910,
2025-03-06 18:01:24 -05:00
"name": "hole",
2025-03-13 23:38:51 -07:00
"start": 2906,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 3010,
"start": 2906,
2025-03-06 18:01:24 -05:00
"type": "CallExpression",
"type": "CallExpression"
}
],
2025-03-13 23:38:51 -07:00
"end": 3010,
"start": 2756,
2025-03-06 18:01:24 -05:00
"type": "PipeExpression",
"type": "PipeExpression"
},
2025-03-13 23:38:51 -07:00
"start": 2736,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-13 23:38:51 -07:00
"end": 3010,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-13 23:38:51 -07:00
"start": 2736,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
2025-03-13 23:38:51 -07:00
"end": 3079,
2025-03-06 18:01:24 -05:00
"id": {
2025-03-13 23:38:51 -07:00
"end": 3023,
2025-03-06 18:01:24 -05:00
"name": "outsideWall",
2025-03-13 23:38:51 -07:00
"start": 3012,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-03-13 23:38:51 -07:00
"end": 3059,
2025-03-06 18:01:24 -05:00
"name": "length",
2025-03-13 23:38:51 -07:00
"start": 3053,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-13 23:38:51 -07:00
"end": 3078,
2025-03-06 18:01:24 -05:00
"name": "overallThickness",
2025-03-13 23:38:51 -07:00
"start": 3062,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
2025-03-13 23:38:51 -07:00
"end": 3033,
2025-03-06 18:01:24 -05:00
"name": "extrude",
2025-03-13 23:38:51 -07:00
"start": 3026,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-13 23:38:51 -07:00
"end": 3079,
"start": 3026,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
2025-03-13 23:38:51 -07:00
"end": 3051,
2025-03-06 18:01:24 -05:00
"name": "outsideWallSketch",
2025-03-13 23:38:51 -07:00
"start": 3034,
2025-03-06 18:01:24 -05:00
"type": "Identifier",
"type": "Identifier"
}
},
2025-03-13 23:38:51 -07:00
"start": 3012,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-13 23:38:51 -07:00
"end": 3079,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-03-13 23:38:51 -07:00
"start": 3012,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
2025-03-13 23:38:51 -07:00
"end": 3120,
2025-03-06 18:01:24 -05:00
"innerAttrs": [
{
"end": 295,
"name": {
"end": 271,
"name": "settings",
"start": 263,
"type": "Identifier"
},
"properties": [
{
"end": 294,
"key": {
"end": 289,
"name": "defaultLengthUnit",
"start": 272,
"type": "Identifier"
},
"start": 272,
"type": "ObjectProperty",
"value": {
"end": 294,
"name": "in",
"start": 292,
"type": "Identifier",
"type": "Identifier"
}
}
],
"start": 262,
"type": "Annotation"
}
],
"nonCodeMeta": {
"nonCodeNodes": {
"9": [
{
2025-03-13 23:38:51 -07:00
"end": 643,
2025-03-06 18:01:24 -05:00
"start": 607,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Sketch the inside bearing piece",
"style": "line"
}
}
],
2025-03-13 23:38:51 -07:00
"11": [
2025-03-06 18:01:24 -05:00
{
2025-03-13 23:38:51 -07:00
"end": 1043,
"start": 1001,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Create the sketch of one of the balls",
"style": "line"
}
}
],
2025-03-13 23:38:51 -07:00
"18": [
2025-03-06 18:01:24 -05:00
{
2025-03-13 23:38:51 -07:00
"end": 3012,
"start": 3010,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
],
2025-03-13 23:38:51 -07:00
"19": [
2025-03-06 18:01:24 -05:00
{
2025-03-13 23:38:51 -07:00
"end": 3119,
"start": 3079,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "https://www.mcmaster.com/60355K185/",
"style": "line"
}
}
]
},
"startNodes": [
{
"end": 15,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "Ball Bearing",
"style": "line"
}
},
{
"end": 247,
"start": 16,
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "A ball bearing is a type of rolling-element bearing that uses balls to maintain the separation between the bearing races. The primary purpose of a ball bearing is to reduce rotational friction and support radial and axial loads.",
"style": "line"
}
},
{
"end": 249,
"start": 247,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
},
{
"end": 261,
"start": 249,
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "Set units",
"style": "line"
}
},
{
"end": 297,
"start": 295,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
},
{
"end": 384,
"start": 297,
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "Define constants like ball diameter, inside diamter, overhange length, and thickness",
"style": "line"
}
}
]
},
"start": 0
}
}