Dynamic Rules and Flags

The presence of dynamically added rules which override basic rules has an effect on flag-determined behavior.

Fixed

As already mentioned, the Fixed flag directly prevents dynamic overrides.

Parameter

The Parameter flag on a dynamic rule will allow the supplied parameter to override the body of the dynamic rule. Since this is the same behavior that would happen if there was no dynamic rule in place, it is not necessary to make dynamic Parameter rules.

Parent

The Parent flag indicates that a rule will be evaluated in the context of the parent (next-higher-assembly) of the part containing the rule. This is necessary for dynamic rules to have the same formula in both a Child Rule context or as a Dynamic rule.

For example:

Child foo as :Block
   Height = height
End Child

In the design, the formula of height would be evaluated in the parent: foo’s Height is getting set to the value of its parent’s height. A dynamic override of this rule will not re-write the Child rule; it will writes a new dynamic rule on foo. For the design rule and dynamic rule to have the same semantics, height must be interpreted in the parent of foo. The dynamic rule would be expressed as:

Parent Rule Height As Number = height/2

Without the Parent flag, this reference would be circular.