LumberJocks Woodworking Forum banner

Cutlist and Layout from Sketchup

286K views 319 replies 81 participants last post by  danielsheppard  
#1 ·
Cutlist and Layout from Sketchup

If you're a fan of Sketchup for creating woodworking models, then the next obvious step is to use Sketchup to help you create cutlists and layouts. Sketchup plugin Cutlist 4.1 does just that. CutList 4.1 sketchup plugin helps you determine how much of each material you need to produce your design, taking into account nominal sized lumber with allowances for finishing to final size. Then it goes one further and lays out all of the pieces on boards or sheet good sizes of your choosing. Then you should be all set to head for the lumber yard to get all of the materials that you will need with no return trips.

CutList 4.1 was beta tested by our very own Lumberjocks and is now ready for download.

It's being released exclusively to Lumberjocks first. You can download v4.1.10 here . This is a completely free plugin. This plugin has been around since about 2005 but continues to be maintained and enhanced. It's got the look and feel of old Woodsmith magazine cutlists and layouts. A very early version v3.3 was reviewed in the Fine Woodworking blog 'Design.Click.Build.' by Dave Richards and a later follow up.

Note that there is now a forum on Lumberjocks for further discussion.

Cutlist 4.1 has been tested with both Skletchup 7, Sketchup 8, SU2013 and SU2014 on both Macs and on Windows PCs.

Installing. There are now 3 ways to install this.

Method 1 (easiest) Get and install it from Sketchup Extension Warehouse
  • Start up Sketchup
  • from Sketchup choose: Window->Extension Warehouse
  • Search for and select 'CutList'
  • click on install ( big red bar on top right)

Method 2 (easy) Download and install it using the Sketchup extension installer
A relative foolproof way to install is now available with the latest versions (from v4.1.6 and up).
  • Download it from link above
  • Start up Sketchup
  • from Sketchup choose: Window->Preferences
  • click on 'Extensions'
  • click on 'Install Extension', hen navigate to and select the .rbz file you just downloaded

Method 3 (if all else fails) This is a two step process and more error prone

  • The file is a .rbz (a zipped ruby source) file. Extract the entire contents into your sketchup plugin directory not just the startup ruby script (srcutlist.rb). There is also a folder called srcutlistui which contains everything else it needs to work properly. The exact locations of the directories required for Sketchup plugins for Windows or Mac are found documented further down in the blog.

Running on a Mac. This is functional. Only the html output window for the layout does not work because of issues with the Safari browser, however, there is a workaround using the SVG export.

Someone in the forum asked a great question which I will repeat here:

Q. What is the point of the cutting diagram?

A. Why indeed would you want a cutting diagram? There are a few reasons:
  1. Regardless of whether or not you have a cutting diagram, eventually you are going to have to cut some wood to get a project built. How many boards do you need to buy? If you go by the board feet measured ( or calculated by something like the cutlist plugin) you're going to find that it falls short. Why? because when you to to cut the pieces out of the board, you'll find that you will inevitable have waste. By having the cutting diagram, you can see how much waste there is going to be and you know how much to get when you to the lumber yard.
  2. You've got a lot of parts to cut and you want your parts to be as accurate as possible before you even do anything else to the pieces. Ideally you want one setup for each size of part, so that you can cut each of the parts which are the same size at the same time. The cutting diagram lets you visualize how parts may be laid out to minimize on the cuts and the number of setups.
  3. Ok, you've decided to build your project out of sustainably harvested plantation teak. It's selling for $50/square foot(!) for 3/4". You might be interested in using those $200 boards as efficiently as possible. A cutting diagram may also be used to minimize waste. Even if you have waste if you could have a larger part left over which you could reuse for another project vs having a lot of offcuts, you've saved yourself some money and you are using the planet's resources efficiently and responsibly.

So, to sum up, it gives you more accurate project requirements, it minimizes setup time and shop time spent cutting the boards while increasing accuracy and finally it helps to use the resources as efficiently as possible.

Finally here are some screen shots in case you still can't quite figure out what it does or why you would want it or can't imagine what it looks like.

Starting up cutlist. Highlight your project and select CutList from the plugin menu. Make sure all of the parts in your project are named and are either a component or a group. ( Nested components or groups are handled ok as well)

Image


The screen that comes up allows you to select your cutlist options from the type of output you want, what you want to have included in your parts list, which parts are solid wood parts, which are sheet goods parts and which are hardware

Image


and the next page allows you to select the layout options. There is a general options section, a tab for board options and a tab for sheet options.

Image


Here is a sample of cutlist output. This is the cutting list in html format. This page can be printed.

Image


If you scroll down, then there is a summary of the board feet and the materials and sheet parts and hardware are broken down to their own lists with their own summaries

Image


If you selected the layout output, then another window will open and place all of the selected parts on boards of your choosing in a layout which minimizes waste.

Image


Sheet parts layout is placed on the sheet sizes you specified.

Image


There's lots more. There is built in help on each option. Just click on the blue ? next to the option.

Feel free to pass along any comments, questions, enhancement requests or bug reports. I'm committed to maintaining the plugin and make it as useful as possible.
 
#3 ·
Just saw your post regards the algo (I wish LJ would automatically email with new comments on posts I've replied to). I started down this path a while back and had hours of fun with the packing algos (not having a degree in math) there is a lot of info on the subject and they are all 2DBPP algos, 2D Bin Packing Problems. It's a common problem. I gave up when I couldn't write an algo that beat Cutlist Pro. Have you compared yours to Cutlist Pro?

Maybe you can understand what these guys are talking about A Unifed Tabu Search Code for
Multi-Dimensional Bin Packing Problems
from the sounds of it you are using a best fit first, sort pieces by max height/width then add them in a row

These guys also put together an overview of the various approaches you can use which I found pretty useful.

Anyway, hope these links prove interesting and thanks again for al the hard work you've put into this.
 
#6 ·
Hi Damian,

Thanks for the paper.

It looks like the 2D version of the 'Tabu' algorithm is pretty much exactly what I did, only I thought it was intuitively obvious from the way I would lay out the pieces as a woodworker. I developed my idea of how to implement it 15 years ago, beating these guys by a decade. The idea, I thought, was trivial, the implementation is slightly more interesting. I just didn't get around to it and I didn't write a paper ( maybe I should have). The only thing they've added in 'TABU" is the ability to do 3D ( which is a simple extension of what I do), the ability to reposition pieces for a potentially better fit ( which I planned to do but then thought that it wouldn't add a great deal of value), and the ability to use different sized bins ( the infrastructure for this exists in my version of Cutlist, but I left this for later).

What he calls 'bins' we call boards or sheets.

The 3D packing problem could be useful for layout a well, for resawn boards. It could also be extended to sawmilling. In fact this is being done - some interesting technology exists today in sawmilling where logs are scanned or x-rayed in real time and optimal cuts are computed taking into account structural defects, quality of wood, log size and market demand. I think this is all good use of technology, better than building weapons.

I haven't compared with CutListPlus. I've got a very old trial copy which I've never used. I think the trial version has limits on how much it would lay out. If anyone has CutListPlus and can compare, I would be interested to hear any results.
 
#7 ·
Hey Purp,

Sorry about the Mac thing. Everything I'm doing is standard stuff. I've even tried the html pages in Firefox, MS IE and Safari and they all work fine and all work the same way. The issue seems to be with Sketchup's insistence that Windows Sketchup uses MS IE and Mac Sketchup uses Safari regardless of what your default browser is AND with Safari, Sketchup's interface ( The WebDialog class) to a web page has some issues. It doesn't help that apparently Sketchup blames Safari, Safari blames Sketchup.

The only solution would be to be able to pick a browser in Sketchup but that's not currently possible. - maybe I'll lobby the Sketchup folks for this feature to be in SU7.
 
#9 ·
Looks like a good addition to the program. And I see Dave Richards has joined in, he is great with sketchup.

Not wanting to hijack the thread but I have been wondering when Sketch up will go metric ? Maybe a plug to be available?
I ask, because I and some others have been doing some shop work using metric measuring and I can see some real advantages.
Anyway-thanks for posting this blog
 
#10 ·
DaveR - I'll get these changes made asap. Thanks for stopping in and taking a look and the quickie review on Design.Build.Click. You may be disappointed with the printing capabilities of the layout portion, though. Can't print directly from the output window - quirk with the javascript I was using to produce the graphics and MS IE. This still needs improvement. I threw in the the ability to produce a SVG file to try to address this. SVG output can be read by Firefox ( MS IE is useless at it) and then printed but it's still not perfect. If you have another SVG reader, then I suspect it will be better. The advantage of SVG is that it's scalar ( the S in SVG) ie: you can zoom in and out - should make it easier to see the small parts laid out.

Chris : Give it a shot buddy. I'd be real curious. Btw, there is a known issue with the csv output and CutListPlus 2009. I don't have the exact details, which is why I couldn't fix it….but if someone can tell me, I'll make the changes.

Daveintexas : Metric works in Sketchup already and this plugin supports it too and it's been tested with metric. I work in metric measure but I like to show total volume in board feet, so that is supported too. ( The combination is common where I am). To switch to metric measure, you have to change the unit in the model ( everything else is automatic). Window->Model Info-> Length Units. Set Format to Decimal and then the units to Millimeters, Centimeters or Meters. If you then run CutList again, all measures will show up in metric. How cool is that?
 
#15 ·
Bob,
This is usually an indication that it can't find the html file used as the interface for the plugin. Make sure the folder 'cutlistui' from the zip file is also in your plugins folder.

titmas : Not sure what happened there, you might have unzipped it to a folder in the plugins folder. The ruby script has to be in the plugins folder along with the folder cutlistui which contains the rest of what the plugin needs.

Here is what your directory should look like after installation:

Image


Hope this helps and you get to the fun stuff!
 
#18 ·
Newsflash!

I've had a bit of a breakthrough in making a version compatible with the Mac, thanks to Corbin Dunn of Blue Tree Software, a woodworker and a programmer on the Mac OS with Apple, who contacted me offlist.

For those daring enough to edit the ruby script you can find and change the following two lines ( the backslashes become forward slashes )

#relative location of the cutlist input html page
@@cutlistui_location = '/cutlistui/cutlistui.html'

#relative location of the cutlist result html template
@@cutlistresult_location = '/cutlistui/cutlistresult.html'

Otherwise, I'll have more news shortly on having a single version which works for both. ( I just tested this and this work for Windows too, so it should be possible to maintain a single version).

Woohoo!
 
#19 ·
Hi Dave,

That's a mighty big spline you're trying to use - I have an idea - why not just take the spline and carve a table out of it!

I think I know what might be happening. I'll confirm it with some more testing and if I am right, relatively easy to fix and incorporate into an updated version.

If you care to follow the logic of this:
In order to fix the bounding box issue with rotated parts, the dimensions for a part was changed to come from the component or group definition rather than the instance. It appears ( and makes sense ) that scaling ( just like rotation) is an attribute of the component or group instance rather than the definition. So, to get the true dimension of a part, I'll have to apply any scaling to the bounding box dimensions found in the definition. Scaling is not being taken into account, which is why you would always get the same size as the original definition.

Good catch, Dave!

I'll let you know when I have a new version ready to go.
 
#20 ·
Hi Dave,

Thanks again. I'll look into the other issue as well. It wasn't designed to work that way but that doesn't mean it didn't end up that way!

I've been playing with the scaling thing and I now have a working version for components. I just want to make sure it also works for groups the same way and then i need to double check I got the scaling in the right direction. Sketchup uses x,y,z axis for scaling but a bounding box has width, height and depth!

Looks like I'll have to get a version 4.1 out with Mac support, scaling and other fixes soon.

That's a good looking bed. Perhaps all ebony would probably be overkill though, a bit dark.

He also has this table but this one has too much cow for my liking :) Not sure how that would show up in the parts list.

Image
 
#22 ·
Hey Steve,
This is just awesome! I've used CutList Plus on Windows XP, but now I have Mac so I've been wanting a cutlist/layout program for Mac for a long time! I made the Mac changes stated above, and now it works, although it looks a little funny. On the components page I get a bunch of "\n" everywhere. I haven't gone through any of the setups other than defaults, so that may be some of my problem. And it looks like I need to learn how to assign materials to my components.

Thanks for the awesome program!

Geoff
 
#23 ·
Geoff,

Yeah, the changes above at least get it going for Macs. it's better but not perfect yet.

  • Getting the cutlist seems to work now except for the nuisance "\n" which is the plugin's fault but that too can be remedied with a small change. I'll provide details later.For now, it just gets in the way but it's harmless.
  • The layout option will still create some grief because Safari is unhappy with some of the ways in which the output is produced in the browser - however, you can always use the SVG layout option instead and produce an SVG file. This text file looks like xml but it's for graphics and is readable using Firefox browsers( File-> Open File) or other SVG readers ( I believe there is a plugin available for MS IE)

This seems to be the best workaround for Mac users for now. I'm glad to hear that it's useful enough for you.

depictureboy: Thanks for your comments and support. I'm not familiar with eCabinets ( other than having heard about it ). I'm glad CutList is giving you some value. I just wanted to produce something which was useful for me, building on the excellent base that Sketchup has provided. Go Google!

Btw, the feedback we are getting here from those who are trying it and letting me know of any issues is the reason why this can just get better and more useful.
 
#24 ·
Ive been using Setchup for six months and the addition of cutlist 4 makes good software much better. The main issue I have with it concerns the printing or lack of it. I have managed to print the component list but the cutting diagram is more problematic as there is no "Print View" button on screen. In case others are having the same problem, I manged to print it by right clicking it and choosing print I assume this will be sorted in a later version but until then Thanks
PS I also modified the script so that the background is left white I just hate to waste all tha ink

-Ted Gibbs
 
#25 ·
Thanks Steve,
I tried this last night on a wine cellar I'm working on. After it ran, I got a message about it not being able to place some components. Some components are 16"+ wide and 8' long. These are going to be glued up solid wood panels. Obviously they can't be placed on a 6" wide board, but would these components be included in the total board feet calculation?

Maybe a future addition would be to include in the layout the boards that maybe included in a glued up component? Maybe the material could include "glued up panel" or something like that.

Keep up the great work!
 
#26 ·
Geoff,
Check your layout settings. You may not be using a board that is long enough to accomodate your longest plank, and you also may be using the dressed setting instead of the rough setting. I dont think your issue is with the width, but with the length.