Compatibility Rules

Compatibility rules test the compatibility between the children of option classes.

Background

Compatibility rules define which items are allowed in a configuration when other items are selected. A compatibility rule tests the compatibility between the children of one or more option classes (which are typically standard items, but may also include other option classes).

Compatibility rules can only have a rule class of Constraint. They can't be classified as Defaults or Search Decisions.

Compatibility rules describe the conditions for compatibility across a set of options from the participant features. In other words, if a selection is made from each participant feature and those selections don't satisfy the compatibility criterion, there is a contradiction. A compatibility rule can't constrain selections from only a subset of the participant features.

When defining any type of compatibility rule, Configurator doesn't allow more than one of the rule's participants to have a Maximum Selections value that's greater than 1. If the Maximum Selections value of one of the rule participant's changes after the rule is created, Configurator displays an error when you compile the model.

Example

Use the COMPATIBLE...OF keyword to define a compatibility rule.

COMPATIBLE 
&color OF Frame.Color,
&tint OF Glass.Tint
WHERE &color.userAttrs["Paints_AG.Stain"] = &tint.userAttrs["Paints_AG.Stain"];