Use the Conditions dialog to set conditions for enabling ribbon elements and controls or making them visible. The full name of the dialog is Conditions For Enabled, Conditions For Visible, or Conditions for Available, depending on the Customize Ribbon dialog property from which you invoked it.
The three properties can be set to True, False, or Conditional, which returns either True or False based on the conditions. Those properties are:
If you set multiple conditions, keep in mind that when any condition for a particular state, such as the ribbon layout, is met, it causes the condition to be satisfied.
For example, the Polygon Modeling panel has two different “poly main” sub-panels available. One of the “poly main” sub-panels has its Visible property set to Conditional: Horizontal (which implies maximized) or Minimized, which applies to either horizontal or vertical.
The other sub-panel is set to Conditional: Vertical, which applies to the maximized vertical ribbon. When setting up different versions of a panel or sub-panel for different ribbon configurations, make sure the conditions for visibility don’t overlap.
However, if you set multiple conditions for different states, such as ribbon layout and active sub-object level, at least one condition in each state must be met for the condition to be satisfied.
The Conditions dialog offers a list of check boxes for choosing preset conditions for ribbon elements; you can also custom-tailor a condition using MAXScript.
If none of the check box options reflects a condition you want to set, and you’re familiar with MAXScript, you can create a script to specify any conditions you like.
Enter a short MAXScript statement or function in this field to set a condition. The statement or function must evaluate to True or False (1 or 0). If True, the condition is met; if False, the condition is not met.
To enter multiple lines after the first line, press Shift+Enter.
For longer scripts, click the Open Editor button and use the editor window to define a function in a MAXScript file, and then enter the function name in the Maxscript field. The function name as entered here must use the following format:
[if the function is defined within a struct, specify the struct name followed by “.”][function name]()
For example, you could use the function ValidSOMode to determine whether a valid sub-object level is active for the selected editable poly or Edit Poly object. This function is defined in the Ribbon_Modeling struct in the Ribbon_Modeling.ms MAXScript file, so you would enter the following in the Maxscript field:
If the function is not within a struct, you need specify only the function name followed by (). If you write a new function, be sure to evaluate the script before using the function as a condition.
Following are some examples of statements you can use in the Maxscript field to set a condition, with explanations:
Applies when a particular toggle command is active. For example, the Soft panel, which provides controls for modifying how Soft Selection works, is available only when the Use Soft Selection command is active.
When you click this item, a dialog opens that lets you choose an action item to define the condition. The dialog is organized the same way as the Action Items window on the Customize Ribbon dialog. Find the command and then double-click it to apply it to the Action Item condition. The command’s name then appears in parentheses next to “Action Item” on the dialog.
Typically, if you enable either of these, enable the other as well. This is the case for the Available property in most panels on the Graphite Modeling Tools, Freeform, and Selection tabs on the ribbon.