diff options
Diffstat (limited to 'Connections/Shear/Finplate/colWebBeamWebConnectivity.py')
-rw-r--r-- | Connections/Shear/Finplate/colWebBeamWebConnectivity.py | 89 |
1 files changed, 58 insertions, 31 deletions
diff --git a/Connections/Shear/Finplate/colWebBeamWebConnectivity.py b/Connections/Shear/Finplate/colWebBeamWebConnectivity.py index cb58633..c448092 100644 --- a/Connections/Shear/Finplate/colWebBeamWebConnectivity.py +++ b/Connections/Shear/Finplate/colWebBeamWebConnectivity.py @@ -12,32 +12,49 @@ from nut import Nut import copy class ColWebBeamWeb(object): - def __init__(self,column,beam,Fweld,plate,boltRadius,nutRadius): + def __init__(self,column,beam,Fweld,plate,boltRadius,nutRadius,boltPlaceObj): self.column = column self.beam = beam - self.weld = Fweld - self.weld2 = copy.deepcopy(Fweld) + self.weldLeft = Fweld + self.weldRight = copy.deepcopy(Fweld) self.plate = plate self.boltRadius = boltRadius self.nutRadius = nutRadius + self.pitch = boltPlaceObj['Bolt']['pitch'] + self.gauge = boltPlaceObj['Bolt']['gauge'] + self.edge = boltPlaceObj['Bolt']['edge'] + self.end = boltPlaceObj['Bolt']['enddist'] + self.row = boltPlaceObj['Bolt']['numofrow'] + self.col = boltPlaceObj['Bolt']['numofcol'] + self.columnModel = None + self.beamModel = None + self.weldModelLeft = None + self.weldModelRight = None + self.plateModel = None + self.bolts =[] + self.nuts = [] + self.boltModels = [] + self.nutModels = [] + self.clearDist = 20.0 # This distance between edge of the column web/flange and beam cross section - def create_3dmodel(self): # ISection COLUMN - origin1 = numpy.array([0, 0, 0]) - uDir1 = numpy.array([1.0, 0, 0]) + columnOrigin = numpy.array([0, 0, 0]) + column_uDir = numpy.array([1.0, 0, 0]) wDir1 = numpy.array([0.0, 0, 1.0]) t = 8.9 weldThick = 8 - self.column.place(origin1, uDir1, wDir1) + self.column.place(columnOrigin, column_uDir, wDir1) # ISection BEAM uDir2 = numpy.array([0, 1.0, 0]) wDir2 = numpy.array([1.0, 0, 0.0]) d = t/2.0 + weldThick - origin2 = numpy.array([0, 0, 500]) + (d+7.55) * wDir2 + origin2 = columnOrigin + (self.column.t/2 * self.column.uDir) + (self.column.length/2 * self.column.wDir) + (self.clearDist * self.column.uDir) + #origin2 = numpy.array([0, 0, 500]) + (d+7.55) * wDir2 + #origin2 = numpy.array([0, 0, 500]) + 20 * wDir2 #self.beam = ISection(B = 140, T = 16,D = 400,t = 8.9, R1 = 14, R2 = 7, alpha = 98,length = 500) self.beam.place(origin2, uDir2, wDir2) @@ -70,15 +87,17 @@ class ColWebBeamWeb(object): # # Weld uDir5 = numpy.array([1.0, 0.0, 0]) wDir5 = numpy.array([0.0, 0.0, 1.0]) - filletWeld1Origin = (plateOrigin + self.plate.T/2.0 *self.weld.vDir + self.weld.L/2.0 * (-self.weld.wDir) ) - self.weld.place(filletWeld1Origin, uDir5, wDir5) + filletWeld1Origin = (plateOrigin + self.plate.T/2.0 *self.weldLeft.vDir + self.weldLeft.L/2.0 * (-self.weldLeft.wDir) ) + self.weldLeft.place(filletWeld1Origin, uDir5, wDir5) uDir555 = numpy.array([0.0, -1.0, 0]) wDir5 = numpy.array([0.0, 0.0, 1.0]) - filletWeld2Origin = (filletWeld1Origin + self.plate.T * (-self.weld.vDir)) - self.weld2.place(filletWeld2Origin,uDir555,wDir5) - + filletWeld2Origin = (filletWeld1Origin + self.plate.T * (-self.weldLeft.vDir)) + self.weldRight.place(filletWeld2Origin,uDir555,wDir5) + + + # BOLT BODY bolt_T = 6.0 origin51 = (self.plate.secOrigin + (- @@ -101,7 +120,7 @@ class ColWebBeamWeb(object): bolt3 = Bolt(R = self.boltRadius,T = bolt_T, H = 30.0, r = 4.0 ) origin53 = origin51 - 50*self.plate.vDir bolt3.place(origin53, uDir5, wDir5) - bolt_list =[bolt1,bolt2,bolt3] + self.bolts =[bolt1,bolt2,bolt3] #nutbody = Nut(R = 10.0,T = 10.0, H = 6.1, innerR1 = 6.0, outerR2 = 8.3) # NUTBODY @@ -121,25 +140,33 @@ class ColWebBeamWeb(object): nut3 =Nut(R = self.nutRadius, T = 10.0, H = 11, innerR1 = 4.0, outerR2 = 8.3) nut_Origin3 = origin53 + (bolt1.T/2 * self.plate.uDir)+(self.plate.T *self.plate.uDir)+ (self.beam.T/2 * self.plate.uDir) nut3.place(nut_Origin3, uDir5, wDir5) - nut_list = [nut1,nut2,nut3] + self.nuts = [nut1,nut2,nut3] # Call for createModel - iSectionModel1 = self.column.createModel() - iSectionModel2 = self.beam.createModel() + self.columnModel = self.column.createModel() + self.beamModel = self.beam.createModel() + self.plateModel = self.plate.createModel() + self.weldModelLeft = self.weldLeft.createModel() + self.weldModelRight = self.weldRight.createModel() - plateModel = self.plate.createModel() - weldModel1 = self.weld.createModel() - weldModel2 = self.weld2.createModel() - - boltModels = [] - for bolt in bolt_list: - boltModels.append(bolt.createModel()) + for bolt in self.bolts: + self.boltModels.append(bolt.createModel()) #color = Quantity_NOC_SADDLEBROWN, - nutModels = [] - for nut in nut_list: - nutModels.append(nut.createModel()) - - memberList = [iSectionModel1,iSectionModel2,weldModel1,weldModel2,plateModel,boltModels,nutModels] - - return memberList
\ No newline at end of file + for nut in self.nuts: + self.nutModels.append(nut.createModel()) + + # memberList = [iSectionModel1,iSectionModel2,weldModel1,weldModel2, + # plateModel] + boltModels + nutModels + # objshearfinplate = ShearFinPlate(iSectionModel1,iSectionModel2,) + # + # print("memberList #####") + # print(len(memberList)) + #return memberList + + def get_models(self): + ''' + ''' + return [self.columnModel,self.beamModel, + self.weldModelLeft,self.weldModelRight, + self.plateModel]+self.boltModels + self.nutModels
\ No newline at end of file |