March 5th, 2010 | Published in Google SketchUp
SketchUp Pro 7 can generate tabular reports (fancy lists, basically) from the groups and components in your models. It's a simple operation, and provided you've set things up properly, it can save you a ton of time. Let's look at a pretty straightforward example: a picket fence.
I’m designing a simple wooden fence (SketchUp model) to encircle my yard. The fence is made from copies of three different components: Posts, Rails and Pickets. Here's what it looks like:
I need to know how much lumber to buy, so I use SketchUp Pro to generate a report (File > Generate Report...) in CSV format which I can open in any spreadsheet program. I use Google Docs so that my spreadsheet is online. Take a look at the resulting raw report in its entirety, or view the screenshot below:
Looking closely at the report, you can see that each component gets its own row, and that each row contains a whole bunch of information contained in a number of columns. Each column represents a different attribute associated with the component; attributes are things like "Definition Name", "Layer" and "LenZ" (length in the Z, or blue, direction).
I'm only interested in using this report to figure out how much wood I need, so I delete all of the attribute columns except the following:
- Definition Name: Tells me which component I'm looking at
- LenX: Tells me the length along the X (red) axis of the component. This is important for my rails, which span horizontally.
- LenZ: Tells me the length along the Z (blue) axis of the component. This is important for my posts and pickets, since it's their height that I'm interested in.
Now my report is a lot easier to look at. To make is even clearer, I rename the columns. LenX becomes "Width" and LenZ becomes "Height". Lastly, I sort by the column "Definition Name" to group each component together. You can look at the complete, simplified report to see the whole thing. A screenshot is below:
To calculate how many feet of lumber I'll need, all I have to do is sum (add together) the relevant values for each component type:
Posts: Sum all values in Height (LenZ) column for all Post components
Rails: Sum all values in Width (LenX) column for all Rail components
Pickets: Sum all values in Height (LenZ) column for all Picket components
It gets better. Using custom attributes that I can assign with SketchUp Pro's Component Attributes dialog box, I can do even more. I can write a simple formula that calculates area, which would tell me how much paint to buy. I can assign a cost to each component to figure out how much this fence is going to set me back. I can create a new "Length" attribute that takes into account the kerf (thickness) of the saw blade I'll use to cut the lumber. Geeky, but 100% useful.
Stay tuned -- I'll talk about combining report generation with custom attributes in another post in a couple of weeks.
NOTE: Anticipating confusion that might ensue... The horizontal length of my fence's rails will always be LenX (red), even if I turn them 90 degrees so that they're actually oriented in the Y (green) direction. Why? Every component has its own set of axes. The width of Rail extends along the X (red) axis for that component, so I can always know its length by looking at its LenX value. Please use the comments for this post to let me know if I'm not making any sense.
Posted by Aidan Chopra, SketchUp Evangelist