Introduction to product rules
The product rules system is based around the tree hierarchy where parent-child structure enables the childs to refer to parent data and parents to know about the childs therefore both entities link to each other.
Each item in the product tree has its own set of parameters, through property sets, that allow implementation of specific configuration applicable to that specific item.
The highest level of behaviour is defined always by the structure logic and all childs under it behave according to the rules defined by the structure. Parts directly under the structure logic are the main parts of the structure and then all options, as accessories or sub structures of the part follow a more and more specific rules based on the parents that have been defined.
As each item also has properties through property sets, the parent structure logic can be adapted with propertysets that allow configuring the part or item under a structure logic.
Through scripting, you can develop logic's that alter the behaviour based on some decisions done elsewhere in the configuration, like that the material of an accessory is automatically the same as the material of the parent part or a part in the tree of parents.
You can also use variables and math in the scripting, basically setting priorities or values that alter the behaviour of the composition based on the choices made by the user. This is useful when an accessory depends on something that already is selected by the user. For example the number and placement of legs under furniture is usually dependant on the selection of modules and/or the length of the main parts.