To Generate Return Tee Custom Symbol in OpenPlant Isometrics Manager


Applies To
Product(s):OpenPlant Isometrics Manager
Version(s):CONNECT Edition (10.09.00.74 Update 9)
Environment:Windows 10 (64 bit)
Area: Errors & Messages
Subarea: - 
Original Author: Frank Pluim, Bentley Product Advantage Group

Problem Description

In OpenPlant Isometrics Manager, for CONNECT Edition version while creating a new 3 port component, say return Tee custom component, it returns to below error

“Error[0]: SYS mismatch CP/CP count: component ID = 3”

Creating isometric: C:\ProgramData\Bentley\OpenPlant CONNECT Edition_u8\Configuration\WorkSpaces\WorkSpace\WorkSets\OpenPlantMetric\WorkFiles\Isometrics\Styles\IFC\dgn\1-2-4-PSDS_cell-iso-1.dgn

Error[0]: SYS mismatch CP/CP count: component ID = 3

                            Failed to generate isometrics

                            Error:Error[0]: SYS mismatch CP/CP count: component ID = 3

                               в Bentley.Isometrics.IsoExtWrapper.GenerateIsometrics.Execute()

   в Bentley.Isometrics.IsoProduction.PipeGenerateIso.Process(IsometricInstance isoInst)

   в Bentley.Isometrics.IsoProduction.ProcessingPipes.ProcessIsoInstance(BackgroundWorker bWorker, IsometricInstance isoInst, Boolean& success)



          

Below steps illustrate on how to resolve below errors while creating new symbol and defining the same in relevant style files.

Steps to Resolve

  1. Let’s evaluate the type of cell which is going to be created.



  2. For OpenPlant Isometrics Manager, we need a “match stick” model for the component. Shown left is such a model for the custom component. For this we need 6 points



  3. The script is called only when the supplemental isometric isoextractor schema, Isometrics Mapping custom attribute has Intersection Point value set to ‘True’. Ensure this is present for desired class in schemas.



  4. Also for new custom component, new script needs to be added inside ipscript.txt file. Navigate to default path C:\Program Files\Bentley\OpenPlant CONNECT Edition\IsometricsManager\config



    NoteUser need to copy to different location to allow it to edit and paste it back to this location after adding below details
  5. Open This file and add below entry to it.

    [SCRIPT]

      # RULE gives the classes for which this script is used

      RULE: this.GetClass().Name = EQUAL_PIPE_TEE_CELL_FREE_PORT,EQUAL_PIPE_TEE_CELL_FREE_PORT_Z45

     

      # L1 is the effective length of the branch leg. This is normally available via

      # DESIGN_LENGTH_CENTER_TO_BRANCH but in your particular case the values are not correct.

      # If the component is spec driven the value should be 115 for this component. For now I

      # hardcoded it to 115

      # L1 = this.DESIGN_LENGTH_CENTER_TO_BRANCH_END_EFFECTIVE

      L1 = 115

     

      # The following are basically vector expressions

     

      # A1 is vector in the branch direction with the length of the branch leg

      A1 = scale (V3, L1)

     

      # When we subtract this vector from the branch port we get IP3

      IP3 = Subtract (P3, A1)

     

      # Calculate the point in the middle between port 1 and 2

      A2  = Add (P2, P1)

      A2  = Scale (A2, 0.5)

     

      # The vector from that mid-point to IP3

      A2  = Subtract (IP3, A2)

     

      # Which can be used to calculate IP1, IP2 relative to P1 and P2

      IP1 = Add (P1, A2)

      IP2 = Add (P2, A2)

  6. Save and close the file.

Explaining the match-stick model to OPIM

the SCALER line in the supplemental isometrics schema (for you RETURN_BO) specifies the scalertype. In symbolsizes.def the DEF entry for the scalertype links to an abstract scalertype (here also RETURN_BO)

DEF RETURN_BO RETURN_BO        -> DEF <abstract scalertype>  <scalertype> 

The abstract scalertype is found in the same file in a SYS statement. This is more or less a list of how the match sticks connect to the points (port, IP).

For OpenPlant Isometrics Manager, we number the points from 1 to 6 in the following order P1, P2, P3, IP1, IP2, IP3 

SYS RETURN_BO   3   3   5       # 3 CP, 3 IP, 5 segments (pipe return bottom/side outlet)

    SEGMENT     1   4           # segment from P1 to IP1

    SEGMENT     2   5           # segment from P2 to IP2

    SEGMENT     3   6           # segment from P3 to IP3

    SEGMENT     4   6           # segment from IP1 to IP3

    SEGMENT     5   6           # segment from IP2 to IP3

 

The SEGLEN part of the DEF entry specifies how long each matchstick will be in the isometric, so 20 for the first segment, 20 for the second etc

DEF RETURN_BO RETURN_BO

  SEGLEN    20 20 5 15 15 

Till here no cell is created. However, it will generate iso with missed cell but will give direction if correct cell sketched out. See image below:

The isometrics are however generated, but the cells are generated in skeleton style

At the time of creating cells.

It currently is a requirement that the leg length in the cell have the same aspect ratio as what is in the DEF statement. Below an example with a different SEGLEN statement

DEF RETURN_BO RETURN_BO

  SEGLEN    8 8 20 30 15

Still a Problem?

If above problem still persist, then please create a Service Request and contact the Bentley Product Advantage group.  Please include a list of all relevant details to get in depth analysis for a solution or workaround. 

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!