-
Posts
739 -
Joined
-
Last visited
Content Type
Profiles
Forums
Gallery
Posts posted by BrownTiger
-
-
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.
-
-
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.
- 2
-
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.
-
-
-
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
-
-
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.
-
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.
-
Edit Area (All Floors) should work, if it is not attach the plan or contact customer support.
-
Like this
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
-
>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
>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.
-
> I don't get an error but also no results ?
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)
- 1
-
#=== 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
-
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).
-
** 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 ...
-
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
- 1
-
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
- 1
-
-
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?
-
22 hours ago, Alaskan_Son said:
Good idea, but no. Chief hasn't given us access to the current file name anywhere except in layout boxes where they've given us access to the referenced file.
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
-
-
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
stem walls
in General Q & A
Posted
Here. Have not made any structural adjustments
Rosene.plan