diff options
author | deepa-chaudhari | 2015-06-07 23:37:32 +0530 |
---|---|---|
committer | deepa-chaudhari | 2015-06-07 23:37:32 +0530 |
commit | a8062568cf18cdf18eceddfec5bacfc6617fdd6e (patch) | |
tree | 99e0f37acd84ba3bc0623787cbe405a0352f5817 | |
parent | f6743a741b3ebec50494a6d3b0712cd90c0ff5de (diff) | |
download | OsdagLive-a8062568cf18cdf18eceddfec5bacfc6617fdd6e.tar.gz OsdagLive-a8062568cf18cdf18eceddfec5bacfc6617fdd6e.tar.bz2 OsdagLive-a8062568cf18cdf18eceddfec5bacfc6617fdd6e.zip |
creating nutbolt assembly
-rw-r--r-- | Connections/Shear/Finplate/colWebBeamWebConnectivity.py | 45 | ||||
-rw-r--r-- | Connections/Shear/Finplate/fin.log | 12 | ||||
-rw-r--r-- | Connections/Shear/Finplate/finPlateMain.py | 105 | ||||
-rw-r--r-- | Connections/Shear/Finplate/saveINPUT.txt | 2 | ||||
-rw-r--r-- | Connections/Shear/Finplate/shearFinPlateConnection.py | 24 |
5 files changed, 87 insertions, 101 deletions
diff --git a/Connections/Shear/Finplate/colWebBeamWebConnectivity.py b/Connections/Shear/Finplate/colWebBeamWebConnectivity.py index f8c55e4..6a98a99 100644 --- a/Connections/Shear/Finplate/colWebBeamWebConnectivity.py +++ b/Connections/Shear/Finplate/colWebBeamWebConnectivity.py @@ -12,31 +12,26 @@ from nut import Nut import copy from OCC.BRepPrimAPI import BRepPrimAPI_MakeSphere from OCC.gp import gp_Pnt +from Connections.Shear.Finplate.nutBoltPlacement import NutBoltArray + class ColWebBeamWeb(object): - def __init__(self,column,beam,Fweld,plate,boltRadius,nutRadius,boltPlaceObj): + def __init__(self,column,beam,Fweld,plate,NutBoltArray): self.column = column self.beam = beam 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.NutBoltArray = NutBoltArray self.columnModel = None self.beamModel = None self.weldModelLeft = None self.weldModelRight = None self.plateModel = None - self.bolts =[] - self.nuts = [] - self.boltModels = [] - self.nutModels = [] +# 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): @@ -102,6 +97,8 @@ class ColWebBeamWeb(object): # BOLT BODY + #self.NutBoltArray.place(platestartpt, -self.plate.vDir, -self.plate.uDir) + bolt_T = 6.0 origin51 = (self.plate.secOrigin + (- self.plate.T/2.0 - bolt_T) * self.plate.uDir + @@ -110,20 +107,20 @@ class ColWebBeamWeb(object): 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) - +# ## 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) - self.bolts =[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 @@ -152,7 +149,7 @@ class ColWebBeamWeb(object): self.plateModel = self.plate.createModel() self.weldModelLeft = self.weldLeft.createModel() self.weldModelRight = self.weldRight.createModel() - + self. for bolt in self.bolts: self.boltModels.append(bolt.createModel()) diff --git a/Connections/Shear/Finplate/fin.log b/Connections/Shear/Finplate/fin.log index 4b2cf8a..d2e8b78 100644 --- a/Connections/Shear/Finplate/fin.log +++ b/Connections/Shear/Finplate/fin.log @@ -1,13 +1 @@ <link rel="stylesheet" type="text/css" href="log.css"/> - - <div class="LOG ERROR"> - <span class="DATE">Sat, 06 Jun 2015 21:30:26</span> - <span class="LEVEL">ERROR</span> - <span class="MSG">: Plate width provided is less than the minimum required</span> - </div> - - <div class="LOG WARNING"> - <span class="DATE">Sat, 06 Jun 2015 21:30:26</span> - <span class="LEVEL">WARNING</span> - <span class="MSG">: Minimum plate width required is 100.00 mm </span> - </div> diff --git a/Connections/Shear/Finplate/finPlateMain.py b/Connections/Shear/Finplate/finPlateMain.py index 3887a2b..2823b59 100644 --- a/Connections/Shear/Finplate/finPlateMain.py +++ b/Connections/Shear/Finplate/finPlateMain.py @@ -10,6 +10,7 @@ from OCC.TopoDS import topods, TopoDS_Shape from OCC.BRepPrimAPI import BRepPrimAPI_MakeBox, BRepPrimAPI_MakeCylinder,\ BRepPrimAPI_MakeSphere from OCC.gp import gp_Pnt +from Connections.Shear.Finplate.nutBoltPlacement import NutBoltArray ''' Created on 21-Aug-2014 @@ -640,8 +641,8 @@ class MainController(QtGui.QMainWindow): self.display.DisplayShape(cadlist[8:11],color = Quantity_NOC_SADDLEBROWN, update = True) elif component == "Model": self.display.EraseAll() - osdagDisplayShape(self.display, cadlist[0], update=True) - osdagDisplayShape(self.display, cadlist[1],material = Graphic3d_NOT_2D_ALUMINUM, update=True) + #osdagDisplayShape(self.display, cadlist[0], update=True) + #osdagDisplayShape(self.display, cadlist[1],material = Graphic3d_NOT_2D_ALUMINUM, update=True) #osdagDisplayShape(self.display,cadlist[2],color = 'red', update = True) #osdagDisplayShape(self.display,cadlist[3],color = 'red', update = True) osdagDisplayShape(self.display, cadlist[4], color = 'blue', update = True) @@ -665,45 +666,69 @@ class MainController(QtGui.QMainWindow): ''' creating 3d cad model with column web beam web ''' - dictbeamdata = self.fetchBeamPara() - - beam_D = int(dictbeamdata[QString("D")]) - beam_B = int(dictbeamdata[QString("B")]) - beam_tw = float(dictbeamdata[QString("tw")]) - beam_T = float(dictbeamdata[QString("T")]) - beam_alpha = float(dictbeamdata[QString("FlangeSlope")]) - beam_R1 = float(dictbeamdata[QString("R1")]) - beam_R2 = float(dictbeamdata[QString("R2")]) - - #beam = ISection(B = 140, T = 16,D = 400,t = 8.9, R1 = 14, R2 = 7, alpha = 98,length = 500) - beam = ISection(B = beam_B, T = beam_T,D = beam_D,t = beam_tw, - R1 = beam_R1, R2 = beam_R2, alpha = beam_alpha,length = 500) - - ##### COLUMN PARAMETERS ###### - dictcoldata = self.fetchColumnPara() - - column_D = int(dictcoldata[QString("D")]) - column_B = int(dictcoldata[QString("B")]) - column_tw = float(dictcoldata[QString("tw")]) - column_T = float(dictcoldata[QString("T")]) - column_alpha = float(dictcoldata[QString("FlangeSlope")]) - column_R1 = float(dictcoldata[QString("R1")]) - column_R2 = float(dictcoldata[QString("R2")]) - - #column = ISection(B = 83, T = 14.1, D = 250, t = 11, R1 = 12, R2 = 3.2, alpha = 98, length = 1000) - column = ISection(B = column_B, T = column_T, D = column_D, - t = column_tw, R1 = column_R1, R2 = column_R2, alpha = column_alpha, length = 1000) - - Fweld1 = FilletWeld(L= 300,b = 6, h = 6) - #Fweld1 = Weld(L= 300,W = beam.t, T = 8) - - plate = Plate(L= 300,W =100, T = 10) - boltRadius = 10 - nutRadius = 10 + uiObj = self.getuser_inputs() + resultObj = finConn(uiObj) + if len(resultObj) == 0: + self.display.DisplayMessage(gp_Pnt(0,0,0),'Sorry can not create 3D model',color = 'white') + else: + dictbeamdata = self.fetchBeamPara() + + beam_D = int(dictbeamdata[QString("D")]) + beam_B = int(dictbeamdata[QString("B")]) + beam_tw = float(dictbeamdata[QString("tw")]) + beam_T = float(dictbeamdata[QString("T")]) + beam_alpha = float(dictbeamdata[QString("FlangeSlope")]) + beam_R1 = float(dictbeamdata[QString("R1")]) + beam_R2 = float(dictbeamdata[QString("R2")]) + + #beam = ISection(B = 140, T = 16,D = 400,t = 8.9, R1 = 14, R2 = 7, alpha = 98,length = 500) + beam = ISection(B = beam_B, T = beam_T,D = beam_D,t = beam_tw, + R1 = beam_R1, R2 = beam_R2, alpha = beam_alpha,length = 500) + + ##### COLUMN PARAMETERS ###### + dictcoldata = self.fetchColumnPara() + + column_D = int(dictcoldata[QString("D")]) + column_B = int(dictcoldata[QString("B")]) + column_tw = float(dictcoldata[QString("tw")]) + column_T = float(dictcoldata[QString("T")]) + column_alpha = float(dictcoldata[QString("FlangeSlope")]) + column_R1 = float(dictcoldata[QString("R1")]) + column_R2 = float(dictcoldata[QString("R2")]) + + #column = ISection(B = 83, T = 14.1, D = 250, t = 11, R1 = 12, R2 = 3.2, alpha = 98, length = 1000) + column = ISection(B = column_B, T = column_T, D = column_D, + t = column_tw, R1 = column_R1, R2 = column_R2, alpha = column_alpha, length = 1000) + # Outputs from finPlateCalc1 + + fillet_length = resultObj['Plate']['height'] + fillet_thickness = resultObj['Weld']['thickness'] + plate_width = resultObj['Plate']['width'] + plate_thick = uiObj['Plate']['thickness(mm)'] + + #Fweld1 = FilletWeld(L= 300,b = 6, h = 6) + Fweld1 = FilletWeld(L= fillet_length,b = fillet_thickness, h = fillet_thickness) + #Fweld1 = Weld(L= 300,W = beam.t, T = 8) + + #plate = Plate(L= 300,W =100, T = 10) + plate = Plate(L= fillet_length,W =plate_width, T = plate_thick) + bolt_T = 6.0 + bolt = Bolt(R = self.boltRadius,T = bolt_T, H = 30.0, r = 4.0 ) + boltPlaceObj = finConn(self.getuser_inputs()) + + nut =Nut(R = self.nutRadius, T = 10.0, H = 11, innerR1 = 4.0, outerR2 = 8.3) + # bolt assembly + + + self.nutBoltArray = NutBoltArray(self.boltPlaceObj,self.nut,self.bolt) + + self.nutBoltArray.createModel() + nutBoltAssembly = self.nutBoltArray.getnutboltModel() + + + colwebconn = ColWebBeamWeb(column,beam,Fweld1,plate,nutBoltAssembly) + colwebconn.create_3dmodel() - boltPlaceObj = finConn(self.getuser_inputs()) - colwebconn = ColWebBeamWeb(column,beam,Fweld1,plate,boltRadius,nutRadius,boltPlaceObj) - colwebconn.create_3dmodel() return colwebconn def createColFlangeBeamWeb(self): diff --git a/Connections/Shear/Finplate/saveINPUT.txt b/Connections/Shear/Finplate/saveINPUT.txt index b6e25d5..478e639 100644 --- a/Connections/Shear/Finplate/saveINPUT.txt +++ b/Connections/Shear/Finplate/saveINPUT.txt @@ -31,7 +31,7 @@ p14 I300 sS'width(mm)' p15 -I20 +I100 ssS'Load' p16 (dp17 diff --git a/Connections/Shear/Finplate/shearFinPlateConnection.py b/Connections/Shear/Finplate/shearFinPlateConnection.py deleted file mode 100644 index 5223457..0000000 --- a/Connections/Shear/Finplate/shearFinPlateConnection.py +++ /dev/null @@ -1,24 +0,0 @@ -''' -Created on 04-Jun-2015 - -@author: deepa -''' -class ShearFinPlate(object): - - def __init__(self,Beam,Column,Weld,Plate,Nutlist,Boltlist,outputObj): - self.beam = Beam - self.column = Column - self.weld = Weld - self.plate = Plate - self.nutlist = Nutlist - self.boltlist = Boltlist - self.pitch = outputObj['Bolt']['pitch'] - self.gauge = outputObj['Bolt']['gauge'] - self.edge = outputObj['Bolt']['edge'] - self.end = outputObj['Bolt']['enddist'] - self.row = outputObj['Bolt']['numofrow'] - self.col = outputObj['Bolt']['numofcol'] - - - -
\ No newline at end of file |