Roof Rafter Labels Using For Take-Off


VisualDandD
 Share

Recommended Posts

Hey guys.   I have a pretty complex roof of a house I drew that I am helping with the take-off on.   I have noticed that I can select rafters and set label value to %length% and it nicely gives me the length in inches.

 

I cant seem to find a way to assign this globally unless I turn off all layer and only show roof framing and then group select.  (which I guess works)

Second question.   It gives value in decimal inches.   Any way to change format.  I tried inserting things like "nearest inch"...etc and other commands from other labels, but it did not work.

Any ideas?

Thanks!

 

Link to comment
Share on other sites

OK....I used one of the other macros to get a fractional output.

 

inches = length.floor

frac = (length.remainder(inches)*16).round.quo(16)

case

when frac == 1

result = "#{inches + 1}"

when frac == 0

result = "#{inches}"

else

result = "#{inches} #{frac}"

end

result

 

 

Now I have to see if I can get ft-in

Link to comment
Share on other sites

Never played with that function.  Just looked it up and it looks neat....but I am not sure I like "blindly" trusting the take-off list.

 

I framed for many years so doing take-offs from plans is pretty natural for me.   I like being able to reference where the material is going and I am not sure I trust chief enough to just read a list.

 

Plus, I dont have to be as accurate entering framing values in.   My engineer may spec different ridge sizes...lvl's  etc.   I can just reference my roof framing plan to and note the length on the plan and add it to my 'list'.

 

To be honest, I am not 100% sure of the easy way to do all this .   I never really used chiefs material take-offs for much, but looking to see if I can use it to save me some time.

 

 

To really see how it works, I made a simple plan and am playing with it to see how the list is generated.   If anyone would like to share any techniques on how to use the list (or portions of it) feel free!

Thanks for the push in a new direction of the software I never really used!

Link to comment
Share on other sites

WOW!!! Got it figured out.  

 

I had PM's Joe Carrick for some Ruby help and he pushed me in the right direction, but it was not exactly what I needed.   His solution of script went like this:

 

x = ((length/24).round(0) + 1)*24

if x == length+24

  x = length

end

x

 

 

This worked about 75% for my cases.   The problem was rafters that were say 111" would get div/24 and yeild 4.6 then rounded to 5 then adding "1" and multiplying back by 24 gives you a 12' rafter rather than a 10'.

 


I searched for a different ruby function other than "round" and found "ceil" which takes any number and rounds to next positive integer regardless. 

 

My formula for the framing labels now is:

 

inches = (((length/24).ceil)*24)/12

 

This takes the length of any member, divides it by 24 inches.   It then rounds up to the next 24" increment and converts back into feet.   This give you the ability to take-off and order material based upon nearest 2' increment....and never too short!   I am now going to produce 'cut sheets' for our framers and include beam labels...etc and this will not only help with take-offs but proper material usage.

 

I thought this was pretty cool.   Here is a screen cap of a complicated roof I tried it on and it worked like a charm!   I can add to my text macros to label member type (if I feel like modeling it that accurate).   May just be easier to transpose engineers notes and manually label LVL ridges and valleys as he has spec'd them.   I dont know about you guys....but I have 15+ years of framing experience too and I think this is VERY valuable.   I showed it to some builders I now design for and they flipped out at how much easier it will be to verify their take-off's AND know if their framers are using lumber properly.

 

Here is a quick screen cap

post-3615-0-43710900-1429229105_thumb.jpg

Link to comment
Share on other sites

Justin just getting into the macro things and like you I come from a building background, I like what I see with the rafters guess my ? is where do you put the macro so that it shows those lengths, the guys I draw for like when I show the framing rafters on the plans and they would like that marco also

Link to comment
Share on other sites

Justin just getting into the macro things and like you I come from a building background, I like what I see with the rafters guess my ? is where do you put the macro so that it shows those lengths, the guys I draw for like when I show the framing rafters on the plans and they would like that marco also

Go to the create text macro and copy and paste in the formula as I show.

Then what I do is turn off everything except the rafters and group select them.   Under the DBX I select "label" and pick the "user defined" macro I created.  It is that  easy.

 

Let me know if you cant figure it out, I can make a quick screen cap vid.

 

Frankly I am surprised more dont see the use in this.   I have almost 20 years of field experience and over 10 framing.  I have also done a good amount of general contracting...etc besides desgin.   Tools like this really translate across a lot of areas / trades and the use for potential customers is great.   I know the people that I do work for will be VERY happy with this addition to their plans.

Link to comment
Share on other sites

Justin,

 

I'm totally in agreement with you on the use of macros.  There is so much power available by using them - it just takes some time to get it set up.

 

You could further simplify your macro to:

 

(length/24).ceil*2

 

You don't need anything more than that.  ;)

Link to comment
Share on other sites

Justin,

 

I'm totally in agreement with you on the use of macros.  There is so much power available by using them - it just takes some time to get it set up.

 

You could further simplify your macro to:

 

(length/24).ceil*2

 

You don't need anything more than that.  ;)

Thanks Joe.   Your help got me pushed in the right direction.   I have never used them, but now will be searching for other ways to use them for productivity as well as expanding the information I can make available to clients. 

 

As a framer, it would be nice to see if I can create macros to either give me the plate bearing heights (factoring certain birds mouth cuts knowing different size rafters have different 'stand heights'.)

 

Another one that would probably be easy is ridge heights...etc.

Link to comment
Share on other sites

Hi Ray , I'm new to the text macro field too and found I had to check the evaluate box and set the context box to Owner Object to get it to work, though I'm not 100% sure this is correct , but Joe will confirm or debunk as needed I am sure :)

 

either formulae above works BTW.

 

post-315-0-38035100-1429297729_thumb.jpg

 

 

very handy feature , now we need a Text Macro sub-forum so the experts can share/help with them .

 

 

 

 

Link to comment
Share on other sites

Hi Ray , I'm new to the text macro field too and found I had to check the evaluate box and set the context box to Owner Object to get it to work, though I'm not 100% sure this is correct , but Joe will confirm or debunk as needed I am sure :)

either formulae above works BTW.

.

Yep, Labels are "Owned" by their object. the Rafter is the "Owner" and that's the object that has the length. You could use a context of None but then you would need to specify owner.length instead of just length.

Link to comment
Share on other sites

Thx Joe , a little more insight gained .... is it worth watching the old x3 and x4 text macro videos or has stuff changed a lot since then ?

 

http://video.chiefarchitect.com/?search=text+macros

They are worth watching.  The biggest problem is finding exactly what is available for what object.......

 

For example:

 

A Layout Box contains an anttribute (amongst others) referenced_full_filename which is the full path and filename of the file that was sent to the Layout.  This can be used to construct additional filenames to read and write.  Interestingly, the context for using this is "Owner" because you would have to put the macro in the Label of the Layout Box.

 

Chief has not documented all the attributes available and where and how to use them.  That's one of the biggest shortcomings.  It would be really nice to have a complete list (indexed and searchable) but at this point the Ruby Console is the only source of that information.

 

The other problem - and it's one I believe will be alleviated in the next release or two - is that a lot of object data is still not available to Ruby.  One of those is something Justin asked about - Ridge Height. 

Link to comment
Share on other sites

I think this one of the best uses of ruby I have seen.

It can be easily used in conjunction with the Materials List to produce a buy list that directly relates to the framing plan.

In this example I have consolidated any lengths under 6'.

 

Although I dare say that the experts could probably produce a buy list using Ruby and the length values?

post-106-0-57996000-1429405627_thumb.jpg

Link to comment
Share on other sites

Although I dare say that the experts could probably produce a buy list using Ruby and the length values?

i don't know of any way, at present, that Ruby could produce a buy list without making a separate macro for each rafter which would be pointless. The reason being that there is no way to ID objects such as rafters in Chief. The name field was removed in X4 in lieu of the automatic_label for all labels except rooms.

 

The material list, however, produces a accurate buy list but not in table form as you note.

 

Just one of the deliberate and ridiculous limitations with Ruby data which make it mostly worthless.

Link to comment
Share on other sites

Gerry's point is well taken.  Rooms can be uniquely identified by giving them unique names (I use Room Numbers) but no other Chief objects have that capability.  With unique names the data can be written to Global Memory so that the next time the macro runs it can be checked against the existing to prevent duplicating the item or counting it more than once.

 

If there was a way in Ruby to return an "ID List" of objects of a given type so that a macro could process each object in sequence then it would work.  At present there is no such functionality.

Link to comment
Share on other sites

Glenn:

 

Only saying that you had to cut/paste from the material list to get the schedule you wanted in plan.It might be nice to have the ability to create such a schedule within the program automatically. Other than that -- Chief's buy list is accurate and convenient.

 

 

Joe:

 

I content that because of the way Ruby operates during the selection/label process with an ID  passed to Ruby for each object selected. This means that some sort of ID is already available on the C++ side which could provide access on demand with Ruby for any object. Probably something that could only be done on a manual update/command as transfer of that much data on every screen update would bog down performance. IOW-- the mechanism is already in place, if we could get it hooked up. You might want to talk to Chief about this.

Link to comment
Share on other sites

Gerry,

 

I agree on this subject.  Chief can obviously do a "match selection" as evidenced by "Select Same".  All that would be needed would be to pass this list as an array to a Ruby macro to be processed.  It would be easy to do with a named Global Variable.

Link to comment
Share on other sites

None of that will work until Chief get the framing correct, as we all know Chief will not reduce the ridge/ hip depth at the eaves/ overhang, It sticks out the bottom and it shows on the interior and exterior elevations, so I have to reduce those to be the same depth as the rafters to show correctly in section and elevation views. That alone will make the materials list wrong but there are others also.

Link to comment
Share on other sites

Perry,

 

Doesn't the Trim To Soffits option fix that?

that works for Rafters but I have seen the issue Perry is referring to as well where Hips and ridges in some cases will show thru the finished drywall or soffit.

 

CA also labels all subfascias as Rafters at the moment in the ML ( and this method) even though they are spec'd differently on the framing Tab etc.

Link to comment
Share on other sites

I think this one of the best uses of ruby I have seen.

It can be easily used in conjunction with the Materials List to produce a buy list that directly relates to the framing plan.

In this example I have consolidated any lengths under 6'.

 

Although I dare say that the experts could probably produce a buy list using Ruby and the length values?

Great!   At least I know I am not crazy when I thought this would be a good idea.   At first, no one seemed to respond to the idea so I was wondering if I was the only one that saw value in it.   To me, it really does a good job of presenting information in a way we actually use it in the "real world"

As for the pic you posted, would you mind sharing how you did that?   Is that an automatic macro or did you manually create it?   It would be awesome if you could have a table like that which was automatically populated from the roof plan in plan view. 

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