endif !lines.append(|<InsulationThickness>$!this.insulationthickness</InsulationThickness>|) !lines.append(|<Position>$!this.position.east $!this.position.north $!this.position.up</Position>|) !lines.append(|<BendRadius>$!this.bendradius</BendRadius>|) if !this.componentType inset('ELBO','BEND') then endif !lines.append(|<SIF>$!this.sif</SIF>|) if !this.restlines.size().gt(0) then endif !lines.append(|</Node>|) return !lines if !a.componentType.eq('BRAN').and(!a.point.eq(2)) then endif enddo if !a.componentType.eq('BRAN').and(!a.point.eq(1)) then endif !lines.appendarray(!a.makenodelines()) define method .makenodelines()is ARRAY !lines = ARRAY() if !this.componentType.eq('BRAN') and !this.point.eq(1) then endif !lines.append(|<Node>|) if !this.nodenumber.unset() then !num = -1 else !lines.append(|<NodeNumber>$!num</NodeNumber>|) !lines.append(|<Endpoint>$!this.point</Endpoint>|) if !this.rigid.eq('END') then else if !this.rigid.eq('START') then endif !lines.append(|<ComponentType>$!this.componentType</ComponentType>|) if !this.weight.unset() then endif !lines.append(|<Weight>$!this.weight</Weight>|) endif !lines.append(|<ComponentRefNo>$!this.component</ComponentRefNo>|) !lines.append(|<OutsideDiameter>$!this.outsideDiameter</OutsideDiameter>|) !lines.append(|<WallThickness>$!this.wallThickness</WallThickness>|) !lines.append(|<CorrosionAllowance>$!this.corrosionAllowance</CorrosionAllowance>|) if !this.AlphaAngle.set() then endif !lines.append(|<InsulationThickness>$!this.insulationthickness</InsulationThickness>|) !lines.append(|<Position>$!this.position.east $!this.position.north $!this.position.up</Position>|) !lines.append(|<BendRadius>$!this.bendradius</BendRadius>|) if !this.componentType inset('ELBO','BEND') then endif !lines.append(|<SIF>$!this.sif</SIF>|) if !this.restlines.size().gt(0) then endif !lines.append(|</Node>|) return !lines if !a.componentType.eq('BRAN').and(!a.point.eq(2)) then endif enddo if !a.componentType.eq('BRAN').and(!a.point.eq(1)) then endif !lines.appendarray(!a.makenodelines()) define method .makenodelines()is ARRAY !lines = ARRAY() if !this.componentType.eq('BRAN') and !this.point.eq(1) then endif !lines.append(|<Node>|) if !this.nodenumber.unset() then !num = -1 else !lines.append(|<NodeNumber>$!num</NodeNumber>|) !lines.append(|<Endpoint>$!this.point</Endpoint>|) if !this.rigid.eq('END') then else if !this.rigid.eq('START') then endif !lines.append(|<ComponentType>$!this.componentType</ComponentType>|) if !this.weight.unset() then endif !lines.append(|<Weight>$!this.weight</Weight>|) endif !lines.append(|<ComponentRefNo>$!this.component</ComponentRefNo>|) !lines.append(|<OutsideDiameter>$!this.outsideDiameter</OutsideDiameter>|) !lines.append(|<WallThickness>$!this.wallThickness</WallThickness>|) !lines.append(|<CorrosionAllowance>$!this.corrosionAllowance</CorrosionAllowance>|) if !this.AlphaAngle.set() then endif !lines.append(|<InsulationThickness>$!this.insulationthickness</InsulationThickness>|) !lines.append(|<Position>$!this.position.east $!this.position.north $!this.position.up</Position>|) !lines.append(|<BendRadius>$!this.bendradius</BendRadius>|) if !this.componentType inset('ELBO','BEND') then endif !lines.append(|<SIF>$!this.sif</SIF>|) if !this.restlines.size().gt(0) then endif !lines.append(|</Node>|) return !lines if !a.componentType.eq('BRAN').and(!a.point.eq(2)) then endif enddo if !a.componentType.eq('BRAN').and(!a.point.eq(1)) then endif !lines.appendarray(!a.makenodelines()) define method .makenodelines()is ARRAY !lines = ARRAY() if !this.componentType.eq('BRAN') and !this.point.eq(1) then endif !lines.append(|<Node>|) if !this.nodenumber.unset() then else !num = !this.nodenumber endif !lines.append(|<NodeNumber>$!num</NodeNumber>|) !lines.append(|<Endpoint>$!this.point</Endpoint>|) if !this.rigid.eq('END') then else if !this.rigid.eq('START') then endif !lines.append(|<ComponentType>$!this.componentType</ComponentType>|) if !this.weight.unset() then endif !lines.append(|<Weight>$!this.weight</Weight>|) endif !lines.append(|<ComponentRefNo>$!this.component</ComponentRefNo>|) !lines.append(|<OutsideDiameter>$!this.outsideDiameter</OutsideDiameter>|) !lines.append(|<WallThickness>$!this.wallThickness</WallThickness>|) !lines.append(|<CorrosionAllowance>$!this.corrosionAllowance</CorrosionAllowance>|) if !this.AlphaAngle.set() then endif !lines.append(|<InsulationThickness>$!this.insulationthickness</InsulationThickness>|) !lines.append(|<Position>$!this.position.east $!this.position.north $!this.position.up</Position>|) !lines.append(|<BendRadius>$!this.bendradius</BendRadius>|) if !this.componentType inset('ELBO','BEND') then endif !lines.append(|<SIF>$!this.sif</SIF>|) if !this.restlines.size().gt(0) then endif !lines.append(|</Node>|) return !lines if !a.componentType.eq('BRAN').and(!a.point.eq(2)) then endif enddo if !a.componentType.eq('BRAN').and(!a.point.eq(1)) then endif !lines.appendarray(!a.makenodelines()) define method .makenodelines()is ARRAY !lines = ARRAY() if !this.componentType.eq('BRAN') and !this.point.eq(1) then endif !lines.append(|<Node>|) if !this.nodenumber.unset() then !num = -1 else !lines.append(|<NodeNumber>$!num</NodeNumber>|) !lines.append(|<Endpoint>$!this.point</Endpoint>|) if !this.rigid.eq('END') then else if !this.rigid.eq('START') then endif !lines.append(|<ComponentType>$!this.componentType</ComponentType>|) if !this.weight.unset() then endif !lines.append(|<Weight>$!this.weight</Weight>|) endif !lines.append(|<ComponentRefNo>$!this.component</ComponentRefNo>|) !lines.append(|<OutsideDiameter>$!this.outsideDiameter</OutsideDiameter>|) !lines.append(|<WallThickness>$!this.wallThickness</WallThickness>|) !lines.append(|<CorrosionAllowance>$!this.corrosionAllowance</CorrosionAllowance>|) if !this.AlphaAngle.set() then endif !lines.append(|<InsulationThickness>$!this.insulationthickness</InsulationThickness>|) !lines.append(|<Position>$!this.position.east $!this.position.north $!this.position.up</Position>|) !lines.append(|<BendRadius>$!this.bendradius</BendRadius>|) if !this.componentType inset('ELBO','BEND') then endif !lines.append(|<SIF>$!this.sif</SIF>|) if !this.restlines.size().gt(0) then endif !lines.append(|</Node>|) return !lines if !a.componentType.eq('BRAN').and(!a.point.eq(2)) then endif enddo if !a.componentType.eq('BRAN').and(!a.point.eq(1)) then endif !lines.appendarray(!a.makenodelines()) define method .makenodelines()is ARRAY !lines = ARRAY() if !this.componentType.eq('BRAN') and !this.point.eq(1) then endif !lines.append(|<Node>|) if !this.nodenumber.unset() then !num = -1 else !lines.append(|<NodeNumber>$!num</NodeNumber>|) !lines.append(|<Endpoint>$!this.point</Endpoint>|) if !this.rigid.eq('END') then else if !this.rigid.eq('START') then endif !lines.append(|<ComponentType>$!this.componentType</ComponentType>|) if !this.weight.unset() then endif !lines.append(|<Weight>$!this.weight</Weight>|) endif !lines.append(|<ComponentRefNo>$!this.component</ComponentRefNo>|) !lines.append(|<OutsideDiameter>$!this.outsideDiameter</OutsideDiameter>|) !lines.append(|<WallThickness>$!this.wallThickness</WallThickness>|) !lines.append(|<CorrosionAllowance>$!this.corrosionAllowance</CorrosionAllowance>|) if !this.AlphaAngle.set() then endif !lines.append(|<InsulationThickness>$!this.insulationthickness</InsulationThickness>|) !lines.append(|<Position>$!this.position.east $!this.position.north $!this.position.up</Position>|) !lines.append(|<BendRadius>$!this.bendradius</BendRadius>|) if !this.componentType inset('ELBO','BEND') then !lines.append(|<BendType>$!this.bendtype</BendType>|) endif !lines.append(|<SIF>$!this.sif</SIF>|) if !this.restlines.size().gt(0) then endif !lines.append(|</Node>|) return !lines if !a.componentType.eq('BRAN').and(!a.point.eq(2)) then endif enddo if !a.componentType.eq('BRAN').and(!a.point.eq(1)) then endif !lines.appendarray(!a.makenodelines()) define method .makenodelines()is ARRAY !lines = ARRAY() if !this.componentType.eq('BRAN') and !this.point.eq(1) then endif !lines.append(|<Node>|) if !this.nodenumber.unset() then else !num = !this.nodenumber endif !lines.append(|<NodeNumber>$!num</NodeNumber>|) !lines.append(|<Endpoint>$!this.point</Endpoint>|) if !this.rigid.eq('END') then else if !this.rigid.eq('START') then endif !lines.append(|<ComponentType>$!this.componentType</ComponentType>|) if !this.weight.unset() then endif !lines.append(|<Weight>$!this.weight</Weight>|) endif !lines.append(|<ComponentRefNo>$!this.component</ComponentRefNo>|) !lines.append(|<OutsideDiameter>$!this.outsideDiameter</OutsideDiameter>|) !lines.append(|<WallThickness>$!this.wallThickness</WallThickness>|) !lines.append(|<CorrosionAllowance>$!this.corrosionAllowance</CorrosionAllowance>|) if !this.AlphaAngle.set() then endif !lines.append(|<InsulationThickness>$!this.insulationthickness</InsulationThickness>|) !lines.append(|<Position>$!this.position.east $!this.position.north $!this.position.up</Position>|) !lines.append(|<BendRadius>$!this.bendradius</BendRadius>|) if !this.componentType inset('ELBO','BEND') then !lines.append(|<BendType>$!this.bendtype</BendType>|) endif !lines.append(|<SIF>$!this.sif</SIF>|) if !this.restlines.size().gt(0) then endif !lines.append(|</Node>|) return !lines if !a.componentType.eq('BRAN').and(!a.point.eq(2)) then endif enddo if !a.componentType.eq('BRAN').and(!a.point.eq(1)) then endif !lines.appendarray(!a.makenodelines()) define method .makenodelines()is ARRAY !lines = ARRAY() if !this.componentType.eq('BRAN') and !this.point.eq(1) then endif !lines.append(|<Node>|) if !this.nodenumber.unset() then !num = -1 else !lines.append(|<NodeNumber>$!num</NodeNumber>|) !lines.append(|<Endpoint>$!this.point</Endpoint>|) if !this.rigid.eq('END') then else if !this.rigid.eq('START') then endif !lines.append(|<ComponentType>$!this.componentType</ComponentType>|) if !this.weight.unset() then endif !lines.append(|<Weight>$!this.weight</Weight>|) endif !lines.append(|<ComponentRefNo>$!this.component</ComponentRefNo>|) !lines.append(|<OutsideDiameter>$!this.outsideDiameter</OutsideDiameter>|) !lines.append(|<WallThickness>$!this.wallThickness</WallThickness>|) !lines.append(|<CorrosionAllowance>$!this.corrosionAllowance</CorrosionAllowance>|) if !this.AlphaAngle.set() then endif !lines.append(|<InsulationThickness>$!this.insulationthickness</InsulationThickness>|) !lines.append(|<Position>$!this.position.east $!this.position.north $!this.position.up</Position>|) !lines.append(|<BendRadius>$!this.bendradius</BendRadius>|) if !this.componentType inset('ELBO','BEND') then !lines.append(|<BendType>$!this.bendtype</BendType>|) endif !lines.append(|<SIF>$!this.sif</SIF>|) if !this.restlines.size().gt(0) then endif !lines.append(|</Node>|) return !lines if !a.componentType.eq('BRAN').and(!a.point.eq(2)) then endif enddo if !a.componentType.eq('BRAN').and(!a.point.eq(1)) then endif !lines.appendarray(!a.makenodelines()) define method .makenodelines()is ARRAY !lines = ARRAY() if !this.componentType.eq('BRAN') and !this.point.eq(1) then endif !lines.append(|<Node>|) if !this.nodenumber.unset() then else !num = !this.nodenumber endif !lines.append(|<NodeNumber>$!num</NodeNumber>|) !lines.append(|<Endpoint>$!this.point</Endpoint>|) if !this.rigid.eq('END') then else if !this.rigid.eq('START') then !lines.append(|<Rigid>1</Rigid>|) endif !lines.append(|<ComponentType>$!this.componentType</ComponentType>|) if !this.weight.unset() then endif !lines.append(|<Weight>$!this.weight</Weight>|) endif !lines.append(|<ComponentRefNo>$!this.component</ComponentRefNo>|) !lines.append(|<OutsideDiameter>$!this.outsideDiameter</OutsideDiameter>|) !lines.append(|<WallThickness>$!this.wallThickness</WallThickness>|) !lines.append(|<CorrosionAllowance>$!this.corrosionAllowance</CorrosionAllowance>|) if !this.AlphaAngle.set() then endif !lines.append(|<InsulationThickness>$!this.insulationthickness</InsulationThickness>|) !lines.append(|<Position>$!this.position.east $!this.position.north $!this.position.up</Position>|) !lines.append(|<BendRadius>$!this.bendradius</BendRadius>|) if !this.componentType inset('ELBO','BEND') then endif !lines.append(|<SIF>$!this.sif</SIF>|) if !this.restlines.size().gt(0) then endif !lines.append(|</Node>|) return !lines if !a.componentType.eq('BRAN').and(!a.point.eq(2)) then endif enddo if !a.componentType.eq('BRAN').and(!a.point.eq(1)) then endif !lines.appendarray(!a.makenodelines()) define method .makenodelines()is ARRAY !lines = ARRAY() if !this.componentType.eq('BRAN') and !this.point.eq(1) then endif !lines.append(|<Node>|) if !this.nodenumber.unset() then !num = -1 else !lines.append(|<NodeNumber>$!num</NodeNumber>|) !lines.append(|<Endpoint>$!this.point</Endpoint>|) if !this.rigid.eq('END') then else if !this.rigid.eq('START') then endif !lines.append(|<ComponentType>$!this.componentType</ComponentType>|) if !this.weight.unset() then endif !lines.append(|<Weight>$!this.weight</Weight>|) endif !lines.append(|<ComponentRefNo>$!this.component</ComponentRefNo>|) !lines.append(|<OutsideDiameter>$!this.outsideDiameter</OutsideDiameter>|) !lines.append(|<WallThickness>$!this.wallThickness</WallThickness>|) !lines.append(|<CorrosionAllowance>$!this.corrosionAllowance</CorrosionAllowance>|) if !this.AlphaAngle.set() then endif !lines.append(|<InsulationThickness>$!this.insulationthickness</InsulationThickness>|) !lines.append(|<Position>$!this.position.east $!this.position.north $!this.position.up</Position>|) !lines.append(|<BendRadius>$!this.bendradius</BendRadius>|) if !this.componentType inset('ELBO','BEND') then endif !lines.append(|<SIF>$!this.sif</SIF>|) if !this.restlines.size().gt(0) then endif !lines.append(|</Node>|) return !lines if !a.componentType.eq('BRAN').and(!a.point.eq(2)) then endif enddo if !a.componentType.eq('BRAN').and(!a.point.eq(1)) then endif !lines.appendarray(!a.makenodelines()) define method .makenodelines()is ARRAY !lines = ARRAY() if !this.componentType.eq('BRAN') and !this.point.eq(1) then endif !lines.append(|<Node>|) if !this.nodenumber.unset() then !num = -1 else !lines.append(|<NodeNumber>$!num</NodeNumber>|) !lines.append(|<Endpoint>$!this.point</Endpoint>|) if !this.rigid.eq('END') then else if !this.rigid.eq('START') then endif !lines.append(|<ComponentType>$!this.componentType</ComponentType>|) if !this.weight.unset() then endif !lines.append(|<Weight>$!this.weight</Weight>|) endif !lines.append(|<ComponentRefNo>$!this.component</ComponentRefNo>|) !lines.append(|<OutsideDiameter>$!this.outsideDiameter</OutsideDiameter>|) !lines.append(|<WallThickness>$!this.wallThickness</WallThickness>|) !lines.append(|<CorrosionAllowance>$!this.corrosionAllowance</CorrosionAllowance>|) if !this.AlphaAngle.set() then endif !lines.append(|<InsulationThickness>$!this.insulationthickness</InsulationThickness>|) !lines.append(|<Position>$!this.position.east $!this.position.north $!this.position.up</Position>|) !lines.append(|<BendRadius>$!this.bendradius</BendRadius>|) if !this.componentType inset('ELBO','BEND') then endif !lines.append(|<SIF>$!this.sif</SIF>|) if !this.restlines.size().gt(0) then endif !lines.append(|</Node>|) return !lines if !a.componentType.eq('BRAN').and(!a.point.eq(2)) then endif enddo if !a.componentType.eq('BRAN').and(!a.point.eq(1)) then endif !lines.appendarray(!a.makenodelines()) define method .makenodelines()is ARRAY !lines = ARRAY() if !this.componentType.eq('BRAN') and !this.point.eq(1) then endif !lines.append(|<Node>|) if !this.nodenumber.unset() then !num = -1 else !lines.append(|<NodeNumber>$!num</NodeNumber>|) !lines.append(|<Endpoint>$!this.point</Endpoint>|) if !this.rigid.eq('END') then else if !this.rigid.eq('START') then endif !lines.append(|<ComponentType>$!this.componentType</ComponentType>|) if !this.weight.unset() then endif !lines.append(|<Weight>$!this.weight</Weight>|) endif !lines.append(|<ComponentRefNo>$!this.component</ComponentRefNo>|) !lines.append(|<OutsideDiameter>$!this.outsideDiameter</OutsideDiameter>|) !lines.append(|<WallThickness>$!this.wallThickness</WallThickness>|) !lines.append(|<CorrosionAllowance>$!this.corrosionAllowance</CorrosionAllowance>|) if !this.AlphaAngle.set() then endif !lines.append(|<InsulationThickness>$!this.insulationthickness</InsulationThickness>|) !lines.append(|<Position>$!this.position.east $!this.position.north $!this.position.up</Position>|) !lines.append(|<BendRadius>$!this.bendradius</BendRadius>|) if !this.componentType inset('ELBO','BEND') then endif !lines.append(|<SIF>$!this.sif</SIF>|) if !this.restlines.size().gt(0) then endif !lines.append(|</Node>|) return !lines if !a.componentType.eq('BRAN').and(!a.point.eq(2)) then endif enddo if !a.componentType.eq('BRAN').and(!a.point.eq(1)) then endif !lines.appendarray(!a.makenodelines()) define method .makenodelines()is ARRAY !lines = ARRAY() if !this.componentType.eq('BRAN') and !this.point.eq(1) then endif !lines.append(|<Node>|) if !this.nodenumber.unset() then else !num = !this.nodenumber endif !lines.append(|<NodeNumber>$!num</NodeNumber>|) !lines.append(|<Endpoint>$!this.point</Endpoint>|) if !this.rigid.eq('END') then !lines.append(|<Rigid>2</Rigid>|) !lines.append(|<ComponentType>RIGID</ComponentType>|) if !this.rigidweight.unset() then endif !lines.append(|<Weight>$!this.rigidweight</Weight>|) else !lines.append(|<ComponentRefNo>$!this.component</ComponentRefNo>|) !lines.append(|<OutsideDiameter>$!this.outsideDiameter</OutsideDiameter>|) !lines.append(|<WallThickness>$!this.wallThickness</WallThickness>|) !lines.append(|<CorrosionAllowance>$!this.corrosionAllowance</CorrosionAllowance>|) if !this.AlphaAngle.set() then endif !lines.append(|<InsulationThickness>$!this.insulationthickness</InsulationThickness>|) !lines.append(|<Position>$!this.position.east $!this.position.north $!this.position.up</Position>|) !lines.append(|<BendRadius>$!this.bendradius</BendRadius>|) if !this.componentType inset('ELBO','BEND') then endif !lines.append(|<SIF>$!this.sif</SIF>|) if !this.restlines.size().gt(0) then endif !lines.append(|</Node>|) return !lines if !a.componentType.eq('BRAN').and(!a.point.eq(2)) then !lines.append(|</Branch>|) endif enddo !this.lines = !lines !this.endreport() define method .endreport() !lines = !this.lines !lines.append(|</Pipe>|) !lines.append(|</PipeStressExport>|) !this.lines = !lines endmethod endmethod !stressGroup = !this.currentGroup.stressgroupname.after('/') !fileName = '$!psidir' & '\' & 'output' & '\' & !stressGroup & '.xml' !outputFileName = object FILE('$!fileName') !this.currentGroup.writedata(!outputFileName) define method .writeData(!file is FILE) !file.writefile('Write',!this.lines) handle ANY handle ANY !!alert.error('Write Aborted') endhandle endmethod !formDirName = object FILE(!!pml.getPathName('psisystem.pmlfrm')) !formLoc = !formDirName.directory() !coreLoc = '$!formLoc' + '\..\..\..\core' syscom '$!coreLoc\convert_to_cii.bat $!psiDir $!stressGroup $!coreLoc' endmethod $r