Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ E3D Design

Ancillary Selection Criteria

  • Last UpdatedFeb 11, 2025
  • 4 minute read

Sets user defined ancillary selection criteria for the generation of supports. These criteria are used in addition to the standard checks that are performed on ancillaries when they are created. For example bore, temperature and material checks.

The administration data is stored in the MDSAPPDEFAULTS database below CATA MDS/SELECTION-CRITERIA.

The default values/settings that display on the windows are those are those that exist when the Supports application is first installed.

Click Reset to revert the User Defined Ancillary Selection Criteria window to the default values/settings.

Changes made are only applied to the database when Apply is clicked. To keep the changes the Save Work operation must be performed.

Click Cancel to close the window. If changes are made, but not applied, a window displays asking if the changes are to be applied before exiting.

Temperature Check

You can override the default temperature check that is performed at branch level.

For example, the temperature check can be modified to be carried out at pipe level by changing the expression field to temp of PIPE.

The validity of the PML expression is checked by AVEVA Catalog, if an error is detected an error message displays and the Expression field is highlighted.

User Defined Criteria

You can input customized ancillary checking expressions in the Criteria 1 to 5 fields.

For example, the paint code of a branch can be specified, the user is then only able to create the ancillary if the paint code matches that defined in the Programmable Macro Language (PML) expression.

Input an ancillary selection criteria description in the Description field.

Input a valid PML expression in the Expression field.

Tick the Active check box to activate the ancillary selection criteria.

The supports hierarchy is separate from the branch and pipe. The initial element expected in the criteria expression is the SUPPO element. The previous component on the selected branch, nearest to the SUPPO element is represented by the compref attribute on the SUPPO.

User Defined Functions

In addition to the standard expression functionality, it is also possible to create a user defined function to perform more advanced checking.

You can assign a user defined check function to the Criteria fields. The value in the expression field is the full function call to the user defined function. For example, the expression can be called !!checkCriteria1().

User Defined Check Function - Creation and Usage Rules

The following rules must be observed when assigning a function:

  • The function entered in the expression field must be in the correct format. For example, !!functionName()

  • The user defined function file must have a BOOLEAN return type. For example, the function file definition must in the following format:

    Define function !!functionName() is BOOLEAN

  • The function cannot be called with any arguments. For example, the function brackets must be empty.

  • When the user defined check function is run, the current element is the datum support of the pipe so all processing must be done on this basis. For example, to interrogate the branch the following commands can be used.

    If !!ce.compref.type.eq(‘BRAN’) then

    !bran = !!ce.compref (if the compref is the branch itself)

    else

    !bran = !!ce.compref.owner (if the compref is a branch component)

    endif

User Defined Check Function - Example Listing

The example user defined check function enables the user to create a support only when the paint spec of the branch is either '12345-STD-PIP-001-RAL1069' or '12345-STD-PIP-001-RAL1070'.

define function !!checkCriteria1() is BOOLEAN

--get the paint spec of the pipe branch

var !paintSpec ptsp of bran of compref

--make sure that the paint spec of the of the pipe is one of the types specified below

if !paintSpec.neq('12345-STD-PIP-001-RAL1069') and

!paintSpec.neq('12345-STD-PIP-001-RAL1070') then

return FALSE

else

return TRUE

endif

endfunction

The user defined check function must be created in a standard text file. As the function name is checkCriteria1 the file should be saved as checkcriteria1.pmlfnc

It is recommended that check functions are saved in a separate folder to AVEVA E3D Design and that the pmllib environment variable in AVEVA E3D Design startup is modified to point to it.

For example:

Create a folder called pmllib in c:\userpml\

Save checkcriteria1.pmlfnc to c:\userpml\pmllib\

Modify the environment variable for pmllib to add this new search path. For example:

set pmllib= c:\userpml\pmllib;%PMLLIB%

Enter Model, type PML REHASH ALL into the command line and press Enter. The pml index is updated allowing the user defined file to be used.

Refer to Using PML in AVEVA Products for further information regarding PML customization.

Related Links
TitleResults for “How to create a CRG?”Also Available in