How to Assign Levels based on Equipment Type Using Named Expression in OpenPlant Connect Edition


 Applies To 
 Product(s):OpenPlant Modeler Connect
 Version(s):10.09.00.74
 Environment: Windows 10 (64 bit)
 Area: Settings/Attribute
 Subarea: Named Expression
 Original Author:Aishwarya Kulkarni, Bentley Technical Support Group
  

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’ should require for changing the Equipment level as per Equipment Name like TANK, PUMP, VESSEL etc. see below exercise where similar content has been described. 

Steps to Accomplish

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

    Default path: C:\ProgramData\Bentley\OpenPlant CONNECT Edition\Configuration\Workspaces\OpenPlantExample\WorkSets\Metric\Standards\OpenPlant\Modeler\Dgnlibs




  2. Open the OPModeler.dgn.lib in OpenPlant Modeler connect. As shown below 



  3. Change the workflow mode as Admin.



  4. Navigate the Environment Ribbon Tab and click on Named Expression as shown below 


     
  5. Click on OP_SYMBOLOGY_EQUIPMENT. See image below for reference.



  6. Below are the Symbology pasted to copy from here and to get it pasted to its respective Expression’s.  

    OP_SYMBOLOGY_EQUIPMENT:

    "BY_LEVEL_AND_TEMPLATE:" & IIF(OPITEM.IsOfClass("NOZZLE", "OpenPlant_3D"), "Nozzle:",

     IIF(OPITEM.IsOfClass("TANK", "OpenPlant_3D"), "Tank:",

         IIF(OPITEM.IsOfClass("PUMP", "OpenPlant_3D"), "Pump:",

             IIF(OPITEM.IsOfClass("HEAT_EXCHANGER", "OpenPlant_3D"), "HeatExchanger:",

                 IIF(OPITEM.IsOfClass("VESSEL", "OpenPlant_3D"), "Vessel:", "Equipment:"))))) & "OpenPlant\Equipment\" &

      IIF( OPITEM.IsOfClass( "NOZZLE", "OpenPlant_3D" ),  "Nozzle:", 

         IIF( OPITEM.IsOfClass( "TANK", "OpenPlant_3D" ),  "Tank:", 

              IIF( OPITEM.IsOfClass( "PUMP", "OpenPlant_3D" ), "Pump:",

                   IIF( OPITEM.IsOfClass( "HEAT_EXCHANGER", "OpenPlant_3D" ), "HeatExchanger:",

                        IIF( OPITEM.IsOfClass( "VESSEL", "OpenPlant_3D" ), "Vessel:", "Default:" ) ) ) ) ) & "Model"

    Note: Make sure to copy the strings correctly.

  7. Save each Expression that turns Red. Save option will get enabled once you modify the Expressions: See below for reference.



  8. Launch OpenPlant Modeler and Verify results. See images below:

    Equipment Level as ‘Vessel’



    Equipment Level as ‘Tank’



    Equipment Level as ‘Pump’





    Equipment Level as ‘Heat Exchanger’



See Also

communities.bentley.com/.../how-to-show-imperial-metric-sizes-in-the-same-project-in-openplant-pid-connect-edition