2.2.1.1.  What are categories?

Category is the name for a unique rule (condition).

Via categories blocks and keys can be specified.

While using a block or key, one checks whether the rule is fulfilled. Only then is the block or key used.

The category is applied in the block and key by using the round bracket in the name (e.g. "is2d", "is3dAsm"). At runtime, those blocks and keys whose categories are valid are evaluated.

If more than one category is stated (separated by comma), then they must all be valid.

If multiple keys are valid, then the one with the most conditions is taken.

When stringing keys with categories together a complex set of rules can be made.

General form:

FileName=?“Standard/Default“
FileName(isPflanze())=?“Blume“
FileName(isTier(),isTall())=?“Giraffe“
FileName(isTier())=?“Schaf“

Example of using a category at key level:

DocBeforeSave(is3dasm)=GetObject("iface.defaultcadcallback").AsmBeforeSave
DocBeforeSave(is3dpart)=GetObject("iface.defaultcadcallback").PartBeforeSave

Example of using a category at block level:

[CreationOptions(is2d)]

[Note]Note

Categories are created in the configuration file ifacecommon.cfg. See Section 2.2.12, “ General configuration file "ifacecommon.cfg" ”.