Flags can be combined in many ways. In general, the valid combinations are not defined by the Intent language. With few exceptions, there is no actual harm in specifying invalid flag combinations. There is also no meaning in the order of appearance of flags.
- Fixed and Uncached flags may appear with any other flags and each other.
-
Required
may only appear with Parameter or Canonical flags.
- Parameter combined with Lookup means the rule will use the parameter formula if supplied. Otherwise, it will behave like a regular Lookup rule. The precedence is as follows:
- Dynamic rule, if overridden (not Fixed).
- Supplied parameter formula in Child rule in the parent.
- Lookup from ancestors of identically-named.
- Default expression in the original rule.
In the example below, the size of a structural leg in a conveyor system is being set. A rule legSize is defined in the top-level design.
<%%Category("Section")> _
Rule legSize As Number
If partWeight > 100 Then
legSize = 100
Else
legSize = 75
End If
End Rule
The legSize rule is also defined as a lookup parameter in the conveyor section (child) as well:
<%%Category("Section"),_
%%Prompt("Leg tubing size"),_
%%Choices("50,75,100")> _
Lookup Parameter Rule legSize As Number = 75
Because it is defined with a Lookup flag, Intent will attempt to get the value from the parent (and then higher level ancestor if it exists). The value of partWeight in the top-level design determines the value of legSize, although it can be overridden in the conveyor section child.
- Parameter with Canonical(See Group Rules->Flags->Supported Flag Combinations).
- Passive may only appear with Parameter. (See Group Rules->Flags->Supported Flag Combinations).
- Canonical,Lookup, Parameter, and
Required
are the only flags that affect evaluation. They can be used in any combination with each other. Supplied parameter expressions have higher priority than any other form.
- External should not be used in combination, or has no meaning, with Uncached, Group , Child , Method , and Shared. External can otherwise be combined with other flags. External only affects the behavior of the rule at unbind time. No other special treatment is made.
- Shared can be combined with any other flags without breaking, but there are combinations that don't make sense, like Parameter or Lookup.