OPM Schema Parser Expression

Good day,

Our pipeline specifications are a 4 or 5 character set where XX#XO is the format.

  • X – any capital alpha
  • # - any single digit
  • O – optional capital alpha dependent if threaded.

 In OP3D schema supplemented with Modeling and ModelingViews, in the Iso Sheet class I created a property called SPEC and used the calculated ECExpression attribute to set its value to the pipeline specification. The coding is:

  • this.GetRelatedInstance("PIPING_NETWORK_SYSTEM_HAS_ISO_SHEET:1:PIPING_NETWORK_SYSTEM").SPECIFICATION

We do have cases where a pipeline may have several sheets and due to the service may require a spec change during the piping. I am trying to deal with the scenario where a whole iso sheet will be the different spec. Example a line would have 4 iso sheets and if iso sheet #3 was completely changed to a new spec, I would like to override the SPEC property for iso sheet 3 in iso sheet manager. This way moving forward when you generate the iso sheet you do not manually have to change the drawing each time.

My problem is writing the parser expression, once I get it so I can edit the SPEC property in the iso sheet manager I keep getting the error Property value not valid after changing the value.

I cannot seem to write the parser expression to accept the pattern XX#XO.

Any ideas.

  • Hi Carpsy,

    You can get the SPECIFICATION of pipeline and populate that in SPEC property of ISO sheet using the EC expression you mentioned, there shouldn't be any issue with that. What i am not clear is that why are you using the parser regular expression at that point? If all you are getting is the specification name, you don't need to parse it further unless you are trying to get the specification from pipeline name which can be like

    Unit-Service-LNum123-SpecName.

    If you are reading SPECIFICATION property from pipeline, it would be same for all associated ISO sheets. Changing it on pipeline would result in updating all ISO sheets. So i think you would be manually updating the ISO sheet SPEC property for that specific instance using ISO sheet manager.

    Next would be to update the ISO sheet name ... which would require a little extra effort but can be achieved (if thats what you mean by "This way moving forward when you generate the iso sheet you do not manually have to change the drawing each time").

    If you can elaborate a little on what do you want to achieve, i might be able to offer a better solution.

  • Good day Bilal,

    My plan was to use the parser to allow the user to override the SPEC value in the iso sheet without changing the pipeline spec. The the initial value of the SPEC property is set by the pipeline specification.

    I have found without the parser expression, even though the Property Display Status is set to Show:Editable, the specification value is not editable.

    My understanding of the parser expression can be used to check the user's input to ensure a legitimate value was entered. This is how I was planning to use the parser in this case.

    With the PSDS system we are upgrading from, we would generate isometrics and then manually enter the title block each time. With OPM and OPIM I am trying to get all the information into the model or onto the iso sheets so the draftspeople only enter it once and then if they need to regenerate the isometrics they are not manually entering the data over and over again. Thisis what I meant by the statement "This way moving forward when you generate the iso sheet you do not manually have to change the drawing each time"

    Hope this clarifies things.

    Ken