Files
modeling-app/rust/kcl-lib/tests/kcl_samples/ball-bearing/ast.snap

3328 lines
109 KiB
Plaintext
Raw Normal View History

test: Vendor kcl-samples and add simulation tests for them (#5460) * Change to unzip * Download kcl-samples as zip to public dir * Fix fetch:samples, e2e electron still not working * Change error message to be clearer * Refactor so that input and output directories of sim tests can be different * Add kcl samples test implementation * Update output since adding kcl_samples tests * Update kcl-samples branch * Fix git-ignore pattern to only apply to the root * Fix yarn install and yarn fetch:samples to work the first time * Remove unneeded exists check * Change to use kcl-samples in public directory * Add kcl-samples * Update output since updating kcl-samples * Update output files * Change to not fetch samples during yarn install * Update output after merge * Ignore kcl-samples in codespell * WIP: Don't run e2e if only kcl-samples changed * Conditionally run cargo tests * Fix to round floating point values in program memory arrays * Update output since merge and rounding numbers in memory * Fix memory redaction for floating point to find more values * Fix float redaction pattern * Update output since rounding floating point numbers * Add center to floating point pattern * Fix trigger to use picomatch syntax * Update output since rounding center * Remove kcl-samples github workflows * Enable Rust backtrace * Update output after re-running * Update output after changing order of post-extrude commands * Fix to have deterministic order of commands * Update output after reverting ordering changes * Update kcl-samples * Update output after updating samples * Fix error messages to show the names of all samples that failed * Change cargo test command to match current one * Update kcl-samples * Update output since updating kcl-samples * Add generate manifest workflow and yarn script * Fix error check to actually work * Change util function to be what we actually need * Move new files after merge * Fix paths since directory move * Add dependabot updates for kcl-samples * Add GitHub workflow to make PR to kcl-samples repo * Add GitHub workflow to check kcl-samples header comments * Fix worfklow to change to the right directory * Add auto-commit simulation test output changes * Add permissions to workflows * Fix to run git commit step * Install just if needed * Fix directory of justfile * Add installation of cargo-insta * Fix to use underscore * Fix to allow just command failure * Change to always install CLI tools and cache them * Trying to fix overwrite failing * Combine commands * Change reviewer * Change to PR targeting the next branch * Change git commands to not do unnecessary fetch * Comment out trigger for creating a PR * Update kcl-samples from next branch * Update outputs after kcl-samples change * Fix to use bash pipefail * Add rust backtrace * Print full env from sim tests * Change command to use long option name * Fix to use ci profile even when calling through just * Add INSTA_UPDATE=always * Fix git push by using an app token on checkout * Add comments * Fix to use bash options * Change to echo when no changes are found * Fix so that kcl-samples updates don't trigger full run * Fix paths to reflect new crate location * Fix path detection * Fix e2e job to ignore kcl_samples simulation test output * Fix the fetch logic for the KCL samples after vendoring (#5661) Fixes the last 2 E2E tests for #5460. --------- Co-authored-by: Pierre Jacquier <pierre@zoo.dev> Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com> Co-authored-by: Frank Noirot <frank@zoo.dev>
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": {
"end": 832,
"id": {
"end": 620,
"name": "customPlane",
"start": 609,
"type": "Identifier"
},
"init": {
"end": 832,
"properties": [
{
"end": 830,
"key": {
"end": 632,
"name": "plane",
"start": 627,
"type": "Identifier"
},
"start": 627,
"type": "ObjectProperty",
"value": {
"end": 830,
"properties": [
{
"end": 715,
"key": {
"end": 647,
"name": "origin",
"start": 641,
"type": "Identifier"
},
"start": 641,
"type": "ObjectProperty",
"value": {
"end": 715,
"properties": [
{
"end": 663,
"key": {
"end": 659,
"name": "x",
"start": 658,
"type": "Identifier"
},
"start": 658,
"type": "ObjectProperty",
"value": {
"end": 663,
"raw": "0",
"start": 662,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
},
{
"end": 676,
"key": {
"end": 672,
"name": "y",
"start": 671,
"type": "Identifier"
},
"start": 671,
"type": "ObjectProperty",
"value": {
"end": 676,
"raw": "0",
"start": 675,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
},
{
"end": 709,
"key": {
"end": 685,
"name": "z",
"start": 684,
"type": "Identifier"
},
"start": 684,
"type": "ObjectProperty",
"value": {
"end": 709,
"left": {
"argument": {
"end": 705,
"name": "overallThickness",
"start": 689,
"type": "Identifier",
"type": "Identifier"
},
"end": 705,
"operator": "-",
"start": 688,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "/",
"right": {
"end": 709,
"raw": "2",
"start": 708,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 688,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"start": 650,
"type": "ObjectExpression",
"type": "ObjectExpression"
}
},
{
"end": 752,
"key": {
"end": 726,
"name": "xAxis",
"start": 721,
"type": "Identifier"
},
"start": 721,
"type": "ObjectProperty",
"value": {
"end": 752,
"properties": [
{
"end": 736,
"key": {
"end": 732,
"name": "x",
"start": 731,
"type": "Identifier"
},
"start": 731,
"type": "ObjectProperty",
"value": {
"end": 736,
"raw": "1",
"start": 735,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
},
{
"end": 743,
"key": {
"end": 739,
"name": "y",
"start": 738,
"type": "Identifier"
},
"start": 738,
"type": "ObjectProperty",
"value": {
"end": 743,
"raw": "0",
"start": 742,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
},
{
"end": 750,
"key": {
"end": 746,
"name": "z",
"start": 745,
"type": "Identifier"
},
"start": 745,
"type": "ObjectProperty",
"value": {
"end": 750,
"raw": "0",
"start": 749,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
}
],
"start": 729,
"type": "ObjectExpression",
"type": "ObjectExpression"
}
},
{
"end": 789,
"key": {
"end": 763,
"name": "yAxis",
"start": 758,
"type": "Identifier"
},
"start": 758,
"type": "ObjectProperty",
"value": {
"end": 789,
"properties": [
{
"end": 773,
"key": {
"end": 769,
"name": "x",
"start": 768,
"type": "Identifier"
},
"start": 768,
"type": "ObjectProperty",
"value": {
"end": 773,
"raw": "0",
"start": 772,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
},
{
"end": 780,
"key": {
"end": 776,
"name": "y",
"start": 775,
"type": "Identifier"
},
"start": 775,
"type": "ObjectProperty",
"value": {
"end": 780,
"raw": "1",
"start": 779,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
},
{
"end": 787,
"key": {
"end": 783,
"name": "z",
"start": 782,
"type": "Identifier"
},
"start": 782,
"type": "ObjectProperty",
"value": {
"end": 787,
"raw": "0",
"start": 786,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
}
],
"start": 766,
"type": "ObjectExpression",
"type": "ObjectExpression"
}
},
{
"end": 826,
"key": {
"end": 800,
"name": "zAxis",
"start": 795,
"type": "Identifier"
},
"start": 795,
"type": "ObjectProperty",
"value": {
"end": 826,
"properties": [
{
"end": 810,
"key": {
"end": 806,
"name": "x",
"start": 805,
"type": "Identifier"
},
"start": 805,
"type": "ObjectProperty",
"value": {
"end": 810,
"raw": "0",
"start": 809,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
},
{
"end": 817,
"key": {
"end": 813,
"name": "y",
"start": 812,
"type": "Identifier"
},
"start": 812,
"type": "ObjectProperty",
"value": {
"end": 817,
"raw": "0",
"start": 816,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
},
{
"end": 824,
"key": {
"end": 820,
"name": "z",
"start": 819,
"type": "Identifier"
},
"start": 819,
"type": "ObjectProperty",
"value": {
"end": 824,
"raw": "1",
"start": 823,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
}
],
"start": 803,
"type": "ObjectExpression",
"type": "ObjectExpression"
}
}
],
"start": 635,
"type": "ObjectExpression",
"type": "ObjectExpression"
}
}
],
"start": 623,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
"start": 609,
"type": "VariableDeclarator"
},
"end": 832,
"kind": "const",
"start": 609,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 1122,
"id": {
"end": 885,
"name": "insideWallSketch",
"start": 869,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"end": 913,
"name": "customPlane",
"start": 902,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 901,
"name": "startSketchOn",
"start": 888,
"type": "Identifier"
},
"end": 914,
"start": 888,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 941,
"name": "center",
"start": 935,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 946,
"raw": "0",
"start": 945,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 949,
"raw": "0",
"start": 948,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 950,
"start": 944,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 965,
"name": "radius",
"start": 959,
"type": "Identifier"
},
"arg": {
"end": 996,
"left": {
"end": 980,
"left": {
"end": 976,
"name": "shaftDia",
"start": 968,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 980,
"raw": "2",
"start": 979,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 968,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"end": 996,
"name": "wallThickness",
"start": 983,
"type": "Identifier",
"type": "Identifier"
},
"start": 968,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"end": 926,
"name": "circle",
"start": 920,
"type": "Identifier"
},
"end": 1003,
"start": 920,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 1035,
"name": "center",
"start": 1029,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 1040,
"raw": "0",
"start": 1039,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 1043,
"raw": "0",
"start": 1042,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 1044,
"start": 1038,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 1059,
"name": "radius",
"start": 1053,
"type": "Identifier"
},
"arg": {
"end": 1074,
"left": {
"end": 1070,
"name": "shaftDia",
"start": 1062,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 1074,
"raw": "2",
"start": 1073,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 1062,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"end": 1020,
"name": "circle",
"start": 1014,
"type": "Identifier"
},
"end": 1081,
"start": 1014,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"end": 1084,
"start": 1083,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 1013,
"name": "hole",
"start": 1009,
"type": "Identifier"
},
"end": 1085,
"start": 1009,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 1122,
"nonCodeMeta": {
"nonCodeNodes": {
"2": [
{
"end": 1122,
"start": 1085,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Extrude the inside bearing piece",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 888,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 869,
"type": "VariableDeclarator"
},
"end": 1122,
"kind": "const",
"start": 869,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 1188,
"id": {
"end": 1133,
"name": "insideWall",
"start": 1123,
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 1168,
"name": "length",
"start": 1162,
"type": "Identifier"
},
"arg": {
"end": 1187,
"name": "overallThickness",
"start": 1171,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 1143,
"name": "extrude",
"start": 1136,
"type": "Identifier"
},
"end": 1188,
"start": 1136,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 1160,
"name": "insideWallSketch",
"start": 1144,
"type": "Identifier",
"type": "Identifier"
}
},
"start": 1123,
"type": "VariableDeclarator"
},
"end": 1188,
"kind": "const",
"start": 1123,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 1510,
"id": {
"end": 1242,
"name": "ballsSketch",
"start": 1231,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"end": 1263,
"raw": "\"XY\"",
"start": 1259,
"type": "Literal",
"type": "Literal",
"value": "XY"
}
],
"callee": {
"end": 1258,
"name": "startSketchOn",
"start": 1245,
"type": "Identifier"
},
"end": 1264,
"start": 1245,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
"end": 1314,
"left": {
"end": 1298,
"left": {
"end": 1294,
"name": "shaftDia",
"start": 1286,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 1298,
"raw": "2",
"start": 1297,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 1286,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"end": 1314,
"name": "wallThickness",
"start": 1301,
"type": "Identifier",
"type": "Identifier"
},
"start": 1286,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 1321,
"raw": "0.001",
"start": 1316,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.001,
"suffix": "None"
}
}
],
"end": 1322,
"start": 1285,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 1325,
"start": 1324,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 1284,
"name": "startProfileAt",
"start": 1270,
"type": "Identifier"
},
"end": 1326,
"start": 1270,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 1420,
"properties": [
{
"end": 1357,
"key": {
"end": 1353,
"name": "angleEnd",
"start": 1345,
"type": "Identifier"
},
"start": 1345,
"type": "ObjectProperty",
"value": {
"end": 1357,
"raw": "0",
"start": 1356,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
},
{
"end": 1382,
"key": {
"end": 1376,
"name": "angleStart",
"start": 1366,
"type": "Identifier"
},
"start": 1366,
"type": "ObjectProperty",
"value": {
"end": 1382,
"raw": "180",
"start": 1379,
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
}
},
{
"end": 1413,
"key": {
"end": 1397,
"name": "radius",
"start": 1391,
"type": "Identifier"
},
"start": 1391,
"type": "ObjectProperty",
"value": {
"end": 1413,
"left": {
"end": 1409,
"name": "sphereDia",
"start": 1400,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 1413,
"raw": "2",
"start": 1412,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 1400,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"start": 1336,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"end": 1423,
"start": 1422,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 1335,
"name": "arc",
"start": 1332,
"type": "Identifier"
},
"end": 1424,
"start": 1332,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [],
"callee": {
"end": 1435,
"name": "close",
"start": 1430,
"type": "Identifier"
},
"end": 1437,
"start": 1430,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 1510,
"nonCodeMeta": {
"nonCodeNodes": {
"3": [
{
"end": 1510,
"start": 1437,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Revolve the ball to make a sphere and pattern around the inside wall",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 1245,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 1231,
"type": "VariableDeclarator"
},
"end": 1510,
"kind": "const",
"start": 1231,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 1774,
"id": {
"end": 1516,
"name": "balls",
"start": 1511,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"end": 1541,
"properties": [
{
"end": 1539,
"key": {
"end": 1533,
"name": "axis",
"start": 1529,
"type": "Identifier"
},
"start": 1529,
"type": "ObjectProperty",
"value": {
"end": 1539,
"raw": "\"X\"",
"start": 1536,
"type": "Literal",
"type": "Literal",
"value": "X"
}
}
],
"start": 1527,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"end": 1554,
"name": "ballsSketch",
"start": 1543,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 1526,
"name": "revolve",
"start": 1519,
"type": "Identifier"
},
"end": 1555,
"start": 1519,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 1597,
"name": "arcDegrees",
"start": 1587,
"type": "Identifier"
},
"arg": {
"end": 1603,
"raw": "360",
"start": 1600,
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
"end": 1616,
"name": "axis",
"start": 1612,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 1621,
"raw": "0",
"start": 1620,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 1624,
"raw": "0",
"start": 1623,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 1627,
"raw": "1",
"start": 1626,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
],
"end": 1628,
"start": 1619,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 1643,
"name": "center",
"start": 1637,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 1648,
"raw": "0",
"start": 1647,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 1651,
"raw": "0",
"start": 1650,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 1654,
"raw": "0",
"start": 1653,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 1655,
"start": 1646,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 1673,
"name": "instances",
"start": 1664,
"type": "Identifier"
},
"arg": {
"end": 1682,
"name": "nBalls",
"start": 1676,
"type": "Identifier",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
"end": 1707,
"name": "rotateDuplicates",
"start": 1691,
"type": "Identifier"
},
"arg": {
"end": 1714,
"raw": "true",
"start": 1710,
"type": "Literal",
"type": "Literal",
"value": true
}
}
],
"callee": {
"end": 1578,
"name": "patternCircular3d",
"start": 1561,
"type": "Identifier"
},
"end": 1721,
"start": 1561,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"end": 1774,
"nonCodeMeta": {
"nonCodeNodes": {
"1": [
{
"end": 1774,
"start": 1721,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Create the sketch for the chain around the balls",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 1519,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 1511,
"type": "VariableDeclarator"
},
"end": 1774,
"kind": "const",
"start": 1511,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 2159,
"id": {
"end": 1786,
"name": "chainSketch",
"start": 1775,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"end": 1807,
"raw": "\"XY\"",
"start": 1803,
"type": "Literal",
"type": "Literal",
"value": "XY"
}
],
"callee": {
"end": 1802,
"name": "startSketchOn",
"start": 1789,
"type": "Identifier"
},
"end": 1808,
"start": 1789,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
"end": 1900,
"left": {
"end": 1882,
"left": {
"end": 1866,
"left": {
"end": 1850,
"left": {
"end": 1846,
"name": "shaftDia",
"start": 1838,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 1850,
"raw": "2",
"start": 1849,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 1838,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"end": 1866,
"name": "wallThickness",
"start": 1853,
"type": "Identifier",
"type": "Identifier"
},
"start": 1838,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"end": 1882,
"left": {
"end": 1878,
"name": "sphereDia",
"start": 1869,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 1882,
"raw": "2",
"start": 1881,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 1869,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 1838,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 1900,
"left": {
"end": 1896,
"name": "chainWidth",
"start": 1886,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 1900,
"raw": "2",
"start": 1899,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 1886,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 1838,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 1936,
"left": {
"end": 1915,
"raw": "0.125",
"start": 1910,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.125,
"suffix": "None"
}
},
"operator": "*",
"right": {
"arguments": [
{
"arguments": [
{
"end": 1934,
"raw": "60",
"start": 1932,
"type": "Literal",
"type": "Literal",
"value": {
"value": 60.0,
"suffix": "None"
}
}
],
"callee": {
"end": 1931,
"name": "toRadians",
"start": 1922,
"type": "Identifier"
},
"end": 1935,
"start": 1922,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"end": 1921,
"name": "sin",
"start": 1918,
"type": "Identifier"
},
"end": 1936,
"start": 1918,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 1910,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"end": 1943,
"start": 1829,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 1946,
"start": 1945,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 1828,
"name": "startProfileAt",
"start": 1814,
"type": "Identifier"
},
"end": 1947,
"start": 1814,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 2042,
"properties": [
{
"end": 1979,
"key": {
"end": 1974,
"name": "angleEnd",
"start": 1966,
"type": "Identifier"
},
"start": 1966,
"type": "ObjectProperty",
"value": {
"end": 1979,
"raw": "60",
"start": 1977,
"type": "Literal",
"type": "Literal",
"value": {
"value": 60.0,
"suffix": "None"
}
}
},
{
"end": 2004,
"key": {
"end": 1998,
"name": "angleStart",
"start": 1988,
"type": "Identifier"
},
"start": 1988,
"type": "ObjectProperty",
"value": {
"end": 2004,
"raw": "120",
"start": 2001,
"type": "Literal",
"type": "Literal",
"value": {
"value": 120.0,
"suffix": "None"
}
}
},
{
"end": 2035,
"key": {
"end": 2019,
"name": "radius",
"start": 2013,
"type": "Identifier"
},
"start": 2013,
"type": "ObjectProperty",
"value": {
"end": 2035,
"left": {
"end": 2031,
"name": "sphereDia",
"start": 2022,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 2035,
"raw": "2",
"start": 2034,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 2022,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"start": 1957,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"end": 2045,
"start": 2044,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 1956,
"name": "arc",
"start": 1953,
"type": "Identifier"
},
"end": 2046,
"start": 1953,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 2060,
"name": "end",
"start": 2057,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 2065,
"raw": "0",
"start": 2064,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 2081,
"name": "chainThickness",
"start": 2067,
"type": "Identifier",
"type": "Identifier"
}
],
"end": 2082,
"start": 2063,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"end": 2056,
"name": "line",
"start": 2052,
"type": "Identifier"
},
"end": 2083,
"start": 2052,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 2097,
"name": "end",
"start": 2094,
"type": "Identifier"
},
"arg": {
"elements": [
{
"argument": {
"end": 2112,
"name": "chainWidth",
"start": 2102,
"type": "Identifier",
"type": "Identifier"
},
"end": 2112,
"operator": "-",
"start": 2101,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"end": 2115,
"raw": "0",
"start": 2114,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 2116,
"start": 2100,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"end": 2093,
"name": "line",
"start": 2089,
"type": "Identifier"
},
"end": 2117,
"start": 2089,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [],
"callee": {
"end": 2128,
"name": "close",
"start": 2123,
"type": "Identifier"
},
"end": 2130,
"start": 2123,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 2159,
"nonCodeMeta": {
"nonCodeNodes": {
"5": [
{
"end": 2159,
"start": 2130,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Revolve the chain sketch",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 1789,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 1775,
"type": "VariableDeclarator"
},
"end": 2159,
"kind": "const",
"start": 1775,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 2432,
"id": {
"end": 2169,
"name": "chainHead",
"start": 2160,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"end": 2194,
"properties": [
{
"end": 2192,
"key": {
"end": 2186,
"name": "axis",
"start": 2182,
"type": "Identifier"
},
"start": 2182,
"type": "ObjectProperty",
"value": {
"end": 2192,
"raw": "\"X\"",
"start": 2189,
"type": "Literal",
"type": "Literal",
"value": "X"
}
}
],
"start": 2180,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"end": 2207,
"name": "chainSketch",
"start": 2196,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 2179,
"name": "revolve",
"start": 2172,
"type": "Identifier"
},
"end": 2208,
"start": 2172,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 2250,
"name": "arcDegrees",
"start": 2240,
"type": "Identifier"
},
"arg": {
"end": 2256,
"raw": "360",
"start": 2253,
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
"end": 2269,
"name": "axis",
"start": 2265,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 2274,
"raw": "0",
"start": 2273,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 2277,
"raw": "0",
"start": 2276,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 2280,
"raw": "1",
"start": 2279,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
],
"end": 2281,
"start": 2272,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 2296,
"name": "center",
"start": 2290,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 2301,
"raw": "0",
"start": 2300,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 2304,
"raw": "0",
"start": 2303,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 2307,
"raw": "0",
"start": 2306,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 2308,
"start": 2299,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 2326,
"name": "instances",
"start": 2317,
"type": "Identifier"
},
"arg": {
"end": 2335,
"name": "nBalls",
"start": 2329,
"type": "Identifier",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
"end": 2360,
"name": "rotateDuplicates",
"start": 2344,
"type": "Identifier"
},
"arg": {
"end": 2367,
"raw": "true",
"start": 2363,
"type": "Literal",
"type": "Literal",
"value": true
}
}
],
"callee": {
"end": 2231,
"name": "patternCircular3d",
"start": 2214,
"type": "Identifier"
},
"end": 2374,
"start": 2214,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"end": 2432,
"nonCodeMeta": {
"nonCodeNodes": {
"1": [
{
"end": 2432,
"start": 2374,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Create the sketch for the links in between the chains",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 2172,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 2160,
"type": "VariableDeclarator"
},
"end": 2432,
"kind": "const",
"start": 2160,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 2640,
"id": {
"end": 2443,
"name": "linkSketch",
"start": 2433,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"end": 2464,
"raw": "\"XZ\"",
"start": 2460,
"type": "Literal",
"type": "Literal",
"value": "XZ"
}
],
"callee": {
"end": 2459,
"name": "startSketchOn",
"start": 2446,
"type": "Identifier"
},
"end": 2465,
"start": 2446,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 2492,
"name": "center",
"start": 2486,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 2550,
"left": {
"end": 2534,
"left": {
"end": 2518,
"left": {
"end": 2514,
"name": "shaftDia",
"start": 2506,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 2518,
"raw": "2",
"start": 2517,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 2506,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"end": 2534,
"name": "wallThickness",
"start": 2521,
"type": "Identifier",
"type": "Identifier"
},
"start": 2506,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"end": 2550,
"left": {
"end": 2546,
"name": "sphereDia",
"start": 2537,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 2550,
"raw": "2",
"start": 2549,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 2537,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 2506,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 2562,
"raw": "0",
"start": 2561,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 2571,
"start": 2495,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 2586,
"name": "radius",
"start": 2580,
"type": "Identifier"
},
"arg": {
"end": 2605,
"left": {
"end": 2601,
"name": "linkDiameter",
"start": 2589,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 2605,
"raw": "2",
"start": 2604,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 2589,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"end": 2477,
"name": "circle",
"start": 2471,
"type": "Identifier"
},
"end": 2612,
"start": 2471,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"end": 2640,
"nonCodeMeta": {
"nonCodeNodes": {
"1": [
{
"end": 2640,
"start": 2612,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Revolve the link sketch",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 2446,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 2433,
"type": "VariableDeclarator"
},
"end": 2640,
"kind": "const",
"start": 2433,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 2922,
"id": {
"end": 2652,
"name": "linkRevolve",
"start": 2641,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"end": 2699,
"properties": [
{
"end": 2675,
"key": {
"end": 2669,
"name": "axis",
"start": 2665,
"type": "Identifier"
},
"start": 2665,
"type": "ObjectProperty",
"value": {
"end": 2675,
"raw": "'Y'",
"start": 2672,
"type": "Literal",
"type": "Literal",
"value": "Y"
}
},
{
"end": 2697,
"key": {
"end": 2682,
"name": "angle",
"start": 2677,
"type": "Identifier"
},
"start": 2677,
"type": "ObjectProperty",
"value": {
"end": 2697,
"left": {
"end": 2688,
"raw": "360",
"start": 2685,
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
},
"operator": "/",
"right": {
"end": 2697,
"name": "nBalls",
"start": 2691,
"type": "Identifier",
"type": "Identifier"
},
"start": 2685,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"start": 2663,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"end": 2711,
"name": "linkSketch",
"start": 2701,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 2662,
"name": "revolve",
"start": 2655,
"type": "Identifier"
},
"end": 2712,
"start": 2655,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 2754,
"name": "arcDegrees",
"start": 2744,
"type": "Identifier"
},
"arg": {
"end": 2760,
"raw": "360",
"start": 2757,
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
"end": 2773,
"name": "axis",
"start": 2769,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 2778,
"raw": "0",
"start": 2777,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 2781,
"raw": "0",
"start": 2780,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 2784,
"raw": "1",
"start": 2783,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
],
"end": 2785,
"start": 2776,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 2800,
"name": "center",
"start": 2794,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 2805,
"raw": "0",
"start": 2804,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 2808,
"raw": "0",
"start": 2807,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 2811,
"raw": "0",
"start": 2810,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 2812,
"start": 2803,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 2830,
"name": "instances",
"start": 2821,
"type": "Identifier"
},
"arg": {
"end": 2839,
"name": "nBalls",
"start": 2833,
"type": "Identifier",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
"end": 2864,
"name": "rotateDuplicates",
"start": 2848,
"type": "Identifier"
},
"arg": {
"end": 2871,
"raw": "true",
"start": 2867,
"type": "Literal",
"type": "Literal",
"value": true
}
}
],
"callee": {
"end": 2735,
"name": "patternCircular3d",
"start": 2718,
"type": "Identifier"
},
"end": 2878,
"start": 2718,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"end": 2922,
"nonCodeMeta": {
"nonCodeNodes": {
"1": [
{
"end": 2922,
"start": 2878,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Create the sketch for the outside walls",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 2655,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 2641,
"type": "VariableDeclarator"
},
"end": 2922,
"kind": "const",
"start": 2641,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 3159,
"id": {
"end": 2940,
"name": "outsideWallSketch",
"start": 2923,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"end": 2968,
"name": "customPlane",
"start": 2957,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 2956,
"name": "startSketchOn",
"start": 2943,
"type": "Identifier"
},
"end": 2969,
"start": 2943,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 2996,
"name": "center",
"start": 2990,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 3001,
"raw": "0",
"start": 3000,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 3004,
"raw": "0",
"start": 3003,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 3005,
"start": 2999,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 3020,
"name": "radius",
"start": 3014,
"type": "Identifier"
},
"arg": {
"end": 3042,
"left": {
"end": 3038,
"name": "outsideDiameter",
"start": 3023,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 3042,
"raw": "2",
"start": 3041,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 3023,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"end": 2981,
"name": "circle",
"start": 2975,
"type": "Identifier"
},
"end": 3049,
"start": 2975,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 3081,
"name": "center",
"start": 3075,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 3086,
"raw": "0",
"start": 3085,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 3089,
"raw": "0",
"start": 3088,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 3090,
"start": 3084,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 3105,
"name": "radius",
"start": 3099,
"type": "Identifier"
},
"arg": {
"end": 3148,
"left": {
"end": 3136,
"left": {
"end": 3120,
"left": {
"end": 3116,
"name": "shaftDia",
"start": 3108,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 3120,
"raw": "2",
"start": 3119,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 3108,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"end": 3136,
"name": "wallThickness",
"start": 3123,
"type": "Identifier",
"type": "Identifier"
},
"start": 3108,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"end": 3148,
"name": "sphereDia",
"start": 3139,
"type": "Identifier",
"type": "Identifier"
},
"start": 3108,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"end": 3066,
"name": "circle",
"start": 3060,
"type": "Identifier"
},
"end": 3155,
"start": 3060,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"end": 3158,
"start": 3157,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 3059,
"name": "hole",
"start": 3055,
"type": "Identifier"
},
"end": 3159,
"start": 3055,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 3159,
"start": 2943,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 2923,
"type": "VariableDeclarator"
},
"end": 3159,
"kind": "const",
"start": 2923,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 3228,
"id": {
"end": 3172,
"name": "outsideWall",
"start": 3161,
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 3208,
"name": "length",
"start": 3202,
"type": "Identifier"
},
"arg": {
"end": 3227,
"name": "overallThickness",
"start": 3211,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 3182,
"name": "extrude",
"start": 3175,
"type": "Identifier"
},
"end": 3228,
"start": 3175,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 3200,
"name": "outsideWallSketch",
"start": 3183,
"type": "Identifier",
"type": "Identifier"
}
},
"start": 3161,
"type": "VariableDeclarator"
},
"end": 3228,
"kind": "const",
"start": 3161,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
"end": 3269,
"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": [
{
"end": 609,
"start": 607,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
],
"10": [
{
"end": 868,
"start": 832,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Sketch the inside bearing piece",
"style": "line"
}
}
],
"12": [
{
"end": 1230,
"start": 1188,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Create the sketch of one of the balls",
"style": "line"
}
}
],
"19": [
{
"end": 3161,
"start": 3159,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
],
"20": [
{
"end": 3268,
"start": 3228,
"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
}
}