Right-click DMO template > Determine base DMO
Right-click DMO template > Determine derived DMO
It is possible to derive data mask objects (DMOs) from other DMOs according to a modular principle. This is particularly useful if you want different templates to have the same attributes.
Let us assume that you want to make two DMO templates available through their derivation from one DMO library. One template is intended for general parts, another template is intended for general parts which are to obtain a designation. Furthermore, there is a number of attributes which are to obtain both templates.
In such situations it is recommended to create one base DMO that contains the common attributes. Then you can derive the DMO templates for general parts and for general parts with designations from them. If it now turns out that further attributes are required in both derived DMOs , it will be sufficient to expand the base DMO accordingly.
Template DMOs can be derived from several other DMOs.
The derivation relation between template DMOs can be specified via the context menu of a DMO symbol. The functions Determine base DMOs and Determine derived DMOs are available for this purpose.
If you choose Determine base DMOs after right-clicking a symbol/template, the DMOs which are suitable as base DMOs will be marked with a sphere symbol in background colour (see Colour Editor/Special colours).
An arrow in preview colour leads from already determined base DMOs to the selected symbol. The start point of an arrow in Marking colour 1 is attached to the cursor.
If you now click on a template DMO which is no base DMO yet, a connection arrow running from the identified symbol to the new base DMO will be displayed. If you click on a base DMO that is already a base DMO, the corresponding arrow will disappear. Use the middle mouse button to end the templates selection.
The Determine derived DMOs function is operated in the same way, with the difference that the arrows run in opposite direction. Generally, the arrow direction indicates the direction in which attributes are applied.
The image below shows how the applying of attributes works and how the derivation relation is stored in a templates DMO:
At the top left you can see the derivation relations between the template DMOs and, next to them, the appropriately arranged symbol masks. Here, the Location attribute is inherited, which has the value Head office in the base DMO. Both derived DMOs also contain this attribute. The left derived DMO has no predefined value for Location, therefore, the derived value will be taken over. This can be seen from the italic letters of the value. The right derived DMO, in contrast, overwrites the derived value with the value "Subsidiary".
Also, you can see in this image that both derived DMOs have the attribute Base DMO. Via these attributes it is defined which template DMOs are base DMOs. By creating base DMOs you can define derivation relations in the same way as via the functions Determine base DMOs and Determine derived DMOs (see above).
If several base DMOs exist, conflicts between their attribute assignments may occur. This will be checked when the symbol mask of the derived DMO is opened. If there is a conflict, the affected attributes will remain empty and an error message will be displayed.
When inserting a template DMO into the DMO sheet of a P+ID, the derivation hierarchy will be broken up. Hence, a DMO will be created containing all attributes that it inherits from its base DMOs. The base DMO attributes will not be taken over to the DMO sheet of a P+ID.
Template DMOs of which derivations are created can no longer be inserted into a DMO sheet of a P+ID.
Related Topics
Manage and Edit Library Symbols (P+ID) • New Library Symbol (P+ID) • Management of Configurable General Data Masks in DMOs (P+ID)
Version 2102 - HiCAD P+ID | Date: 15/11/2016 | © Copyright 1994-2016, ISD Software und Systeme GmbH |