I wrote about the combination of Cut List 4.0 and CutList Plus many months ago. I was reminded by Steve Racz, the author of Cut List 4.0, that Cut List 4.0 is now Cut List 4.0.7. He suggested that I update my blog to reflect the changes. Normally one wouldn’t expect a minor revision to change functionality but merely fix bugs. However Steve’s changes in 4.0.7 make the interface between Cut List 4.0.7 and CutList Plus nearly seamless. Of my favorite SketchUp Ruby scripts this one ranks among the top. So I have re-written my original post to reflect those changes and major simplifications. Here is the updated version.

My projects always start out the same – realizing my idea by sketching and designing it in 3D, then producing shop drawings complete with a cut list. Having done that I am ready to go into the shop and prepare my stock. My current tools of choice for this task are Google SketchUp for 3D drawing and CutList Plus for producing a cut list and parts list. These two tools do not naturally speak to one another; there is no export or import utility supported by either application that allows them to pass design information between them. However, SketchUp has a Ruby API and development console that allows third parties to produce scripts that can be used by SketchUp to extend its functionality. Most of these Ruby scripts are written by software developers, or wannabe software developers, and they are provided to you for free. To use a script you simply download a simple text file with an .rb extension. The file must then be placed in the appropriate SketchUp Plugins folder. Upon opening SketchUp, it loads all Ruby scripts located in that folder, and voilà! You have extended functionality.

I have a list of favorite Ruby scripts that I have added to my SketchUp Plugins folder which I will share with you toward the end of this article. But one in particular bridges SketchUp and CutList Plus; Cut List 4.0.7 is the focus of this post. If you use SketchUp and CutList Plus this post is for you. If you don’t use one or both applications you should look into them. SketchUp 7 is a free 3D drawing application from Google. That’s right, free! You can download it by going to http://sketchup.google.com/. CutList Plus must be purchased, but it is not expensive, and it is well worth the price. There are several editions (Silver, Gold & Platinum) that range from $89.00 to $499.00, and serve the casual user to the professional. The Silver version is limited to 50 parts, but that is enough to handle most furniture pieces. My Six Pane Oak Hutch has 35 pieces. If you need more parts you can break a design down into sub-assemblies. Go to http://cutlistplus.com/ to read about the differences between these editions.

The Ruby script Cut List 4.0.7 is free and can be downloaded by going to http://steveracz.com/joomla/content/view/45/1/. This is a zip file and must be extracted to the appropriate SketchUp Plugins folder. In the case of Windows XP that folder is C:\Program Files\Google\Google SketchUp 7\Plugins. For 64-bit versions of Windows it may be something like C:\Program Files (x86)\Google\Google SketchUp 7\Plugins. You may have an older version and it could be slightly different, so examine the Program Files (or Program Files (x86)) folder to determine the exact address. For MAC or other operating systems check your SketchUp documentation.

If you do not wish to purchase CutList Plus, Cut List 4.0.7 will connect SketchUp with Microsoft Excel to produce a cut list using a comma separated value file (.csv). But CutList Plus has many more features that are useful to the woodworker besides a cut list, for example, a layout showing you how to cut sheet material to get the most efficient and least expensive solution.

Once the zip file has been extracted to the Plugins folder you can open SketchUp and you will notice a new Menu item called Plugins. Under Plugins you will see a submenu called Cut List. This is what you would click to produce a cut list file. However, I am going to throw you a curve ball. Then I am going to explain how you can work around it or use it.

Each time you install a Ruby script in SketchUp a menu item(s) is added. It is generally added to a menu called Plugins. If Plugins doesn’t yet exist, the first Ruby script you add will create it and all future Ruby scripts will use it. The idea here is that Ruby scripts are added features that are not part of the SketchUp application and therefore one shouldn’t mix their Ruby menu items with native SketchUp menu items. I don’t like this strategy because after you have added a number of scripts and used SketchUp for a while you forget which commands (or submenu items) are native, and therefore should look in the related menu, and which are extended functionality and therefore are found under Plugins. So, for every script I add I modify the source file slightly to put the command (submenu item) under the appropriate menu. In the case of Cut List 4.0.7 I chose to put the submenu item under the File menu instead of the Plugins menu. My rationale is that producing a cut list file is a File operation, not and Edit or View or Tools operation. This helps me to remember where to find the command to produce a cut list file. Further, I changed the command name from Cut List to Generate Cut List. This is slightly more descriptive and it also makes the command stand out a little more so it is easier to locate.

I will now tell you how to make this modification if you choose to do so. It does not require programming knowledge, however, if you look closely at the changes you will likely figure out what you would need to do to modify other scripts to change menu location.

If you choose not to make this edit then simply remember when I say go to File/Generate Cut List (or something similar) you should read it as go to Plugins/Cut List.

To make the modification locate a file called CutListAndMaterials.rb in your Plugins folder (C:\Program Files\Google\Google SketchUp 7\Plugins for Windows XP). Open this file using Notepad. WordPad may be used if you are careful to save the file without adding formatting symbols. Do not use Word. Word adds formatting symbols. Also be sure to save the file after modification with the .rb extension, not a .txt or other extension. While the file is open scroll to the bottom and locate the following text.

# Add things to the Plugins menu
# Add CutList main entry
# "Cut List" offers an html gui to select options and produce html and/or file output
if( not file_loaded?("CutListAndMaterials.rb") )
     add_separator_to_menu("Plugins")
    
     #plugins_menu = UI.menu("Plugins").add_submenu("Cut List")
     plugins_menu = UI.menu("Plugins")

     plugins_menu.add_item("Cut List") { interactive_generator }
     # no longer supported
     #plugins_menu.add_item("SU5") { fixed_configuration_generator }
end

file_loaded("CutListAndMaterials.rb")

Replace this block of text with the following text:

# Add command to the File menu
# Add CutList main entry
# "Cut List" offers an html gui to select options and produce html and/or file output
if( not file_loaded?("CutListAndMaterials.rb") )
     UI.menu("File").add_item("Generate Cut List") { interactive_generator }
end

file_loaded("CutListAndMaterials.rb")

Save the file and open SketchUp. Under the File menu you will see Generate Cut List. That’s it, simple as that.

Select The Entire Model But Do Not Select More Than One InstantiationNow for an example of how Cut List 4.0 bridges SketchUp and CutList Plus. We will use a Wall Hanging Hand Tool Cabinet design as an example. If you wish to follow along click on the link in the previous sentence to download the SketchUp model. My SketchUp drawing, or model, is complete including all dimensions. It is not necessary to have all parts dimensioned, but it is necessary that all parts be fully defined components or component instances (instances are components used more than once, for example multiple drawer fronts). I will not describe how to create SketchUp drawings and models in this post; I have a separate multipart tutorial on my blog site for just that purpose. To create a cut list bring up a complete model without dimensions and select the entire model. Be careful not to select multiple instances of a model using “Select All” or you will get a cut list with inflated parts requirements. See the picture at left above showing how I did this for my tool cabinet.

Note: Very important, before proceeding to the next step open the Window/Model Info box. Select Units in the left column and Decimal from the Format drop down box. If you use Fractions CutList Plus will not interpret them correctly; you may end up with dimensions that appear as calendar dates in Excel or dropped parts in CutList Plus. You can switch back to Fractions after the Cut List 4.0.7 output file is generated.

Cut List 4.0.7 Menu Box - Note The Selected ItemsI select the File/Generate Cut List command (or Plugins/Cut List for you wimps), and left click. A menu selection page appears. With the CutList tab selected make the selections shown in the picture at right. My tool cabinet is made of all rough cut hardwood so I have not selected Layout. If some of my parts were sheet material such as plywood I could select Layout and get a visual cut list layout. However, even if I did have sheet goods I would ignore the Layout option because CutList Plus has more powerful features to deal with sheet goods.

Notice in the picture at right above the keywords part, hardware, sheet, veneer, plywood, hardboard and mdf. These are keywords that indicate a component is either a sheet material or a part and not a component (you  can use your own keywords). Do not use any of these keywords, or words containing them, when naming your components. If you do, those components will not be included in the Component cut list. I called one component a Drawer Partition and it was eliminated by Cut List 4.0.7 because “part” is contained in the word “partition”. I had to rename it divider.

This Message Lets You Know Where The Generated File Has Been Saved - Write It Down I simply check Web Page, CutList Plus and Components in the menu selection page. You may wish to left click the Save Settings button to save these selections as I did. Clicking Run produced the message shown at left. This message lets me know where Cut List 4.0.7 saved my .csv file containing the data CutList Plus will need to generate the cut list (write this location down). I click OK and I can now see the Web Page view of a cut list. I just use this view as a check to be sure all components were picked up correctly. Though I don’t examine it in detail I look for any glaring or outstanding problems. The detail checks I leave until I have a CutList Plus cut list.

Remembering where the .csv file was stored (hint: it is likely in the same folder as the SketchUp model that produced it) I open it with Excel or import it into CutList Plus.

CutList Plus Input Wizard Importing to CutList Plus is done by either right clicking on the file name and choosing Open With/CutList Plus 2009, or opening CutList Plus and choosing File/Import and selecting the saved .csv file. A menu page will appear as shown at right. I select Comma as the Delimiter and check “First row has headers”. Next, in the import column in each row I use the drop down box to match up the columns. Note for Sub-Assembly, Material Type, Material Name, Can Rotate, Banding, <Info> and Notes I choose <Skip this item>. All I want is the Part#, part Description, number of Copies, and the three dimensions. The rest of the information I can deal with more easily in CutList Plus. Since most of my cut lists will be similar I left click “Save Filter Changes” to save these selections. Then I click Finish.

The Input Results Message Indicates 21 Components Were Correctly Imported An Import Results message pops up indicating that 21 components were imported. The 21 components agree with the number of components in my In Model components library of my SketchUp model. This is not the number of total parts, since a number of components are used numerous times. The total number of parts is the some of the numbers in the “Copies” column below right.

An Untitled CutList Plus File With Complete Cut List I click OK and my raw CutList Plus cut list appears as shown at right. At this point I have an untitled file; there is no information on Sub-Assembly, Sheet Goods, Material Type and Not Specified for the Material Name. These are easily edited and corrected in CutList Plus. In fact I can edit the Material Name and Material Type as one group and I can save the file with whatever name I please – though I always give it the same name as the SketchUp model itself. If I like letters for parts lists I can easily do that in CutList Plus too. The Final Cut List With Sub-Assembly, Material Type & Material Name Added Including Lettered Part # The final cut list is shown at left. I am not going to discuss how to use CutList Plus in this post. I will reserve that for the future since it deserves its own post. Suffice it to say that CutList Plus is rich and powerful. In addition to a cut list it can produce a Bill of Materials, Project Proposals, Cost Sheets including labor and other parts such as drawer pulls, sheet cutting Layouts, manage inventory and much, much more. You can download a 30 day trial version and give it a whirl. The learning curve is short, so have fun.

I promised a list of my favorite SketchUp Ruby scripts. That list can be found at http://www.srww.com/google-sketchup.htm along with a description of Google SketchUp.

Leave a Reply

10 Responses to “Cut List 4.0.7 Ruby Script Connects SketchUp & CutList Plus”


  1. Steve Racz says:

    Joe,

    Thanks for taking the time to update the instructions. There will be more improvements to CutList as it relates to interworking with CutListPlus in a subsequent version. I’ve received some very good hints from Todd Peterson, the author of CutListPlus so that you can even leave out the step of converting the units before exporting. I should be able to arrange it so that any units you use in Sketchup will be ok for use in CutListPlus without any conversions.

    Steve


  2. Joe says:

    Hi Steve,

    You are most welcome. As I told you before I am a big fan of Cut List, and CutList Plus. I was also one of Todd Peterson’s first customers and have communicated with him frequently in the past about CutList features.

    When you update Cut List Ruby let me know and I will again update my blog.

    Joe….


  3. Don Thomson says:

    I was wondering if there is a plugin for Todd’s Cutlist Plus program? That’s the one I use. Thank you, Don


  4. Joe says:

    Don,

    Are you referring to the commercial version of CutList Plus by Woodworking Software? If so, that is exactly the program I refer to in this post. Cut List 4.x.x is a Ruby script that does and excellent job of bridging SketchUp to CutList Plus.

    Joe…..


  5. Hortensia Shimko says:

    Thanks, I’ve been looking for information about this subject for ages and yours is the best I’ve found so far.


  6. Joe says:

    Hortensia,

    Cut List version 4.1.1 is now out and much improved since I wrote this. It still works the same, but you no longer have to edit the .csv file. It is now totally seamless. I am designing a two story house and am using it to create a cut list for all studs, joists, plywood sheets, sills etc. In addition it is keeping track of every component including foundation, footing, lally columns etc. Works really well.

    Joe….


  7. Don says:

    Joe: Excillent information and instructional tutorial. I purchased the silver addition of cutlist plus when it first came available and it is a excillent way to manage material supplies and cut lists. Your tutorial made it more valuable along with sketchup.
    Once again, thanks for your hard work.

    DS


  8. Joe says:

    Hi Don,

    Glad you found it useful and thank you for the kind words. This post is about version 4.0.7. It is now up to 4.1.1. If you don’t have that version you might want to check it out.

    Joe…


  9. Paul Bader says:

    Joe,

    I just found your site and have been playing with sketchup for awhile now. I installed the script for cut list and walking throug the tuteral, I am stuck where to tells me where the file was written into. It is telling me it is “C:\Users\Paul\AppData\Local\……..” where I am halving trouble is there is no AppData folder. What am I doing wrong?

    Thanks Paul


  10. Joe says:

    Hi Paul,

    You probably are not doing anything wrong. If you have an MS Windows Operating System it is possible those folders are hidden form you. Open any folder and under the Tools menu choose “Folder options….”. Next select the View tab. Under File and Folders then Hidden files and Folders make sure the Don’t show hidden files, folders, and drives radio button is not chosen and that Show hidden files, folders, and drives is.

    If that doesn’t solve your problem call me at home and I will walk you through it. You can get my phone number from my Contact page on this blog.

    Joe….