<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://communities.bentley.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>To set predefined levels for piping components based on the Service name of the pipeline without using Element Templates</title><link>https://communities.bentley.com/products/plant/w/plant_design_and_engineering__wiki/35415/to-set-predefined-levels-for-piping-components-based-on-the-service-name-of-the-pipeline-without-using-element-templates</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>To set predefined levels for piping components based on the Service name of the pipeline without using Element Templates</title><link>https://communities.bentley.com/products/plant/w/plant_design_and_engineering__wiki/35415/to-set-predefined-levels-for-piping-components-based-on-the-service-name-of-the-pipeline-without-using-element-templates</link><pubDate>Wed, 14 Jun 2017 11:23:13 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:05003286-5fab-43fd-ba76-419e91cec20e</guid><dc:creator>Kunal Kiran</dc:creator><comments>https://communities.bentley.com/products/plant/w/plant_design_and_engineering__wiki/35415/to-set-predefined-levels-for-piping-components-based-on-the-service-name-of-the-pipeline-without-using-element-templates#comments</comments><description>Current Revision posted to OpenPlant | AutoPLANT Wiki by Kunal Kiran on 6/14/2017 11:23:13 AM&lt;br /&gt;
&lt;h1&gt;&lt;b&gt;&lt;img src="/cfs-file.ashx/__key/communityserver-components-sitefiles/TSG-Logo.png" width="189" height="60" alt=" " /&gt;&lt;/b&gt;&lt;/h1&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;table border="0" style="border:0px solid #dce5f0;width:500px;background-color:#dce5f0;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Applies To&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Product(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;OpenPlant Modeler&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Version(s):&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;08.11.11.XX (SS6)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Environment:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Windows 7/8.1/10 (64 bit)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Area:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Settings/Attributes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Subarea:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Original Author:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Kunal Kiran, Bentley Product Advantage Group&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;To set predefined levels for piping components based on the Service name of the pipeline without using Element Templates&lt;/p&gt;
&lt;h3&gt;Background&lt;/h3&gt;
&lt;p&gt;OpenPlant component symbology is managed in the typical Microstation fashion. It is controlled through a combination of Named Expressions (used to read attributes assign the Levels and the Element Templates accordingly) and Element Templates (where symbology is defined for the elements identified by the Named Expression).&lt;/p&gt;
&lt;p&gt;A modification in &amp;lsquo;Named Expression&amp;rsquo;,&amp;nbsp;which can be found in the &amp;lsquo;Utilities&amp;rsquo; Menu,&amp;nbsp;is required for assigning the piping components&amp;#39; level from predefined list based on the Service Name, without using Element Templates.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;In OpenPlant Modeler, sometimes it could be the modeler&amp;#39;s choice or as per project specific requirement it has been envisioned to get some piping component for instance a a pipe to a different level based on service. A modification in &amp;lsquo;Named Expression&amp;rsquo; should require for changing the Component level as per service used. For example, Level assigned is to be &amp;quot;PIPELINE.NAME-Servicelevel1&amp;quot; when PIPELINE.SERVICE is Service1; and level to be assigned is to be &amp;quot;PIELINE.NAME-Servicelevel2&amp;quot; when PIPELINE.SERVICE is Service2.&lt;/p&gt;
&lt;h3&gt;Steps to Accomplish&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;All of component symbology settings are usually set in OPmodeler.dgnlib file, located in WorkSpace\Projects\%project_name%\DataSet\Dgnlibs folder. Navigate to mentioned path to open the file.&lt;/li&gt;
&lt;li&gt;Click on Utilities and then Named Expressions&lt;br /&gt;&lt;br /&gt;&lt;a href="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-43/2017_2D00_06_2D00_14_5F00_15_2D00_16_2D00_07.png"&gt;&lt;img src="/resized-image/__size/940x0/__key/communityserver-wikis-components-files/00-00-00-00-43/2017_2D00_06_2D00_14_5F00_15_2D00_16_2D00_07.png" alt=" " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;In the Expressions pane, scroll down and select OP SYMBOLOGY PIPING&lt;br /&gt;&lt;br /&gt;&lt;a href="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-43/2017_2D00_06_2D00_14_5F00_15_2D00_30_2D00_41.png"&gt;&lt;img src="/resized-image/__size/940x0/__key/communityserver-wikis-components-files/00-00-00-00-43/2017_2D00_06_2D00_14_5F00_15_2D00_30_2D00_41.png" alt=" " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Below are the Symbology pasted to copy from here and to get it pasted to the respective Expression of&amp;nbsp;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;OP_SYMBOLOGY_PIPING:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;
&lt;p&gt;&lt;strong&gt;&amp;quot;BY_LEVEL_AND_TEMPLATE:&amp;quot; &amp;amp; PIPELINE.NAME &amp;amp; IIF( PIPELINE.SERVICE_NAME=&amp;quot;Service1&amp;quot;, &amp;quot;Servicelevel1:&amp;quot;,&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; IIF( PIPELINE.SERVICE_NAME=&amp;quot;Service2&amp;quot;, &amp;quot;Servicelevel2:&amp;quot;,&amp;quot;:&amp;quot;)) &amp;amp; &amp;quot;OpenPlant\Piping\&amp;quot; &amp;amp;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; IIF( OPITEM.IsOfClass( &amp;quot;INSTRUMENT&amp;quot;, &amp;quot;OpenPlant_3D&amp;quot; ), &amp;quot;Instrument:&amp;quot;, &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; IIF( OPITEM.IsOfClass( &amp;quot;CONTROL_VALVE&amp;quot;, &amp;quot;OpenPlant_3D&amp;quot; ), &amp;quot;Instrument:&amp;quot;,&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; IIF( OPITEM.NOMINAL_DIAMETER &amp;lt;= 100 , &amp;quot;DiameterRange1:&amp;quot;,&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; IIF( OPITEM.NOMINAL_DIAMETER &amp;gt; 100 AND OPITEM.NOMINAL_DIAMETER &amp;lt;= 200, &amp;quot;DiameterRange2:&amp;quot;,&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; IIF( OPITEM.NOMINAL_DIAMETER &amp;gt; 200 AND OPITEM.NOMINAL_DIAMETER &amp;lt;= 300, &amp;quot;DiameterRange3:&amp;quot;,&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; IIF( OPITEM.NOMINAL_DIAMETER &amp;gt; 300 AND OPITEM.NOMINAL_DIAMETER &amp;lt;= 400, &amp;quot;DiameterRange4:&amp;quot;,&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; IIF( OPITEM.NOMINAL_DIAMETER &amp;gt; 400 AND OPITEM.NOMINAL_DIAMETER &amp;lt;= 500, &amp;quot;DiameterRange5:&amp;quot;, &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; IIF( OPITEM.NOMINAL_DIAMETER &amp;gt; 500, &amp;quot;DiameterRange6:&amp;quot;, &amp;quot;Default:&amp;quot; ) ) ) ) ) ) ) ) &amp;amp; &amp;quot;Model&amp;quot;&lt;/strong&gt;&lt;/p&gt;
&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/strong&gt;See the image below for reference&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-43/2017_2D00_06_2D00_14_5F00_15_2D00_39_2D00_01.png"&gt;&lt;/a&gt;&lt;a href="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-43/2017_2D00_06_2D00_14_5F00_16_2D00_19_2D00_42.png"&gt;&lt;img src="/resized-image/__size/940x0/__key/communityserver-wikis-components-files/00-00-00-00-43/2017_2D00_06_2D00_14_5F00_16_2D00_19_2D00_42.png" alt=" " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;NOTE- &lt;em&gt;The text in red background depicts the actual change in Expression&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Save the Expression which turns&amp;nbsp;&lt;b&gt;blue&lt;/b&gt;&lt;b&gt;.&lt;/b&gt;&amp;nbsp;Save option will get enabled once you modify the Expressions: See below for reference.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-43/2017_2D00_06_2D00_14_5F00_16_2D00_23_2D00_23.png"&gt;&lt;img src="/resized-image/__size/940x0/__key/communityserver-wikis-components-files/00-00-00-00-43/2017_2D00_06_2D00_14_5F00_16_2D00_23_2D00_23.png" alt=" " /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Launch OpenPlant Modeler and verify results. See the image below for reference&lt;br /&gt;&lt;br /&gt;Pipeline level as &amp;#39;PIPELINE.NAME-Servicelevel1&amp;quot; when service is Service1&lt;br /&gt;&lt;br /&gt;&lt;a href="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-43/2017_2D00_06_2D00_14_5F00_16_2D00_25_2D00_44.png"&gt;&lt;img src="/resized-image/__size/940x0/__key/communityserver-wikis-components-files/00-00-00-00-43/2017_2D00_06_2D00_14_5F00_16_2D00_25_2D00_44.png" alt=" " /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pipeline level as &amp;quot;PIPELINE.NAME-Servicelevel2&amp;quot; when service is Service2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-43/2017_2D00_06_2D00_14_5F00_16_2D00_32_2D00_04.png"&gt;&lt;img src="/resized-image/__size/940x0/__key/communityserver-wikis-components-files/00-00-00-00-43/2017_2D00_06_2D00_14_5F00_16_2D00_32_2D00_04.png" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;To add another clause such that level assigned is &amp;quot;Servicelevel3&amp;quot; when Service is Service3,&lt;br /&gt;The Expression of OP SYMBOLOGY PIPING should be modified as&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;&amp;quot;BY_LEVEL_AND_TEMPLATE:&amp;quot; &amp;amp; PIPELINE.NAME &amp;amp; &amp;quot;-&amp;quot; &amp;amp; IIF( PIPELINE.SERVICE_NAME=&amp;quot;Service1&amp;quot;, &amp;quot;Servicelevel1:&amp;quot;,&lt;br /&gt; IIF( PIPELINE.SERVICE_NAME=&amp;quot;Service2&amp;quot;, &amp;quot;Servicelevel2:&amp;quot;,&lt;strong&gt;IIF( PIPELINE.SERVICE_NAME=&amp;quot;Service3&amp;quot;, &amp;quot;Servicelevel3:&amp;quot;,&lt;/strong&gt;&amp;quot;:&amp;quot;))) &amp;amp; &amp;quot;OpenPlant\Piping\&amp;quot; &amp;amp;&lt;br /&gt; IIF( OPITEM.IsOfClass( &amp;quot;INSTRUMENT&amp;quot;, &amp;quot;OpenPlant_3D&amp;quot; ), &amp;quot;Instrument:&amp;quot;, &lt;br /&gt; IIF( OPITEM.IsOfClass( &amp;quot;CONTROL_VALVE&amp;quot;, &amp;quot;OpenPlant_3D&amp;quot; ), &amp;quot;Instrument:&amp;quot;,&lt;br /&gt; IIF( OPITEM.NOMINAL_DIAMETER &amp;lt;= 100 , &amp;quot;DiameterRange1:&amp;quot;,&lt;br /&gt; IIF( OPITEM.NOMINAL_DIAMETER &amp;gt; 100 AND OPITEM.NOMINAL_DIAMETER &amp;lt;= 200, &amp;quot;DiameterRange2:&amp;quot;,&lt;br /&gt; IIF( OPITEM.NOMINAL_DIAMETER &amp;gt; 200 AND OPITEM.NOMINAL_DIAMETER &amp;lt;= 300, &amp;quot;DiameterRange3:&amp;quot;,&lt;br /&gt; IIF( OPITEM.NOMINAL_DIAMETER &amp;gt; 300 AND OPITEM.NOMINAL_DIAMETER &amp;lt;= 400, &amp;quot;DiameterRange4:&amp;quot;,&lt;br /&gt; IIF( OPITEM.NOMINAL_DIAMETER &amp;gt; 400 AND OPITEM.NOMINAL_DIAMETER &amp;lt;= 500, &amp;quot;DiameterRange5:&amp;quot;, &lt;br /&gt; IIF( OPITEM.NOMINAL_DIAMETER &amp;gt; 500, &amp;quot;DiameterRange6:&amp;quot;, &amp;quot;Default:&amp;quot; ) ) ) ) ) ) ) ) &amp;amp; &amp;quot;Model&amp;quot; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;Note the text in&amp;nbsp;&lt;strong&gt;bold. &amp;nbsp;&lt;/strong&gt;The same syntax is used to add more cases.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;See Also&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://communities.bentley.com/products/plant/design___engineering/w/plant_design_and_engineering__wiki/4870.named-expressions-managing-component-symbology-in-openplant-modeler"&gt;communities.bentley.com/.../4870.named-expressions-managing-component-symbology-in-openplant-modeler&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Comments or Corrections?&lt;/h3&gt;
&lt;p&gt;Bentley&amp;#39;s Product Advantage Group requests that you please confine any comments you have on this Wiki entry to this &amp;quot;Comments or Corrections?&amp;quot; section. THANK YOU!&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: OpenPlant Modeler, Named Expressions, Service, Component Symbology&lt;/div&gt;
</description></item></channel></rss>