Material Lists - Beyond Advanced


ARF_PSG
 Share

Recommended Posts

Hey All,

Quick Introduction and context to what I'm asking to do. Fairly new to CA, been a user of Revit for sometime.  I work for AR Franchising. We're a luxury home building franchisor, where our biggest market is in Florida.  We use Revit heavily, however purchased a 1 year license for Chief as a trial to see if it's better or worse.  One of the features that peeked our interest is its framing orthoscopic views and lumber calculations.  As of now we use our own proprietary software for database management, which includes costs and project management.  In addition we're using E-Takeoff for our material takeoffs. One of the things that corporate wants to achieve is complete data extraction from a 3D model with out running lines and shapes like you typically would for 2D takeoffs.  With some extensive setup time, i think i am able to achieve this goal to some degree.  I realize I'll have to write some separate VBA macros in Excel that will fill in some gaps.

 

With all that said.  I spent a good 3 to 4 hours today learning about Ruby Console and text Macro's. Here's what i'm looking to do with the Material List feature.  I would like multiple materials of different sizes to be figured based off a calculated value.  Let me further explain... For those that are familiar with Hardie Products, you're able to get vented and unvented Soffit in either 12"x12ft, 16"x12ft or 24"x8ft Pieces.   My goal was to create a macro that figures the overhang for the roof, (I wasn't able to find a function that did this, so i figured i would used something like "owner.projected_overhang.area / owner.eave_fasica_length)' This would take the area of soffit and divide by the fasica length of the roof plan section and figures the soffit size in Inches.  So my next step would be to create an IF statement that returns the proper Hardie Soffit size if it falls within a range.  I've created a JPG with what im hoping is possible to achieve, maybe in a Master Material List???.  ExportPic.thumb.jpg.e14ef9183de532311a6afb7e604f9b95.jpg

 

I think you get the drift of what i'm looking to accomplish.  Is that even possible?  Chief Crew? 

  • Upvote 1
Link to comment
Share on other sites

58 minutes ago, ARF_PSG said:

My goal was to create a macro that figures the overhang for the roof,

I think there is a much simpler method to do what you are looking for.

  • Apply a box eave and apply a material to it, designate the size of the material based on the pattern and then in the material list set it to linear and update from pattern image.thumb.png.92646a296330a3967038f3def94f8105.png
  • Then simply pull a material list
    image.thumb.png.bb549539c5f45b3ee8bc0b88fe1a854a.png

Is that what you are trying to do?

  • Upvote 1
Link to comment
Share on other sites

The first thing my then boss asked me to figure out about our change to Chief Architect back in 1994 was to evaluate its ability to create Materials Lists. I worked for a Remodeling company then.

 

What I have found out is that if a client asks me to also create a Materials List, I tell them that what I estimated for simple 3D model or con docs. is small compared to creating a PERFECT 3 D MODEL  that can be used to create an accurate Materials list, at least 10X over and above what is required for plan sets or a rendering 3D model. The reason is that the software reads how the virtual 3D model is constructed, so if your model is not perfect from foundation to attic you will get an inaccurate Materials List and if it is perfect in all respects, you then can expect a useful  Materials List.

 

 

It requires, for me at least checking and rechecking to make sure all is true and correct, which takes more time than it does for simple con docs or a 3D model for pretty renderings.

 

DJP 

  • Upvote 2
Link to comment
Share on other sites

Rene's suggestion is a good one and is probably the best approach for most things in the materials list.  If that isn't sufficient, there is a straightforward way to do this exactly the way you described using user defined macros with a little bit of Ruby code.  I have attached a file with some simple user defined macros that should do the trick.

 

As always, when it comes to writing macros there are multiple ways to get things done.  This is just one approach, and I figured I would use this opportunity to illustrate some of what is possible using Chief and Ruby.

 

Each of these macros is an Evaluated macro using None for the context.  I have included the full text of each macro below for your convenience.

 

eave_depth is the exact method you described of estimating the depth of the eave.  One drawback to this method is that it will have a tendency to underestimate the depth of the eave for a hip roof.

 

eave_depth

owner.projected_overhang_area / owner.eave_fascia_length

 

select_hardie_soffit_size is where most of the magic happens.  In my implementation I am using a Hash to store all 3 dimensions of the soffit material.  Here I am taking advantage of one of the extensions to the ruby language used by chief.  in particular, adding .in, or .ft to the end of a number makes it a Measurement which is helpful in making sure that you are working with the correct units.  Another thing to note for anyone new to macros is the ability to use macros. to reuse the functionality of one macro inside another.

 

select_hardie_soffit_size

result = Hash.new
result[:thick] = 0.25.in

eave_depth = macros.eave_depth

if eave_depth <= 0.in
elsif eave_depth <= 12.in
    result[:depth] = 12.in
    result[:length] = 12.ft
    result
elsif eave_depth <= 16.in
    result[:depth] = 16.in
    result[:length] = 12.ft
    result
elsif eave_depth <= 24.in
    result[:depth] = 16.in
    result[:length] = 8.ft
end

result

 

The final two macros make use of select_hardie_soffit_size to generate the size text...

 

hardie_soffit_size

formatter = NumberFormatter.new
formatter.use_fractions = true
formatter.show_leading_zero = false
formatter.unit = '"'

size = macros.select_hardie_soffit_size
text = formatter.apply(size[:thick]) + ' x ' + formatter.apply(size[:depth]) + ' x '

formatter.unit = "'"
text + formatter.apply(size[:length])

 

and the exact number of panels.

 

hardie_soffit_count

size = macros.select_hardie_soffit_size
owner.eave_fascia_length / size[:length]

 

=macros.hardie_soffit_size could be used in the size column in the materials list, or it could be used as part of the description as shown in your example.

 

=macros.hardie_soffit_count could be used in the count column.

 

soffit sizes.json

  • Like 2
  • Upvote 3
Link to comment
Share on other sites

There are A LOT of different ways you can harness the power of both Schedules and the Materials List in Chief (which of course can be further supplemented using Excel).  The biggest challenge is deciding exactly how to get the information from the model to one of those 2 places.  Some pieces of information are easier to gather than others and its important to understand some of the limitations before you waste too much time setting up a system that's going to fall apart as soon as you introduce a new variable.  This soffit situation for example can be handled a number of ways and you could spend an enormous amount of time setting up, tweaking, and testing a macros system like what Chris generously provided; however, that macro system would likely report completely incorrect information as soon as you switched to a gable roof and it would get even worse as soon as that roof plane had variable overhang dimensions. 

 

If you want to set up a consultation session, let me know.  I think even a short conversation would be well worth the minimal investment. 

Link to comment
Share on other sites

Is there a way to export a material list to Excel, fill in pricing values (pc/SQFT/LFT), and import that pricing back into the master material list? I'd like to have the lumber yard update a spreadsheet of building material pricing monthly, and then import that data into Chief Architect to generate a reasonably accurate buy list and preliminary cost of materials before formal bidding. 

 

Am I asking too much?

Link to comment
Share on other sites

On 5/2/2023 at 7:29 AM, DavidJPotter said:

The first thing my then boss asked me to figure out about our change to Chief Architect back in 1994 was to evaluate its ability to create Materials Lists. I worked for a Remodeling company then.

 

What I have found out is that if a client asks me to also create a Materials List, I tell them that what I estimated for simple 3D model or con docs. is small compared to creating a PERFECT 3 D MODEL  that can be used to create an accurate Materials list, at least 10X over and above what is required for plan sets or a rendering 3D model. The reason is that the software reads how the virtual 3D model is constructed, so if your model is not perfect from foundation to attic you will get an inaccurate Materials List and if it is perfect in all respects, you then can expect a useful  Materials List.

 

 

It requires, for me at least checking and rechecking to make sure all is true and correct, which takes more time than it does for simple con docs or a 3D model for pretty renderings.

 

DJP 

From 93 to 97 my Builder boss was not a fan of computers for quantity take off. I couldn’t convince him to get a CAD system in place back then.

 

Coming into that Job above from a family owned lumber yard where we were from 1986 making prefabricated wall frames and trusses. Using the Bostich system from the USA with the old DOS system of numerical input.

 

from 99 I decided to use CA for that purpose as I was on my own after 97. But because CA wasn’t developed enough back then I just used it draw my framing plans and took things off manually.

 

Now if I was doing that sort of work I would be confident in using CA ML but I would still use basic checking methods to ensure the quantities are in the correct range. Those checking formulas could be placed in the excel spread sheet for comparison.

 

With CA you can very quickly build a 3D model with framing that you can edit. When you are a building estimator you know what percentage to allow for each of the framing and other building elements. So a perfect 3D model is not essential when you are at the estimating stage. Many changes will occur along the way.

 

I thoroughly recommend using CA for this purpose and as you become more skilled at using it to build a 3D model, you will become more accurate in your quantity take offs as well.

 

When you are taking off concrete slabs and reinforcement you usually have to get that info from an engineer. For more accurate trusses and wall bracing and anchoring you would need to use a system and engineering application to finalize the process. Nothing is perfectly accurate in estimating to get the cost correct so that you do not loose money, that usually comes with much experience.

 

Have fun !

Link to comment
Share on other sites

20 hours ago, DRDesign said:

Is there a way to export a material list to Excel, fill in pricing values (pc/SQFT/LFT), and import that pricing back into the master material list?

Currently the best you can do is copy and paste.  If the rows in your Excel spreadsheet match the rows in your master list you could copy the price column from excel and paste it into your master list.  Be careful, the rows have to match exactly.

Link to comment
Share on other sites

2 hours ago, ChiefArmstrong said:

Currently the best you can do is copy and paste.  If the rows in your Excel spreadsheet match the rows in your master list you could copy the price column from excel and paste it into your master list.  Be careful, the rows have to match exactly.


I tried doing that, but Chief wouldn’t let me paste the column from Excel. 

Link to comment
Share on other sites

17 hours ago, DRDesign said:

I tried doing that, but Chief wouldn’t let me paste the column from Excel.

 

This is working for me:

  1. Select the entire price column in excel and copy it
  2. In the master list select the price cell in row 1, not the entire column
  3. Paste
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share