def getNodeReferenceItem(self): retval = oI.SCXMLObjectItem() nodeId = str(self.nodeId) name = nc.nodePrefix + nodeId row = rw.SCXMLRowP012( "0", oI.SCXMLObjectItem(nc.idNodeContainer, None, None, None, None, None), oI.SCXMLObjectItem(nc.progIdNodes, None, None, None, None, None), oI.SCXMLObjectItem(name, None, None, None, None, None)) retval.rows.append(row) return retval
def getLoadCombComponentRow(combComp): id = str(combComp.id) lcName = combComp.loadCaseName if (lcName == ''): lcName = loadCombPrefix + id p0 = oI.SCXMLObjectItem(lcName) #Load case name p1 = oI.SCXMLObjectItem(str(combComp.coef)) #Load case coefficient p2 = oI.SCXMLObjectItem('', str(combComp.loadCaseId)) p2.n = lcName return rw.SCXMLRowP012(id, p0, p1, p2) retval.rows.append(row) return retval
def getElementReferenceItem(self): retval = oI.SCXMLObjectItem() elementId = str(self.elementId) name = ec.elementPrefix + elementId row = rw.SCXMLRowP0123( "0", oI.SCXMLObjectItem(ec.idEPPlaneContainer, None, None, None, None, None), oI.SCXMLObjectItem(ec.tEPPlaneContainerTb, None, None, None, None, None), oI.SCXMLObjectItem(elementId, None, None, None, None, None), oI.SCXMLObjectItem(name, None, None, None, None, None)) retval.rows.append(row) return retval
def getObject(self): retval = obj.SCXMLObject() loadCompId = str(self.nodeLoadCompId) retval.setId(loadCompId) name = nodeLoadPrefix + loadCompId retval.setNm(name) nodeId = str(self.nodeId) # Node id retval.setP0(oI.SCXMLObjectItem(name)) #Name retval.setP1(self.getLoadCaseReferenceItem()) #Reference to load case. retval.setP2(self.getNodeReferenceItem()) #Reference to node. retval.setP3(self.getDirectionObjectItem()) #Direction X, Y or Z retval.setP4(oI.SCXMLObjectItem('0', '', '', 'Force')) #Type 0 -> Force. retval.setP5(self.getValueObjectItem()) #Value retval.setP6(self.getSystemItem()) #System 0 -> GCS, 1 -> LCS return retval
def getLoadGroupObject(loadGroup): retval = obj.SCXMLObject() id = str(loadGroup.id) retval.setId(id) name = loadGroupPrefix + id retval.setNm(name) retval.setP0(oI.SCXMLObjectItem(name)) #Name tmp = None if (loadGroup.permanent): tmp = oI.SCXMLObjectItem('0') tmp.t = 'Permanent' else: tmp = oI.SCXMLObjectItem('1') tmp.t = 'Variable' retval.setP1(tmp) return retval
def getDirectionObjectItem(self): '''returns an item which represents load component direction.''' dirId= '0' if(self.direction=='Y'): dirId= '1' elif(self.direction=='Z'): dirId= '2' return oI.SCXMLObjectItem(dirId,'','',self.direction) #Direction X, Y or Z
def getPolygonRows(self, polygon): retval = oI.SCXMLObjectItem() counter = 0 for point in polygon: retval.rows.append( PolygonPointRow(str(counter), point.x, point.y, point.z)) counter += 1 return retval
def getObject(self): retval = obj.SCXMLObject() loadCompId = str(self.elementLoadCompId) retval.setId(loadCompId) name = elementLoadPrefix + loadCompId retval.setNm(name) elementId = str(self.elementId) # Load name. retval.setP0(self.getElementReferenceItem()) #Reference to element. retval.setP1(self.getLoadCaseReferenceItem()) #Reference to load case. retval.setP2(oI.SCXMLObjectItem(name)) #Name retval.setP3(oI.SCXMLObjectItem('{' + str(uuid.uuid4()) + '}')) #Unique id retval.setP4(self.getDirectionObjectItem()) #Direction X, Y or Z retval.setP5(oI.SCXMLObjectItem('0', '', '', 'Force')) #Type 0 -> Force. retval.setP6(self.getValueObjectItem()) #Value retval.setP7(self.getSystemItem()) #System 0 -> GCS, 1 -> LCS retval.setP8(oI.SCXMLObjectItem('0', '', '', 'Length')) #Location. return retval
def getDistributionObjectItem(self): '''returns an item which represents the surface load distribution: uniform, Dir X, Dir Y, 3 points.''' distributionId= '0' if(self.distribution=='Dir X'): distributionId= '1' elif(self.distribution=='Dir Y'): distributionId= '2' elif(self.distribution=='3 points'): distributionId= '3' return oI.SCXMLObjectItem(distributionId,'','',self.distribution) #Distribution
def getLoadCaseObject(loadCase): retval = obj.SCXMLObject() id = str(loadCase.id) retval.setId(id) name = loadCase.name if (name == ''): name = loadCasePrefix + id retval.setNm(name) retval.setP0(oI.SCXMLObjectItem(name)) #Name retval.setP1(oI.SCXMLObjectItem('{' + str(uuid.uuid4()) + '}')) # Unique id tmp = oI.SCXMLObjectItem(str(getActionTypeCode(loadCase.actionType))) tmp.t = loadCase.actionType retval.setP2(tmp) #?? retval.setP3(oI.SCXMLObjectItem(loadCase.desc)) #Description gId = str(loadCase.loadGroupId) gName = lgc.loadGroupPrefix + gId tmp = oI.SCXMLObjectItem('', gId) tmp.n = gName retval.setP4(tmp) ltyp = loadCase.ltyp ltypName = getLoadTypeName(ltyp) tmp = oI.SCXMLObjectItem(str(ltyp)) tmp.t = ltypName retval.setP5(tmp) #?? return retval
def __init__(self, id, x, y, z): p0 = oI.SCXMLObjectItem(v='Head') #Node p1 = oI.SCXMLObjectItem('0', '', '', 'Standard') #Point definition p2 = oI.SCXMLObjectItem(str(x), '', '', '') #X coordinate. p3 = oI.SCXMLObjectItem(str(y), '', '', '') #Y coordinate. super(PolygonPointRow, self).__init__(id, p0, p1, p2, p3) self.p4 = oI.SCXMLObjectItem(str(z), '', '', '') #Z coordinate. self.p22 = oI.SCXMLObjectItem(v='Ligne') #Edge
def getLoadCombObject(loadComb): retval = obj.SCXMLObject() id = str(loadComb.id) retval.setId(id) name = loadComb.name if (name == ''): name = loadCombPrefix + id retval.setNm(name) retval.setP0(oI.SCXMLObjectItem(name)) #Name retval.setP1(oI.SCXMLObjectItem('{' + str(uuid.uuid4()) + '}')) # Unique id retval.setP2(oI.SCXMLObjectItem(loadComb.desc)) #Description ctyp = getLoadCombType(loadComb.typ) ctypName = getLoadCombTypeName(ctyp) tmp = oI.SCXMLObjectItem(str(ctyp)) tmp.t = ctypName retval.setP3(tmp) retval.setP4(getDescompObject(loadComb.descomp)) retval.setP5(oI.SCXMLObjectItem('0')) #Explode retval.setP6(oI.SCXMLObjectItem('-1')) #Phase retval.setP7(oI.SCXMLObjectItem('0')) #Master ID return retval
def getObject(self): retval = obj.SCXMLObject() loadCompId = str(self.surfacePressureFreeCompId) retval.setId(loadCompId) name = surfacePressureFreePrefix + loadCompId retval.setNm(name) retval.setP0(self.getLoadCaseReferenceItem()) #Reference to load case. retval.setP1(oI.SCXMLObjectItem(name)) #Name retval.setP2(oI.SCXMLObjectItem('{' + str(uuid.uuid4()) + '}')) #Unique id retval.setP3(self.getDirectionObjectItem()) #Direction X, Y or Z retval.setP4(oI.SCXMLObjectItem('0', '', '', 'Force')) #Type 0 -> Force. retval.setP5( self.getDistributionObjectItem()) #Distribution (uniform,...) retval.setP6(self.getValueObjectItem()) #Value retval.setP7(oI.SCXMLObjectItem('4', '', '', 'Z= 0')) #Validity retval.setP8(oI.SCXMLObjectItem('0', '', '', 'Auto')) #Select retval.setP9(self.getSystemItem()) #System 0 -> GCS, 1 -> LCS retval.setP10(oI.SCXMLObjectItem('0', '', '', 'Length')) #Location. retval.setP11(self.getPolygonRows(self.polygon)) #Reference to node. return retval
def getSystemItem(self): '''returns an ObjectItem which represents the reference system of the load component.''' if(self.globalCooSys): return oI.SCXMLObjectItem('0','','','GCS') else: return oI.SCXMLObjectItem('1','','','LCS')
def getObject(self): '''Returns an XML object for the point force component.''' retval= obj.SCXMLObject() #SCIA XML basic object. loadCompId= str(self.pointForceFreeCompId) retval.setId(loadCompId) name= pointForceFreePrefix+loadCompId retval.setNm(name) retval.setP0(self.getLoadCaseReferenceItem()) #Reference to load case. retval.setP1(oI.SCXMLObjectItem(name)) #Name retval.setP2(oI.SCXMLObjectItem('{'+str(uuid.uuid4())+'}')) # Unique id retval.setP3(self.getDirectionObjectItem()) #Direction X, Y or Z retval.setP4(oI.SCXMLObjectItem('0','','','Force')) #Type 0 -> Force. retval.setP5(oI.SCXMLObjectItem('4','','','Z= 0')) #Validity retval.setP6(oI.SCXMLObjectItem('0','','','Auto')) #Select retval.setP7(self.getValueObjectItem()) #Value retval.setP8(oI.SCXMLObjectItem(str(self.x))) #X (position) retval.setP9(oI.SCXMLObjectItem(str(self.y))) #Y (position) retval.setP10(oI.SCXMLObjectItem(str(self.z))) #Z (position) retval.setP11(oI.SCXMLObjectItem(str(self.x))) #ux (position?) retval.setP12(oI.SCXMLObjectItem(str(self.y))) #uy (position?) retval.setP13(oI.SCXMLObjectItem(str(self.z))) #uz (position?) retval.setP14(self.getSystemItem()) #System 0 -> GCS, 1 -> LCS, 2 -> Load LCS return retval
def getValueObjectItem(self): '''returns an ObjectItem which represents the value of the load component.''' return oI.SCXMLObjectItem(str(self.value))
def getLoadCaseReferenceItem(self): lcId= str(self.loadCaseId) #Reference to load case. retval= oI.SCXMLObjectItem('',lcId) retval.n= self.getLoadCaseName() return retval
def getDescompObject(descomp): retval = oI.SCXMLObjectItem() for cc in descomp: retval.rows.append(getLoadCombComponentRow(cc)) return retval