summaryrefslogtreecommitdiff
path: root/Connections/Shear/Finplate/colWebBeamWebConnectivity.py
diff options
context:
space:
mode:
authordeepa-chaudhari2015-06-02 22:34:08 +0530
committerdeepa-chaudhari2015-06-02 22:34:08 +0530
commitaf0232ace0890ee6e8afc97c0fefd03a224c42bb (patch)
tree6ba0b57fe30456f26362a6713718280440f8c2d9 /Connections/Shear/Finplate/colWebBeamWebConnectivity.py
downloadOsdagLive-af0232ace0890ee6e8afc97c0fefd03a224c42bb.tar.gz
OsdagLive-af0232ace0890ee6e8afc97c0fefd03a224c42bb.tar.bz2
OsdagLive-af0232ace0890ee6e8afc97c0fefd03a224c42bb.zip
Initial checkin
Diffstat (limited to 'Connections/Shear/Finplate/colWebBeamWebConnectivity.py')
-rw-r--r--Connections/Shear/Finplate/colWebBeamWebConnectivity.py145
1 files changed, 145 insertions, 0 deletions
diff --git a/Connections/Shear/Finplate/colWebBeamWebConnectivity.py b/Connections/Shear/Finplate/colWebBeamWebConnectivity.py
new file mode 100644
index 0000000..cb58633
--- /dev/null
+++ b/Connections/Shear/Finplate/colWebBeamWebConnectivity.py
@@ -0,0 +1,145 @@
+'''
+Created on 11-May-2015
+
+@author: deepa
+'''
+
+import numpy
+from OCC.Graphic3d import Graphic3d_NOT_2D_ALUMINUM
+from bolt import Bolt
+from nut import Nut
+
+import copy
+class ColWebBeamWeb(object):
+
+ def __init__(self,column,beam,Fweld,plate,boltRadius,nutRadius):
+ self.column = column
+ self.beam = beam
+ self.weld = Fweld
+ self.weld2 = copy.deepcopy(Fweld)
+ self.plate = plate
+ self.boltRadius = boltRadius
+ self.nutRadius = nutRadius
+
+
+ def create_3dmodel(self):
+
+ # ISection COLUMN
+ origin1 = numpy.array([0, 0, 0])
+ uDir1 = 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)
+
+ # 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
+ #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)
+
+ # # WELD
+ #
+ # plateThickness = 10
+ # uDir3 = numpy.array([0, 1.0, 0])
+ # wDir3 = numpy.array([1.0, 0, 0.0])
+ # origin3 = (self.column.secOrigin +
+ # self.column.t/2.0 * self.column.uDir +
+ # self.column.length/2.0 * self.column.wDir +
+ # self.beam.t/2.0 * (-self.beam.uDir)+
+ # self.weld.W/2.0 * (-self.beam.uDir))
+ # #origin3 = numpy.array([0, 0, 500]) + t/2.0 *wDir3 + plateThickness/2.0 * (-self.beam.uDir)
+ # self.weld.place(origin3, uDir3, wDir3)
+
+ # PLATE
+
+ uDir4 = numpy.array([0, 1.0, 0])
+ wDir4 = numpy.array([1.0, 0, 0.0])
+ #origin4 = self.weld.secOrigin + self.weld.T * self.weld.wDir
+ plateOrigin = (self.column.secOrigin +
+ self.column.t/2.0 * self.column.uDir +
+ self.column.length/2.0 * self.column.wDir +
+ self.beam.t/2.0 * (-self.beam.uDir)+
+ self.plate.T/2.0 * (-self.beam.uDir))
+ #origin4 = self.column.secOrigin + self.weld.T * self.weld.wDir
+ self.plate.place(plateOrigin, uDir4, wDir4)
+
+# # 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)
+
+
+ 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)
+
+ # BOLT BODY
+ bolt_T = 6.0
+ origin51 = (self.plate.secOrigin + (-
+ self.plate.T/2.0 - bolt_T) * self.plate.uDir +
+ self.plate.W/2.0 * self.plate.wDir)
+
+ uDir5 = self.plate.wDir
+ wDir5 = self.plate.uDir
+
+ ## Bolt1
+ bolt1 = Bolt(R = self.boltRadius,T = bolt_T, H = 30.0, r = 4.0 )
+ bolt1.place(origin51, uDir5, wDir5)
+
+ ## Bolt2
+ bolt2 = Bolt(R = self.boltRadius, T = bolt_T, H = 30.0, r = 4.0 )
+ origin52 = origin51 + 50 *self.plate.vDir
+ bolt2.place(origin52, uDir5, wDir5)
+
+ ## Bolt3
+ 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]
+
+ #nutbody = Nut(R = 10.0,T = 10.0, H = 6.1, innerR1 = 6.0, outerR2 = 8.3)
+ # NUTBODY
+ ## Nut1
+ nut1 = Nut(R = self.nutRadius,T = 10.0, H = 11, innerR1 = 4.0, outerR2 = 8.3)
+ uDir = uDir5
+ wDir = wDir5
+ nut_Origin1 = origin51 + (bolt1.T/2 * self.plate.uDir)+(self.plate.T *self.plate.uDir)+ (self.beam.T/2 * self.plate.uDir)
+ nut1.place(nut_Origin1, uDir, wDir)
+
+ ## Nut2
+ nut2 = Nut(R = self.nutRadius,T = 10.0, H = 11, innerR1 = 4.0, outerR2 = 8.3)
+ nut_Origin2 = origin52 + (bolt1.T/2 * self.plate.uDir)+(self.plate.T *self.plate.uDir)+ (self.beam.T/2 * self.plate.uDir)
+ nut2.place(nut_Origin2, uDir, wDir)
+
+ ## Nut3
+ 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]
+
+ # Call for createModel
+ iSectionModel1 = self.column.createModel()
+ iSectionModel2 = self.beam.createModel()
+
+ plateModel = self.plate.createModel()
+ weldModel1 = self.weld.createModel()
+ weldModel2 = self.weld2.createModel()
+
+ boltModels = []
+ for bolt in bolt_list:
+ 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