More Macro Help


Recommended Posts

I have a couple questions for those "Macro" experts out there.  I am trying to get CA to auto calc some numbers for me.  I have attached a plan with the questions.


First is trying to get the "total roof area" into a macro so when I draw a roof, the macro will automatically calc out the sqft.  As of now, I have to get the number and manually enter it in.  I would rather not do that and have CA do it automatically.


Second is getting a macro to do a basic math equation.  One number is from a polyline and the other is manually entered.  


Any help is appreciated!

Macro Questions.plan

Link to comment
Share on other sites

The Total Roof Area is more work than it's worth.  You would need to have a reference macro with an arrow pointing to each roof plane.  It could pick up and store that area in a global variable but to calculate the total it would have to then add each one up and store it in another variable to display.  Each time chief redisplays the plan, each of these macros would be evaluated and since roof planes do not have unique id's like room names it's almost impossible to make sure each value is zeroed out and the total is calculated properly. 


I've done a similar thing with decks, bedrooms, etc but with roof planes it would be almost impossible the way is currently configured.


The only values from a Polyline that might be useable would be perimeter and area.  Writing a macro to access those would be possible but it would need to be a reference macro and I'm not sure Chief has included the capability of entering user values in Ruby. 

Link to comment
Share on other sites

I pretty much agree with Joe. It's really not a good (productive) idea to try to extend Chief into areas that Chief has "Signaled" that their not likely to support. You'll only run into road block after road block.


However, Joe is on the right track, To do this you need to use global memory as temporary storage. In addition, you need to assign a ID to each object through the reference macro. The result then is quite easy to accomplish.


Since you must use a reference macro for each plane, this is easy to do. BUT 10 roof planes == ten unique macros, although they will be identical except for the ID in each one.


Overall , you'll find the set up will take longer than just manual cals.


If your still interested, I'll try to find and attach an example late tonight as I have done this before ( unless someone beats me to it).


BTW, references are not really reliable in Chief for reasons Chief is well aware but not likely to change..

Link to comment
Share on other sites

Thanks.  Yeah...I am definitely not going to do a macro for each roof plane.  That is just way too time consuming that just looking up the "All Roof Planes" is much faster.  I was hoping since it appears that CA (assuming in the background somewhere) figures out the total for all roof planes, that there was a simple way to get that value.


I do currently use macros for house/garage/porch square footages that seems to work fairly well for me using the same concept.  I do not feel how CA determines SqFt totals are correct, so the polylines are my little "work-around".  


For the second part of the question - is there a way to do a mathematical equation within a macro.  I want to take an "area" of a polyline and subtract a value that I enter in.  What it is for is glazing percentages.  The "area" is the house sqft and the value I enter is the glazing sqft.  I was hoping it was a quick easy thing that it could calc out.  If not, it isn't the end of the world.  Saving a step adds up over time, so just looking for ways to speed up my process.


Thanks for the info guys!  Appreciate it!

Link to comment
Share on other sites

You can also use the supplied "Living Area" text box as ruby has access to the same room values as a normal room except this is for the whole house area.


Just make up a one line macro using either standard_area or internal_ area with the equation = glazing area/standard_area. (your number in glazing area) however these fields do exclude  any excluded room areas from living area. Ruby macros always report the last value calculated.


Then add the macro to one line of the "living area" text box.

Link to comment
Share on other sites

No.  I use a polyline and on a separate layer set specific for that purpose cover the area of the house.  The issue I have with CA sqft calc is that they take the house walls that have a porch cover/deck/garage/etc and split that wall in half.  I do not feel that is correct.  I am sure they have a reason programming-wise as to why it is that way, so that is my "work-around".  It would be nice if that was changed, but I don't think that will happen anytime soon.

Link to comment
Share on other sites

No.  I use a polyline and on a separate layer set specific for that purpose cover the area of the house.  The issue I have with CA sqft calc is that they take the house walls that have a porch cover/deck/garage/etc and split that wall in half.  I do not feel that is correct.  I am sure they have a reason programming-wise as to why it is that way, so that is my "work-around".  It would be nice if that was changed, but I don't think that will happen anytime soon.



Yes, that is incorrect, to figure 1/2 walls on porches and garages, but its close enough for me, until fixed, whenever they get around to it. (a few s.f.) . I just use the room finish schedule to figure square footage w/ totals included. You can also include or not any room.


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

  • Member Statistics

    Total Members
    Most Online
    Newest Member
  • Similar Content

    • By ACADuser
      I have a macro ffe_data with this: [Evaluate / None]
      ffe_house = "24.0' FFE NAVD88"
      ffe_2nd_Floor = "23.5' FFE NAVD88"
      ffe_garage = "23.9' FFE NAVD88"
      ffe_porch_1 = "23.5' FFE NAVD88"
      ffe_porch_2 = "23.5' FFE NAVD88"
      ffe_stoop = "23.5' FFE NAVD88"
      ffe_grade_1 = "22.5' FFE NAVD88"
      ffe_grade_2 = "22.5' FFE NAVD88"
      I want to use rtext to display th value of ffe_garage.
      What is the syntax to display the value of that variable?
      PS I think someone already told me how years ago but I must have forgotten.
    • By Allen43
      I am new to Chief but so far I love it. Far better than my previous software. So far, the only problem that I have had is using macros to create a custom label for cabinets.
      All I am trying to do is get chief's labels to match my manufacture nomenclature. I know I could manually change it on every cabinet, but that seems like to much work and honestly a waste of time. So could someone give me some help. Either a bit of a guide on custom macros and some recourses and documentation (which I, for the life of myself, can't find), or maybe a working-ish or example macro.
      Some examples:(chief nomenclature, needed nomenclature)
      3DB24, B3D24
      U242484L, T2484L
      FHB24L, BF24L
      Thanks in advance for the help! And if I didn't give enough information or if there is a better way to go about this, please let me know.
      Oh, almost forgot. I am running Interiors x14.
    • By Renerabbitt
      Do you have 10+ years in the software and wonder if you've been missing some tips and tricks? Have you been able to break the 15 hour condoc set?
      Maybe you are a proficient user that wants to know everything that there is to know in Chief.
      Rendering, Automation, Resources, Symbols, Quick Tools, Style Pallets, PDF Tools, Templates, and more.

      We believe in lifting the community up. All of our tools and resources are available to you. With training that can be personal, team oriented, prerecorded, livestreamed, interactive. We offer training in over 15 softwares from Drafting and Detailing to Modeling, Advanced Texturing, Procedural Workflows, Node Based Design, Macro Creations, DAMs, Automation, VR Workflows, Streaming Overlays and Masks and much much more. Tell us your needs and we will connect you with the package or the right resource.

      Some example learning modules:
      Concentric Jump your dimension strings
      Enter-input your jumps and Enter-close your DBX's
      Snap jump your door widths, concentric jump your windows
      Alt behavior tips, contain-selection and deselection workflows with tool restrictions. 
      Tons of cabinet tools and tips, including custom one-off parametrically modelled vanities and more.
      Custom Toolbar Icons and Custom Library Objects.
      Toolbar Switching Tricks and Library workflows

      Other Offer Services Posts:
    • By Efflorescence
      What can you do if NOTHING happens when you try to "insert macro" in a rich text box?
      In most (but not all, apparently) dialogue boxes, I'm prompted with a whole slew of options to select from and they get inserted directly into my text box. But right now I'm working in a Layout template - on the Page 0 - and I'm inserting rich text and the insert macro option does absolutely nothing.
      I've looked for a list of text macros so I could type them in manually as "%whatever.whatever%" but can't seem to find any such list on the WWW.
      Fairly new to Chief so would appreciate any help out there!
    • By tdroes82
      Simple question I think. I just cant seem to figure this out.
      How do I create a Text box with my plan areas?
      - When I use %room.area.standard%, this gives me what I need. But I can not move the text out of the room.
      - when I have 2 porches, can I add the two areas together on another "total porch" sq.ft text line?
      - Do I use Standard Area Polyline? If so, what is the correct macro to read it, such as living area, garage, porches, etc.
      I can use stand area polyline, and then add correct macros to the label of each. Then move the label to the side in a list. But is there a way to accomplish this in 1 text box, reading each area respectively. What about adding 2 porches into 1 total porch area?
      Here is what in 1 text box:
      total Heated Living:   sq.ft.
      total Garage:    sq.ft
      total porches: sq.ft.
       Then I can send this text to layout where I need it. Any help is appreciated.
      Thanks. Thomas