VisualDandD Posted April 8, 2015 Share Posted April 8, 2015 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 More sharing options...
VisualDandD Posted April 8, 2015 Author Share Posted April 8, 2015 OK....I used one of the other macros to get a fractional output. inches = length.floorfrac = (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 More sharing options...
Kbird1 Posted April 9, 2015 Share Posted April 9, 2015 is the ML set for Cut List not giving you what you need ? M. Link to comment Share on other sites More sharing options...
VisualDandD Posted April 9, 2015 Author Share Posted April 9, 2015 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 More sharing options...
VisualDandD Posted April 17, 2015 Author Share Posted April 17, 2015 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 Link to comment Share on other sites More sharing options...
chief58 Posted April 17, 2015 Share Posted April 17, 2015 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 More sharing options...
VisualDandD Posted April 17, 2015 Author Share Posted April 17, 2015 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 More sharing options...
Joe_Carrick Posted April 17, 2015 Share Posted April 17, 2015 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 More sharing options...
VisualDandD Posted April 17, 2015 Author Share Posted April 17, 2015 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 More sharing options...
Kbird1 Posted April 17, 2015 Share Posted April 17, 2015 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. 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 More sharing options...
Joe_Carrick Posted April 17, 2015 Share Posted April 17, 2015 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 More sharing options...
Kbird1 Posted April 18, 2015 Share Posted April 18, 2015 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 Link to comment Share on other sites More sharing options...
Joe_Carrick Posted April 18, 2015 Share Posted April 18, 2015 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 More sharing options...
glennw Posted April 19, 2015 Share Posted April 19, 2015 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? Link to comment Share on other sites More sharing options...
GerryT Posted April 19, 2015 Share Posted April 19, 2015 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 More sharing options...
Joe_Carrick Posted April 19, 2015 Share Posted April 19, 2015 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 More sharing options...
glennw Posted April 19, 2015 Share Posted April 19, 2015 The material list, however, produces a accurate buy list but not in table form as you note. Gerry, I don't understand what you are saying. That buy list is copied from the material list. Link to comment Share on other sites More sharing options...
GerryT Posted April 19, 2015 Share Posted April 19, 2015 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 More sharing options...
Joe_Carrick Posted April 19, 2015 Share Posted April 19, 2015 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 More sharing options...
DRAWZILLA Posted April 19, 2015 Share Posted April 19, 2015 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 More sharing options...
glennw Posted April 20, 2015 Share Posted April 20, 2015 Perry, Doesn't the Trim To Soffits option fix that? Link to comment Share on other sites More sharing options...
Kbird1 Posted April 20, 2015 Share Posted April 20, 2015 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 More sharing options...
VisualDandD Posted April 20, 2015 Author Share Posted April 20, 2015 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 More sharing options...
Joe_Carrick Posted April 20, 2015 Share Posted April 20, 2015 I've posted a "Framing Line Label" in the "Content" forum that can be used in lieu of the "Joist Direction Line". It provides a more accurate description of the Type of Framing. https://chieftalk.chiefarchitect.com/index.php?/topic/4871-framing-line-label/#entry41943 Link to comment Share on other sites More sharing options...
DRAWZILLA Posted April 20, 2015 Share Posted April 20, 2015 Perry, Doesn't the Trim To Soffits option fix that? Not for me the interior will still poke through the ceiling and the hips still poke also. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now