BrownTiger

Members
  • Posts

    739
  • Joined

  • Last visited

Everything posted by BrownTiger

  1. Here. Have not made any structural adjustments Rosene.plan
  2. These things are state dependent. How does your builder build those porches. I am not an architect, this is my hobby. From the engineering perspective I have seen 5 or 6 different ways porches are done. Some places use diagonal hatches to build the porch, others grade beam, not sure why would someone waste icf blocks on the porch. In Indiana, if the finished floor +12" the builders use 2x8 = 7 1/4 to form a slab that leaves 5" between a slab and the rough floor. In this case psolid porch floor. DNester has a really good video. I don't know why would someone waste icf blocks on a porch.
  3. Like this: You are working way too hard Rob, Use object Eyedropper select the room in the crawlspace and copy it the porch or even the garage
  4. Yes you can. One time procedure: Open new plan, place glass door from the catalog. Select this symbol from the bottom action bar select the chair with the star button "Convert Selected to Symbol" -> specify Symbol Type: Window. Add it back to your user library. From now on it will be on the window scheduler.
  5. Use ChiefArchitect menu: FILE > "New Plan from Template" and select some different template. If you have a profile.plan open it and remove those those buildings. It is not corrupted. This is the way chief architect works. Some people like to start the plan with preset cameras, cross sections, box, macros, background, dimensions settings, arrows, layers, predefined wall types, plan views, and the standard details. If you use CA daily, designing houses and buildings - highly recommend to set own templates for both profile.plan and corresponding profile.layout.
  6. You can change the way deck material are reported, from area, to count, to ... BT
  7. Created ^ Modified Schedule For each window use "Find Object in Plan" to locate the window Next Ctrl-E to open the object and paste %headerHeight% into the custom field, see picture(1).
  8. Not sure what are you asking... Here is a macro: I created OIP "HeaderHightASF", assigned this macro. Whent to the scheduler, double clicked added this OIP "HeaderHightASF" and it showed up just fine. Revised per Kbird1 suggestion below: Proper: headerHeight2.json = header_elevation Prior (bad) top headerHeight: headerHeight.jso header_elevation + header_depth Thank you KBird1
  9. To display the value on the schedules insert you Ruby macro into one of the Object Information fields. Now add this field to your Door and Window schedules....
  10. Take owner.header_elevation + owner.header_depth and maybe apply that to_ftin to format ft and inch that has been posted more than few times.
  11. You find a stretch zone (line) on your plan, and run edit area (all floors) - draw the rectangle over the area you intend to move; now the cursor will stretch or contract the structure . Use Edit>Default Settings>Plan > Arrow Key scroll distance to set the distance you want to expand or contract. That way one key press is enough. >I would be entitled to assistance via Chief since I don't maintain SSA, isn't that right? Live, priority technical support (phone & online) is available to Support and Software Assurance (SSA) customers with the current version of Chief Architect. Customers without SSA qualify for non-priority live support if using the current version of Chief Architect (please note, this is not a design consultation). Topics covered by our support team are limited to installation issues and program errors. Software questions and how-to's should be directed to the training department, free training resources or the ChiefTalk user community. Paid support is available for version X2 and newer on a per incident basis for $125.
  12. Edit Area (All Floors) should work, if it is not attach the plan or contact customer support.
  13. Like this MacroEaves.txt MacroLabel.txt This was for eaves fascia, you could also add up the " .gable_fascia_length" or ".ridge_vent_length", or even get the OSB (layers[1].material_data ) description: "OSB-Hrz" formatted_size: "48"x96"x1/2"" quantity: 14.25
  14. >How does one prevent getting multiple roof planes, every time I make a revision I get a new roof plane in the schedule. $tree = nil In the Ruby console will reset the collection. >Trying to get to the order as shown on the left of the attachment MacroRoof.txt >Lastly, how can one control the numbering order of roof planes. Any help is greatly appreciated. Don't have a clue. There is no roof scheduler. All planes are equal. All I can do is sort them from the largest to smallest.
  15. > I don't get an error but also no results ? Macro_room_sqft.txt Because $tree["rooms"][key]['floor_number'] <-- is a number and not a literal. $tree["rooms"][key]['floor_number'] == 1 <- not == '1' >One other little issue I noticed is that the macro seems to pick up the data from the "Living Area Label".  Is it possible to use this in the plan but exclude it from the results ? Many ways... - Double click on the "Living Area Label" and remove the collector macro at the bottom. Followed by $tree = nil ( or open and close ChiefArchitect)
  16. #=== room_sqft_info sorted macro by request== result="" sqft=0 v=$tree['rooms'].values.sort_by {|h| [ h['floor_number'],h['room_name'] ]}.each_with_index do |val,index| s= (index+1).to_s if ( val['conditioned'] && val['type_name'] != 'Open Below') result += " " + s +"\t" + val['room_name'].to_s + " \t" + val['floor_number'].to_s + " \t" +val["internal_area"].round(0).to_s + " sq ft\n" sqft +=val["internal_area"].round(0) end end result += "Totals: \t\t\t" +sqft.to_s + " sq ft \n" result Macro_room_sqft2.txt
  17. The issue is ... and I am really sympathize with the author about his font issues. ChiefArchitect is based on Qt framework. In Qt you set the font QApplication and every dialog QDialog inherits it. All good. However Ruby macros Ruby dialog [886_] this font is way to small. Chief Architect Premier X11 Dialog Sizes.ini allow you to define dialog sizes, but not the font. ChiefArchitect allow you to override the font but only for a material list. So my understanding is that @Kbird1 was looking for a solution and someone suggested Notepad++. [Fine right?] But I think he is trying to open JSon file instead of just pasting the script. My Suggesting would be to use Windows Magnifier tool (<Window Key> and <PLUS key> to launch, and <Window Key> and ESC to turn off).
  18. ** Is there a way to force the Room sort Order eg alphabetically or by Room type per Floor would be best if also possible Lol I realize ruby language is pretty cryptic, elegant in its own insane way... 1) in the collector macro change to upper case from items['room_name']=obj.name to items['room_name']=obj.name.upcase Next sort your way, by first creating an array of values and next sorting it, or sort by room scheduler number (that one can be manually reordered). $tree['rooms'].values.sort_by {|h| [ h['floor_number'],h['room_name'] ]} Sort it by as many predicate as you wish >Should we use the room standard area instead of internal perhaps Standard Area is measured from center of interior walls Interior Area is measured from the inner surfaces I assume that the standard area for promotional purposes ...
  19. The garages_sqft_info macro can print out garages. Same with porches etc == result="" sqft=0 $tree["rooms"].keys.each_with_index do |key,index| s= (index+1).to_s if ( $tree["rooms"][key]['type_name'] == 'Garage') result += " " + s +"\t" + $tree["rooms"][key]['room_name'].to_s + " \t" + $tree["rooms"][key]['floor_number'].to_s + " \t" + $tree["rooms"][key]["internal_area"].round(0).to_s + " sq ft\n" sqft +=$tree["rooms"][key]["internal_area"].round(0) end end result += "Totals: \t\t\t" +sqft.to_s + " sq ft \n" result Garage_sqft.txt
  20. This was an example of enumeration for rooms. I recommend you for practical purposes to store "conditioned" value and may be "type_name". == roomLabel Macro == referenced ? obj = referenced : obj = owner if $tree.nil? $tree = Hash.new { |hash, key| hash[key] = {} } end id="r" + obj.object_id.to_s items = Hash.new() items['room_name']=obj.name items['floor_number']=obj.floor_number items['internal_area']=obj.internal_area items['conditioned']=obj.conditioned items['type_name']=obj.type_name $tree['rooms'][id]=items arr = (obj.ceiling_elevation-obj.floor_elevation).round(0).divmod(12) result ="#{arr[0]}'-#{arr[1].round}''" + " CLG.HT." result == == room_Sqft_info == ############################################################## # # ORIGINAL MACRO CODE BY FORUM MEMBER ---- MANY THANKS TO BROWN TIGER ----- # #https://chieftalk.chiefarchitect.com/topic/20097-ruby-enumerating-objects-list-of-rooms-areas-or-sq-ft/ #or #https://chieftalk.chiefarchitect.com/topic/24014-q-how-do-i-get-control-over-the-macro-generated-text-on-a-roof-plane/ # # EDITED BY MICK AKA KBIRD1 ON CA FORUMS WITH A LITTLE HELP FROM CHOPSAW # # Place this Macro in a Text Box or Rich Text Box # or in a 4 Column Schedule converted to Text. (best looking) # # Make sure the room_Label Macro is also added to the Room Default Label # in the Plan Defaults as well. # ############################################################## result="" sqft=0 $tree["rooms"].keys.each_with_index do |key,index| s= (index+1).to_s if ( $tree["rooms"][key]['conditioned']) result += " " + s +"\t" + $tree["rooms"][key]['room_name'].to_s + " \t" + $tree["rooms"][key]['floor_number'].to_s + " \t" + $tree["rooms"][key]["internal_area"].round(0).to_s + " sq ft\n" sqft +=$tree["rooms"][key]["internal_area"].round(0) end end result += "Totals: \t\t\t" +sqft.to_s + " sq ft \n" result
  21. I typically click on a Macro in TMM and copy and paste the results into a text box; If you adjust a roof plane -- copy and paste again. This was a test Ruby project for an enumeration of roof planes. Same thing can be done with area analysis, etc.
  22. Thank you guys. Another improvement slope = (Math.atan2(obj.pitch,12.0)*180.0/Math::PI).round(2) Can be replaced with the angle method no need to calculate. slope = obj.angle.round(2) Anyone knows what is the difference between .framing_area and .surface_area methods?
  23. I was hoping they would use like $0 to get the current file name... but instead it reports pointless "embedded" Here is the script to check for globals result = "" result += "RUBY VERSION " + RUBY_VERSION + "\n" result += "RUBY Release: " + RUBY_RELEASE_DATE + "\n" result += "RUBY Platform: " + RUBY_PLATFORM + "\n" result += "Scripts folder " + ($:).to_s + "\n" result += "Loaded Features " + ($LOADED_FEATURES).to_s + "\n" result += "Default Output " + ($>).to_s + "\n" result += "Environment:\n" + ( ENV).to_s + "\n===== End of Environment\n" global_variables.each { |gv| result += "#{gv}: #{eval(gv.to_s)}" } result
  24. Try this label macro referenced ? obj = referenced : obj = owner if $tree.nil? $tree = Hash.new { |hash, key| hash[key] = {} } end id="p" + obj.object_id.to_s pitch = obj.automatic_label area = ( obj.framing_area / 100.0 ).round(1) slope = (Math.atan2(obj.pitch,12.0)*180.0/Math::PI).round(2) #unless $tree['roofplanes'].has_value?(id) items = Hash.new() items['roof_plane']=id items['pitch']=pitch items['area']=area $tree['roofplanes'][id]=items #end indx = $tree['roofplanes'].keys.find_index(id) result = "Slope Angle: " +slope.to_s + "\n" result += "Pitch: " + pitch+ "\n" result += "Area: " + area.to_s + "\n" result += "Roof Plane: " +indx.to_s result ============================================ Entering statement below in Ruby console will reset your collection tree. $tree = nil