diff --git a/vs-code-extension/CHANGELOG.md b/vs-code-extension/CHANGELOG.md index c16b7d6..227668c 100644 --- a/vs-code-extension/CHANGELOG.md +++ b/vs-code-extension/CHANGELOG.md @@ -1,4 +1,11 @@ # Change Log +## 4.1.5 +Added: + - Added option to use Autodesk's ESLint rules for editing postprocessors +## 4.1.4 +Updated: + - Added new CNC files + - Added a turnmill machine ## 4.1.3 Fixed: - Fixed broken link to help file diff --git a/vs-code-extension/LICENSE.txt b/vs-code-extension/LICENSE.txt index bbf16d4..94eef32 100644 --- a/vs-code-extension/LICENSE.txt +++ b/vs-code-extension/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright (c) 2017 by Autodesk, Inc. +Copyright (c) 2023 by Autodesk, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/vs-code-extension/README.md b/vs-code-extension/README.md index e4195c2..40fbc8e 100644 --- a/vs-code-extension/README.md +++ b/vs-code-extension/README.md @@ -1,6 +1,6 @@ -# Autodesk Fusion 360 Post Processor Utility for Visual Studio Code +# Autodesk Fusion Post Processor Utility for Visual Studio Code -Welcome to the Autodesk Fusion 360 Post Utility extension for Visual Studio Code (https://code.visualstudio.com/). This extension adds several functions that will aid you when working on post development specifically for Fusion 360, Inventor CAM and HSMWorks. Please note that this utility is not compatible with FeatureCAM, PartMarker and PowerMILL. +Welcome to the Autodesk Fusion Post Utility extension for Visual Studio Code (https://code.visualstudio.com/). This extension adds several functions that will aid you when working on post development specifically for Fusion, Inventor CAM and HSMWorks. Please note that this utility is not compatible with FeatureCAM, PartMarker and PowerMILL. To learn more about the CAM solutions see: https://www.autodesk.com/solutions/manufacturing/cam @@ -37,7 +37,7 @@ The documentation of the postprocessor API can be found here: https://cam.autodesk.com/posts/reference/index.html # About -Autodesk Fusion 360 Post Processor Utility for Visual Studio Code © 2017 Autodesk, Inc. All rights reserved. +Autodesk Fusion Post Processor Utility for Visual Studio Code © 2017 Autodesk, Inc. All rights reserved. All use of this Software is subject to the Autodesk terms of service accepted accepted upon access or use of this Service or made available on the Autodesk webpage. Autodesk terms of service for Autodesk’s various web services can be found [here](https://www.autodesk.com/company/legal-notices-trademarks/terms-of-service-autodesk360-web-services). diff --git a/vs-code-extension/out/src/extension.js b/vs-code-extension/out/src/extension.js index 664d2fc..5198df5 100644 --- a/vs-code-extension/out/src/extension.js +++ b/vs-code-extension/out/src/extension.js @@ -102,6 +102,7 @@ function activate(context) { // registering the appropriate event handlers vscode.workspace.onDidSaveTextDocument(savedoc); vscode.window.onDidChangeActiveTextEditor(checkForAutoComplete); + vscode.window.onDidChangeActiveTextEditor(setEmbeddedEslintRules); vscode.window.onDidChangeTextEditorSelection(handleSelectionChange); cleanupProperties(); @@ -1241,6 +1242,31 @@ function setIncludePath() { }); } +/** Updates the settings.json file for ESlint usage depending on the user setting. */ +function setEmbeddedEslintRules() { + let currentEslintConfiguration = vscode.workspace.getConfiguration("eslint"); + let currentEditorConfiguration = vscode.workspace.getConfiguration("editor"); + let newEslintConfiguration = Object.assign({}, currentEslintConfiguration.overrideConfigFile, {"overrideConfigFile": path.join(resLocation, ".eslintrc.json")}); + let newEditorConfiguration + switch (vscode.workspace.getConfiguration("AutodeskPostUtility").get("useEmbeddedESLintRules")) { + case "Disabled": + newEditorConfiguration = Object.assign({}, currentEditorConfiguration.codeActionsOnSave, {"source.fixAll.eslint": false}); + newEslintConfiguration = Object.assign({}, currentEslintConfiguration.overrideConfigFile, {}); + break; + case "Show ESLint issues only": + newEditorConfiguration = Object.assign({}, currentEditorConfiguration.codeActionsOnSave, {"source.fixAll.eslint": false}); + break; + case "Show and fix ESLint issues": + newEditorConfiguration = Object.assign({}, currentEditorConfiguration.codeActionsOnSave, {"source.fixAll.eslint": true}); + break; + default: + errorMessage("Unknown command for setting useEmbeddedESLintRules.") + return; + } + vscode.workspace.getConfiguration("eslint").update("options", newEslintConfiguration, true); + vscode.workspace.getConfiguration("editor").update("codeActionsOnSave", newEditorConfiguration, true); +} + /** * Locates the post executable on the users system * diff --git a/vs-code-extension/package.json b/vs-code-extension/package.json index db318e9..6f840d3 100644 --- a/vs-code-extension/package.json +++ b/vs-code-extension/package.json @@ -1,8 +1,8 @@ { "name": "hsm-post-processor", - "displayName": "Autodesk Fusion 360 Post Processor Utility", + "displayName": "Autodesk Fusion Post Processor Utility", "description": "Post processor utility.", - "version": "4.1.3", + "version": "4.1.5", "icon": "res/icons/logo.png", "author": { "name": "Autodesk", @@ -355,12 +355,12 @@ "AutodeskPostUtility.postExecutablePath": { "type": "string", "default": "", - "description": "The location for the Fusion 360 post executable" + "description": "The location for the Fusion post executable" }, "AutodeskPostUtility.secondaryPostExecutablePath": { "type": "string", "default": "", - "description": "The location for the secondary Fusion 360 post executable" + "description": "The location for the secondary Fusion post executable" }, "AutodeskPostUtility.propertyJSON": { "type": "object", @@ -422,6 +422,21 @@ "default": "", "description": "Sets an include path for use in post processing" }, + "AutodeskPostUtility.useEmbeddedESLintRules": { + "type": "string", + "enum": [ + "Disabled", + "Show ESLint issues only", + "Show and fix ESLint issues" + ], + "enumDescriptions": [ + "Disable usage of embedded ESLint rules.", + "This option will show ESLint issues only.", + "This option will show and fix ESLint issues automatically when saving the file." + ], + "default": "Disabled", + "markdownDescription": "Enable to use Autodesk's ESLint rules for editing postprocessor files (CPS/CPI files). Note that the [ESLint extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) must be installed to be able to use this feature." + }, "AutodeskPostUtility.programName": { "type": "string", "default": "1001", diff --git a/vs-code-extension/res/.eslintrc.json b/vs-code-extension/res/.eslintrc.json new file mode 100644 index 0000000..1c0d314 --- /dev/null +++ b/vs-code-extension/res/.eslintrc.json @@ -0,0 +1,294 @@ +{ + "root": true, + "env": { + "browser": true, + "es6": true + }, + "extends": "eslint:recommended", + "parserOptions": { + "ecmaFeatures": { + "jsx": true + } + }, + "overrides": [ + { + "files": ["*.cps", "*.cpi"], + "rules": { + "no-dupe-else-if": "off", + "no-tabs": "error", + "no-mixed-spaces-and-tabs": "error", + "no-undef": "off", + "no-unused-vars": "off", + "no-redeclare": "off", + "no-constant-condition": "off", + "no-trailing-spaces": "error", + "accessor-pairs": "error", + "array-bracket-spacing": [ + "error", + "never" + ], + "array-callback-return": "error", + "arrow-body-style": "error", + "arrow-parens": "error", + "arrow-spacing": "error", + "block-scoped-var": "off", + "block-spacing": [ + "error", + "never" + ], + "brace-style": [ + "error", + "1tbs", + { + "allowSingleLine": true + } + ], + "callback-return": "error", + "camelcase": "error", + "comma-spacing": [ + "error", + { "before": false, "after": true } + ], + "comma-style": [ + "error", + "last" + ], + "complexity": "off", + "computed-property-spacing": [ + "error", + "never" + ], + "consistent-return": "error", + "consistent-this": "error", + "curly": "error", + "default-case": "off", + "dot-location": "error", + "dot-notation": "error", + "eol-last": "error", + "eqeqeq": "off", + "func-names": [ + "error", + "never" + ], + "func-style": [ + "error", + "declaration" + ], + "generator-star-spacing": "error", + "global-require": "error", + "guard-for-in": "off", + "handle-callback-err": "error", + "id-blacklist": "error", + "id-length": "off", + "id-match": "error", + "indent": ["error", 2], + "init-declarations": "off", + "jsx-quotes": "error", + "key-spacing": [ + "error", + { + "singleLine": { + "beforeColon": false, + "afterColon": false + }, + "multiLine": { + "beforeColon": false, + "afterColon": true, + "align": "colon" + } + }], + "keyword-spacing": "error", + "linebreak-style": [ + "error", + "windows" + ], + "lines-around-comment": "off", + "max-depth": "off", + "max-len": "off", + "max-lines": "off", + "max-nested-callbacks": "error", + "max-params": "off", + "max-statements": "off", + "max-statements-per-line": "off", + "new-cap": "error", + "new-parens": "error", + "newline-after-var": "off", + "newline-before-return": "off", + "newline-per-chained-call": "off", + "no-alert": "error", + "no-array-constructor": "off", + "no-bitwise": "off", + "no-caller": "error", + "no-catch-shadow": "error", + "no-confusing-arrow": "error", + "no-continue": "off", + "no-div-regex": "error", + "no-duplicate-imports": "error", + "no-else-return": "off", + "no-empty-function": "off", + "no-eq-null": "error", + "no-eval": "error", + "no-extend-native": "error", + "no-extra-bind": "error", + "no-extra-label": "error", + "no-extra-parens": "off", + "no-floating-decimal": "error", + "no-implicit-globals": "off", + "no-implied-eval": "error", + "no-inline-comments": "off", + "no-inner-declarations": [ + "error", + "functions" + ], + "no-invalid-this": "error", + "no-iterator": "error", + "no-label-var": "error", + "no-labels": "error", + "no-lone-blocks": "off", + "no-lonely-if": "off", + "no-loop-func": "error", + "no-magic-numbers": "off", + "no-mixed-operators": "off", + "no-mixed-requires": "error", + "no-multi-spaces": "off", + "no-multi-str": "off", + "no-multiple-empty-lines": [2, { + "max": 1 + }], + "no-native-reassign": "error", + "no-negated-condition": "off", + "no-nested-ternary": "off", + "no-new": "error", + "no-new-func": "error", + "no-new-object": "error", + "no-new-require": "error", + "no-new-wrappers": "error", + "no-octal-escape": "error", + "no-param-reassign": "off", + "no-path-concat": "error", + "no-plusplus": "off", + "no-process-env": "error", + "no-process-exit": "error", + "no-proto": "error", + "no-prototype-builtins": "error", + "no-restricted-globals": "error", + "no-restricted-imports": "error", + "no-restricted-modules": "error", + "no-restricted-syntax": "error", + "no-return-assign": "error", + "no-script-url": "error", + "no-self-compare": "error", + "no-sequences": "error", + "no-shadow": "error", + "no-shadow-restricted-names": "error", + "no-spaced-func": "error", + "no-sync": "error", + "no-ternary": "off", + "no-throw-literal": "error", + "no-undef-init": "off", + "no-undefined": "off", + "no-underscore-dangle": "off", + "no-unmodified-loop-condition": "error", + "no-unneeded-ternary": [ + "error", + { + "defaultAssignment": true + } + ], + "no-unsafe-finally": "error", + "no-unused-expressions": "error", + "no-use-before-define": "off", + "no-useless-call": "error", + "no-useless-computed-key": "error", + "no-useless-concat": "off", + "no-useless-constructor": "error", + "no-useless-escape": "error", + "no-useless-rename": "error", + "no-var": "off", + "no-void": "error", + "no-warning-comments": [ + "error", + {"terms": ["”", "“"], + "location": "anywhere"} + ], + "no-whitespace-before-property": "error", + "no-with": "error", + "object-curly-newline": "off", + "object-curly-spacing": [ + "error", + "never", { + "objectsInObjects": false, + "arraysInObjects": false + } + ], + "object-property-newline": [ + "error", + { + "allowMultiplePropertiesPerLine": true + } + ], + "object-shorthand": "off", + "one-var": "off", + "one-var-declaration-per-line": "error", + "operator-assignment": [ + "error", + "always" + ], + "operator-linebreak": "off", + "padded-blocks": "off", + "prefer-arrow-callback": "off", + "prefer-const": "error", + "prefer-reflect": "off", + "prefer-rest-params": "off", + "prefer-spread": "error", + "prefer-template": "off", + "quote-props": "off", + "quotes": [ + "error", + "double" + ], + "radix": "error", + "require-jsdoc": "off", + "require-yield": "error", + "rest-spread-spacing": "error", + "semi": "error", + "semi-spacing": [ + "error", + { + "after": true, + "before": false + } + ], + "sort-imports": "error", + "sort-vars": "error", + "space-before-blocks": "error", + "space-before-function-paren": "off", + "space-in-parens": [ + "error", + "never" + ], + "space-infix-ops": "error", + "space-unary-ops": "error", + "spaced-comment": "off", + "strict": [ + "error", + "never" + ], + "template-curly-spacing": "error", + "unicode-bom": [ + "error", + "never" + ], + "valid-jsdoc": "off", + "vars-on-top": "off", + "wrap-iife": "error", + "wrap-regex": "error", + "yield-star-spacing": "error", + "yoda": [ + "error", + "never" + ] + } + } + ] +} diff --git a/vs-code-extension/res/CNC files/Cutting/Laser/center.cnc b/vs-code-extension/res/CNC files/Cutting/Laser/center.cnc new file mode 100644 index 0000000..af43b28 Binary files /dev/null and b/vs-code-extension/res/CNC files/Cutting/Laser/center.cnc differ diff --git a/vs-code-extension/res/CNC files/Cutting/Laser/in-computer.cnc b/vs-code-extension/res/CNC files/Cutting/Laser/in-computer.cnc new file mode 100644 index 0000000..3307ef2 Binary files /dev/null and b/vs-code-extension/res/CNC files/Cutting/Laser/in-computer.cnc differ diff --git a/vs-code-extension/res/CNC files/Cutting/Laser/in-control.cnc b/vs-code-extension/res/CNC files/Cutting/Laser/in-control.cnc new file mode 100644 index 0000000..c549187 Binary files /dev/null and b/vs-code-extension/res/CNC files/Cutting/Laser/in-control.cnc differ diff --git a/vs-code-extension/res/CNC files/Cutting/Plasma/center.cnc b/vs-code-extension/res/CNC files/Cutting/Plasma/center.cnc new file mode 100644 index 0000000..41de386 Binary files /dev/null and b/vs-code-extension/res/CNC files/Cutting/Plasma/center.cnc differ diff --git a/vs-code-extension/res/CNC files/Cutting/Plasma/in-computer.cnc b/vs-code-extension/res/CNC files/Cutting/Plasma/in-computer.cnc new file mode 100644 index 0000000..cc378a3 Binary files /dev/null and b/vs-code-extension/res/CNC files/Cutting/Plasma/in-computer.cnc differ diff --git a/vs-code-extension/res/CNC files/Cutting/Plasma/in-control.cnc b/vs-code-extension/res/CNC files/Cutting/Plasma/in-control.cnc new file mode 100644 index 0000000..49c065e Binary files /dev/null and b/vs-code-extension/res/CNC files/Cutting/Plasma/in-control.cnc differ diff --git a/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/axial milling.cnc b/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/axial milling.cnc new file mode 100644 index 0000000..230ea33 Binary files /dev/null and b/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/axial milling.cnc differ diff --git a/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/b axis index.cnc b/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/b axis index.cnc new file mode 100644 index 0000000..82573ec Binary files /dev/null and b/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/b axis index.cnc differ diff --git a/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/face.cnc b/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/face.cnc new file mode 100644 index 0000000..cffba0f Binary files /dev/null and b/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/face.cnc differ diff --git a/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/multi-axis.cnc b/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/multi-axis.cnc new file mode 100644 index 0000000..7cd1f1c Binary files /dev/null and b/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/multi-axis.cnc differ diff --git a/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/profile.cnc b/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/profile.cnc new file mode 100644 index 0000000..75287c1 Binary files /dev/null and b/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/profile.cnc differ diff --git a/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/toolchange.cnc b/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/toolchange.cnc new file mode 100644 index 0000000..3142e49 Binary files /dev/null and b/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/toolchange.cnc differ diff --git a/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/wrapped milling.cnc b/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/wrapped milling.cnc new file mode 100644 index 0000000..91538c9 Binary files /dev/null and b/vs-code-extension/res/CNC files/Mill-Turn/Sub spindle/wrapped milling.cnc differ diff --git a/vs-code-extension/res/Machines/TurnMill/Haas ST10Y.mch b/vs-code-extension/res/Machines/TurnMill/Haas ST10Y.mch new file mode 100644 index 0000000..8ed117b --- /dev/null +++ b/vs-code-extension/res/Machines/TurnMill/Haas ST10Y.mch @@ -0,0 +1,3764 @@ +{ + "controller" : { + "default" : { + "head_info_part_id" : "turret_0", + "max_block_processing_speed" : 0, + "max_normal_speed" : 30480, + "parts" : { + "linear_0" : { + "coordinate" : 0, + "max_normal_speed" : 0, + "max_rapid_speed" : 11988.799999999999, + "preference" : "negative", + "reset" : "never", + "reversed" : false, + "tcp" : false, + "zero_position_offset" : 0 + }, + "linear_1" : { + "coordinate" : 1, + "max_normal_speed" : 0, + "max_rapid_speed" : 11988.799999999999, + "preference" : "negative", + "reset" : "never", + "reversed" : false, + "tcp" : false, + "zero_position_offset" : 0 + }, + "linear_2" : { + "coordinate" : 2, + "max_normal_speed" : 0, + "max_rapid_speed" : 30480, + "preference" : "negative", + "reset" : "never", + "reversed" : false, + "tcp" : false, + "zero_position_offset" : 0 + }, + "linear_3" : { + "coordinate" : 2, + "max_normal_speed" : 10000, + "max_rapid_speed" : 0, + "preference" : "negative", + "reset" : "never", + "reversed" : false, + "tcp" : false, + "zero_position_offset" : 0 + }, + "rotary_0" : { + "coordinate" : 2, + "max_normal_speed" : 0, + "max_rapid_speed" : 0, + "preference" : "no preference", + "reset" : "never", + "reversed" : false, + "tcp" : false, + "zero_position_offset" : 0 + }, + "rotary_1" : { + "coordinate" : 2, + "max_normal_speed" : 21600, + "max_rapid_speed" : 0, + "preference" : "no preference", + "reset" : "never", + "reversed" : false, + "tcp" : false, + "zero_position_offset" : 0 + }, + "secondary_spindle" : { + "max_normal_speed" : 0, + "max_rapid_speed" : 0, + "preference" : "negative", + "reset" : "never", + "reversed" : false, + "tcp" : false, + "zero_position_offset" : 0 + } + }, + "table_part_id" : "primary_spindle" + }, + "secondary_spindle_turret_0" : { + "head_info_part_id" : "turret_0", + "parts" : { + "linear_0" : { + "coordinate" : 0, + "max_normal_speed" : 0, + "max_rapid_speed" : 11988.799999999999, + "preference" : "negative", + "reset" : "never", + "reversed" : false, + "tcp" : false, + "zero_position_offset" : 0 + }, + "linear_1" : { + "coordinate" : 1, + "max_normal_speed" : 0, + "max_rapid_speed" : 11988.799999999999, + "preference" : "negative", + "reset" : "never", + "reversed" : false, + "tcp" : false, + "zero_position_offset" : 0 + }, + "linear_2" : { + "coordinate" : 2, + "home" : 0, + "max_normal_speed" : 0, + "max_rapid_speed" : 30480, + "preference" : "negative", + "reset" : "never", + "restricted_max" : 406.39999999999998, + "restricted_min" : 0, + "reversed" : false, + "tcp" : false, + "zero_position_offset" : 0 + }, + "linear_3" : { + "coordinate" : 2, + "home" : 0, + "max_normal_speed" : 10000, + "max_rapid_speed" : 0, + "preference" : "negative", + "reset" : "never", + "reversed" : false, + "tcp" : false, + "zero_position_offset" : 0 + }, + "rotary_1" : { + "coordinate" : 2, + "home" : 0, + "max_normal_speed" : 21600, + "max_rapid_speed" : 0, + "preference" : "no preference", + "reset" : "never", + "reversed" : false, + "tcp" : false, + "zero_position_offset" : 0 + }, + "secondary_spindle" : { + "max_normal_speed" : 0, + "max_rapid_speed" : 0, + "preference" : "negative", + "reset" : "never", + "reversed" : false, + "tcp" : false, + "zero_position_offset" : 0 + }, + "turret_0" : { + "preference" : "no preference", + "reset" : "never", + "reversed" : false, + "tcp" : true, + "zero_position_offset" : 0 + } + }, + "table_part_id" : "secondary_spindle" + } + }, + "fusion" : { + "default" : { + "guid" : "af4c1511-4c73-ee04-c277-e295b5d61e56", + "image" : "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" + } + }, + "general" : { + "capabilities" : [ "milling", "turning" ], + "description" : "HAAS ST10Y Lathe with live tooling and a sub spindle", + "minimumRevision" : 45805, + "model" : "ST10Y with Sub Spindle", + "vendor" : "HAAS" + }, + "interactions" : { + "default" : { + "pairs" : [ + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "rotary_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "rotary_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "rotary_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "rotary_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "rotary_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "rotary_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_3", + "type" : "tool" + }, + { + "id" : "rotary_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_3", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_3", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_4", + "type" : "tool" + }, + { + "id" : "rotary_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_4", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_4", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_5", + "type" : "tool" + }, + { + "id" : "rotary_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_5", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_5", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_6", + "type" : "tool" + }, + { + "id" : "rotary_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_6", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_6", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_7", + "type" : "tool" + }, + { + "id" : "rotary_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_7", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_7", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_8", + "type" : "tool" + }, + { + "id" : "rotary_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_8", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_8", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_9", + "type" : "tool" + }, + { + "id" : "rotary_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_9", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_9", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_10", + "type" : "tool" + }, + { + "id" : "rotary_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_10", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_10", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_11", + "type" : "tool" + }, + { + "id" : "rotary_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_11", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_11", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_12", + "type" : "tool" + }, + { + "id" : "rotary_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_12", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_12", + "type" : "tool" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_3", + "type" : "tool" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_3", + "type" : "tool" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_3", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_3", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_4", + "type" : "tool" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_4", + "type" : "tool" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_4", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_4", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_5", + "type" : "tool" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_5", + "type" : "tool" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_5", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_5", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_6", + "type" : "tool" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_6", + "type" : "tool" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_6", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_6", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_7", + "type" : "tool" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_7", + "type" : "tool" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_7", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_7", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_8", + "type" : "tool" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_8", + "type" : "tool" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_8", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_8", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_9", + "type" : "tool" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_9", + "type" : "tool" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_9", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_9", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_10", + "type" : "tool" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_10", + "type" : "tool" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_10", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_10", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_11", + "type" : "tool" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_11", + "type" : "tool" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_11", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_11", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_12", + "type" : "tool" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_12", + "type" : "tool" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_12", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "turret_0_station_12", + "type" : "tool" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "rotary_0", + "type" : "machine_part" + }, + { + "id" : "primary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "rotary_0", + "type" : "machine_part" + }, + { + "id" : "primary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "rotary_0", + "type" : "machine_part" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "rotary_0", + "type" : "machine_part" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "rotary_0", + "type" : "machine_part" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "rotary_0", + "type" : "machine_part" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "primary_spindle", + "type" : "stock" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "primary_spindle", + "type" : "fixture" + }, + { + "id" : "linear_3", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "primary_spindle", + "type" : "stock" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "primary_spindle", + "type" : "fixture" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "primary_spindle", + "type" : "stock" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "primary_spindle", + "type" : "stock" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "primary_spindle", + "type" : "fixture" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "primary_spindle", + "type" : "fixture" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_3", + "type" : "machine_part" + }, + { + "id" : "rotary_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_3", + "type" : "machine_part" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_3", + "type" : "machine_part" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "rotary_1", + "type" : "machine_part" + }, + { + "id" : "secondary_spindle", + "type" : "stock" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "rotary_1", + "type" : "machine_part" + }, + { + "id" : "secondary_spindle", + "type" : "fixture" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "linear_1", + "type" : "machine_part" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "linear_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "turret_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_1", + "type" : "tool" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_2", + "type" : "tool" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_3", + "type" : "tool" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_4", + "type" : "tool" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_5", + "type" : "tool" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_6", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_7", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_8", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_9", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_10", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_11", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_2", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_12", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "linear_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "turret_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_1", + "type" : "tool" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_2", + "type" : "tool" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_3", + "type" : "tool" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_4", + "type" : "tool" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_5", + "type" : "tool" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_6", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_7", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_8", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_9", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_10", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_11", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_1", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_12", + "type" : "tool" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "turret_0", + "type" : "machine_part" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_1", + "type" : "tool" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_2", + "type" : "tool" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_3", + "type" : "tool" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_4", + "type" : "tool" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_5", + "type" : "tool" + } + ] + }, + { + "setting" : [ "check_collisions" ], + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_6", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_7", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_8", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_9", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_10", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_11", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "linear_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_12", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_1", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_2", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_3", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_4", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_5", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_6", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_7", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_8", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_9", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_10", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_11", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0", + "type" : "machine_part" + }, + { + "id" : "turret_0_station_12", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "turret_0_station_2", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "turret_0_station_3", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "turret_0_station_4", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "turret_0_station_5", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "turret_0_station_6", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "turret_0_station_7", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "turret_0_station_8", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "turret_0_station_9", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "turret_0_station_10", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "turret_0_station_11", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_1", + "type" : "tool" + }, + { + "id" : "turret_0_station_12", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "turret_0_station_3", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "turret_0_station_4", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "turret_0_station_5", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "turret_0_station_6", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "turret_0_station_7", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "turret_0_station_8", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "turret_0_station_9", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "turret_0_station_10", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "turret_0_station_11", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_2", + "type" : "tool" + }, + { + "id" : "turret_0_station_12", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_3", + "type" : "tool" + }, + { + "id" : "turret_0_station_4", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_3", + "type" : "tool" + }, + { + "id" : "turret_0_station_5", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_3", + "type" : "tool" + }, + { + "id" : "turret_0_station_6", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_3", + "type" : "tool" + }, + { + "id" : "turret_0_station_7", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_3", + "type" : "tool" + }, + { + "id" : "turret_0_station_8", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_3", + "type" : "tool" + }, + { + "id" : "turret_0_station_9", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_3", + "type" : "tool" + }, + { + "id" : "turret_0_station_10", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_3", + "type" : "tool" + }, + { + "id" : "turret_0_station_11", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_3", + "type" : "tool" + }, + { + "id" : "turret_0_station_12", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_4", + "type" : "tool" + }, + { + "id" : "turret_0_station_5", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_4", + "type" : "tool" + }, + { + "id" : "turret_0_station_6", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_4", + "type" : "tool" + }, + { + "id" : "turret_0_station_7", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_4", + "type" : "tool" + }, + { + "id" : "turret_0_station_8", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_4", + "type" : "tool" + }, + { + "id" : "turret_0_station_9", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_4", + "type" : "tool" + }, + { + "id" : "turret_0_station_10", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_4", + "type" : "tool" + }, + { + "id" : "turret_0_station_11", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_4", + "type" : "tool" + }, + { + "id" : "turret_0_station_12", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_5", + "type" : "tool" + }, + { + "id" : "turret_0_station_6", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_5", + "type" : "tool" + }, + { + "id" : "turret_0_station_7", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_5", + "type" : "tool" + }, + { + "id" : "turret_0_station_8", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_5", + "type" : "tool" + }, + { + "id" : "turret_0_station_9", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_5", + "type" : "tool" + }, + { + "id" : "turret_0_station_10", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_5", + "type" : "tool" + }, + { + "id" : "turret_0_station_11", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_5", + "type" : "tool" + }, + { + "id" : "turret_0_station_12", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_6", + "type" : "tool" + }, + { + "id" : "turret_0_station_7", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_6", + "type" : "tool" + }, + { + "id" : "turret_0_station_8", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_6", + "type" : "tool" + }, + { + "id" : "turret_0_station_9", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_6", + "type" : "tool" + }, + { + "id" : "turret_0_station_10", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_6", + "type" : "tool" + }, + { + "id" : "turret_0_station_11", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_6", + "type" : "tool" + }, + { + "id" : "turret_0_station_12", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_7", + "type" : "tool" + }, + { + "id" : "turret_0_station_8", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_7", + "type" : "tool" + }, + { + "id" : "turret_0_station_9", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_7", + "type" : "tool" + }, + { + "id" : "turret_0_station_10", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_7", + "type" : "tool" + }, + { + "id" : "turret_0_station_11", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_7", + "type" : "tool" + }, + { + "id" : "turret_0_station_12", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_8", + "type" : "tool" + }, + { + "id" : "turret_0_station_9", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_8", + "type" : "tool" + }, + { + "id" : "turret_0_station_10", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_8", + "type" : "tool" + }, + { + "id" : "turret_0_station_11", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_8", + "type" : "tool" + }, + { + "id" : "turret_0_station_12", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_9", + "type" : "tool" + }, + { + "id" : "turret_0_station_10", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_9", + "type" : "tool" + }, + { + "id" : "turret_0_station_11", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_9", + "type" : "tool" + }, + { + "id" : "turret_0_station_12", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_10", + "type" : "tool" + }, + { + "id" : "turret_0_station_11", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_10", + "type" : "tool" + }, + { + "id" : "turret_0_station_12", + "type" : "tool" + } + ] + }, + { + "setting" : null, + "solids" : [ + { + "id" : "turret_0_station_11", + "type" : "tool" + }, + { + "id" : "turret_0_station_12", + "type" : "tool" + } + ] + } + ] + } + }, + "kinematics" : { + "default" : { + "conventions" : { + "rotation" : "right-handed" + }, + "parts" : [ + { + "axis_of_rotation" : { + "direction" : [ 0, 0, -1 ], + "point" : [ 0, 0, 0 ] + }, + "control" : "driven", + "id" : "rotary_0", + "name" : "C", + "parts" : [ + { + "attach_frame" : { + "point" : [ 0, 0, 0 ], + "x_direction" : [ 1, 0, 0 ], + "z_direction" : [ 0, 0, 1 ] + }, + "display_name" : "Main Spindle", + "id" : "primary_spindle", + "spindle" : { + "max_speed" : 6000, + "min_speed" : 0 + }, + "type" : "table" + } + ], + "type" : "rotary" + }, + { + "control" : "driven", + "direction" : [ 0, 0, 1 ], + "id" : "linear_2", + "max" : 406.39999999999998, + "min" : 0, + "name" : "Z", + "parts" : [ + { + "control" : "driven", + "direction" : [ 0, 1, 0 ], + "id" : "linear_1", + "max" : 50.799999999999997, + "min" : -50.799999999999997, + "name" : "Y", + "parts" : [ + { + "control" : "driven", + "direction" : [ 1, 0, 0 ], + "id" : "linear_0", + "max" : 200.66, + "min" : 0, + "name" : "X", + "parts" : [ + { + "axis_of_rotation" : { + "direction" : [ 0, 0, -1 ], + "point" : [ 0, 0, 0 ] + }, + "control" : "driven", + "id" : "turret_0", + "name" : "Turret", + "parts" : [ + { + "attach_frame" : { + "point" : [ 0, 0, 0 ], + "x_direction" : [ 1, 0, 0 ], + "z_direction" : [ 0, 0, 1 ] + }, + "id" : "turret_0_station_1", + "tool_station" : { + "coolants" : null + }, + "type" : "head" + }, + { + "attach_frame" : { + "point" : [ 0, 0, 0 ], + "x_direction" : [ 1, 0, 0 ], + "z_direction" : [ 0, 0, 1 ] + }, + "id" : "turret_0_station_2", + "tool_station" : { + "coolants" : null + }, + "type" : "head" + }, + { + "attach_frame" : { + "point" : [ 0, 0, 0 ], + "x_direction" : [ 1, 0, 0 ], + "z_direction" : [ 0, 0, 1 ] + }, + "id" : "turret_0_station_3", + "tool_station" : { + "coolants" : null + }, + "type" : "head" + }, + { + "attach_frame" : { + "point" : [ 0, 0, 0 ], + "x_direction" : [ 1, 0, 0 ], + "z_direction" : [ 0, 0, 1 ] + }, + "id" : "turret_0_station_4", + "tool_station" : { + "coolants" : null + }, + "type" : "head" + }, + { + "attach_frame" : { + "point" : [ 0, 0, 0 ], + "x_direction" : [ 1, 0, 0 ], + "z_direction" : [ 0, 0, 1 ] + }, + "id" : "turret_0_station_5", + "tool_station" : { + "coolants" : null + }, + "type" : "head" + }, + { + "attach_frame" : { + "point" : [ 0, 0, 0 ], + "x_direction" : [ 1, 0, 0 ], + "z_direction" : [ 0, 0, 1 ] + }, + "id" : "turret_0_station_6", + "tool_station" : { + "coolants" : null + }, + "type" : "head" + }, + { + "attach_frame" : { + "point" : [ 0, 0, 0 ], + "x_direction" : [ 1, 0, 0 ], + "z_direction" : [ 0, 0, 1 ] + }, + "id" : "turret_0_station_7", + "tool_station" : { + "coolants" : null + }, + "type" : "head" + }, + { + "attach_frame" : { + "point" : [ 0, 0, 0 ], + "x_direction" : [ 1, 0, 0 ], + "z_direction" : [ 0, 0, 1 ] + }, + "id" : "turret_0_station_8", + "tool_station" : { + "coolants" : null + }, + "type" : "head" + }, + { + "attach_frame" : { + "point" : [ 0, 0, 0 ], + "x_direction" : [ 1, 0, 0 ], + "z_direction" : [ 0, 0, 1 ] + }, + "id" : "turret_0_station_9", + "tool_station" : { + "coolants" : null + }, + "type" : "head" + }, + { + "attach_frame" : { + "point" : [ 0, 0, 0 ], + "x_direction" : [ 1, 0, 0 ], + "z_direction" : [ 0, 0, 1 ] + }, + "id" : "turret_0_station_10", + "tool_station" : { + "coolants" : null + }, + "type" : "head" + }, + { + "attach_frame" : { + "point" : [ 0, 0, 0 ], + "x_direction" : [ 1, 0, 0 ], + "z_direction" : [ 0, 0, 1 ] + }, + "id" : "turret_0_station_11", + "tool_station" : { + "coolants" : null + }, + "type" : "head" + }, + { + "attach_frame" : { + "point" : [ 0, 0, 0 ], + "x_direction" : [ 1, 0, 0 ], + "z_direction" : [ 0, 0, 1 ] + }, + "id" : "turret_0_station_12", + "tool_station" : { + "coolants" : null + }, + "type" : "head" + } + ], + "spindle" : { + "max_speed" : 8000, + "min_speed" : 0 + }, + "tool_station" : { + "coolants" : [ "flood", "through_tool" ], + "max_tool_diameter" : 0, + "max_tool_length" : 0 + }, + "turret" : { + "index_count" : 12 + }, + "type" : "rotary" + } + ], + "type" : "linear" + } + ], + "type" : "linear" + } + ], + "type" : "linear" + }, + { + "control" : "secondary", + "direction" : [ 0, 0, -1 ], + "id" : "linear_3", + "name" : "B", + "parts" : [ + { + "axis_of_rotation" : { + "direction" : [ 0, 0, -1 ], + "point" : [ 0, 0, 0 ] + }, + "control" : "driven", + "id" : "rotary_1", + "name" : "C", + "parts" : [ + { + "attach_frame" : { + "point" : [ 0, 0, 0 ], + "x_direction" : [ 1, 0, 0 ], + "z_direction" : [ 0, 0, 1 ] + }, + "display_name" : "Sub Spindle", + "id" : "secondary_spindle", + "spindle" : { + "description" : "A2-5 Sub Spindle", + "max_speed" : 6000, + "min_speed" : 0 + }, + "type" : "table" + } + ], + "type" : "rotary" + } + ], + "type" : "linear" + } + ], + "units" : { + "angle" : "degrees", + "length" : "mm" + } + } + }, + "machining" : { + "default" : { + "feedrate_ratio" : 1, + "tool_change_time" : 15 + } + }, + "multiaxis" : { + "default" : { + "feedrate" : { + "BPW_ratio" : 1, + "max_feedrate" : 9999.9899999999998, + "method" : "FPM", + "output_tolerance" : 0.5, + "type" : "combination" + }, + "retract_and_reconfigure" : { + "enabled" : false, + "safe_plunge_feedrate" : 250, + "safe_retract_distance" : 25, + "safe_retract_feedrate" : 500, + "stock_expansion" : [ 2.5, 2.5, 2.5 ] + }, + "singularity" : { + "adjust" : true, + "angle" : 0.17453292519943295, + "cone" : 0.05235987755982989, + "method" : "off", + "tolerance" : 0.040000000000000001 + }, + "virtual_tool_tip" : false + } + }, + "post" : { + "default" : { + "path" : "system://haas st-10.cps", + "properties" : { + "controllerType" : "chc" + } + } + }, + "tooling" : { + "default" : { + "has_tool_changer" : true, + "number_of_tools" : 12, + "supports_tool_preload" : false + } + } +} +