Applies To Product(s): OpenPlant Modeler Version(s): 08.11.11.xxx Environment: Windows 7/8.1/10 (64 bit) Area: Properties Subarea: Original Author: Harpreet Singh, Bentley Product Advantage Group Background Bottom of Pipe (BOP) is often needed by designers to know the elevation at which the pipe wall ends/starts. CASE 1 : To calculate the BOP For this first we need to add calculated property in the schemas under Class PIPE which will calculate the Bottom of Pipe automatically based on the formula Z-OD/2-Insulation thickness. Where Z=Elevation of pipe centerline OD= Outside Diameter of pipe CASE 2 : To calculate the BOP at the location of Support At times the user might want to know the BOP at the point where a support has been placed on the pipe. Depending on user requirement if there is an insulation on Pipe, user might want to consider reducing the value of BOP at support’s location with a fixed value like 100 instead of the actual value of insulation thickness. The formula to be used in this case would be Z-OD/2-100 If there is no insulation the formula to be used would be Z-OD/2 Where Z=Elevation of pipe centerline on which support is placed OD= Outside Diameter of pipe CASE 1: Calculation of Bottom Of Pipe (BOP) Steps to Accomplish User need to map Pipe OD from the spec to OUTSIDE_DIAMETER property on PIPE class, as it is not mapped by default: Open OpenPlant_CustomAttributes.08.11 schema in class editor. Open OpenPlant_3D.01.04 schema & supplement it with O penPlant_3D_Supplemental_Modeling.01.04 schema. Go to PIPE class and select its OUTSIDE_DIAMETER property. Add a custom attribute OPENPLANT_PHYSICAL_CATALOGUE_PROPERTY_MAP on this property. Add PIPE_OD_M in property name field as shown below in the picture. Assuming the Horizontal Pipe: Add a new Property BOP_M on PIPE class. Add custom attribute ‘Calculated ECProperty Specification’ on it. Add this expression as shown below in the picture: ((this.TRANSFORMATION_MATRIX.M11/1000 - this.OUTSIDE_DIAMETER/2 - this.INSULATION_THICKNESS)+0.5)\1 4. Save the changes in schema and verify the results in OpenPlant Modeler Note that in all calculations 1000 is hardcoded value, which should be changed to the current UOR used in your dgn files/project. 1000 per millimeter is default for a Metric project. CASE 2: Calculation Of Bottom Of Pipe (BOP) at the location of Support Steps to Accomplish First user needs to map Pipe OD from the spec to OUTSIDE_DIAMETER property on PIPE class, as it is not mapped by default: Open OpenPlant_CustomAttributes.08.11 schema in class editor. Open OpenPlant_3D.01.04 schema & supplement it with OpenPlant_3D_Supplemental_Modeling.01.04 schema. Go to PIPE class and select its OUTSIDE_DIAMETER property. Add a custom attribute OPENPLANT_PHYSICAL_CATALOGUE_PROPERTY_MAP on this property. Add PIPE_OD_M in property name field as shown below in the picture. Once OUTSIDE_DIAMETER is mapped with PIPE_OD_M, Go to Support Class --> Properties --> Add a Property named BOP Make Sure the property BOP is of type 'String' Add custom attribute ‘Calculated ECProperty Specification' on it. Add this expression as shown below in the picture: IIF(this.GetRelatedInstance("DEVICE_HAS_SUPPORT:1:PIPING_COMPONENT").INSULATION_THICKNESS>"0", (this.TRANSFORMATION_MATRIX.M11/1000)-(this.GetRelatedInstance("DEVICE_HAS_SUPPORT:1:PIPING_COMPONENT").OUTSIDE_DIAMETER)/2-100,(this.TRANSFORMATION_MATRIX.M11/1000)-(this.GetRelatedInstance("DEVICE_HAS_SUPPORT:1:PIPING_COMPONENT").OUTISDE_DIAMETER/2)) The image does not show the complete ECExpression due to shortage of space Note- Make sure “Is calculated as default value only” is set to false Make sure “Use the last valid value on Failure’ is set to True Make Sure the Field “Failure Value” is not blank; here “-“ is set as Failure Value 4. Save the changes in schema and verify the results in OpenPlant Modeler Note- In all calculations 1000 is hardcoded value, which should be changed to the current UOR used in your dgn files/project. 1000 per millimeter is default for a Metric project. Comments or Corrections? Bentley's Product Advantage Group requests that you please confine any comments you have on this Wiki entry to this "Comments or Corrections?" section. THANK YOU!
↧