I have returned to this forum once again in seek some help with ruby and macros.
I have been working on a macro to automate cabinet labels. So far I have a mostly working macro, but I feel like my hands are tied and my eyes are closed. First of all the documentation on chief implementation of ruby and its capabilities it really lacking. And second, I don't have the Ruby terminal. I think this is because I am running Interiors, but am not sure as all Chief says is that there is limited use of Ruby in this version.
Anyways, right now I would love to have a list of all callable object attributes. I honestly don't even know if that is the right name for what I am looking for. I am trying to find a list of what info I can scrape from a cabinet. So, what can I put after obj. (ie. obj.width, obj.type)? I think I could find this by running the selected.names command in the terminal, but I have no way of knowing.
This is my current macro. It is built from parts of a macro from @MarkMc and whatever I have been able to come up with from random trial and error. If you see something I could improve on, I am open to suggestions as long as they have a good explanation with them. Thanks in advance!
obj = owner
obj = referenced unless referenced.nil?
type = obj.type.to_s
nf = NumberFormatter.new
nf.unit = 'in'
nf.use_fractions = true
nf.show_unit = false
standard_size = 24.0 if type == 'base_cabinet'
standard_size = 12.0 if type == 'wall_cabinet'
standard_size = 24.0 if type == 'full_height_cabinet'
depth = nf.apply(obj.depth) if obj.depth.to_f != standard_size
standard_size_height = 36 if type == 'base_cabinet'
standard_size_height = 0.0 if type == 'full_height_cabinet'
height = nf.apply(obj.height) if obj.height.to_f != standard_size_height
width = nf.apply(obj.width)
nomen = 'B' if type == 'base_cabinet'
nomen = 'W' if type == 'wall_cabinet'
nomen = 'T' if type == 'full_height_cabinet'
hinging = owner.door_swing
label = ""
label << nomen << width.to_s << height.to_s << depth.to_s << hinging
I'll new to Chief and have learned that this form might be one of the best resources I have ever used. I am trying to streamline my design process and to do that I would love to be able to change cabinet ends to finished or paneled faster and easier. I tried to make a SP to do this, but I couldn't figure it out. I also thought that there might be a way to do this with macros is a SP, but I know even less about macros than I do Chief.
Any help is appreciated, and if it's not possible that's fine I'll know not to spend more time on this.
I have searched the Chief Architect website and also here. I have X14 now and want to show sliding doors on some base cabinets. Perhaps I am missing the options to adjust this in the cabinet specifications.
Would appreciate someone helping me find this. Seems like it would be available in the library with the resurgence of Mid-Century Modern. Thank you.
When you place a cabinet as a blind corner, CA automatically adjusts the filler and door size for the exposed portion of the cabinet.
The filler is 2" wide... we typically work with 3" fillers to make sure there is clearance on the adjoining cabinet hardware.
How can this default be changed?, as having to add a vertical blank each time is getting old.
Thank you for any suggestions.