summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordeepa-chaudhari2015-06-07 23:37:32 +0530
committerdeepa-chaudhari2015-06-07 23:37:32 +0530
commita8062568cf18cdf18eceddfec5bacfc6617fdd6e (patch)
tree99e0f37acd84ba3bc0623787cbe405a0352f5817
parentf6743a741b3ebec50494a6d3b0712cd90c0ff5de (diff)
downloadOsdagLive-a8062568cf18cdf18eceddfec5bacfc6617fdd6e.tar.gz
OsdagLive-a8062568cf18cdf18eceddfec5bacfc6617fdd6e.tar.bz2
OsdagLive-a8062568cf18cdf18eceddfec5bacfc6617fdd6e.zip
creating nutbolt assembly
-rw-r--r--Connections/Shear/Finplate/colWebBeamWebConnectivity.py45
-rw-r--r--Connections/Shear/Finplate/fin.log12
-rw-r--r--Connections/Shear/Finplate/finPlateMain.py105
-rw-r--r--Connections/Shear/Finplate/saveINPUT.txt2
-rw-r--r--Connections/Shear/Finplate/shearFinPlateConnection.py24
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