Custom Macro For Cabinet Labels


Recommended Posts

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



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.

Link to comment
Share on other sites

10 minutes ago, solver said:

Everyone here appreciates it when new members complete their signature with some basic info including their version of Chief. Makes it easy for others to locate, and results in you getting the best answers.


You can add that info, Windows or Mac computer etc to your signature by clicking on your user name at the top right of the page, click Account Settings, then Signature on the left.



Thank you for the reminder. I updated my signature.

Link to comment
Share on other sites

27 minutes ago, Allen43 said:

there is a better way to go about this, please let me know.

I wrote a pretty complicated macro back when I was a kitchen dealer, not for the faint of heart. That broke when they changed ruby. If I were to do it again I'd make 3 instead. One each base wall tall.

But nowadays there is a better way.

Make a custom OIP field "Enter Label"

Write macro


(oip["Enter Label"])

Place the macro in your default cabinet labels, each type.


Whenever you configure a cabinet you will put a simple label in that 

Something like B3D %width%

IF you have to order cabinets in 3" increments you need to replace %width% with a macro that rounds up to nearest multiple of 3. (I have one but not where I am now)

THEN make a Style Palette from that cabinets, name it, select none, then check off "copy face configuration" & "Custom Fields".

NOW place and size your cabinets using ONLY the ones in the Buildenu or standard icons from drop down NOT the library. (I use shortcut keys )

After placing select appropriate Style Palette (SP) and click on cabinet. That will both change you face config & the label.

If you use a lot a simple cabinets, drawer and door put the nomenclature with the size macro(s) in the Enter label field in the defaults.

You can have specific SPs for things like trash pullout etc. Off the top I don't remember which of those require you to select an extra option to include in the SP.

Don't include sizes in most SPs, size the cabinets first (or later) in plan.

For these SPs I leave them to use the default door and drawer style.


You can start with any cabinets you have already configured.

That should get you started. If no one tells you how to write macro for 3" increments I'll post on Monday.


Link to comment
Share on other sites


Here is a rambling look at how Style Pallets might work. Not suggesting any of this is best practice as I spent a very short time setting things up and reading docs/viewing videos before making this.




Link to comment
Share on other sites

Lots of Ruby and macro related info on the forum, but it needs to be searched for. I have a few videos on my YouTube channel.


All the info is there to enable you to build your own label from scratch -- see %object_properties%.


And listen to Mark. I think he has tried it all and ultimately settles on the best (at least for his workflow) method.

  • Like 1
Link to comment
Share on other sites

On 9/9/2022 at 1:42 PM, Allen43 said:

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.

Follows zip file with plan and one style palette. Plan has two types of macros in it. One group that returns the proper 3" increment- one each for either H, W, D.

The other "evo w drawer, Copy-3" is an old one I wrote back aways for a specific cabinet brand. It has not been migrated but appears to work...unless you migrate it then it needs to be fixed.

If using the H, W, D macros I  would likely add to them an if or case statement so that at certain dimensions nothing is returned.

Example: you want a layout to have XYZ- WH-D...unless D is a default; or if a base unless H is a that. There are several other ways to get around that but this should get you started. Might be useful if you decide to go and hire a macro writer since AFAIK none of them deal with standard manufactured cabinets so this may help.

cabinet label

Link to comment
Share on other sites

On 9/14/2022 at 5:22 PM, MarkMc said:

Plan has two types of macros in it.

Thank you so much for all of the help. I would really be lost without it.

So, I also noticed that there is another macro called "new_label". I don't understand what it does, or even what an oip is. I think this might have come from the SP that you provided. Also, I noticed the short description inside the macro, still don't understand what it does or how it works. I tried making my own SP and when I added the "new_label" macro to the custom label section it displays nothing.


Again, thanks for all of the help.

Link to comment
Share on other sites

1 hour ago, Allen43 said:

macro called "new_label". I don't understand what it does, or even what an oip is

OIP is the "Object Information Panel".



the "new_label" macro reads information you place int the "Enter Label" field in the OIP.


The reason that is there is that SPs do not transfer "Specify Label" So set the default label to the macro and put the information you want for your label in the "enter label" field. Then it will be transferred when using a SP. I've taken to using that on many objects even is I'm not necessarily going to make a style palette from them.

Link to comment
Share on other sites

On 9/9/2022 at 11:38 AM, MarkMc said:

Write macro


(oip["Enter Label"])


This seems to work in place of the 2 lines. Is there a reason for your syntax?


custom_fields["Enter Label"]

Link to comment
Share on other sites

23 hours ago, solver said:

Is there a reason for your syntax?

Um, yeah, most likely cause I'm not all that good with Ruby :) though might have copied it from somewhere else I needed (or thought) I need to set the variable.

Thanks for the tip.

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 Designers_Edge
      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.
    • By Jeffcrigler
      I am trying to align the orientation of the materials on a base cabinet with both drawers and doors.  When I use the material painter to apply "Teak" for example, to a standard vanity cabinet, the drawers and the doors are always 90 degrees off.  If I rotate thee texture of the cabinet 90 degrees, they both rotate.  I need to rotate the doors or the cabinets separately.  I want both the drawers and doors to have the texture apply in the same vertical or horizontal orientation.

    • 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 Bee-am
      Hi everyone,
      I'm experiencing an interesting phenomenon with Cabinet Shelf Specifications that contain 3 or more library-based shelves in Chief Architect Premier X13. As indicated below, when I add a 3rd unique library object (i.e. wire shelf) to a shelf, somehow the previous library-based shelf (2) "breaks" and changes from (1) to be the 3rd library object. As such, I wanted to find out if that's the intended behavior or it's a bug - and whether there are any useful workarounds. I could have used separators directly at module-level but the cabinet module needs to be covered by double doors.