Featuring the Fusion 360 BOM & Cutlist Optimizer…
Those of you who read the PDO Community Fusion 360 Q & A may have spotted BOM’s – Am I missing something? The original question triggering my foray into BOMs and Panel Cutting. This article grew out of my experiences with BOM’s, cut lists, and sheet fitting solutions for me to use as a “Hobby Woodworker”.
I found Cutlist Optimizer a while ago whilst designing my new workshop (also in Fusion 360 – trust me Fusion is not the best tool for designing buildings even wooden ones!).
While looking at workbench designs for my soon-to-be-built space I stumbled on Suso’s Modular Workbench over at PS Woodworking (well worth a visit – Suso has some really cool woodworking projects for the workshop) which I really liked but wanted to “fiddle with”, so I recreated it in Fusion 360. But how to get a well laid out cut list for the tweaked design?
As it turns out this was really easy, Fusion can export a BOM as a CSV with a free plugin from GitHub and with a little gentle persuading Cutlist Optimizer can import them.
There are a few tricks to getting good results, but that’s what this article is about.
Getting the BOM out of Fusion…
Designing an item with a view to BOM production has a few “gotchas” of its own as I discovered to my cost – it took a number of iterations of both the Fusion design and BOM export to get the result I wanted.
Download the Fusion file if you wish to follow along…
To summarize: –
- Only components are exported.
- Component names are important, they become the panel labels in the cut list so meaningful names are recommended.
- Use “Copy” rather than “Mirror” or “Copy New” when duplicating components. Using “Copy” results in a single item in the BOM with the quantity incremented by 1, “Mirror” or “Copy New” both produce multiple items in the BOM, each with a quantity of 1, the same dimensions and different labels.
Looking at the current design there are a couple of instances where I had to “Copy New” to allow the creation of drawer slides on the front face. Even here the “wide leg” pairs were created by copying and then rotating the components rather than mirroring.
- Enabling the Selected only option when creating the BOM allows you to highlight the items you wish to include in the export but if you later change the visibility in the browser you may inadvertently change the items included.
I found it simpler to exclude specific components by starting their names with an underscore (_component) and enabling the Exclude “_” option when creating the BOM. This happily survives changes in the component view.
CREATE > Create BOM opens the dialogue above to which I made no changes other than the selection of Exclude “_” previously mentioned.
Create BOM has its own Cut List option but the resulting text file while easily human-readable was not suitable for use with any cut list/sheet layout software I have found to date.
Once you click OK the BOM CSV file is created.
Editing the CSV file…
For those who aren’t familiar a CSV (Comma Separated Value) file is simply a text file containing a table. The “rows” in the table form the lines in the file and the “columns” are delimited by commas. Traditionally CSV files are edited using spreadsheet software (the screenshots here are from Excel). ANY spreadsheet program should work, in fact, almost any text editor (even Notepad) will get the job done but won’t look as pretty.
Looking at the content of the Fusion BOM file(link) we see some familiar data…
The first column actually shows us the component name and Fusion has provided some useful headings in the first row.
In its most basic form, Cutlist Optimizer uses almost exactly the same data, but both the column headings and order are different so the first row of the data needs to be edited…
The edited file looks as illustrated below replacing: –
Part name with Label, Quantity with Qty, Width mm with Width, Length mm with Length and Height mm with Material.
Cutlist Optimizer uses the column headings to identify the data in the CSV so reordering the columns isn’t necessary.
Creating a Basic Optimized Cut List
Cutlist Optimizer is an online tool only requiring only a free account providing you limit your calculate usage to 10 “calculates” a day and have up to 5 saved projects. This can be extended, including the addition of some additional features, with a subscription starting at $15 monthly using PayPal.
For my “Hobby Woodworker” use I subscribed for the first month while I experimented and found my way around, after that the “free” limits proved more than enough.
Before anyone asks, Cutlist Optimizer is “unit agnostic”, it doesn’t care if you work in inches or metres, or square elephants per hectare for that matter, but the units must be consistent throughout the tool. Here in the UK Metric is the order of the day, so for me, panel size, sheet size and blade kerf are all in mm.
Wander over to https://cutlistoptimizer.com and either create an account or sign in with a Google Account as you wish.
Click on the three horizontal bars in the top right corner of the Panels roll-up, and from the list that appears select Import From CSV.
Select the CSV file with the edited header row(link) and Cutlist Optimizer should import the data. If you get odd results check the structure of the CSV file especially the header row
However both the Label and the Thickness/Material columns are missing, and this particular project uses two thickness of sheet material, 18mm and 12mm.
Cutlist Optimizer now knows the basics of what needs to be cut, but it has no idea what it’s cutting.
Move down to the Stock sheets roll-up and add a record for the sheet size. viz:
This defines 5 sheets of 2400mm ( 8’) by 1200mm (4’) stock.(No thickness again!)
Moving down to the Options roll-up ad set the kerf thickness of your saw blade (in my case 3mm)
If your project is simple and only uses one thickness of material this will work as is but for a more comprehensive cut list while still in the Options roll-up turn on Labels on panels and Consider material.
Looking up at the Panels and Stock sheets roll-ups again, things have changed, the Label and Materials columns have appeared in both.
Looking a little more carefully at the Panels roll-up note that two values appear in the Consider material column, 18 and 12. These are the thicknesses of the sheets required for the project. Also each row now has a Label which is actually the component name from the Fusion BOM export.
Looking at Stock sheets we can now set Material for the existing sheet to 18 and create a new sheet of the same size but with Material set to 12 and finally create a Label for each row describing the material.
Now if we calculate everything should work as expected.
Adding the Final Touch – Grain…
OK, so I know plywood doesn’t have grain per se but the outer laminations have grain that usually lies along the length of the sheet.
Let’s say we want to improve the look of the project by making sure the grain runs vertically.in all of the visible panels but horizontally around the sides and backs of the drawers.
First of all, back in the Options roll-up turn on Consider grain direction.
Looking at the Stock sheets roll-up some mysterious blue symbols have appeared. There are three types.
Indicates that the grain runs along the length of the sheet.
Indicates that the grain runs across the width of the sheet.
Indicates we don’t care about the grain.
Clicking on a symbol will cycle it through the possibilities. In this case, we need the vertical arrow – grain along the length of the panel for both types of panel.
The same operation needs to be performed on the Panels roll-up but this will be a little more tricky because tall panels will need vertical grain and wide panels will need horizontal grain to achieve the same result. After messing around with the entries the panel list should look like this.
Running a calculate now will produce a cut list with vertical grain direction on the visible panels and horizontal grain inside the drawers.
Saving Data and other bits and pieces
Looking at the exported panel list CSV from Cutlist Optimizer you will notice that two more columns have appeared. Enabled relates to the green enable boxes, and Grain direction which has one of three values V, H or blank relating to vertical, horizontal or don’t-care for the grain direction. These columns will be honoured in a CSV import as well.
Because of the limits in the free version of Cutlist Optimizer, I tend to use the Save Project, Save Panels and Save Stock sheets options only when I’m testing stuff, usually trying to figure out where I’ve got the grain wrong. Once I’m happy with the results I will save the result of the final run as a PDF and export both the panel and stock sheet data as CSV files. That way I have local copies of everything if needed again.
Cutlist Optimizer will complain if there aren’t enough sheets to fit the panels but I cannot figure out if there is a method of auto-generating additional sheets as required. (If anyone spots a way please let me know!) however, only the sheets required will be used so there’s no harm in increasing the sheet count to much higher figures.
This is not the final design, it was created purely to generate the BOM. It’s missing items such as T-track and dog holes on the front face. Making modifications to incorporate these items results in the need of “Copy New” for some components to stop the changes spreading across all the matching panels, which increases the complexity of the panel list with multiple components with identical dimensions and different labels.
When is a BOM not a BOM?
Working on another project recently reminded me why I was initially looking at OpenBOM as a possible solution for my Bill of Materials and Cut list needs.
Fusion 360’s BOM export appears a little “odd” on occasion. Looking at an exported CSV file we see “Part name, Quantity, Width, Length and Height” in whatever unit the design was created in.
The data is as expected if the components have a horizontal or vertical orientation, but what about components created at an angle? This example illustrates the problem.
The item is actually 141.421mm long and 30mm high but Fusion 360 doesn’t interpret this as a part at an angle, it just returns 100 mm x 100 mm, the height and width of the bounding box that contains the item.
Whilst this interpretation is “correct” it gets more “interesting” when dealing with long structural timber (a 4×2, diagonal brace for example) which the BOM export reports as something wildly different from the actual component.
If you think you’ve got a problem double-check the component in Fusion 360 using the INSPECT>Measure tool with the XYZDelta option turned on. You’re heading in the right direction if the Delta figures are close to those in the exported BoM CSV.
Obviously, knowing about this “feature” and being aware that it may cause issues with a design component is not a solution. A glance through the exported CSV data will usually highlight problem items and allow you to correct the information with a little Pythagorean ingenuity before passing the data on to cut list processing…
I’ve only scratched the surface of Cutlist Optimizers possibilities, I hope you find it useful in your woodworking.
If you find any errors or other features that make “Hobby Woodworking” with Fusion and Cutlist Optimizer more enjoyable please let us know so we can update the article.