summaryrefslogtreecommitdiff
path: root/Connections/Shear/Finplate/colWebBeamWebConnectivity.py
diff options
context:
space:
mode:
Diffstat (limited to 'Connections/Shear/Finplate/colWebBeamWebConnectivity.py')
-rw-r--r--Connections/Shear/Finplate/colWebBeamWebConnectivity.py89
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