General discussions
Posts about job ads, news about competitions, events, learning resources, research, 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
AC 28 USA and earlier   •   macOS Sequoia 15.3, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
One of the forum moderators
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.
AC 28 USA and earlier   •   macOS Sequoia 15.3, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
One of the forum moderators
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
AC 28 USA and earlier   •   macOS Sequoia 15.3, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
One of the forum moderators
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
AC 28 USA and earlier   •   macOS Sequoia 15.3, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
One of the forum moderators
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
David Pacifico
Booster
Also take a look at using the
Calculate/Interactive Schedule/Preview
Select "Wall list."
Under "Output to" choose MS Excel
click Create List.

Play with the list under edit settings. Right click on stuff to find out more the items.

I think the Interactive Schedule is the way to go now a days.
David Pacifico, RA

AC27 iMac i9, 32 gig Ram, 8 gig video Ram
Karl Ottenstein
Moderator
Glad the quickie property script exploration was useful, Geoff.

I agree with David as far as using the Interactive Schedule for things such as the window schedule example that you give ... and for most day-to-day work other than BOM.

This thread started with a question about a getting "studs, plates, blocking, header info, etc." as a BOM which is quite different than a schedule of parts (doors, windows, etc.).

ArchiCAD provides tools for both ... and I suppose the thing I would say in favor of having both tools (Calculate and I.S.) is that they work the same on both platforms, Mac and PC ... so I give credit to GS for that.

Generating a BOM involves what are called 1-to-many mappings in the database world. We take one wall object (in the simplest case), and want to generate multiple lines/components from it as illustrated in the screenshots that I posted for studs, plates, wall wrap, sheathing, etc.

Sometimes a BOM involves 1-to-1 mappings or even many-to-1 mappings as in a window or door schedule where we consolidate similar parts into a total quantity of those parts.

OK. Now here's the scoop.

The Interactive Schedule produces listings for 1-to-1 and many-to-1 mappings ... and indeed, those can be quickly exported to Excel for further formatting there (and OLE insertion into PM). Personally, I use all of the options available for I.S. - sometimes I place a graphic schedule in a workspace and get it into PM via a view, sometimes I export to an external program for cleanup.

But, what about 1-to-many mappings? How do I get a component list for my wall, floor, roof, etc.? Let's not even talk composites where the issue become quite significant - let's stick with the stud wall of the originally posted example that was responding to muttlieb's question.

Well, we saw that property scripts handle 1-to-many quite easily - with code the spits out the desired components. There is a certain level of complexity involved (coding, and the fact that there isn't a good booklet available on how to do this in practice) ... but as mentioned above, once done, it will work on PC and Mac.

Can this be done with the I.S. and Excel and would it be easier? Yes and no IMHO.

Excel alone:

The same formulas / code / logic that determine the component counts in the GDL property script must be in the external application. Can this be in Excel in a way that you could generate a BOM in Excel alone? Yes (because in theory anything can be computed in Excel) ... but you wouldn't want to do it as it would involve more complex Visual Basic programming to produce the BOM in appropriate rows/cols of a new spreadsheet than the GDL in the original property script....a level of Visual Basic skill beyond typical Excel users.
(You would be taking a single line exported from the I.S. that gives the wall type, fill type, area, length and height and computing all components from that information so that they appear on multiple lines in a BOM sheet.)

Excel with Access:

Short of something custom/expensive such as Timberline which I haven't had the opportunity to use, the combination of Microsoft Excel and Microsoft Access provide the most powerful solution on the PC side. Export the I.S. data as Excel data that is linked as tables into an Access database. Within Access, various materials and specifications tables, appropriate queries, custom Visual Basic and powerful reporting tools could let you generate anything your heart desires. As the model changes, simply re-export your excel tables ... and re-generate the Access reports.

Again, this requires a skill set that most users lack (why should an architect/designer know these things after all!), so for the majority of people, I still think that property scripts are the way to go.

I'll make one other comment so that I can cross-post this response onto two other related threads. The ODBC driver available from the GS developer center provides a way for a Microsoft Access database application to query the PLN file directly - bypassing the need to export Excel sheets/tables as in the scenario above. This of course leads to the ideal scenario, but requires the most technical skills.

[MS Access is only available for Windows. I have no experience with Mac database applications; presumably you could do similar things with FileMaker Pro 6.]

To repeat myself - these last complex alternatives are only things I would consider for 1-to-many mappings (BOM) and when (a) you do not need cross-platform support and (b) you have the necessary skills set. Otherwise, use property scripts. For window, door, furniture, etc. schedules, just use the Interactive Schedule and either place the schedule, or take it into Excel for further cleanup/annotation.

HTH,
Karl
AC 28 USA and earlier   •   macOS Sequoia 15.3, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
One of the forum moderators
David Pacifico
Booster
Karl, thats a great discription and explaination. You know how bridge the gap between the technology and the task. Thanks for writing it.
David Pacifico, RA

AC27 iMac i9, 32 gig Ram, 8 gig video Ram
Karl Ottenstein
Moderator
David wrote:
Karl, thats a great discription and explaination. You know how bridge the gap between the technology and the task. Thanks for writing it.
Thanks, and you're welcome. You know how to encourage a guy to keep posting.

Best regards,
Karl
AC 28 USA and earlier   •   macOS Sequoia 15.3, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
One of the forum moderators
Djordje
Virtuoso
Karl wrote:
Glad the quickie property script exploration was useful, Geoff.
Also in Tips&Tricks at http://archicad-talk.graphisoft.com/viewtopic.php?p=4039#4039
Djordje



ArchiCAD since 4.55 ... 1995
HP Omen