Documentation
About Archicad's documenting tools, views, model filtering, layouts, publishing, etc.

Virtual Building - Material List

Anonymous
Not applicable
Howdy,

I would like to know how many of you are using ArchiCad to produce complete material lists/takeoffs for studs, floor joists, roof framing, etc.

I am a designer for a residential design/build firm. We specialize in remodeling and additions. Occasionally we will do a custom home. I currently use SketchUp for 3D design/presentation and ADT R3 for design development and construction docs. I have recently begun to look at ArchiCad as an alternative to ADT. I would love to be able to produce complete and accurate material lists from the building model. I understand that in order to do this, the building model has to be complete and include every stick of wood. Is it realistic to do this with ArchiCad? In other words, is the time spent creating the complete model worth the results of an accurate material list? With ADT I draw complete framing plans and show every joist, but it is only just a bunch of lines. I would think it would be a huge advantage if I could draw all the joists as actual joist objects in ArchiCad and then be able to produce a list of materials needed automatically. What do you guys think?

Thanks.
14 REPLIES 14
Pete
Newcomer
My goal is to start using ArchiCAD's calculate menu for unit pricing and export the lists to Excel for our estimating system. With unit pricing, I am interested in only the quantities of each assembly and zone. I wouldn't dream of trying to get actual take-offs for each stick. My suppliers do all the take-offs anyway, whether I do them or not.

If you would like to show framing diagrams in 2D or 3D on your plans, it is easy in ArchiCad to include framing objects such as I-joists, rafters, trusses, studwalls, etc. in your model. Then, once they are in there, ArchiCAD can list them.
Pete Read
ArchiCAD 12; Artlantis Studio 2
MacBook Pro 2.4 Core2Duo, 2GB, OSX(10.5) and XPpro(SP3)
Anonymous
Not applicable
Ok, here is a more specific question that gets to the point of what I want to do:

How would you use ArchiCad to calculate the number of studs in a wall, including plates, blocking, etc.? I would also like to include header info. I do not need a stud layout.
Karl Ottenstein
Moderator
muttlieb wrote:
I am a designer for a residential design/build firm. ... I would love to be able to produce complete and accurate material lists from the building model. I understand that in order to do this, the building model has to be complete and include every stick of wood. Is it realistic to do this with ArchiCad?
Many architectural firms in the US do not produce materials lists because of liability issues and more ... the takeoff is something for the contractor to do. A design/build firm such as yours is naturally in a different position.

Talk to the builder members of your firm and you'll see that there is no way to produce a 'complete and accurate' list no matter what method you use. There are waste percentages, percentages for bad material, etc., etc. Further, unless you specify exactly how every stud is to be placed, the framing crew may decide to frame slightly differently anyway ... so you can only be as close as you can be IMHO.

That said, the answer is "no", you do not have to model the building down to every stick of wood to get a materials takeoff - however, that is indeed one way. For joists and beams, for example, I model all of it because I want those components to show up in sections and isometrics. Takeoffs from individual components like that are easy.

For walls, I wouldn't dream of modeling every plate, stud and header...it would be a nightmare to adjust it all as modifications are made. But, it gets more nitty-gritty than most users want to get to produce numbers without the modeling. The wall can have a 'property script' associated with it (GDL pseudo-Basic language code) that does the math to estimate the amount of lumber (and any other materials related to that wall) based on the wall dimensions and the opening (door/window) dimensions.

Going from counts of materials of particular dimensions and lengths to a lumber order that a lumber yard won't laugh at is another matter...in any software.

Hope that helps a little.

Karl
One of the forum moderators
AC 28 USA and earlier   •   macOS Sonoma 14.7.1, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
Anonymous
Not applicable
Karl wrote:

Going from counts of materials of particular dimensions and lengths to a lumber order that a lumber yard won't laugh at is another matter...in any software.

Hope that helps a little.

Karl
Don't forget 8.1 is fully compatible with Timberline Estimating Software...(has anyone used this yet?)

Karl, you nailed it...a 100% accurate material list?....why bother?

However, ArchiCAD and GDL can do it!

If the subcontractors follow the plan to the tee and if the lumber yard is able to send a pre-cut, labeled wall, roof and floor package for you, then go for it.

Otherwise, I'd say....Leave the estimating to your lumber and component suppliers, where they have the tools and the staff to perform this function....There are some fantastic leaps being made in whole house structural software...http://www.optiframe.com//index.cfm/fuseaction/pages.pagehandler/pageID/19...These technologies coupled with inventory tracking software such as YardMate http://www.trusjoist.com/EngSite/software/index.cfm?Software=YLM&Program=3&CategoryID=2&SubCategoryID=13&SubCategory2ID=174create a very smooth, well-organized, free-market approach to residential construction...

Close is acceptable in horse-shoes, hand-grenades and material estimating

Peace this Thanksgiving,
Karl Ottenstein
Moderator
muttlieb wrote:
Ok, here is a more specific question that gets to the point of what I want to do:

How would you use ArchiCad to calculate the number of studs in a wall, including plates, blocking, etc.? I would also like to include header info. I do not need a stud layout.
This will introduce you to what you'll need to learn.

Start a blank project and set your wall tool to create 2x6 exterior wall. (In fact, you can use any wall...more on that later.) Draw a short wall.

In the Calculate menu, under List Components, choose Basic. Unless some other settings have been made, you will probably get a Warning error that the "Listing is empty.' Click OK and close the (empty) listing window.

In order to generate components for the listing, we have to associate a property script with the wall. This script will determine what materials are required to build the wall.

Select the wall. Now, open the wall settings dialog (ctrl-T) . Under Listing and Labeling, on the right side under Link Properties, check the box for "Individually" for this example. A popup list appears for you to choose from. With either "All loaded libraries" or "Accessories.apx" selected, scroll down and find "WD Ext 2x6 Wall" [US libraries - names different elsewhere]. Click the Link button. Click OK in the wall settings to accept. [Alternatively, you can do this via the info box if it is stretched big enough.]

OK. Now, let's go back to the Calculate menu, under List Components, and choose Basic again. This time, because there is a property script associated with the wall, ArchiCAD can compute some materials. The screen shot below shows the list computed for a single wall that is 9'-6" high and 20' long.

You'll notice some strange things going on: it has building paper, siding, sheetrock and all kinds of stuff in there that you may not have wanted. Also, the numbers don't really make sense - this is a 20' long wall, but there is only 6 feet of treated plate (assumed to be on concrete - possibly not what is desired) - and only 12 feet each of top plate and blocking ... typical US frame walls would show 20' of bottom plate and 40' of top plate. Finally, it shows clear mahogany baseboard - and only 6' of that - and I'll bet your clients aren't going to use mahogany! 😉

OK. Where did all of this come from and how can you make it your own?

Lesson 1 - Get familiar with the property object/script

Select the wall in plan. Now under the Calculate menu, choose the Edit Properties command to open the property script associated with the selected object.

Let's not figure out how the numbers are computed yet, let's first see what parameters this script gives us. Click the Parameters button on the left side of the (GDL editor) window. You'll see some flyout options for the base moulding (baseboard) and the siding for example. At the far right of the base moulding line, click the triangle and choose some other value such as 'beveled clear oak'. For sheetrock finish, change 'Firetape finish' to 'smooth texture' and for sheetrock type, change 5/8 in to 1/2 in.

We've just modified a built-in library component that is read-only. We need to do a save-as into our own company library folder to have an editable copy of what we just did to apply the changes and to edit for future changes. Under the File menu, choose Save As and change the name to something like "My Wood Ext 2x6 Wall". Now, close the editor dialog.

Finally, we have to change the wall to use our own (modified) version of the property object rather than the delivered one. Just as we linked above, go to the Link Properties dialog and with 'all loaded libraries' selected, you'll see your new property script listed (perhaps at the top). Select it and click Link. Click OK out of the wall settings dialog generate a basic component list again.

Voila! It now shows oak for the baseboard, 1/2" sheetrock, and gives square footages for the smooth texture. (The square footages and all other units are wrong because of problems in the script as delivered ... but that's below.)

Lesson 2 - Look at the Script that Computes Things

Select the wall in plan once again if it isn't still selected. again, under the Calculate menu, choose the Edit Properties command to open the property script associated with the selected object.

This time click on the "Property Script" button on the left side of the editor window. Resize the window so that you can easily read the content.

This may either scare you away for good, or intrigue you.

The GDL Basic-like code shown here is what computed the components that you saw on the basic component list. It is too much to explain in this already too long post - but as you skim the code, realize that there are certain variable names that are special global names that return information specific to the object that the script is attached to. For example, the variable WALL_LENGTH_A returns the length of one side of the wall if, as in our case, the script is associated with a wall. That number can be used in subsequent arithmetic to compute things.

The lines beginning with "COMPONENT" are what generate the entries that show up in the basic component list that we saw. (They also link to more information in a database - but we won't go there now.)

Lesson 3 - Fix the Script (or make it your own)

Debug the property script. The script we're looking at is wrong. The values that are being returned for the length of base plate and baseboard are in meters, not feet! Ditto the area amounts, etc. It's not that ArchiCAD is wrong ... it's just that whoever wrote this script blew it and I guess none of us tested it before to let GS know that it needed fixing.

The fix isn't bad (and what I do below isn't complete, but good enough for now). ArchiCAD stores values internally in meters. WALL_LENGTH_A returns a value in meters (a little over 6 for our 20' wall - the bad value seen in the attached screen shot.) The first line of the script defines FTM the conversion factor from meters to feet...which we do not need. The author forgot to define a conversion from meters to feet - and then to use it in the calculations.

To make life easy, just insert the line:
MTF = 1 / FTM as the second line of the script - defining 'meters to feet' as the inverse of 'feet to meters'.

Now, replace the lines that read:
!!   6108-STUD WALL EXTERIOR 2X6
!
WLX=(WALL_LENGTH_A+WALL_LENGTH_B)/2
!
WSX=WALL_SURFACE_A+WALL_SURFACE_B
!
STX=INT(WLX/STUDSOC)+2

with the following:
!!   6108-STUD WALL EXTERIOR 2X6
!
WLX=(WALL_LENGTH_A+WALL_LENGTH_B)/2 * MTF
!
M2TF2 = MTF * MTF
WSX=WALL_SURFACE_A * M2TF2 + WALL_SURFACE_B * M2TF2
!
STX=INT(WLX/(STUDSOC*MTF))+2
(The variable M2TF2 is intended to represent the "square meters to square feet" conversion.)

Also, change the descriptions as desired - for example, the studs are hard-coded as 'No 2 2x6x8ft stud" - but we want 10' studs for the sample wall (in fact - the script should modify the description based on the actual height of the wall ... but that is more programming than belongs in this 'short' post!).

Close and save the script window, and regenerate the list and you'll see the more reasonable looking numbers that appear in the bottom half of the attached image. 😉

---------------------------------------


The script approach gives great power, since all kinds of components can be generated from the size information of a wall, for example, as you saw here...or any ArchiCAD object (in the general case). It has great danger as well since you could obviously associate a 12" CMU block wall script with a wall that is drawn on plan as a 2x4 stud wall. It still requires thought and checking. And, as we've seen, the script itself may have bugs preventing the proper numbers from being generated.

IMHO the power exceeds the limitations ... compared with other software that generates a BOM for you using the manufacturer's rules, not your own. On the other hand, GS could certainly have delivered property scripts for the common components in each country so that everyone would get somewhat close material takeoffs 'out of the box' for standard construction projects.

As an example of using your own rules, consider a waterproofing membrane on a foundation wall. Suppose the manufacturer requires a 1' overlap... you can easily take that into account in the square footage calcs so that the required amount of material is more accurately estimated. By knowing the width of a roll of material, you would also know if the strip left after triming a rolled-out length was wide enough to use for anything, and if not, would include that amount also in your square footage. If you knew how many strips were applied to a wall and what size bead of sealant material was required per overlap, you could estimate tubes of sealant. The volume of concrete in yards for the wall is easy; the rebar amount would come from customized script based on the structural engineer's reinforcement schedule. And on it goes...

Karl

PS See the PDF file for the GDL reference manual for more information on Properties scripts and the GDL programming language.
One of the forum moderators
AC 28 USA and earlier   •   macOS Sonoma 14.7.1, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
Karl Ottenstein
Moderator
Richard wrote:
Close is acceptable in horse-shoes...
Not in my wife's opinion! I work to pay for therapeutic shoes, clinics, etc, etc.

Happy Thanksgiving to all US-ers too!

Karl
One of the forum moderators
AC 28 USA and earlier   •   macOS Sonoma 14.7.1, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
Anonymous
Not applicable
Thank you to everyone that responded, especially Karl. Your replies were way above what is typically seen in other web forums (at least what I've seen). Your answers were very helpful and give me a better idea of what ArchiCad is capable of. Mind you, I've been using ADT since it came out, but pretty much as a 2D drafting tool. I find the 3D interface to be way to cumbersome to produce 3D models. I've been trying out a demo copy of ArchiCad for a couple days and I like what I see so far. It certainly seems ArchiCad is capable of what I want it ti do, but I'm still wondering if it is worth the effort to input all of the reqired info in the model in order to get the take-offs. Currently, the builder will take my construction docs and do material take-offs by hand. And as someone else said, most take-offs are done by the particular subcontractor that will be doing their work. For example, we would not do a BOM for the plumber or mechanical contractor. So maybe that portion of our estimating process won't really change that much with ArchiCad. I do like the 3D interface of Archicad better than ADT. I guess I'm looking for more general big picture reasons of why I should switch from ADT to ArchiCad, particularly when it comes to producing construction documents.
Karl Ottenstein
Moderator
muttlieb wrote:
I guess I'm looking for more general big picture reasons of why I should switch from ADT to ArchiCad, particularly when it comes to producing construction documents.
This thread (subject line and construction documents forum) isn't the place for that discussion. Post a message in the ArchiCAD+ forum with a subject like: "Why ArchiCAD instead of ADT?" and you will likely get more responses than you can imagine ... other than it being a US holiday and nearly the weekend, the flood of postings probably won't hit until Monday.

Personally, I think it's a no-brainer...but let's move to the right forum for this.

Cheers,
Karl
One of the forum moderators
AC 28 USA and earlier   •   macOS Sonoma 14.7.1, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
SeaGeoff
Ace
Just now venturing into property scripts and list templates, I must say Karl's post is the best primer I've seen so far. Thanks bro.

Here's a related question. How easy/hard, and comparable to AC's list format, is it to take raw data out of AC and into Excel, where manipulations are both more graphic and more familiar?

The reason I ask is because while the property script / list template scheme is extraordinarily powerful, it also seems very inflexible in that any changes require code tweaks, often in two places. For example, a simple window schedule that totals units if all listed parameters are the same. First I have to build it or modify an existing set (or hope Steve in our office will do it). Now if I want to eliminate a parameter, say head height, so the list is more condensed, I'm forced to re-code the parameter script and the list template (...Steve).This kind of thing would take few clicks in a modern spread sheet environment.
Regards,
Geoff Briggs
I & I Design, Seattle, USA
AC7-28, M1 Mac, OS 15.x
Graphisoft Insider's Panel, Beta Tester