Files
modeling-app/rust/kcl-lib/tests/kcl_samples/gridfinity-baseplate-magnets/ast.snap

6131 lines
223 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 gridfinity-baseplate-magnets.kcl
---
{
"Ok": {
"body": [
{
"declaration": {
"end": 455,
"id": {
"end": 448,
"name": "binLength",
"start": 439,
"type": "Identifier"
},
"init": {
"end": 455,
"raw": "42.0",
"start": 451,
"type": "Literal",
"type": "Literal",
"value": {
"value": 42.0,
"suffix": "None"
}
},
"start": 439,
"type": "VariableDeclarator"
},
"end": 455,
"kind": "const",
"start": 439,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 474,
"id": {
"end": 468,
"name": "cornerRadius",
"start": 456,
"type": "Identifier"
},
"init": {
"end": 474,
"raw": "4.0",
"start": 471,
"type": "Literal",
"type": "Literal",
"value": {
"value": 4.0,
"suffix": "None"
}
},
"start": 456,
"type": "VariableDeclarator"
},
"end": 474,
"kind": "const",
"start": 456,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 490,
"id": {
"end": 484,
"name": "firstStep",
"start": 475,
"type": "Identifier"
},
"init": {
"end": 490,
"raw": "0.7",
"start": 487,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.7,
"suffix": "None"
}
},
"start": 475,
"type": "VariableDeclarator"
},
"end": 490,
"kind": "const",
"start": 475,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 507,
"id": {
"end": 501,
"name": "secondStep",
"start": 491,
"type": "Identifier"
},
"init": {
"end": 507,
"raw": "1.8",
"start": 504,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.8,
"suffix": "None"
}
},
"start": 491,
"type": "VariableDeclarator"
},
"end": 507,
"kind": "const",
"start": 491,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 524,
"id": {
"end": 517,
"name": "thirdStep",
"start": 508,
"type": "Identifier"
},
"init": {
"end": 524,
"raw": "2.15",
"start": 520,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.15,
"suffix": "None"
}
},
"start": 508,
"type": "VariableDeclarator"
},
"end": 524,
"kind": "const",
"start": 508,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 543,
"id": {
"end": 537,
"name": "magOuterDiam",
"start": 525,
"type": "Identifier"
},
"init": {
"end": 543,
"raw": "6.5",
"start": 540,
"type": "Literal",
"type": "Literal",
"value": {
"value": 6.5,
"suffix": "None"
}
},
"start": 525,
"type": "VariableDeclarator"
},
"end": 543,
"kind": "const",
"start": 525,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 559,
"id": {
"end": 553,
"name": "magOffset",
"start": 544,
"type": "Identifier"
},
"init": {
"end": 559,
"raw": "4.8",
"start": 556,
"type": "Literal",
"type": "Literal",
"value": {
"value": 4.8,
"suffix": "None"
}
},
"start": 544,
"type": "VariableDeclarator"
},
"end": 559,
"kind": "const",
"start": 544,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 574,
"id": {
"end": 568,
"name": "magDepth",
"start": 560,
"type": "Identifier"
},
"init": {
"end": 574,
"raw": "2.4",
"start": 571,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.4,
"suffix": "None"
}
},
"start": 560,
"type": "VariableDeclarator"
},
"end": 574,
"kind": "const",
"start": 560,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 629,
"id": {
"end": 625,
"name": "countBinWidth",
"start": 612,
"type": "Identifier"
},
"init": {
"end": 629,
"raw": "2",
"start": 628,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 612,
"type": "VariableDeclarator"
},
"end": 629,
"kind": "const",
"start": 612,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 648,
"id": {
"end": 644,
"name": "countBinLength",
"start": 630,
"type": "Identifier"
},
"init": {
"end": 648,
"raw": "3",
"start": 647,
"type": "Literal",
"type": "Literal",
"value": {
"value": 3.0,
"suffix": "None"
}
},
"start": 630,
"type": "VariableDeclarator"
},
"end": 648,
"kind": "const",
"start": 630,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 792,
"id": {
"end": 755,
"name": "height",
"start": 749,
"type": "Identifier"
},
"init": {
"end": 792,
"left": {
"end": 780,
"left": {
"end": 767,
"name": "firstStep",
"start": 758,
"type": "Identifier",
"type": "Identifier"
},
"operator": "+",
"right": {
"end": 780,
"name": "secondStep",
"start": 770,
"type": "Identifier",
"type": "Identifier"
},
"start": 758,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"end": 792,
"name": "thirdStep",
"start": 783,
"type": "Identifier",
"type": "Identifier"
},
"start": 758,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 749,
"type": "VariableDeclarator"
},
"end": 792,
"kind": "const",
"start": 749,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 1170,
"id": {
"end": 868,
"name": "face",
"start": 864,
"type": "Identifier"
},
"init": {
"body": {
"body": [
{
"declaration": {
"end": 1148,
"id": {
"end": 890,
"name": "faceSketch",
"start": 880,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"end": 912,
"name": "plane",
"start": 907,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 906,
"name": "startSketchOn",
"start": 893,
"type": "Identifier"
},
"end": 913,
"start": 893,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
"end": 938,
"raw": "0",
"start": 937,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 941,
"raw": "0",
"start": 940,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 942,
"start": 936,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 945,
"start": 944,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 935,
"name": "startProfileAt",
"start": 921,
"type": "Identifier"
},
"end": 946,
"start": 921,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 966,
"name": "height",
"start": 960,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 969,
"start": 968,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 959,
"name": "yLine",
"start": 954,
"type": "Identifier"
},
"end": 970,
"start": 954,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 1033,
"properties": [
{
"end": 1011,
"key": {
"end": 1005,
"name": "angle",
"start": 1000,
"type": "Identifier"
},
"start": 1000,
"type": "ObjectProperty",
"value": {
"argument": {
"end": 1011,
"raw": "45",
"start": 1009,
"type": "Literal",
"type": "Literal",
"value": {
"value": 45.0,
"suffix": "None"
}
},
"end": 1011,
"operator": "-",
"start": 1008,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
},
{
"end": 1031,
"key": {
"end": 1019,
"name": "length",
"start": 1013,
"type": "Identifier"
},
"start": 1013,
"type": "ObjectProperty",
"value": {
"end": 1031,
"name": "thirdStep",
"start": 1022,
"type": "Identifier",
"type": "Identifier"
}
}
],
"start": 998,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"end": 1036,
"start": 1035,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 997,
"name": "angledLineOfYLength",
"start": 978,
"type": "Identifier"
},
"end": 1037,
"start": 978,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"argument": {
"end": 1062,
"name": "secondStep",
"start": 1052,
"type": "Identifier",
"type": "Identifier"
},
"end": 1062,
"operator": "-",
"start": 1051,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"end": 1065,
"start": 1064,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 1050,
"name": "yLine",
"start": 1045,
"type": "Identifier"
},
"end": 1066,
"start": 1045,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 1129,
"properties": [
{
"end": 1107,
"key": {
"end": 1101,
"name": "angle",
"start": 1096,
"type": "Identifier"
},
"start": 1096,
"type": "ObjectProperty",
"value": {
"argument": {
"end": 1107,
"raw": "45",
"start": 1105,
"type": "Literal",
"type": "Literal",
"value": {
"value": 45.0,
"suffix": "None"
}
},
"end": 1107,
"operator": "-",
"start": 1104,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
},
{
"end": 1127,
"key": {
"end": 1115,
"name": "length",
"start": 1109,
"type": "Identifier"
},
"start": 1109,
"type": "ObjectProperty",
"value": {
"end": 1127,
"name": "firstStep",
"start": 1118,
"type": "Identifier",
"type": "Identifier"
}
}
],
"start": 1094,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"end": 1132,
"start": 1131,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 1093,
"name": "angledLineOfYLength",
"start": 1074,
"type": "Identifier"
},
"end": 1133,
"start": 1074,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [],
"callee": {
"end": 1146,
"name": "close",
"start": 1141,
"type": "Identifier"
},
"end": 1148,
"start": 1141,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 1148,
"start": 893,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 880,
"type": "VariableDeclarator"
},
"end": 1148,
"kind": "const",
"start": 880,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"argument": {
"end": 1168,
"name": "faceSketch",
"start": 1158,
"type": "Identifier",
"type": "Identifier"
},
"end": 1168,
"start": 1151,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"end": 1170,
"start": 876
},
"end": 1170,
"params": [
{
"type": "Parameter",
"identifier": {
"end": 874,
"name": "plane",
"start": 869,
"type": "Identifier"
}
}
],
"start": 868,
"type": "FunctionExpression",
"type": "FunctionExpression"
},
"start": 864,
"type": "VariableDeclarator"
},
"end": 1170,
"kind": "fn",
"start": 861,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 1319,
"id": {
"end": 1218,
"name": "singleSide",
"start": 1208,
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 1283,
"name": "length",
"start": 1277,
"type": "Identifier"
},
"arg": {
"end": 1315,
"left": {
"end": 1295,
"name": "binLength",
"start": 1286,
"type": "Identifier",
"type": "Identifier"
},
"operator": "-",
"right": {
"end": 1315,
"left": {
"end": 1311,
"name": "cornerRadius",
"start": 1299,
"type": "Identifier",
"type": "Identifier"
},
"operator": "*",
"right": {
"end": 1315,
"raw": "2",
"start": 1314,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 1299,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 1286,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"end": 1228,
"name": "extrude",
"start": 1221,
"type": "Identifier"
},
"end": 1319,
"start": 1221,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"arguments": [
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 1258,
"name": "offset",
"start": 1252,
"type": "Identifier"
},
"arg": {
"end": 1273,
"name": "cornerRadius",
"start": 1261,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 1245,
"name": "offsetPlane",
"start": 1234,
"type": "Identifier"
},
"end": 1274,
"start": 1234,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 1250,
"raw": "\"YZ\"",
"start": 1246,
"type": "Literal",
"type": "Literal",
"value": "YZ"
}
}
],
"callee": {
"end": 1233,
"name": "face",
"start": 1229,
"type": "Identifier"
},
"end": 1275,
"start": 1229,
"type": "CallExpression",
"type": "CallExpression"
}
},
"start": 1208,
"type": "VariableDeclarator"
},
"end": 1319,
"kind": "const",
"start": 1208,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 1557,
"id": {
"end": 1391,
"name": "sides",
"start": 1386,
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 1439,
"name": "arcDegrees",
"start": 1429,
"type": "Identifier"
},
"arg": {
"end": 1445,
"raw": "360",
"start": 1442,
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
"end": 1453,
"name": "axis",
"start": 1449,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 1458,
"raw": "0",
"start": 1457,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 1461,
"raw": "0",
"start": 1460,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 1464,
"raw": "1",
"start": 1463,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
],
"end": 1465,
"start": 1456,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 1475,
"name": "center",
"start": 1469,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 1492,
"left": {
"end": 1488,
"name": "binLength",
"start": 1479,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 1492,
"raw": "2",
"start": 1491,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 1479,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 1507,
"left": {
"end": 1503,
"name": "binLength",
"start": 1494,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 1507,
"raw": "2",
"start": 1506,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 1494,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 1510,
"raw": "0",
"start": 1509,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 1511,
"start": 1478,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 1524,
"name": "instances",
"start": 1515,
"type": "Identifier"
},
"arg": {
"end": 1528,
"raw": "4",
"start": 1527,
"type": "Literal",
"type": "Literal",
"value": {
"value": 4.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
"end": 1548,
"name": "rotateDuplicates",
"start": 1532,
"type": "Identifier"
},
"arg": {
"end": 1555,
"raw": "true",
"start": 1551,
"type": "Literal",
"type": "Literal",
"value": true
}
}
],
"callee": {
"end": 1411,
"name": "patternCircular3d",
"start": 1394,
"type": "Identifier"
},
"end": 1557,
"start": 1394,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 1425,
"name": "singleSide",
"start": 1415,
"type": "Identifier",
"type": "Identifier"
}
},
"start": 1386,
"type": "VariableDeclarator"
},
"end": 1557,
"kind": "const",
"start": 1386,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 1680,
"id": {
"end": 1592,
"name": "axis000",
"start": 1585,
"type": "Identifier"
},
"init": {
"end": 1680,
"properties": [
{
"end": 1678,
"key": {
"end": 1605,
"name": "custom",
"start": 1599,
"type": "Identifier"
},
"start": 1599,
"type": "ObjectProperty",
"value": {
"end": 1678,
"properties": [
{
"end": 1631,
"key": {
"end": 1618,
"name": "axis",
"start": 1614,
"type": "Identifier"
},
"start": 1614,
"type": "ObjectProperty",
"value": {
"elements": [
{
"end": 1625,
"raw": "0.0",
"start": 1622,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 1630,
"raw": "1.0",
"start": 1627,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
],
"end": 1631,
"start": 1621,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"end": 1674,
"key": {
"end": 1643,
"name": "origin",
"start": 1637,
"type": "Identifier"
},
"start": 1637,
"type": "ObjectProperty",
"value": {
"elements": [
{
"end": 1659,
"name": "cornerRadius",
"start": 1647,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 1673,
"name": "cornerRadius",
"start": 1661,
"type": "Identifier",
"type": "Identifier"
}
],
"end": 1674,
"start": 1646,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"start": 1608,
"type": "ObjectExpression",
"type": "ObjectExpression"
}
}
],
"start": 1595,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
"start": 1585,
"type": "VariableDeclarator"
},
"end": 1680,
"kind": "const",
"start": 1585,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 1822,
"id": {
"end": 1731,
"name": "singleCorner",
"start": 1719,
"type": "Identifier"
},
"init": {
"arguments": [
{
"end": 1773,
"properties": [
{
"end": 1755,
"key": {
"end": 1749,
"name": "angle",
"start": 1744,
"type": "Identifier"
},
"start": 1744,
"type": "ObjectProperty",
"value": {
"argument": {
"end": 1755,
"raw": "90",
"start": 1753,
"type": "Literal",
"type": "Literal",
"value": {
"value": 90.0,
"suffix": "None"
}
},
"end": 1755,
"operator": "-",
"start": 1752,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
},
{
"end": 1771,
"key": {
"end": 1761,
"name": "axis",
"start": 1757,
"type": "Identifier"
},
"start": 1757,
"type": "ObjectProperty",
"value": {
"end": 1771,
"name": "axis000",
"start": 1764,
"type": "Identifier",
"type": "Identifier"
}
}
],
"start": 1742,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"arguments": [
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 1804,
"name": "offset",
"start": 1798,
"type": "Identifier"
},
"arg": {
"end": 1819,
"name": "cornerRadius",
"start": 1807,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 1791,
"name": "offsetPlane",
"start": 1780,
"type": "Identifier"
},
"end": 1820,
"start": 1780,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 1796,
"raw": "\"YZ\"",
"start": 1792,
"type": "Literal",
"type": "Literal",
"value": "YZ"
}
}
],
"callee": {
"end": 1779,
"name": "face",
"start": 1775,
"type": "Identifier"
},
"end": 1821,
"start": 1775,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"end": 1741,
"name": "revolve",
"start": 1734,
"type": "Identifier"
},
"end": 1822,
"start": 1734,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 1719,
"type": "VariableDeclarator"
},
"end": 1822,
"kind": "const",
"start": 1719,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 2032,
"id": {
"end": 1864,
"name": "corners",
"start": 1857,
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 1914,
"name": "arcDegrees",
"start": 1904,
"type": "Identifier"
},
"arg": {
"end": 1920,
"raw": "360",
"start": 1917,
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
"end": 1928,
"name": "axis",
"start": 1924,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 1933,
"raw": "0",
"start": 1932,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 1936,
"raw": "0",
"start": 1935,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 1939,
"raw": "1",
"start": 1938,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
],
"end": 1940,
"start": 1931,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 1950,
"name": "center",
"start": 1944,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 1967,
"left": {
"end": 1963,
"name": "binLength",
"start": 1954,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 1967,
"raw": "2",
"start": 1966,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 1954,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 1982,
"left": {
"end": 1978,
"name": "binLength",
"start": 1969,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 1982,
"raw": "2",
"start": 1981,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 1969,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 1985,
"raw": "0",
"start": 1984,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 1986,
"start": 1953,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 1999,
"name": "instances",
"start": 1990,
"type": "Identifier"
},
"arg": {
"end": 2003,
"raw": "4",
"start": 2002,
"type": "Literal",
"type": "Literal",
"value": {
"value": 4.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
"end": 2023,
"name": "rotateDuplicates",
"start": 2007,
"type": "Identifier"
},
"arg": {
"end": 2030,
"raw": "true",
"start": 2026,
"type": "Literal",
"type": "Literal",
"value": true
}
}
],
"callee": {
"end": 1884,
"name": "patternCircular3d",
"start": 1867,
"type": "Identifier"
},
"end": 2032,
"start": 1867,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 1900,
"name": "singleCorner",
"start": 1888,
"type": "Identifier",
"type": "Identifier"
}
},
"start": 1857,
"type": "VariableDeclarator"
},
"end": 2032,
"kind": "const",
"start": 1857,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 2414,
"id": {
"end": 2092,
"name": "basePlateSides",
"start": 2078,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 2137,
"name": "axis",
"start": 2133,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 2144,
"raw": "1.0",
"start": 2141,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
{
"end": 2149,
"raw": "0.0",
"start": 2146,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 2154,
"raw": "0.0",
"start": 2151,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 2155,
"start": 2140,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 2173,
"name": "instances",
"start": 2164,
"type": "Identifier"
},
"arg": {
"end": 2189,
"name": "countBinWidth",
"start": 2176,
"type": "Identifier",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
"end": 2206,
"name": "distance",
"start": 2198,
"type": "Identifier"
},
"arg": {
"end": 2218,
"name": "binLength",
"start": 2209,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 2110,
"name": "patternLinear3d",
"start": 2095,
"type": "Identifier"
},
"end": 2225,
"start": 2095,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 2124,
"name": "sides",
"start": 2119,
"type": "Identifier",
"type": "Identifier"
}
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 2259,
"name": "axis",
"start": 2255,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 2266,
"raw": "0.0",
"start": 2263,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 2271,
"raw": "1.0",
"start": 2268,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
{
"end": 2276,
"raw": "0.0",
"start": 2273,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 2277,
"start": 2262,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 2295,
"name": "instances",
"start": 2286,
"type": "Identifier"
},
"arg": {
"end": 2312,
"name": "countBinLength",
"start": 2298,
"type": "Identifier",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
"end": 2329,
"name": "distance",
"start": 2321,
"type": "Identifier"
},
"arg": {
"end": 2341,
"name": "binLength",
"start": 2332,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 2246,
"name": "patternLinear3d",
"start": 2231,
"type": "Identifier"
},
"end": 2348,
"start": 2231,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"end": 2414,
"nonCodeMeta": {
"nonCodeNodes": {
"1": [
{
"end": 2414,
"start": 2348,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "create the corners of the baseplate by patterning the corners",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 2095,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 2078,
"type": "VariableDeclarator"
},
"end": 2414,
"kind": "const",
"start": 2078,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 2741,
"id": {
"end": 2431,
"name": "basePlateCorners",
"start": 2415,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 2478,
"name": "axis",
"start": 2474,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 2485,
"raw": "1.0",
"start": 2482,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
{
"end": 2490,
"raw": "0.0",
"start": 2487,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 2495,
"raw": "0.0",
"start": 2492,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 2496,
"start": 2481,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 2514,
"name": "instances",
"start": 2505,
"type": "Identifier"
},
"arg": {
"end": 2530,
"name": "countBinWidth",
"start": 2517,
"type": "Identifier",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
"end": 2547,
"name": "distance",
"start": 2539,
"type": "Identifier"
},
"arg": {
"end": 2559,
"name": "binLength",
"start": 2550,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 2449,
"name": "patternLinear3d",
"start": 2434,
"type": "Identifier"
},
"end": 2566,
"start": 2434,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 2465,
"name": "corners",
"start": 2458,
"type": "Identifier",
"type": "Identifier"
}
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 2600,
"name": "axis",
"start": 2596,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 2607,
"raw": "0.0",
"start": 2604,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 2612,
"raw": "1.0",
"start": 2609,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
{
"end": 2617,
"raw": "0.0",
"start": 2614,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 2618,
"start": 2603,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 2636,
"name": "instances",
"start": 2627,
"type": "Identifier"
},
"arg": {
"end": 2653,
"name": "countBinLength",
"start": 2639,
"type": "Identifier",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
"end": 2670,
"name": "distance",
"start": 2662,
"type": "Identifier"
},
"arg": {
"end": 2682,
"name": "binLength",
"start": 2673,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 2587,
"name": "patternLinear3d",
"start": 2572,
"type": "Identifier"
},
"end": 2689,
"start": 2572,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"end": 2741,
"nonCodeMeta": {
"nonCodeNodes": {
"1": [
{
"end": 2741,
"start": 2689,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "create the center cutout for the magnet profile",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 2434,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 2415,
"type": "VariableDeclarator"
},
"end": 2741,
"kind": "const",
"start": 2415,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 4276,
"id": {
"end": 2763,
"name": "magnetCenterCutout",
"start": 2745,
"type": "Identifier"
},
"init": {
"body": {
"body": [
{
"declaration": {
"end": 4252,
"id": {
"end": 2787,
"name": "magnetSketch",
"start": 2775,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"end": 2809,
"name": "plane",
"start": 2804,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 2803,
"name": "startSketchOn",
"start": 2790,
"type": "Identifier"
},
"end": 2810,
"start": 2790,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
"end": 2865,
"left": {
"end": 2853,
"name": "firstStep",
"start": 2844,
"type": "Identifier",
"type": "Identifier"
},
"operator": "+",
"right": {
"end": 2865,
"name": "thirdStep",
"start": 2856,
"type": "Identifier",
"type": "Identifier"
},
"start": 2844,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 2892,
"left": {
"end": 2877,
"raw": "2",
"start": 2876,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"end": 2892,
"name": "magOuterDiam",
"start": 2880,
"type": "Identifier",
"type": "Identifier"
},
"start": 2876,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"end": 2901,
"start": 2833,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 2904,
"start": 2903,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 2832,
"name": "startProfileAt",
"start": 2818,
"type": "Identifier"
},
"end": 2905,
"start": 2818,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 2981,
"left": {
"end": 2960,
"left": {
"end": 2935,
"left": {
"end": 2920,
"raw": "2",
"start": 2919,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"end": 2935,
"name": "magOuterDiam",
"start": 2923,
"type": "Identifier",
"type": "Identifier"
},
"start": 2919,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 2960,
"left": {
"end": 2948,
"name": "firstStep",
"start": 2939,
"type": "Identifier",
"type": "Identifier"
},
"operator": "+",
"right": {
"end": 2960,
"name": "thirdStep",
"start": 2951,
"type": "Identifier",
"type": "Identifier"
},
"start": 2939,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 2919,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 2981,
"left": {
"end": 2977,
"name": "magOuterDiam",
"start": 2965,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 2981,
"raw": "2",
"start": 2980,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 2965,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 2919,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 2985,
"start": 2984,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 2918,
"name": "xLine",
"start": 2913,
"type": "Identifier"
},
"end": 2986,
"start": 2913,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 3096,
"properties": [
{
"end": 3026,
"key": {
"end": 3019,
"name": "angleStart",
"start": 3009,
"type": "Identifier"
},
"start": 3009,
"type": "ObjectProperty",
"value": {
"end": 3026,
"raw": "90.0",
"start": 3022,
"type": "Literal",
"type": "Literal",
"value": {
"value": 90.0,
"suffix": "None"
}
}
},
{
"end": 3051,
"key": {
"end": 3045,
"name": "angleEnd",
"start": 3037,
"type": "Identifier"
},
"start": 3037,
"type": "ObjectProperty",
"value": {
"end": 3051,
"raw": "0.0",
"start": 3048,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
},
{
"end": 3087,
"key": {
"end": 3068,
"name": "radius",
"start": 3062,
"type": "Identifier"
},
"start": 3062,
"type": "ObjectProperty",
"value": {
"end": 3087,
"left": {
"end": 3083,
"name": "magOuterDiam",
"start": 3071,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 3087,
"raw": "2",
"start": 3086,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 3071,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"start": 2998,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"end": 3099,
"start": 3098,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 2997,
"name": "arc",
"start": 2994,
"type": "Identifier"
},
"end": 3100,
"start": 2994,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"argument": {
"end": 3178,
"left": {
"end": 3157,
"left": {
"end": 3132,
"left": {
"end": 3117,
"raw": "2",
"start": 3116,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"end": 3132,
"name": "magOuterDiam",
"start": 3120,
"type": "Identifier",
"type": "Identifier"
},
"start": 3116,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 3157,
"left": {
"end": 3145,
"name": "firstStep",
"start": 3136,
"type": "Identifier",
"type": "Identifier"
},
"operator": "+",
"right": {
"end": 3157,
"name": "thirdStep",
"start": 3148,
"type": "Identifier",
"type": "Identifier"
},
"start": 3136,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 3116,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 3178,
"left": {
"end": 3174,
"name": "magOuterDiam",
"start": 3162,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 3178,
"raw": "2",
"start": 3177,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 3162,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 3116,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"end": 3178,
"operator": "-",
"start": 3114,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"end": 3183,
"start": 3182,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 3113,
"name": "yLine",
"start": 3108,
"type": "Identifier"
},
"end": 3184,
"start": 3108,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 3227,
"left": {
"end": 3207,
"name": "binLength",
"start": 3198,
"type": "Identifier",
"type": "Identifier"
},
"operator": "-",
"right": {
"end": 3227,
"left": {
"end": 3212,
"raw": "4",
"start": 3211,
"type": "Literal",
"type": "Literal",
"value": {
"value": 4.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"end": 3227,
"name": "magOuterDiam",
"start": 3215,
"type": "Identifier",
"type": "Identifier"
},
"start": 3211,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 3198,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 3231,
"start": 3230,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 3197,
"name": "xLine",
"start": 3192,
"type": "Identifier"
},
"end": 3232,
"start": 3192,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 3308,
"left": {
"end": 3287,
"left": {
"end": 3262,
"left": {
"end": 3247,
"raw": "2",
"start": 3246,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"end": 3262,
"name": "magOuterDiam",
"start": 3250,
"type": "Identifier",
"type": "Identifier"
},
"start": 3246,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 3287,
"left": {
"end": 3275,
"name": "firstStep",
"start": 3266,
"type": "Identifier",
"type": "Identifier"
},
"operator": "+",
"right": {
"end": 3287,
"name": "thirdStep",
"start": 3278,
"type": "Identifier",
"type": "Identifier"
},
"start": 3266,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 3246,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 3308,
"left": {
"end": 3304,
"name": "magOuterDiam",
"start": 3292,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 3308,
"raw": "2",
"start": 3307,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 3292,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 3246,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 3312,
"start": 3311,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 3245,
"name": "yLine",
"start": 3240,
"type": "Identifier"
},
"end": 3313,
"start": 3240,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 3425,
"properties": [
{
"end": 3354,
"key": {
"end": 3346,
"name": "angleStart",
"start": 3336,
"type": "Identifier"
},
"start": 3336,
"type": "ObjectProperty",
"value": {
"end": 3354,
"raw": "180.0",
"start": 3349,
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
}
},
{
"end": 3380,
"key": {
"end": 3373,
"name": "angleEnd",
"start": 3365,
"type": "Identifier"
},
"start": 3365,
"type": "ObjectProperty",
"value": {
"end": 3380,
"raw": "90.0",
"start": 3376,
"type": "Literal",
"type": "Literal",
"value": {
"value": 90.0,
"suffix": "None"
}
}
},
{
"end": 3416,
"key": {
"end": 3397,
"name": "radius",
"start": 3391,
"type": "Identifier"
},
"start": 3391,
"type": "ObjectProperty",
"value": {
"end": 3416,
"left": {
"end": 3412,
"name": "magOuterDiam",
"start": 3400,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 3416,
"raw": "2",
"start": 3415,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 3400,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"start": 3325,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"end": 3428,
"start": 3427,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 3324,
"name": "arc",
"start": 3321,
"type": "Identifier"
},
"end": 3429,
"start": 3321,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 3505,
"left": {
"end": 3484,
"left": {
"end": 3459,
"left": {
"end": 3444,
"raw": "2",
"start": 3443,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"end": 3459,
"name": "magOuterDiam",
"start": 3447,
"type": "Identifier",
"type": "Identifier"
},
"start": 3443,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 3484,
"left": {
"end": 3472,
"name": "firstStep",
"start": 3463,
"type": "Identifier",
"type": "Identifier"
},
"operator": "+",
"right": {
"end": 3484,
"name": "thirdStep",
"start": 3475,
"type": "Identifier",
"type": "Identifier"
},
"start": 3463,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 3443,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 3505,
"left": {
"end": 3501,
"name": "magOuterDiam",
"start": 3489,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 3505,
"raw": "2",
"start": 3504,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 3489,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 3443,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 3509,
"start": 3508,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 3442,
"name": "xLine",
"start": 3437,
"type": "Identifier"
},
"end": 3510,
"start": 3437,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 3553,
"left": {
"end": 3533,
"name": "binLength",
"start": 3524,
"type": "Identifier",
"type": "Identifier"
},
"operator": "-",
"right": {
"end": 3553,
"left": {
"end": 3538,
"raw": "4",
"start": 3537,
"type": "Literal",
"type": "Literal",
"value": {
"value": 4.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"end": 3553,
"name": "magOuterDiam",
"start": 3541,
"type": "Identifier",
"type": "Identifier"
},
"start": 3537,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 3524,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 3557,
"start": 3556,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 3523,
"name": "yLine",
"start": 3518,
"type": "Identifier"
},
"end": 3558,
"start": 3518,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"argument": {
"end": 3636,
"left": {
"end": 3615,
"left": {
"end": 3590,
"left": {
"end": 3575,
"raw": "2",
"start": 3574,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"end": 3590,
"name": "magOuterDiam",
"start": 3578,
"type": "Identifier",
"type": "Identifier"
},
"start": 3574,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 3615,
"left": {
"end": 3603,
"name": "firstStep",
"start": 3594,
"type": "Identifier",
"type": "Identifier"
},
"operator": "+",
"right": {
"end": 3615,
"name": "thirdStep",
"start": 3606,
"type": "Identifier",
"type": "Identifier"
},
"start": 3594,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 3574,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 3636,
"left": {
"end": 3632,
"name": "magOuterDiam",
"start": 3620,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 3636,
"raw": "2",
"start": 3635,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 3620,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 3574,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"end": 3636,
"operator": "-",
"start": 3572,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"end": 3641,
"start": 3640,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 3571,
"name": "xLine",
"start": 3566,
"type": "Identifier"
},
"end": 3642,
"start": 3566,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 3755,
"properties": [
{
"end": 3683,
"key": {
"end": 3675,
"name": "angleStart",
"start": 3665,
"type": "Identifier"
},
"start": 3665,
"type": "ObjectProperty",
"value": {
"end": 3683,
"raw": "270.0",
"start": 3678,
"type": "Literal",
"type": "Literal",
"value": {
"value": 270.0,
"suffix": "None"
}
}
},
{
"end": 3710,
"key": {
"end": 3702,
"name": "angleEnd",
"start": 3694,
"type": "Identifier"
},
"start": 3694,
"type": "ObjectProperty",
"value": {
"end": 3710,
"raw": "180.0",
"start": 3705,
"type": "Literal",
"type": "Literal",
"value": {
"value": 180.0,
"suffix": "None"
}
}
},
{
"end": 3746,
"key": {
"end": 3727,
"name": "radius",
"start": 3721,
"type": "Identifier"
},
"start": 3721,
"type": "ObjectProperty",
"value": {
"end": 3746,
"left": {
"end": 3742,
"name": "magOuterDiam",
"start": 3730,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 3746,
"raw": "2",
"start": 3745,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 3730,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"start": 3654,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"end": 3758,
"start": 3757,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 3653,
"name": "arc",
"start": 3650,
"type": "Identifier"
},
"end": 3759,
"start": 3650,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 3835,
"left": {
"end": 3814,
"left": {
"end": 3789,
"left": {
"end": 3774,
"raw": "2",
"start": 3773,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"end": 3789,
"name": "magOuterDiam",
"start": 3777,
"type": "Identifier",
"type": "Identifier"
},
"start": 3773,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 3814,
"left": {
"end": 3802,
"name": "firstStep",
"start": 3793,
"type": "Identifier",
"type": "Identifier"
},
"operator": "+",
"right": {
"end": 3814,
"name": "thirdStep",
"start": 3805,
"type": "Identifier",
"type": "Identifier"
},
"start": 3793,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 3773,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 3835,
"left": {
"end": 3831,
"name": "magOuterDiam",
"start": 3819,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 3835,
"raw": "2",
"start": 3834,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 3819,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 3773,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 3839,
"start": 3838,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 3772,
"name": "yLine",
"start": 3767,
"type": "Identifier"
},
"end": 3840,
"start": 3767,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"argument": {
"end": 3885,
"left": {
"end": 3865,
"name": "binLength",
"start": 3856,
"type": "Identifier",
"type": "Identifier"
},
"operator": "-",
"right": {
"end": 3885,
"left": {
"end": 3870,
"raw": "4",
"start": 3869,
"type": "Literal",
"type": "Literal",
"value": {
"value": 4.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"end": 3885,
"name": "magOuterDiam",
"start": 3873,
"type": "Identifier",
"type": "Identifier"
},
"start": 3869,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 3856,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"end": 3885,
"operator": "-",
"start": 3854,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"end": 3890,
"start": 3889,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
},
{
"end": 3900,
"start": 3892,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "line012"
}
],
"callee": {
"end": 3853,
"name": "xLine",
"start": 3848,
"type": "Identifier"
},
"end": 3901,
"start": 3848,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"argument": {
"end": 3979,
"left": {
"end": 3958,
"left": {
"end": 3933,
"left": {
"end": 3918,
"raw": "2",
"start": 3917,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"end": 3933,
"name": "magOuterDiam",
"start": 3921,
"type": "Identifier",
"type": "Identifier"
},
"start": 3917,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 3958,
"left": {
"end": 3946,
"name": "firstStep",
"start": 3937,
"type": "Identifier",
"type": "Identifier"
},
"operator": "+",
"right": {
"end": 3958,
"name": "thirdStep",
"start": 3949,
"type": "Identifier",
"type": "Identifier"
},
"start": 3937,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 3917,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 3979,
"left": {
"end": 3975,
"name": "magOuterDiam",
"start": 3963,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 3979,
"raw": "2",
"start": 3978,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 3963,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 3917,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"end": 3979,
"operator": "-",
"start": 3915,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"end": 3984,
"start": 3983,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 3914,
"name": "yLine",
"start": 3909,
"type": "Identifier"
},
"end": 3985,
"start": 3909,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 4098,
"properties": [
{
"end": 4026,
"key": {
"end": 4018,
"name": "angleStart",
"start": 4008,
"type": "Identifier"
},
"start": 4008,
"type": "ObjectProperty",
"value": {
"end": 4026,
"raw": "360.0",
"start": 4021,
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
}
},
{
"end": 4053,
"key": {
"end": 4045,
"name": "angleEnd",
"start": 4037,
"type": "Identifier"
},
"start": 4037,
"type": "ObjectProperty",
"value": {
"end": 4053,
"raw": "270.0",
"start": 4048,
"type": "Literal",
"type": "Literal",
"value": {
"value": 270.0,
"suffix": "None"
}
}
},
{
"end": 4089,
"key": {
"end": 4070,
"name": "radius",
"start": 4064,
"type": "Identifier"
},
"start": 4064,
"type": "ObjectProperty",
"value": {
"end": 4089,
"left": {
"end": 4085,
"name": "magOuterDiam",
"start": 4073,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 4089,
"raw": "2",
"start": 4088,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 4073,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"start": 3997,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"end": 4101,
"start": 4100,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 3996,
"name": "arc",
"start": 3993,
"type": "Identifier"
},
"end": 4102,
"start": 3993,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"argument": {
"end": 4180,
"left": {
"end": 4159,
"left": {
"end": 4134,
"left": {
"end": 4119,
"raw": "2",
"start": 4118,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"end": 4134,
"name": "magOuterDiam",
"start": 4122,
"type": "Identifier",
"type": "Identifier"
},
"start": 4118,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 4159,
"left": {
"end": 4147,
"name": "firstStep",
"start": 4138,
"type": "Identifier",
"type": "Identifier"
},
"operator": "+",
"right": {
"end": 4159,
"name": "thirdStep",
"start": 4150,
"type": "Identifier",
"type": "Identifier"
},
"start": 4138,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 4118,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 4180,
"left": {
"end": 4176,
"name": "magOuterDiam",
"start": 4164,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 4180,
"raw": "2",
"start": 4179,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 4164,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 4118,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"end": 4180,
"operator": "-",
"start": 4116,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"end": 4185,
"start": 4184,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 4115,
"name": "xLine",
"start": 4110,
"type": "Identifier"
},
"end": 4186,
"start": 4110,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"argument": {
"end": 4231,
"left": {
"end": 4211,
"name": "binLength",
"start": 4202,
"type": "Identifier",
"type": "Identifier"
},
"operator": "-",
"right": {
"end": 4231,
"left": {
"end": 4216,
"raw": "4",
"start": 4215,
"type": "Literal",
"type": "Literal",
"value": {
"value": 4.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"end": 4231,
"name": "magOuterDiam",
"start": 4219,
"type": "Identifier",
"type": "Identifier"
},
"start": 4215,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 4202,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"end": 4231,
"operator": "-",
"start": 4200,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"end": 4236,
"start": 4235,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 4199,
"name": "yLine",
"start": 4194,
"type": "Identifier"
},
"end": 4237,
"start": 4194,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [],
"callee": {
"end": 4250,
"name": "close",
"start": 4245,
"type": "Identifier"
},
"end": 4252,
"start": 4245,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 4252,
"start": 2790,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 2775,
"type": "VariableDeclarator"
},
"end": 4252,
"kind": "const",
"start": 2775,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"argument": {
"end": 4274,
"name": "magnetSketch",
"start": 4262,
"type": "Identifier",
"type": "Identifier"
},
"end": 4274,
"start": 4255,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"end": 4276,
"start": 2771
},
"end": 4276,
"params": [
{
"type": "Parameter",
"identifier": {
"end": 2769,
"name": "plane",
"start": 2764,
"type": "Identifier"
}
}
],
"start": 2763,
"type": "FunctionExpression",
"type": "FunctionExpression"
},
"start": 2745,
"type": "VariableDeclarator"
},
"end": 4276,
"kind": "fn",
"start": 2742,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 4639,
"id": {
"end": 4336,
"name": "magnetBase",
"start": 4326,
"type": "Identifier"
},
"init": {
"body": {
"body": [
{
"declaration": {
"end": 4611,
"id": {
"end": 4364,
"name": "magnetBaseSketch",
"start": 4348,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"end": 4386,
"name": "plane",
"start": 4381,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 4380,
"name": "startSketchOn",
"start": 4367,
"type": "Identifier"
},
"end": 4387,
"start": 4367,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
"end": 4412,
"raw": "0",
"start": 4411,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 4415,
"raw": "0",
"start": 4414,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 4416,
"start": 4410,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 4419,
"start": 4418,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 4409,
"name": "startProfileAt",
"start": 4395,
"type": "Identifier"
},
"end": 4420,
"start": 4395,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 4443,
"name": "binLength",
"start": 4434,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 4446,
"start": 4445,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
},
{
"end": 4456,
"start": 4448,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "line001"
}
],
"callee": {
"end": 4433,
"name": "xLine",
"start": 4428,
"type": "Identifier"
},
"end": 4457,
"start": 4428,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 4480,
"name": "binLength",
"start": 4471,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 4483,
"start": 4482,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
},
{
"end": 4493,
"start": 4485,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "line002"
}
],
"callee": {
"end": 4470,
"name": "yLine",
"start": 4465,
"type": "Identifier"
},
"end": 4494,
"start": 4465,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"arguments": [
{
"end": 4525,
"start": 4524,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 4523,
"name": "profileStartX",
"start": 4510,
"type": "Identifier"
},
"end": 4526,
"start": 4510,
"type": "CallExpression",
"type": "CallExpression"
},
{
"end": 4529,
"start": 4528,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
},
{
"end": 4539,
"start": 4531,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "line003"
}
],
"callee": {
"end": 4509,
"name": "xLineTo",
"start": 4502,
"type": "Identifier"
},
"end": 4540,
"start": 4502,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 4557,
"name": "tag",
"start": 4554,
"type": "Identifier"
},
"arg": {
"end": 4568,
"start": 4560,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "line004"
}
}
],
"callee": {
"end": 4553,
"name": "close",
"start": 4548,
"type": "Identifier"
},
"end": 4569,
"start": 4548,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"arguments": [
{
"end": 4606,
"name": "plane",
"start": 4601,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 4600,
"name": "magnetCenterCutout",
"start": 4582,
"type": "Identifier"
},
"end": 4607,
"start": 4582,
"type": "CallExpression",
"type": "CallExpression"
},
{
"end": 4610,
"start": 4609,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 4581,
"name": "hole",
"start": 4577,
"type": "Identifier"
},
"end": 4611,
"start": 4577,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 4611,
"start": 4367,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 4348,
"type": "VariableDeclarator"
},
"end": 4611,
"kind": "const",
"start": 4348,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"argument": {
"end": 4637,
"name": "magnetBaseSketch",
"start": 4621,
"type": "Identifier",
"type": "Identifier"
},
"end": 4637,
"start": 4614,
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
"end": 4639,
"start": 4344
},
"end": 4639,
"params": [
{
"type": "Parameter",
"identifier": {
"end": 4342,
"name": "plane",
"start": 4337,
"type": "Identifier"
}
}
],
"start": 4336,
"type": "FunctionExpression",
"type": "FunctionExpression"
},
"start": 4326,
"type": "VariableDeclarator"
},
"end": 4639,
"kind": "fn",
"start": 4323,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 5033,
"id": {
"end": 4699,
"name": "magnetsSketch",
"start": 4686,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"end": 4720,
"raw": "'XY'",
"start": 4716,
"type": "Literal",
"type": "Literal",
"value": "XY"
}
],
"callee": {
"end": 4715,
"name": "startSketchOn",
"start": 4702,
"type": "Identifier"
},
"end": 4721,
"start": 4702,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 4748,
"name": "center",
"start": 4742,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 4768,
"left": {
"end": 4764,
"name": "cornerRadius",
"start": 4752,
"type": "Identifier",
"type": "Identifier"
},
"operator": "*",
"right": {
"end": 4768,
"raw": "2",
"start": 4767,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 4752,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 4786,
"left": {
"end": 4782,
"name": "cornerRadius",
"start": 4770,
"type": "Identifier",
"type": "Identifier"
},
"operator": "*",
"right": {
"end": 4786,
"raw": "2",
"start": 4785,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 4770,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"end": 4787,
"start": 4751,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 4802,
"name": "radius",
"start": 4796,
"type": "Identifier"
},
"arg": {
"end": 4821,
"left": {
"end": 4817,
"name": "magOuterDiam",
"start": 4805,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 4821,
"raw": "2",
"start": 4820,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 4805,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"end": 4733,
"name": "circle",
"start": 4727,
"type": "Identifier"
},
"end": 4828,
"start": 4727,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 4866,
"name": "center",
"start": 4860,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 4883,
"left": {
"end": 4879,
"name": "binLength",
"start": 4870,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 4883,
"raw": "2",
"start": 4882,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 4870,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 4898,
"left": {
"end": 4894,
"name": "binLength",
"start": 4885,
"type": "Identifier",
"type": "Identifier"
},
"operator": "/",
"right": {
"end": 4898,
"raw": "2",
"start": 4897,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 4885,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
],
"end": 4899,
"start": 4869,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 4917,
"name": "instances",
"start": 4908,
"type": "Identifier"
},
"arg": {
"end": 4921,
"raw": "4",
"start": 4920,
"type": "Literal",
"type": "Literal",
"value": {
"value": 4.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
"end": 4940,
"name": "arcDegrees",
"start": 4930,
"type": "Identifier"
},
"arg": {
"end": 4946,
"raw": "360",
"start": 4943,
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
"end": 4971,
"name": "rotateDuplicates",
"start": 4955,
"type": "Identifier"
},
"arg": {
"end": 4978,
"raw": "true",
"start": 4974,
"type": "Literal",
"type": "Literal",
"value": true
}
}
],
"callee": {
"end": 4851,
"name": "patternCircular2d",
"start": 4834,
"type": "Identifier"
},
"end": 4985,
"start": 4834,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"end": 5033,
"nonCodeMeta": {
"nonCodeNodes": {
"2": [
{
"end": 5033,
"start": 4985,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "create a profile with holes for the magnets",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 4702,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 4686,
"type": "VariableDeclarator"
},
"end": 5033,
"kind": "const",
"start": 4686,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 5150,
"id": {
"end": 5047,
"name": "magnetProfile",
"start": 5034,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"end": 5065,
"raw": "\"XY\"",
"start": 5061,
"type": "Literal",
"type": "Literal",
"value": "XY"
}
],
"callee": {
"end": 5060,
"name": "magnetBase",
"start": 5050,
"type": "Identifier"
},
"end": 5066,
"start": 5050,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 5090,
"name": "magnetsSketch",
"start": 5077,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 5093,
"start": 5092,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 5076,
"name": "hole",
"start": 5072,
"type": "Identifier"
},
"end": 5094,
"start": 5072,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 5150,
"nonCodeMeta": {
"nonCodeNodes": {
"1": [
{
"end": 5150,
"start": 5094,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "create an extrusion of the magnet cutout with holes",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 5050,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 5034,
"type": "VariableDeclarator"
},
"end": 5150,
"kind": "const",
"start": 5034,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 5214,
"id": {
"end": 5169,
"name": "magnetHolesExtrude",
"start": 5151,
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 5201,
"name": "length",
"start": 5195,
"type": "Identifier"
},
"arg": {
"argument": {
"end": 5213,
"name": "magDepth",
"start": 5205,
"type": "Identifier",
"type": "Identifier"
},
"end": 5213,
"operator": "-",
"start": 5204,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"end": 5179,
"name": "extrude",
"start": 5172,
"type": "Identifier"
},
"end": 5214,
"start": 5172,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 5193,
"name": "magnetProfile",
"start": 5180,
"type": "Identifier",
"type": "Identifier"
}
},
"start": 5151,
"type": "VariableDeclarator"
},
"end": 5214,
"kind": "const",
"start": 5151,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 5615,
"id": {
"end": 5274,
"name": "magnetHolesExtrudeFillets",
"start": 5249,
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 5315,
"name": "radius",
"start": 5309,
"type": "Identifier"
},
"arg": {
"end": 5330,
"name": "cornerRadius",
"start": 5318,
"type": "Identifier",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
"end": 5338,
"name": "tags",
"start": 5334,
"type": "Identifier"
},
"arg": {
"elements": [
{
"arguments": [
{
"computed": false,
"end": 5405,
"object": {
"computed": false,
"end": 5397,
"object": {
"computed": false,
"end": 5392,
"object": {
"end": 5385,
"name": "magnetHolesExtrude",
"start": 5367,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"end": 5392,
"name": "sketch",
"start": 5386,
"type": "Identifier",
"type": "Identifier"
},
"start": 5367,
"type": "MemberExpression",
"type": "MemberExpression"
},
"property": {
"end": 5397,
"name": "tags",
"start": 5393,
"type": "Identifier",
"type": "Identifier"
},
"start": 5367,
"type": "MemberExpression",
"type": "MemberExpression"
},
"property": {
"end": 5405,
"name": "line001",
"start": 5398,
"type": "Identifier",
"type": "Identifier"
},
"start": 5367,
"type": "MemberExpression",
"type": "MemberExpression"
}
],
"callee": {
"end": 5366,
"name": "getNextAdjacentEdge",
"start": 5347,
"type": "Identifier"
},
"end": 5406,
"start": 5347,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"computed": false,
"end": 5474,
"object": {
"computed": false,
"end": 5466,
"object": {
"computed": false,
"end": 5461,
"object": {
"end": 5454,
"name": "magnetHolesExtrude",
"start": 5436,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"end": 5461,
"name": "sketch",
"start": 5455,
"type": "Identifier",
"type": "Identifier"
},
"start": 5436,
"type": "MemberExpression",
"type": "MemberExpression"
},
"property": {
"end": 5466,
"name": "tags",
"start": 5462,
"type": "Identifier",
"type": "Identifier"
},
"start": 5436,
"type": "MemberExpression",
"type": "MemberExpression"
},
"property": {
"end": 5474,
"name": "line001",
"start": 5467,
"type": "Identifier",
"type": "Identifier"
},
"start": 5436,
"type": "MemberExpression",
"type": "MemberExpression"
}
],
"callee": {
"end": 5435,
"name": "getPreviousAdjacentEdge",
"start": 5412,
"type": "Identifier"
},
"end": 5475,
"start": 5412,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"computed": false,
"end": 5539,
"object": {
"computed": false,
"end": 5531,
"object": {
"computed": false,
"end": 5526,
"object": {
"end": 5519,
"name": "magnetHolesExtrude",
"start": 5501,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"end": 5526,
"name": "sketch",
"start": 5520,
"type": "Identifier",
"type": "Identifier"
},
"start": 5501,
"type": "MemberExpression",
"type": "MemberExpression"
},
"property": {
"end": 5531,
"name": "tags",
"start": 5527,
"type": "Identifier",
"type": "Identifier"
},
"start": 5501,
"type": "MemberExpression",
"type": "MemberExpression"
},
"property": {
"end": 5539,
"name": "line003",
"start": 5532,
"type": "Identifier",
"type": "Identifier"
},
"start": 5501,
"type": "MemberExpression",
"type": "MemberExpression"
}
],
"callee": {
"end": 5500,
"name": "getNextAdjacentEdge",
"start": 5481,
"type": "Identifier"
},
"end": 5540,
"start": 5481,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"computed": false,
"end": 5608,
"object": {
"computed": false,
"end": 5600,
"object": {
"computed": false,
"end": 5595,
"object": {
"end": 5588,
"name": "magnetHolesExtrude",
"start": 5570,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"end": 5595,
"name": "sketch",
"start": 5589,
"type": "Identifier",
"type": "Identifier"
},
"start": 5570,
"type": "MemberExpression",
"type": "MemberExpression"
},
"property": {
"end": 5600,
"name": "tags",
"start": 5596,
"type": "Identifier",
"type": "Identifier"
},
"start": 5570,
"type": "MemberExpression",
"type": "MemberExpression"
},
"property": {
"end": 5608,
"name": "line003",
"start": 5601,
"type": "Identifier",
"type": "Identifier"
},
"start": 5570,
"type": "MemberExpression",
"type": "MemberExpression"
}
],
"callee": {
"end": 5569,
"name": "getPreviousAdjacentEdge",
"start": 5546,
"type": "Identifier"
},
"end": 5609,
"start": 5546,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 5613,
"start": 5341,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"end": 5283,
"name": "fillet",
"start": 5277,
"type": "Identifier"
},
"end": 5615,
"start": 5277,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 5305,
"name": "magnetHolesExtrude",
"start": 5287,
"type": "Identifier",
"type": "Identifier"
}
},
"start": 5249,
"type": "VariableDeclarator"
},
"end": 5615,
"kind": "const",
"start": 5249,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 5745,
"id": {
"end": 5693,
"name": "magnetProfileNoMagnets",
"start": 5671,
"type": "Identifier"
},
"init": {
"arguments": [
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 5731,
"name": "offset",
"start": 5725,
"type": "Identifier"
},
"arg": {
"argument": {
"end": 5743,
"name": "magDepth",
"start": 5735,
"type": "Identifier",
"type": "Identifier"
},
"end": 5743,
"operator": "-",
"start": 5734,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"end": 5718,
"name": "offsetPlane",
"start": 5707,
"type": "Identifier"
},
"end": 5744,
"start": 5707,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 5723,
"raw": "\"XY\"",
"start": 5719,
"type": "Literal",
"type": "Literal",
"value": "XY"
}
}
],
"callee": {
"end": 5706,
"name": "magnetBase",
"start": 5696,
"type": "Identifier"
},
"end": 5745,
"start": 5696,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 5671,
"type": "VariableDeclarator"
},
"end": 5745,
"kind": "const",
"start": 5671,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 5878,
"id": {
"end": 5824,
"name": "magnetCutoutExtrude",
"start": 5805,
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 5865,
"name": "length",
"start": 5859,
"type": "Identifier"
},
"arg": {
"argument": {
"end": 5877,
"name": "magDepth",
"start": 5869,
"type": "Identifier",
"type": "Identifier"
},
"end": 5877,
"operator": "-",
"start": 5868,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"end": 5834,
"name": "extrude",
"start": 5827,
"type": "Identifier"
},
"end": 5878,
"start": 5827,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 5857,
"name": "magnetProfileNoMagnets",
"start": 5835,
"type": "Identifier",
"type": "Identifier"
}
},
"start": 5805,
"type": "VariableDeclarator"
},
"end": 5878,
"kind": "const",
"start": 5805,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 6285,
"id": {
"end": 5939,
"name": "magnetCutoutExtrudeFillets",
"start": 5913,
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 5981,
"name": "radius",
"start": 5975,
"type": "Identifier"
},
"arg": {
"end": 5996,
"name": "cornerRadius",
"start": 5984,
"type": "Identifier",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
"end": 6004,
"name": "tags",
"start": 6000,
"type": "Identifier"
},
"arg": {
"elements": [
{
"arguments": [
{
"computed": false,
"end": 6072,
"object": {
"computed": false,
"end": 6064,
"object": {
"computed": false,
"end": 6059,
"object": {
"end": 6052,
"name": "magnetCutoutExtrude",
"start": 6033,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"end": 6059,
"name": "sketch",
"start": 6053,
"type": "Identifier",
"type": "Identifier"
},
"start": 6033,
"type": "MemberExpression",
"type": "MemberExpression"
},
"property": {
"end": 6064,
"name": "tags",
"start": 6060,
"type": "Identifier",
"type": "Identifier"
},
"start": 6033,
"type": "MemberExpression",
"type": "MemberExpression"
},
"property": {
"end": 6072,
"name": "line001",
"start": 6065,
"type": "Identifier",
"type": "Identifier"
},
"start": 6033,
"type": "MemberExpression",
"type": "MemberExpression"
}
],
"callee": {
"end": 6032,
"name": "getNextAdjacentEdge",
"start": 6013,
"type": "Identifier"
},
"end": 6073,
"start": 6013,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"computed": false,
"end": 6142,
"object": {
"computed": false,
"end": 6134,
"object": {
"computed": false,
"end": 6129,
"object": {
"end": 6122,
"name": "magnetCutoutExtrude",
"start": 6103,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"end": 6129,
"name": "sketch",
"start": 6123,
"type": "Identifier",
"type": "Identifier"
},
"start": 6103,
"type": "MemberExpression",
"type": "MemberExpression"
},
"property": {
"end": 6134,
"name": "tags",
"start": 6130,
"type": "Identifier",
"type": "Identifier"
},
"start": 6103,
"type": "MemberExpression",
"type": "MemberExpression"
},
"property": {
"end": 6142,
"name": "line001",
"start": 6135,
"type": "Identifier",
"type": "Identifier"
},
"start": 6103,
"type": "MemberExpression",
"type": "MemberExpression"
}
],
"callee": {
"end": 6102,
"name": "getPreviousAdjacentEdge",
"start": 6079,
"type": "Identifier"
},
"end": 6143,
"start": 6079,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"computed": false,
"end": 6208,
"object": {
"computed": false,
"end": 6200,
"object": {
"computed": false,
"end": 6195,
"object": {
"end": 6188,
"name": "magnetCutoutExtrude",
"start": 6169,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"end": 6195,
"name": "sketch",
"start": 6189,
"type": "Identifier",
"type": "Identifier"
},
"start": 6169,
"type": "MemberExpression",
"type": "MemberExpression"
},
"property": {
"end": 6200,
"name": "tags",
"start": 6196,
"type": "Identifier",
"type": "Identifier"
},
"start": 6169,
"type": "MemberExpression",
"type": "MemberExpression"
},
"property": {
"end": 6208,
"name": "line003",
"start": 6201,
"type": "Identifier",
"type": "Identifier"
},
"start": 6169,
"type": "MemberExpression",
"type": "MemberExpression"
}
],
"callee": {
"end": 6168,
"name": "getNextAdjacentEdge",
"start": 6149,
"type": "Identifier"
},
"end": 6209,
"start": 6149,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"computed": false,
"end": 6278,
"object": {
"computed": false,
"end": 6270,
"object": {
"computed": false,
"end": 6265,
"object": {
"end": 6258,
"name": "magnetCutoutExtrude",
"start": 6239,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"end": 6265,
"name": "sketch",
"start": 6259,
"type": "Identifier",
"type": "Identifier"
},
"start": 6239,
"type": "MemberExpression",
"type": "MemberExpression"
},
"property": {
"end": 6270,
"name": "tags",
"start": 6266,
"type": "Identifier",
"type": "Identifier"
},
"start": 6239,
"type": "MemberExpression",
"type": "MemberExpression"
},
"property": {
"end": 6278,
"name": "line003",
"start": 6271,
"type": "Identifier",
"type": "Identifier"
},
"start": 6239,
"type": "MemberExpression",
"type": "MemberExpression"
}
],
"callee": {
"end": 6238,
"name": "getPreviousAdjacentEdge",
"start": 6215,
"type": "Identifier"
},
"end": 6279,
"start": 6215,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 6283,
"start": 6007,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"end": 5948,
"name": "fillet",
"start": 5942,
"type": "Identifier"
},
"end": 6285,
"start": 5942,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 5971,
"name": "magnetCutoutExtrude",
"start": 5952,
"type": "Identifier",
"type": "Identifier"
}
},
"start": 5913,
"type": "VariableDeclarator"
},
"end": 6285,
"kind": "const",
"start": 5913,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"end": 6646,
"expression": {
"body": [
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 6390,
"name": "axis",
"start": 6386,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 6397,
"raw": "1.0",
"start": 6394,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
{
"end": 6402,
"raw": "0.0",
"start": 6399,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 6407,
"raw": "0.0",
"start": 6404,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 6408,
"start": 6393,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 6426,
"name": "instances",
"start": 6417,
"type": "Identifier"
},
"arg": {
"end": 6442,
"name": "countBinWidth",
"start": 6429,
"type": "Identifier",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
"end": 6459,
"name": "distance",
"start": 6451,
"type": "Identifier"
},
"arg": {
"end": 6471,
"name": "binLength",
"start": 6462,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 6343,
"name": "patternLinear3d",
"start": 6328,
"type": "Identifier"
},
"end": 6478,
"start": 6328,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 6377,
"name": "magnetHolesExtrudeFillets",
"start": 6352,
"type": "Identifier",
"type": "Identifier"
}
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 6512,
"name": "axis",
"start": 6508,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 6519,
"raw": "0.0",
"start": 6516,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 6524,
"raw": "1.0",
"start": 6521,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
{
"end": 6529,
"raw": "0.0",
"start": 6526,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 6530,
"start": 6515,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 6548,
"name": "instances",
"start": 6539,
"type": "Identifier"
},
"arg": {
"end": 6565,
"name": "countBinLength",
"start": 6551,
"type": "Identifier",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
"end": 6582,
"name": "distance",
"start": 6574,
"type": "Identifier"
},
"arg": {
"end": 6594,
"name": "binLength",
"start": 6585,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 6499,
"name": "patternLinear3d",
"start": 6484,
"type": "Identifier"
},
"end": 6601,
"start": 6484,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"end": 6646,
"nonCodeMeta": {
"nonCodeNodes": {
"1": [
{
"end": 6646,
"start": 6601,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "pattern the magnet cutouts without holes",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 6328,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 6328,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
},
{
"end": 6921,
"expression": {
"body": [
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 6710,
"name": "axis",
"start": 6706,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 6717,
"raw": "1.0",
"start": 6714,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
{
"end": 6722,
"raw": "0.0",
"start": 6719,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 6727,
"raw": "0.0",
"start": 6724,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 6728,
"start": 6713,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 6746,
"name": "instances",
"start": 6737,
"type": "Identifier"
},
"arg": {
"end": 6762,
"name": "countBinWidth",
"start": 6749,
"type": "Identifier",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
"end": 6779,
"name": "distance",
"start": 6771,
"type": "Identifier"
},
"arg": {
"end": 6791,
"name": "binLength",
"start": 6782,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 6662,
"name": "patternLinear3d",
"start": 6647,
"type": "Identifier"
},
"end": 6798,
"start": 6647,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"end": 6697,
"name": "magnetCutoutExtrudeFillets",
"start": 6671,
"type": "Identifier",
"type": "Identifier"
}
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 6832,
"name": "axis",
"start": 6828,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 6839,
"raw": "0.0",
"start": 6836,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 6844,
"raw": "1.0",
"start": 6841,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
{
"end": 6849,
"raw": "0.0",
"start": 6846,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 6850,
"start": 6835,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"end": 6868,
"name": "instances",
"start": 6859,
"type": "Identifier"
},
"arg": {
"end": 6885,
"name": "countBinLength",
"start": 6871,
"type": "Identifier",
"type": "Identifier"
}
},
{
"type": "LabeledArg",
"label": {
"end": 6902,
"name": "distance",
"start": 6894,
"type": "Identifier"
},
"arg": {
"end": 6914,
"name": "binLength",
"start": 6905,
"type": "Identifier",
"type": "Identifier"
}
}
],
"callee": {
"end": 6819,
"name": "patternLinear3d",
"start": 6804,
"type": "Identifier"
},
"end": 6921,
"start": 6804,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"end": 6921,
"start": 6647,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 6647,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
}
],
"end": 6922,
"innerAttrs": [
{
"end": 417,
"name": {
"end": 393,
"name": "settings",
"start": 385,
"type": "Identifier"
},
"properties": [
{
"end": 416,
"key": {
"end": 411,
"name": "defaultLengthUnit",
"start": 394,
"type": "Identifier"
},
"start": 394,
"type": "ObjectProperty",
"value": {
"end": 416,
"name": "mm",
"start": 414,
"type": "Identifier",
"type": "Identifier"
}
}
],
"start": 384,
"type": "Annotation"
}
],
"nonCodeMeta": {
"nonCodeNodes": {
"7": [
{
"end": 611,
"start": 574,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "Number of bins in each direction",
"style": "line"
}
}
],
"9": [
{
"end": 748,
"start": 648,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "The total height of the baseplate is a summation of the vertical heights of the baseplate steps",
"style": "line"
}
}
],
"10": [
{
"end": 860,
"start": 792,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "define a function which builds the profile of the baseplate bin",
"style": "line"
}
}
],
"11": [
{
"end": 1207,
"start": 1170,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "extrude a single side of the bin",
"style": "line"
}
}
],
"12": [
{
"end": 1385,
"start": 1319,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "create the other sides of the bin by using a circular pattern",
"style": "line"
}
}
],
"13": [
{
"end": 1584,
"start": 1557,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "define an axis axis000",
"style": "line"
}
}
],
"14": [
{
"end": 1718,
"start": 1680,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "create a single corner of the bin",
"style": "line"
}
}
],
"15": [
{
"end": 1856,
"start": 1822,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "create the corners of the bin",
"style": "line"
}
}
],
"16": [
{
"end": 2077,
"start": 2032,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "create the baseplate by patterning sides",
"style": "line"
}
}
],
"19": [
{
"end": 4322,
"start": 4276,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "create the outside profile of the magnets",
"style": "line"
}
}
],
"20": [
{
"end": 4685,
"start": 4639,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "create sketch profile sketch000Profile002",
"style": "line"
}
}
],
"23": [
{
"end": 5248,
"start": 5214,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "add a fillet to the extrusion",
"style": "line"
}
}
],
"24": [
{
"end": 5670,
"start": 5615,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "create a profile without the holes for the magnets",
"style": "line"
}
}
],
"25": [
{
"end": 5804,
"start": 5745,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "create an extrusion of the magnet cutout without holes",
"style": "line"
}
}
],
"26": [
{
"end": 5912,
"start": 5878,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "add a fillet to the extrusion",
"style": "line"
}
}
],
"27": [
{
"end": 6327,
"start": 6285,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "pattern the magnet cutouts with holes",
"style": "line"
}
}
]
},
"startNodes": [
{
"end": 36,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "Gridfinity Baseplate With Magnets",
"style": "line"
}
},
{
"end": 349,
"start": 37,
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "Gridfinity is a system to help you work more efficiently. This is a system invented by Zack Freedman. There are two main components the baseplate and the bins. The components are comprised of a matrix of squares. Allowing easy stacking and expansion. This baseplate version includes holes for magnet placement",
"style": "line"
}
},
{
"end": 351,
"start": 349,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
},
{
"end": 383,
"start": 351,
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "Set units in millimeters (mm)",
"style": "line"
}
},
{
"end": 419,
"start": 417,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
},
{
"end": 438,
"start": 419,
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "Define constants",
"style": "line"
}
}
]
},
"start": 0
}
}