Generating reports from your models
SketchUp Pro 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 it 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.