BrownTiger

Members
  • Posts

    739
  • Joined

  • Last visited

Everything posted by BrownTiger

  1. >Hello BT, Just trying to get the new revised version to work with the previously posted roof plane macro. Thank you. Issues with the cut and paste. Corrected >Would it be possible to return the Roof Plane # in the Roof plane label something like this ? Add something like this: result += "Roof Plane: " + obj.object_id.to_s i.e. result = "Slope Angle: " +(Math.atan2(obj.pitch,12.0)*180.0/Math::PI).round(2).to_s + "\n" result += "Pitch: " + obj.automatic_label+ "\n" result += "Area: " + ((obj.framing_area / 100.0 ).round(1)).to_s result += "Roof Plane: " + obj.object_id.to_s result
  2. Now I understand. Ok here is the full 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 #unless $tree['roofplanes'].has_value?(id) items = Hash.new() items['roof_plane']=id items['pitch']=obj.automatic_label items['area']=obj.surface_area $tree['roofplanes'][id]=items #end result = "Slope Angle: " +(Math.atan2(obj.pitch,12.0)*180.0/Math::PI).round(2).to_s + "\n" result += "Pitch: " + obj.automatic_label+ "\n" result += "Area: " + ((obj.framing_area / 100.0 ).round(1)).to_s result
  3. Thank you. I stand corrected.... It is Ruby exposed method.... I have looked at names ... and did not see it... My mistake > owner => #<NVPublisher:0x00020b6aaa46b0 @names=["layer_set", "layer_line_weight", "layer_line_style", "layer_line_color", "layer_text_style", "layer_is_default", "layer", "drawing_group", "floor_number", "object_type", "line_weight_is_default", "line_weight", "line_color_is_default", "line_style_is_default", "line_style", "hole_area", "hole_perimeter", "visible_length", "num_lines", "is_closed", "is_hole", "fill_color_from_background", "fill_color_from_layer", "pattern_vertical_spacing", "pattern_horizontal_spacing", "custom_pattern_scale", "pattern_angle", "transparent_pattern", "fill_line_weight", "automatic_label", "suppress_label", "angle", "pitch", "rafter_info", "overhang_area_3d", "projected_overhang_area", "surface_area", "framing_area", "projected_area", "framing_perimeter", "layers", "soffit", "skylight_width", "skylight_height", "skylight_description", "skylight_size", "gable_fascia_depth", "gable_fascia_width", "gable_fascia_length", "gable_fascia_size", "eave_fascia_depth", "eave_fascia_width", "eave_fascia_length", "eave_fascia_size", "drip_edge_length", "num_downspouts", "valley_flashing_length", "ridge_vent_length", "edge_flashing_length", "sloped_edge_flashing_length", "skylight_room"]>
  4. Disclosure: I am a software developer, and this is my hobby. One of the issues I have is Chief Architect they are not exposing "ChiefUUID" They should really provide true and complete Ruby access to the object [object accessor], and stop been a p*, and may be even let Ruby modify. Every plane has this hidden value "object_id". It is never disclosed by ChiefArchitect, and appears to be immutable. [ChiefUUID would have been better but we do with what we have]. As you can tell to form the key I just added a letter "p": id ="p" + obj.object_id.to_s So as far as I can tell... all planes should be enumerated. $tree['roofplanes'][id]=items Because, I think, the id is unique, the hash map $tree[ 'roofplanes'] should only allow ONE value for the key [id]. Unless the Ruby garbage collector is not working correctly or it needs: $tree['roofplanes'].rehash after the assignment... Now if you open multiple plans with this macro the global $tree may be populated by the different plans. In this case I would recommend may be make a triple hash. $tree[project_name_key][object_type_key][object_id] .? Other possibility is to check $tree['roofplanes'].has_value?(id) and if so don't bother with .. Something like unless $tree['roofplanes'].has_value?(id) items = Hash.new() items['roof_plane']=id items['pitch']=obj.automatic_label items['area']=obj.surface_area $tree['roofplanes'][id]=items end
  5. Computing roof slope angle best accomplished by: result = "SLOPE ANGLE: " +(Math.atan2(pitch,12.0)*180.0/Math::PI).round(2).to_s
  6. Show the roof area macro #initialize result="" sqft=0 #for each roof plane $tree["roofplanes"].keys.each_with_index do |key,index| s= index.to_s #concatenate all information result += "Plane: " + s +"\t" + $tree["roofplanes"][key]['pitch'] + " \t" + $tree["roofplanes"][key]["area"].round(0).to_s + " sq ft\n" #sum the sqft sqft +=$tree["roofplanes"][key]["area"].round(0) end #append the total result += "Total: " + sqft.to_s + "sq ft\n" result
  7. # If referenced assign obj = referenced otherwise obj = owner referenced ? obj = referenced : obj = owner #Next create new Hash tree if global $tree does not exists (nil) if $tree.nil? $tree = Hash.new { |hash, key| hash[key] = {} } end #Next we will prepare new hash map "items" with value pairs 'roof plane' = unique id, pitch = label, etc id ="p" + obj.object_id.to_s items = Hash.new() items['roof_plane']=id items['pitch']=obj.automatic_label items['area']=obj.surface_area #Next place the items this two dimensional hash map $tree['roofplanes'] (Unique Id) = hashmap $tree['roofplanes'][id]=items #Display the automatic label or whatever you want to see, now that we stored the information about our roof plane s =obj.automatic_label s
  8. In version X10 Chief was exporting name, value pairs. Since X11, Ruby integration significantly improved. Now Ruby engine has access to objects So we have drawing_group: 21 floor_number : 1 layer : cad,_plan_view layer_line_color : 255 layer_line_style : 111 layer_line_weight : 18 layer_set : "Plan View Set" layer_text_style : "Default Text Style" line_style : setback_line line_weight : 18 object_type : cad_line Still a little different from the app, and not all properties are available...
  9. You may have to provide a picture of what in the world are you talking about... A layouts that have a border, Some plan or plan view sent to a layout. Are you talking about some border over section or some other view? A border around PDF, or TIF that is embedded? And if you sent something to a layout did you send it as plot lines, live view? Confused
  10. On x11 you can right-click and "find in the plan". Whatever X11 shows you for stud count is incorrect because it assumes like 50' [whole wall] sections. In addition odd shaped walls sometimes give you really funky results, and watch for attic framing, none of it may be needed.
  11. ln - s (symbolic links ) are fine. They are processed at the OS level, vs cloud services that asynchronously updates the cloud images. Dropbox /google drive is too pitifully slow IMHO. I suspect with a good SAN, times will be the fastests. I assume you have SAN and not NAS. With MacOS I would have no issues with mounting SAN volumes placing shared components on them, with SANs computers communicate with SAN disk arrays using the SCSI protocol. The network is formed using SAS/SATA fabrics, or mapping layers to other protocols such as Fibre Channel Protocol (FCP) that maps SCSI over Fibre Channel, or iSCSI that maps SCSI over TCP/IP. The SANs are much faster, the issues observed by Renerabbitt are not necessary applicable to SANs. They are not a synchronized images - rather direct reads and writes. SANs were designed to handle the shared components multiple access, etc issues.
  12. I do not believe a file name is relevant. Calibz is just a zip version of .calib, (SQLite3 database file). Without me providing you with tools to read it ( If I remember correctly LibraryViews table XML contains a version), the second best option is to check the number of library objects. I believe you have the newest version.
  13. What about creating your own false dimensions symbol? Since you appear to want the false scale anyway. I suggested adding support for calling ruby functions, so designer can have myConvert(56.12345) as a macro
  14. If your library contains 2971 objects - it is the updated one.
  15. Toolbars have a backup built-in, but make your own copy ... it takes 10 seconds to restore 1) Find your data folder in preferences 2) Make a copy of your toolbar folder If lost or corrupted -- recopy from the backup
  16. Odd, if you do this in Windows you will get Import Drawing Assistant 020500_ramboard-detail-drawings-instructions_rev1-051517.dwg
  17. Oh no .... Windows issues again LOL. Let me try one last time. Hilight you DWG file with the mouse. Holding shift key > Right click and select "Open With" > See if X11 showing on that list If available select your CA X11 check the checkbox Always use this App to open DWG files... Done If not select "Choose another app" ... Scroll to the bottom to "More Apps" ... "Look for another Apps on this PC" Navigate C:\Program Files\Chief Architect\Chief Architect Premier X11 (64 bit)\Chief Architect Premier X11.exe Now check the checkbox Always use this App to open DWG files... Even if you didn't, after opening file in X11 you will get Chief architect X11 added to the list of available applications. BT
  18. Quercus Robur Core Catalog > Plants > Trees > Deciduous Pyrus (pear) Core Catalog > Plants > Kitchen Garden > Fruits, Berries, & Nuts > Pyrus Magnolia Core Catalog > Plants > Trees > Deciduous > Magnolia Azalea: Core Catalog > Shrubs > Deciduous > Rhododendron luteum > Rhododendron luteum Azalea pontica Spirea: Core Catalog > Shrubs > Deciduous > Spiraea Rosa: Core Catalog > Shrubs > Deciduous > Rosa Prunus Core Catalog > Trees > Deciduous > Prunus Thuja Core Catalog > Trees > Evergreen > Thuja >Thuja occidentalis
  19. post here https://chieftalk.chiefarchitect.com/forum/15-seeking-services/
  20. You may want to activate your signature when asking question https://chieftalk.chiefarchitect.com/topic/18908-signature-here-at-chief-talk 1) When creating a layout copy and paste / hold position from page to page. That way the plan in exactly same spot on every layout page. 2) Check your line weights Working Set vs Electrical in aldo and if weights are enabled
  21. Vs just drawing a slab footing? Takes only 1 second