Project: HiCAD P+ID

Data Mask Object Filters

The data mask objects (DMOs) have existed in the P+ID module since HiCAD 2001. These are special symbols without a graphical representation. Basically, they serve the purpose of templates to which other symbols can refer. Such references can, for instance, be created via the text key %DMO.

The data mask object filters (DMO filters) provide a new mechanism enabling access to the data in the DMOs.

The DMO filter is explained in the following paragraphs:

DMO filters consist of dialogue types that are interpreted as search patterns. A DMO filter usually refers to a regular DMO. Such a DMO, to which a DMO filter refers, is called Template DMO. Both can be seen in the image below:

DMO Filter

If you now add a symbol to a P+ID sheet, all DMO filters existing in the project will be synchronized with this symbol. If a DMO filter the search pattern of which correlates with the dialogue types of the symbol to be inserted, the entries of this symbol will be added from the Template DMO. For the above filter/templates pair this means that for each branch that was added to a P+ID sheet the dialogue type Location will be set to ISD. This is illustrated in the schema below:

DMO Filter

Three dialogue types are used in one DMO in order to refer to one Template DMO. Most important here is the Template DMO ID. This dialogue type contains the DMO ID of the Template DMO. Each DMO will be assigned such an unambiguous ID upon its insertion into the project.

As DMO filters can, just like DMOs, be managed in libraries, in which DMOIDs do not exist, there are two further dialogue types identifying a Template DMO by its name and its library, namely, the Template DMO library and Template DMO. Upon insertion of a DMO filter from a library, these two dialogue types will be used for an additional, automatic insertion of the matching Template DMO into the project.

Together with the two Comment dialogue types and the two DMO dialogue types, there is a total of seven dialogue types that a DMO filter always possesses and that are not available for search patterns:

The remaining dialogue types are available for the usual search patterns which are known, for instance, from the Symbol-Editor of the Plant Engineering module or the Windows Explorer. The placeholders * and ? are supported, with * representing any string of characters (including whitespaces), and ? representing exactly one, arbitrary character.

For instance, both 91?0001 and 91* would simultaneously match the Part IDs of Vessels (9100001) and Pumps (9110001).


Edit DMO filters

P+ID > P+ID Sheet > DMO > DMO-Filter Icon

When you call the DMO filter function, a dialogue window for an editing of the list of DMOs in the project will be displayed:

DMo Filter

The DMO filter management shows a list of the DMO filters that exist in the project. In our concrete example, there are two filters in the project. The filter F1 had been directly defined in the project and refers to the Template DMO with the DMO-ID D1. The filter F2 was embedded from a library and refers to no Template DMO.

The following options are available:

 

Test DMO filter

The Test of a DMO filter checks for all symbols in all libraries existing in a project whether the DMO filter matches them. If you click the button, a list of matching entries will then be displayed. For the filter F1, the search pattern of which is designed to recognize parts containing a 3* (= all branches), the result would look as follows:

DMO Filter

This means that in the project there are two branches available for selection. If you now select one entry, the changes will be displayed that the filter would apply if this symbol was inserted, e.g.

DMO Filter

For the dialogue type Location, the entry ISD would be applied. The dialogue type texts are composed as follows:

A warning message will be displayed before entries are overwritten. If the Template DMO contained, for example, entries for the Connectin IDs, the following message would be displayed:

DMO Filter

Similar warnings will be issued if the Template DMO was not set, or does no longer exist in the project.


Behaviour during symbol insertion

If a new symbol is added to a P+ID sheet, all DMO filters the search pattern of which match the new symbol will be searched. The Template DMOs of these DMO filters now determine which values will be entered into the new symbol.

The procedure is similar to the one for the testing described above, but with the following differences:

If several conflicts occur, they will be shown together within one warning message. The following message, for instance, indicates a conflict for the diaogue type Location and a potential overwriting of the Connection dialogue types:

DMO Filter


Apply DMO filters to symbols

There are two new attribute types, which facilitate the applying of data mask object filters (DMO filters) to specific symbols.

If you use data mask object filters, HiCAD will check upon insertion of a symbol in a P+ID whether the search patterns on the attributes of the filter match the attributes of the inserted symbol. If this is the case, the attribute values of the template that belongs to the filter will be copied to the symbol.

This means that it will be specified in the filter to which symbols the attributes of a template are to be copied. The new attribute types Target symbol name and Target symbol type facilitate the restriction of a filter to a specific range of symbols.

In the Target symbol name field you can directly enter the name of a symbol or enter a matching search pattern. For example, a filter which contains the search pattern ?EMSR? as the value for the Target symbol name attribute applies to the gauge symbols in the supplied library ISDDINSYM1_ENG.sza.

The Target symbol name attribute is handled in a special way: As the name is a very specific attribute of a symbol, it is assumed that the template attributes have priority over other template attributes, and that these can be overwritten, without causing any conflicts.

In the Target symbol type field you can specify a symbol type for which a data mask object filter is to take effect, i.e. for instance, only for pipe part symbols. The available symbol types can be selected from a combo box:


DMO-Filter einer DMO-Bibliothek hinzufügen

In the ISDREFSYM library, which contains general symbol templates, you can now find a template for DMO filters:

DMO Filter

When creating a DMO library which is to contain DMO filters, this symbol can be used as a template. The DMO filter template contains the following dialogue types:

DMO Filter

Of course, you can add any further dialogue types, which will then be handled like the two example dialogue types in the green frame.


Context menu for data mask object filters in symbol libraries

Right-clicking a data mask object filter in a symbol library opens the following context menu:

These functions facilitate the initialisation of the attributes Templates DMO and Templates DMO library:

The two attributes are used when adding a data mask object (DMO) filter to a P+ID, in order to automatically find the matching template data mask object, add it, and link it to the data mask object filter via a reference to the DMO ID.

The Set template function expects the selection of a data mask object symbol, the name of which is entered in the Templates DMO attribute. The currently edited library is entered into the Templates DMO library attribute. If no data mask object was selected by mistake, a corresponding reminder will be displayed.

The Show template function evaluates the attributes Templates DMO and Templates DMO library, find the matching data mask object and highlights it both in the drawing and in the ICN. If the filter refers via Templates DMO library to a different library, a corresponding message will be displayed.

If the entered data mask object could not be found, a corresponding message will be displayed

Manage and Edit Library Symbols (P+ID)Nee Library Symbol (P+ID)Management of Configurable General Data Masks in DMOs (P+ID)

© Copyright 1994-2019, ISD Software und Systeme GmbH
Version 2402 - HiCAD P+ID
Date: 06/10/2019

> Feedback on this topic