How to Assign Level for Valve by Size & Service Using Named Expression


Applies To 
Product(s):OpenPlant Modeler
Version(s):08.11.09.XXX
Environment: Windows 7 (64 bit)
Area: Settings/Attributes
Subarea: -
Original Author:Rahul Kumar, Bentley Product Advantage Group

To set Component symbology with Valve by Size & Service i.e.  PIPELINE.NAME-Service_Valve_Type in OpenPlant Modeler using Named Expression.

Background

OpenPlant component symbology is managed in the typical MicroStation fashion. It is controlled through a combination of Named Expressions (used to read attributes and assign the Element Templates accordingly) and Element Templates (where symbology is defined for the elements identified by the Named Expression).

A modification in ‘Named Expression’ is required for changing the components symbology by pipeline name which can be found in the ‘Utilities’ Menu and to customize ‘Element Template’ to define the  name and hence color under ‘Element’ option.

In OpenPlant Modeler, sometimes it could be the modeler's choice or as per project specific requirement it has been envisioned to get some piping's component for instance a Valve to a different level. A modification in ‘Named Expression’ should require for changing the Component level as per Valve Name and Service Name used. For example PIPELINE.NAME-SERVICE_VALVE_SMALL  OR PIPELINE.NAME-SERVICE_VALVE_BIG as per Valve size selected by the user. See the exercise below where similar content has been described with Valve Size > 80 & with Valve Size <= 80.

Steps to Accomplish

  1. Go to File from the Main Menu option and open DGN library files (dgnlib) from the File of Type dropdown. See image below :



  2. Under the Utility Menu select Named Expression and click on OP_SYMBOLOGY_PIPING. See image below for default entry for reference.



  3. Refer to the example Expression value below:

    OP_SYMBOLOGY_PIPING: 

    "BY_LEVEL_AND_TEMPLATE:" & PIPELINE.NAME & IIF((OPITEM.IsOfClass( "VALVE", "OpenPlant_3D" ) AND OPITEM.NOMINAL_DIAMETER <= 80),"-"& PIPELINE.SERVICE_NAME & "_VALVE_SMALL:",
    IIF((OPITEM.IsOfClass( "VALVE", "OpenPlant_3D" ) AND OPITEM.NOMINAL_DIAMETER > 80), "-"& PIPELINE.SERVICE_NAME & "_VALVE_BIG:",":") ) & "OpenPlant\Piping\" &

    IIF ((OPITEM.IsOfClass( "VALVE", "OpenPlant_3D" ) AND OPITEM.NOMINAL_DIAMETER <= 80), "VALVE_SMALL:",
    IIF ((OPITEM.IsOfClass( "VALVE", "OpenPlant_3D" ) AND OPITEM.NOMINAL_DIAMETER > 80), "VALVE_BIG:","Default:" ) ) & "Model"

    Note:Make sure to copy the strings correctly.


  4. Save each Expression which turns blue. The Save option will get enabled once you modify the Expressions: See below for reference.



  5. Create a Template as VALVE_SMALL & VALVE_BIG in the Element Templates dialog box. See image below for reference. Based on this template the user should be able to define its symbology based on valve size small or big. 



  6. Launch OpenPlant Modeler and verify results. See images below: 


    Valve Level as ‘PIPELINE.NAME-SERVICE_VALVE_SMALL



    Valve Level as ‘PIPELINE.NAME-SERVICE_VALVE_BIG



See Also

communities.bentley.com/.../25164.how-to-assign-level-for-valve-tag-using-named-expression

Comments or Corrections?

Bentley's Technical Support Group requests that you please confine any comments you have on this Wiki entry to this Comments or Corrections?" section. THANK YOU!