{"id":20210782,"url":"https://github.com/bluekeyes/fusion360-exportcutlist","last_synced_at":"2025-06-17T06:05:32.941Z","repository":{"id":63222575,"uuid":"246750326","full_name":"bluekeyes/Fusion360-ExportCutlist","owner":"bluekeyes","description":"Addin for Autodesk Fusion360 to export cut lists of parts in various formats","archived":false,"fork":false,"pushed_at":"2024-12-10T02:04:44.000Z","size":283,"stargazers_count":96,"open_issues_count":3,"forks_count":9,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-26T05:09:27.156Z","etag":null,"topics":["addin","cutlist","fusion-360","fusion360","woodworking"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bluekeyes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-12T05:21:48.000Z","updated_at":"2025-05-18T19:12:58.000Z","dependencies_parsed_at":"2025-01-15T17:34:38.600Z","dependency_job_id":"05df1b0b-b711-47ed-91f8-4824dab79d9a","html_url":"https://github.com/bluekeyes/Fusion360-ExportCutlist","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/bluekeyes/Fusion360-ExportCutlist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluekeyes%2FFusion360-ExportCutlist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluekeyes%2FFusion360-ExportCutlist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluekeyes%2FFusion360-ExportCutlist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluekeyes%2FFusion360-ExportCutlist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bluekeyes","download_url":"https://codeload.github.com/bluekeyes/Fusion360-ExportCutlist/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluekeyes%2FFusion360-ExportCutlist/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260301992,"owners_count":22988721,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["addin","cutlist","fusion-360","fusion360","woodworking"],"created_at":"2024-11-14T05:49:27.499Z","updated_at":"2025-06-17T06:05:32.912Z","avatar_url":"https://github.com/bluekeyes.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./resources/icon.svg\" height=\"64\" align=\"right\" /\u003e\n\n# Fusion360 Export Cutlist \n\nAn Autodesk Fusion360 addin that can export a cut list of parts in a variety\nof formats. Useful for woodworking or other crafts that mostly cut shapes out of\nrectangular stock.\n\nIt's compatible with many modeling styles and does not require a specific\ndocument structure or workflow.\n\n## Features\n\n- Operates on bodies, selected either directly or by selecting components\n- Groups parts by matching bounding box dimensions and materials\n  - The largest dimension is called `length`, the next largest `width`, and the smallest `height`\n  - Accounts for [part rotation](#matching-rotation) when matching bounding boxes\n  - Customize grouping conditions\n- Exports to text, HTML, JSON, CSV, and more\n- Additional filtering options for bodies (e.g. visibility)\n\n## Installation\n\n1. Download the [latest release](https://github.com/bluekeyes/Fusion360-ExportCutlist/archive/v0.5.2.zip)\n2. Unzip the file on your computer\n3. Start Fusion360 and open the \"Scripts \u0026 Addins\" dialog (Shift+S)\n4. Go to the \"Add-Ins\" tab\n5. Click the green \"+\" (plus) sign next to \"My Add-Ins\"\n6. Selected the extracted folder from Step 2\n7. Click the \"Run\" button (or restart Fusion 360) to start the add-in\n\nThe wiki also has a [detailed version of these steps with annotated screenshots](https://github.com/bluekeyes/Fusion360-ExportCutlist/wiki/Installation).\n\n## Usage\n\nThe \"Export Cutlist\" command is added to the \"Make\" panel:\n\n![The Export Cutlist command in the Make panel](./resources/docs/make-panel.png)\n\nAfter selecting the command, a dialog appears where you can select components\nand bodies and set other options:\n\n![The Export Cutlist option dialog](./resources/docs/export-cutlist.png)\n\nWhen you are ready to export, click \"OK\". A file selection dialog will open\nasking where to save the file. Choose a file and click \"Save\". A message box\nwill open confirming the file was saved.\n\n## Formats\n\nThe addon can export cutlists in the following formats:\n\n* Plain text\n* JSON\n* HTML\n* CSV\n* CSV as used by https://cutlistoptimizer.com\n* TSV as used by https://cutlistevo.com\n\n## Example Output\n\nThe cutlist for a simple box with a bottom was exported as a table, JSON, and\nCSV to demonstrate the different formats.\n\n![Fusion 360 screenshot showing a simple four-sided box with a bottom](./resources/docs/example-design.png)\n\n### Table\n\n```text\ncount      material       length (in)   width (in)   height (in)   names \n=========================================================================\n    2   Pine                     6.00         2.00          0.50   Left  \n                                                                   Right \n-------------------------------------------------------------------------\n    2   Pine                     4.00         2.00          0.50   Back  \n                                                                   Front \n-------------------------------------------------------------------------\n    1   Plywood, Finish          6.00         3.50          0.25   Bottom\n```\n\n### JSON\n\n```json\n[\n  {\n    \"count\": 2,\n    \"dimensions\": {\n      \"units\": \"in\",\n      \"length\": \"6.00\",\n      \"width\": \"2.00\",\n      \"height\": \"0.50\"\n    },\n    \"material\": \"Pine\",\n    \"names\": [\n      \"Left\",\n      \"Right\"\n    ]\n  },\n  {\n    \"count\": 2,\n    \"dimensions\": {\n      \"units\": \"in\",\n      \"length\": \"4.00\",\n      \"width\": \"2.00\",\n      \"height\": \"0.50\"\n    },\n    \"material\": \"Pine\",\n    \"names\": [\n      \"Back\",\n      \"Front\"\n    ]\n  },\n  {\n    \"count\": 1,\n    \"dimensions\": {\n      \"units\": \"in\",\n      \"length\": \"6.00\",\n      \"width\": \"3.50\",\n      \"height\": \"0.25\"\n    },\n    \"material\": \"Plywood, Finish\",\n    \"names\": [\n      \"Bottom\"\n    ]\n  }\n]\n```\n\n### CSV\n\n```csv\ncount,material,length (in),width (in),height (in),names\n2,Pine,6.00,2.00,0.50,\"Left,Right\"\n2,Pine,4.00,2.00,0.50,\"Back,Front\"\n1,\"Plywood, Finish\",6.00,3.50,0.25,Bottom\n```\n\n## Matching Rotation\n\nThe addon uses the folowing algorithm to detect rotated parts:\n\n1. Find the planar face with the largest perimeter\n2. Find the orientation vector of the longest edge of the face\n3. Rotate the body so that the normal vector of the face is aligned with the Z\n   axis and the orientation vector of the longest edge is aligned with the X axis\n4. Return the axis-aligned bounding box of the rotated body\n\nThis should produce correct results for most common situations in woodworking,\nwhere almost all parts will have at least one flat face that is aligned with\none of the stock faces. \n\nBodies that don't work with this algorithm (e.g. because they have no planar\nfaces) use the axis-aligned bounding box computed by Fusion 360. You can also\ndisable the rotation heuristic and always use axis-aligned boxes in the advanced\noptions.\n\n## License\n\nMIT\n\n## Contributing\n\nPull requests or issues suggesting additional features or output formats are\nwelcome. If reporting a bug, please attach or a link to a design that\nreproduces the issue.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluekeyes%2Ffusion360-exportcutlist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbluekeyes%2Ffusion360-exportcutlist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluekeyes%2Ffusion360-exportcutlist/lists"}