bluekeyes / fusion360-exportcutlist Goto Github PK
View Code? Open in Web Editor NEWAddin for Autodesk Fusion360 to export cut lists of parts in various formats
License: MIT License
Addin for Autodesk Fusion360 to export cut lists of parts in various formats
License: MIT License
received the following stack trace when trying to export to Cutlist Evo format:
Failed:
Traceback (most recent call last):
File "/Users/mike/Downloads/Fusion360-ExportCutlist-0.5.1/ExportCutlist.py", line 44, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/Downloads/Fusion360-ExportCutlist-0.5.1/ExportCutlist.py", line 281, in notify
cutlist.add(selectionInput.selection(i).entity)
File "/Users/mike/Downloads/Fusion360-ExportCutlist-0.5.1/ExportCutlist.py", line 151, in add
self.add(child, self._joinname(name, obj.component.name))
File "/Users/mike/Downloads/Fusion360-ExportCutlist-0.5.1/ExportCutlist.py", line 151, in add
self.add(child, self._joinname(name, obj.component.name))
File "/Users/mike/Downloads/Fusion360-ExportCutlist-0.5.1/ExportCutlist.py", line 149, in add
self.add_body(body, self._joinname(name, obj.component.name, body.name))
File "/Users/mike/Downloads/Fusion360-ExportCutlist-0.5.1/ExportCutlist.py", line 128, in add_body
minimal_body = get_minimal_body(body)
^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/Downloads/Fusion360-ExportCutlist-0.5.1/lib/geometry/bodies.py", line 45, in get_minimal_body
transform.setToAlignCoordinateSystems(origin, orientation, cross_orientation, normal, origin, target_x, target_y, target_z)
File "/Users/mike/Library/Application Support/Autodesk/webdeploy/production/d1fe173da69e6a3d046df6e4dd1bd5a29091fcf5/Autodesk Fusion 360.app/Contents/Api/Python/packages/adsk/core.py", line 13030, in setToAlignCoordinateSystems
return _core.Matrix3D_setToAlignCoordinateSystems(self, fromOrigin, fromXAxis, fromYAxis, fromZAxis, toOrigin, toXAxis, toYAxis, toZAxis)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: 3 : invalid argument fromXAxis
I got the same or similar error when trying to export to Cutlist Optimizer format:
Failed:
Traceback (most recent call last):
File "/Users/mike/Downloads/Fusion360-ExportCutlist-0.5.1/ExportCutlist.py", line 44, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/Downloads/Fusion360-ExportCutlist-0.5.1/ExportCutlist.py", line 281, in notify
cutlist.add(selectionInput.selection(i).entity)
File "/Users/mike/Downloads/Fusion360-ExportCutlist-0.5.1/ExportCutlist.py", line 151, in add
self.add(child, self._joinname(name, obj.component.name))
File "/Users/mike/Downloads/Fusion360-ExportCutlist-0.5.1/ExportCutlist.py", line 151, in add
self.add(child, self._joinname(name, obj.component.name))
File "/Users/mike/Downloads/Fusion360-ExportCutlist-0.5.1/ExportCutlist.py", line 149, in add
self.add_body(body, self._joinname(name, obj.component.name, body.name))
File "/Users/mike/Downloads/Fusion360-ExportCutlist-0.5.1/ExportCutlist.py", line 128, in add_body
minimal_body = get_minimal_body(body)
^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/Downloads/Fusion360-ExportCutlist-0.5.1/lib/geometry/bodies.py", line 45, in get_minimal_body
transform.setToAlignCoordinateSystems(origin, orientation, cross_orientation, normal, origin, target_x, target_y, target_z)
File "/Users/mike/Library/Application Support/Autodesk/webdeploy/production/d1fe173da69e6a3d046df6e4dd1bd5a29091fcf5/Autodesk Fusion 360.app/Contents/Api/Python/packages/adsk/core.py", line 13030, in setToAlignCoordinateSystems
return _core.Matrix3D_setToAlignCoordinateSystems(self, fromOrigin, fromXAxis, fromYAxis, fromZAxis, toOrigin, toXAxis, toYAxis, toZAxis)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: 3 : invalid argument fromXAxis
Fusion version: Fusion 2.0.18441 arm64 [Native]
macOS 14.3.1 (23D60)
M1 Mac Studio
All other formats put the unit in the header, but the JSON format puts the unit in the value. This makes it harder to process the JSON output, since you have to strip out the units and parse the strings to numbers. Move the units to a separate field on the object so that the dimensions can be numbers.
In some of my testing, the default floating point tolerance caused some bodies to not match even though the difference between them was practically zero. Set a higher default tolerance (maybe 0.0001 cm
) and then allow users to override the tolerance by providing a new value as a command input.
From #14:
I would like the option to generate output with one part per line (rather than grouping all parts of the same dimension into a quantity bucket) where each line has the Name of the particular component from the Model. As it is now, the Name of a group of identical components shows up as a long string of the components that are combined. This makes it difficult to create a cut-list where each part is named specifically as it is named in the model.
When I apply the cutlist, it seems to list double the amount of items in my design.
Design:
default_bench_v1_v2
Cutlist:
default_bench_v1_v2.txt
Example: There are 16 beams making up the table top, however the cut list lists 32. Same for all other items...
I noticed that bodies are listed twice, once as "Body[XX]" and once as "[Design]/Body[XX]"
Edit: This seems to only happen if I select the object with a mouse drag and the origin is also selected, not if I manually select all the bodies without the origin.
This is really a Enhancement or feature request - I see you are using labels or I would have marked it as such
Your tool saved me a significant amount of time this evening - many thanks
It would be fantastic if it remembered what format you have selected for your export
Export Cutlist
.Table
.JSON
.CSV
Steps to reproduce:
Cutlist Output:
count material length (in) width (in) height (in) names
========================================================================================
1 Plywood, Finish 5 23/64 3 21/64 3/4 straight board x tilt
----------------------------------------------------------------------------------------
1 Plywood, Finish 5 3/64 2 1/2 1 39/64 straight board z tilt
----------------------------------------------------------------------------------------
1 Plywood, Finish 5 2 19/32 1 11/64 straight board y tilt
----------------------------------------------------------------------------------------
1 Plywood, Finish 5 2 1/2 3/4 straight board
I am a woodworker and would love this capability in F360. However I am not a programmer or familiar with the details of how to install this thing. I did as described, but found out I had to "Create" an add-on (which isn't described in the install instructions). It appears to be installed and running, but I the add-on is not listed in the pull-down under the "Make" menu. HELP!!
I am having trouble installing ExportCutlist. I followed the instructions but after selecting the folder "Fusion360-ExportCutlist-0.5.0" it fails to add it to the list in MyScipts and of course I can go no further.
I'm running a Fusion360 beta release, perhaps that is the problem? Here is the environment:
Fusion 360 2.0.16976 arm64 [Native]
macOS 13.5 (22G74) on MacBookPro18,1
Any ideas on next steps?
Thanks,
Martin
https://cutlistoptimizer.com/ supports CSV import / exports. Different field ordering and removing the height measurement is required.
No issue to report. I just wanted to thank you for writing this plugin and for making it available. It does the job very well, and is simple and straightforward. Fantastic work!
I'm using it with https://cutlistevo.com/ and it works great: I export a CSV, open it in Numbers and rearrange colums so that they fit one of the formats that CutlistEvo expects, and the data gets imported nicely.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.