5.12.13.5.2. PSOL configuration steps

[Note]Note

In current versions respective keys are already created, so that you just have to activate these.

Create ptb files

Create cadenas_routing_library_inch.ptb and cadenas_routing_library_mm.ptb.

e.g. under:

D:/CADENAS_ROUTING/

Adjust ifugnx.cfg

Customize ifugnx.cfg in %CADENAS_SETUP%/ifugnx.cfg to.

  • Activate following keys (currently not accessible from with PARTadmin, but only directly in file)

    hasPipingClass=Len( _FORMAT_DOC("<CLASSPROP(cns,CNSPIPECONNECTOR_ROUND,CNS_3DID)>").
     value() )>0

    hasConnPointPipingClass=Len(_FORMAT_DOC("<CLASSPROP
     (cns,CNSPIPECONNECTOR_ROUND,CNS_PIPE_CONNECTOR_NOMINAL_DIAMETER,CNS_3DID,
     PNT<chr(44)><GLOBPROP(CONN,Name)>)>").value())>0

  • Point to ptb files

    [CreationOptions(is3d):include(CreationOptions)] points to ptb files.

    CadenasPipingPartLibraryFile(isMmDoc)=
    
    D:/CADENAS_ROUTING/cadenas_routing_library_mm.ptb
    

    CadenasPipingPartLibraryFile(isInchDoc)=
    
    D:/CADENAS_ROUTING/cadenas_routing_library_inch.ptb
    

  • Adjust [CADOPTIONS]

    ProcessAdditionalClasses(is3dPart)=CONNPOINT

  • adapt "hasPipingClass" to "hasConnPointPipingClass" in the following cases and add the following code (or activate the corresponding key)

    [CreationOptions(isConnectionPoint, hasConnPointPipingClass)]

    [AttributeMapping(isConnectionPoint, hasConnPointPipingClass)]

    [ConnPointAttributes (hasConnPointPipingClass)]
    
    NPS=?_FORMAT_DOC("<CLASSPROP(cns,CNSPIPECONNECTOR_ROUND,CNS_PIPE_CONNECTOR_NOMINAL_
     DIAMETER,CNS_3DID,PNT<chr(44)><GLOBPROP(CONN,Name)>)>").value()
    
    NPS.CUSTOM=type.number
    
    CONNECTION_TYPE=BUTT WELD
    
    DIAMETER=?_FORMAT_DOC("<CLASSPROP(cns,CNSPIPECONNECTOR_ROUND,CNS_PIPE_CONNECTOR_EXTERNAL_
     DIAMETER,CNS_3DID,PNT<chr(44)><GLOBPROP(CONN,Name)>)>").value()
    
    DIAMETER.CUSTOM=type.number
    

    [ConnPointCharacteristics (hasConnPointPipingClass)]
    
    CNS_PIPE_CONNECTOR_IS_MAINLINE=?_FORMAT_DOC("<CLASSPROP(cns,CNSPIPECONNECTOR_ROUND,
     CNS_PIPE_CONNECTOR_IS_MAINLINE,CNS_3DID,PNT<chr(44)><GLOBPROP(CONN,Name)>)>").value()
    
    CNS_PIPE_CONNECTOR_IS_MAINLINE.CUSTOM=type.boolean
    
    CNS_PIPE_CONNECTOR_DESIGNATION=?_FORMAT_DOC("<CLASSPROP(cns,CNSPIPECONNECTOR_ROUND,
     CNS_PIPE_CONNECTOR_DESIGNATION,CNS_3DID,PNT<chr(44)><GLOBPROP(CONN,Name)>)>").value()
    
    ENGAGEMENT=?_FORMAT_DOC("<CLASSPROP(cns,CNSPIPECONNECTOR_ROUND,CNS_PIPE_CONNECTOR_
    EXTERNAL_INS_DEPTH,CNS_3DID,PNT<chr(44)><GLOBPROP(CONN,Name)>)>").value()
    
    ENGAGEMENT.CUSTOM=type.number
    
    DIAMETER=?_FORMAT_DOC("<CLASSPROP(cns,CNSPIPECONNECTOR_ROUND,CNS_PIPE_CONNECTOR_EXTERNAL_
     DIAMETER,CNS_3DID,PNT<chr(44)><GLOBPROP(CONN,Name)>)>").value()
    
    DIAMETER.CUSTOM=type.number
    
    NPS=?_FORMAT_DOC("<CLASSPROP(cns,CNSPIPECONNECTOR_ROUND,CNS_PIPE_CONNECTOR_NOMINAL_
     DIAMETER,CNS_3DID,PNT<chr(44)><GLOBPROP(CONN,Name)>)>").value()
    
    NPS.CUSTOM=type.number
    
    CONNECTION_TYPE=BUTT WELD
    

  • [AttributeMapping(is3d)]

    Make sure that following code is present:

    Attr_Content_02=CadPipingAttributes
    #:VALS_S;
    #:HELP;Do not change!
    Attr_Section_02=PIPING
    

  • Add the attribute sets required for piping

    Add the attribute sets required for piping (as listed in the ptb file, customer-dependent). Make sure that you use a suitable ifugnx.cfg, cadenas_routing_library_mm.ptb and cadenas_routing_library_inch.ptb. This should contain the following piping attributes:

    • DN (mm) NPS (inch) - nominal diameter (number)

    • ISOGEN_SKEY

    • ISOGEN_COMPONENT_ID

    • CONNECTION_TYPE

    • DESCRIPTION

    • PART_NUMBER

    • PART_NAME (all strings)

    The type, number and role of these attributes can be adjusted in the ptb file. Corresponding adjustments must then also be made in ifugnx.cfg, in the [CadPipingAttributes] block.

    Make sure that required attribute sets for piping are added (as listed in the ptb file, customer-dependent).

    The type, number, and role of these attributes can be changed as needed in the ptb files.

    The block [CadPipingAttributes] in ifugnx.cfg must then also be adjusted accordingly.

    [CadPipingAttributes]
    #:VALS_S;
    NPS(isInchDoc)=?GetObject("iface.ugnx.piping").GetLargestDiamValue(_METAOBJ)
    
    NPS.CUSTOM(isInchDoc)=type.number
    
    DN(isMmDoc)=?GetObject("iface.ugnx.piping").GetLargestDiamValue(_METAOBJ)
    
    DN.CUSTOM(isMmDoc)=type.number
    
    ISOGEN_SKEY=?chr(34)+_FORMAT_DOC("<CLASSPROP(cns,CNSPIPING,CNS_PIPE_PART_ISOGEN_CODE)>")
     .value()+chr(34)
    
    ISOGEN_COMPONENT_ID=?_FORMAT_DOC(chr(34)+"<CLASSPROP(cns,CNSPIPING,CNS_PIPE_PART_
     DESIGNATION)>"+chr(34)).value()
    
    CONNECTION_TYPE=?chr(34)+_FORMAT_DOC("<CLASSPROP(cns,CNSPIPING,CNS_PIPE_
     PART_TYPE)>").value()+chr(34)
    
    DESCRIPTION=?chr(34)+_FORMAT_0((_ATTR("LINA"))).value()+chr(34)
    
    PART_NUMBER=?chr(34)+_ATTR("NB")+chr(34)
    
    PART_NAME=?chr(34)+_FORMAT_0("<GenNAME><MATERIAL(_)>").toFileName("_").
     RepChar("!","_").add(".prt").value()+chr(34)
    
    PART_NUMBER(tcActive)=%TC_ItemId%
    
    PART_NAME(tcActive)=%TC_ItemName%
    

  • "DocAfterCreate(is3dpart)"

    The DocAfterCreate(is3dpart)Creation option is already available and activated by default:

    DocAfterCreate(is3dpart)=GetObject("iface.ugnx.piping").CreatePTBEntry