summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.settings/org.eclipse.core.resources.prefs1
-rw-r--r--Connections/Shear/Finplate/ISection.py1
-rw-r--r--Connections/Shear/Finplate/colWebBeamWebConnectivity.py89
-rw-r--r--Connections/Shear/Finplate/finPlate.ui57
-rw-r--r--Connections/Shear/Finplate/finPlateMain.py300
-rw-r--r--Connections/Shear/Finplate/finplate_calc1.py127
-rw-r--r--Connections/Shear/Finplate/saveINPUT1.txt61
-rw-r--r--Connections/Shear/Finplate/shearFinPlateConnection.py24
-rw-r--r--Connections/Shear/Finplate/ui_finPlate.py33
9 files changed, 349 insertions, 344 deletions
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
index 60338db..cede7ec 100644
--- a/.settings/org.eclipse.core.resources.prefs
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -1,3 +1,4 @@
eclipse.preferences.version=1
+encoding//Connections/Shear/Finplate/icons_rc.py=utf-8
encoding//Connections/Shear/Finplate/ui_finPlate.py=utf-8
encoding//Connections/Shear/Finplate/ui_finPlate2.py=utf-8
diff --git a/Connections/Shear/Finplate/ISection.py b/Connections/Shear/Finplate/ISection.py
index 47ed464..a485b20 100644
--- a/Connections/Shear/Finplate/ISection.py
+++ b/Connections/Shear/Finplate/ISection.py
@@ -50,6 +50,7 @@ class ISection(object):
self.secOrigin = numpy.array([0, 0, 0])
self.uDir = numpy.array([1.0, 0, 0])
self.wDir = numpy.array([0.0, 0, 1.0])
+
self.computeParams()
def place(self, secOrigin, uDir, wDir):
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
diff --git a/Connections/Shear/Finplate/finPlate.ui b/Connections/Shear/Finplate/finPlate.ui
index e783838..c134c07 100644
--- a/Connections/Shear/Finplate/finPlate.ui
+++ b/Connections/Shear/Finplate/finPlate.ui
@@ -380,7 +380,7 @@
</property>
<property name="icon">
<iconset>
- <normaloff>../../../../../Downloads/ZY.png</normaloff>../../../../../Downloads/ZY.png</iconset>
+ <normaloff>../../../../../Pictures/Z-X.png</normaloff>../../../../../Pictures/Z-X.png</iconset>
</property>
<property name="iconSize">
<size>
@@ -388,6 +388,9 @@
<height>22</height>
</size>
</property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
</widget>
<widget class="QToolButton" name="btn_top">
<property name="geometry">
@@ -416,7 +419,7 @@
</property>
<property name="icon">
<iconset>
- <normaloff>../../../../../Downloads/Y-X.png</normaloff>../../../../../Downloads/Y-X.png</iconset>
+ <normaloff>../../../../../Pictures/X-Y.png</normaloff>../../../../../Pictures/X-Y.png</iconset>
</property>
<property name="iconSize">
<size>
@@ -424,6 +427,9 @@
<height>23</height>
</size>
</property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
</widget>
<widget class="QToolButton" name="btn_side">
<property name="geometry">
@@ -452,7 +458,7 @@
</property>
<property name="icon">
<iconset>
- <normaloff>../../../../../Downloads/Z-Y.png</normaloff>../../../../../Downloads/Z-Y.png</iconset>
+ <normaloff>../../../../../Pictures/Z-Y.png</normaloff>../../../../../Pictures/Z-Y.png</iconset>
</property>
<property name="iconSize">
<size>
@@ -460,6 +466,9 @@
<height>22</height>
</size>
</property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
</widget>
</widget>
</item>
@@ -640,8 +649,9 @@
</property>
<property name="font">
<font>
- <weight>50</weight>
- <bold>false</bold>
+ <weight>75</weight>
+ <italic>false</italic>
+ <bold>true</bold>
</font>
</property>
<property name="floating">
@@ -651,7 +661,7 @@
<set>QDockWidget::AllDockWidgetFeatures</set>
</property>
<property name="windowTitle">
- <string>INPUT</string>
+ <string>Input dock</string>
</property>
<attribute name="dockWidgetArea">
<number>1</number>
@@ -1247,34 +1257,12 @@
<property name="styleSheet">
<string notr="true">QComboBox { combobox-popup: 0; }</string>
</property>
+ <property name="currentIndex">
+ <number>-1</number>
+ </property>
<property name="maxVisibleItems">
<number>5</number>
</property>
- <item>
- <property name="text">
- <string>Thickness of Plate</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>6</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>8</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>10</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>12</string>
- </property>
- </item>
</widget>
<widget class="QLabel" name="label_42">
<property name="geometry">
@@ -3175,6 +3163,11 @@
<string>10</string>
</property>
</item>
+ <item>
+ <property name="text">
+ <string>12</string>
+ </property>
+ </item>
</widget>
<widget class="QLabel" name="lbl_connectivity">
<property name="geometry">
@@ -3238,7 +3231,7 @@
</font>
</property>
<property name="windowTitle">
- <string>OUTPUT</string>
+ <string>Output dock</string>
</property>
<attribute name="dockWidgetArea">
<number>2</number>
diff --git a/Connections/Shear/Finplate/finPlateMain.py b/Connections/Shear/Finplate/finPlateMain.py
index c1d63e0..4281001 100644
--- a/Connections/Shear/Finplate/finPlateMain.py
+++ b/Connections/Shear/Finplate/finPlateMain.py
@@ -6,6 +6,10 @@ comment
'''
from PyQt4.QtCore import QString
from PyQt4.QtGui import QMessageBox
+from OCC.TopoDS import topods, TopoDS_Shape
+from OCC.BRepPrimAPI import BRepPrimAPI_MakeBox, BRepPrimAPI_MakeCylinder,\
+ BRepPrimAPI_MakeSphere
+from OCC.gp import gp_Pnt
'''
Created on 21-Aug-2014
@@ -108,11 +112,42 @@ class MainController(QtGui.QMainWindow):
# Initialising the qtviewer
self.display,_ = self.init_display(backend_str="pyqt4")
+ #self.display2d,_,_ = self.init_display(backend_str="pyqt4")
self.ui.btnSvgSave.clicked.connect(self.save3DtoIGES)
#self.ui.btnSvgSave.clicked.connect(lambda:self.saveTopng(self.display))
+ self.colWebBeamWeb = self.create3DColWebBeamWeb()
+ # my_box = BRepPrimAPI_MakeBox(gp_Pnt(20,0,0),10., 20., 30.).Shape()
+ # my_cylendar = BRepPrimAPI_MakeCylinder(10,30).Shape()
+ # self.memberlist = [my_box, my_cylendar, my_cylendar]
+
+ #my_sphere = BRepPrimAPI_MakeSphere(5).Shape()
+ self.fuse_model = self.create2Dcad()
+ #self.fuse_model = my_sphere
+ self.validatePlateThickCombo()
+
+
+
+
+ def validatePlateThickCombo(self):
+ beam_sec = self.ui.combo_Beam.currentText()
+ dictbeamdata = get_beamdata(beam_sec)
+ beam_tw = float(dictbeamdata[QString("tw")])
+ plateThickness = ['select Thickness',6,8,10,12,14,16,18,20]
+ newlist = ['Select Thickness']
+ #comboPlateThickItenewlist = []
+ for item in plateThickness[1:]:
+ if item >= beam_tw:
+ newlist.append(str(item))
+ print newlist
+
+ for i in newlist[:]:
+ self.ui.comboPlateThick_2.addItem(i)
+
+
+
def saveTopng(self,display):
display.ExportToImage('/home/Pictures/cad.png')
@@ -186,7 +221,7 @@ class MainController(QtGui.QMainWindow):
uiObj = {}
uiObj["Bolt"] = {}
uiObj["Bolt"]["diameter(mm)"] = self.ui.comboDaimeter.currentText().toInt()[0]
- uiObj["Bolt"]["grade"] = float(self.ui.comboGrade.currentText())
+ uiObj["Bolt"]["grade"] = float(self.ui.comboGrade.currentText())
uiObj["Bolt"]["type"] = str(self.ui.comboType.currentText())
@@ -523,7 +558,7 @@ class MainController(QtGui.QMainWindow):
# QtViewer
def init_display(self,backend_str=None, size=(1024, 768)):
- global display, start_display, app, _, USED_BACKEND
+ global display,start_display, app, _, USED_BACKEND
if not backend_str:
USED_BACKEND = self.get_backend()
@@ -543,12 +578,12 @@ class MainController(QtGui.QMainWindow):
from OCC.Display.pysideDisplay import qtViewer3d
self.ui.modelTab = qtViewer3d(self)
+ #self.ui.model2dTab = qtViewer3d(self)
+
self.setWindowTitle("Osdag-%s 3d viewer ('%s' backend)" % (VERSION, USED_BACKEND))
self.ui.mytabWidget.resize(size[0], size[1])
self.ui.mytabWidget.addTab(self.ui.modelTab,"")
-
- #self.ui.mytabWidget.setCentralWidget(self.ui.modelTab)
- #self.ui.mytabWidget.centerOnScreen()
+ #self.ui.mytabWidget.addTab(self.ui.model2dTab,"")
self.ui.modelTab.InitDriver()
display = self.ui.modelTab._display
@@ -567,36 +602,40 @@ class MainController(QtGui.QMainWindow):
(resolution.height() / 2) - (self.frameSize().height() / 2))
def start_display():
- self.ui.modelTab.raise_() # make the application float to the top
+ self.ui.modelTab.raise_()
+ #self.ui.model2dTab.raise_() # make the application float to the top
return display, start_display
def display3Dmodel(self,cadlist,component):
-
+ self.display.EraseAll()
+ self.display.SetModeShaded()
#self.display,_ = self.init_display(backend_str="pyqt4")
self.display.set_bg_gradient_color(23,1,32,23,1,32)
+
if component == "Column":
- self.display.EraseAll()
+
osdagDisplayShape(self.display, cadlist[0], update=True)
elif component == "Beam":
- display.EraseAll()
+ self.display.EraseAll()
osdagDisplayShape(self.display, cadlist[1],material = Graphic3d_NOT_2D_ALUMINUM, update=True)
elif component == "Finplate" :
display.EraseAll()
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)
- self.display.DisplayShape(cadlist[5],color = Quantity_NOC_SADDLEBROWN, update=True)
- self.display.DisplayShape(cadlist[6],color = Quantity_NOC_SADDLEBROWN, update = True)
+ self.display.DisplayShape(cadlist[5:8],color = Quantity_NOC_SADDLEBROWN, update=True)
+ 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[2],color = 'red', update = True)
osdagDisplayShape(self.display,cadlist[3],color = 'red', update = True)
osdagDisplayShape(self.display, cadlist[4], color = 'blue', update = True)
- self.display.DisplayShape(cadlist[5],color = Quantity_NOC_SADDLEBROWN, update=True)
- self.display.DisplayShape(cadlist[6],color = Quantity_NOC_SADDLEBROWN, update = True)
+ self.display.DisplayShape(cadlist[5:8],color = Quantity_NOC_SADDLEBROWN, update=True)
+ self.display.DisplayShape(cadlist[8:11],color = Quantity_NOC_SADDLEBROWN, update = True)
+
else:
pass
@@ -616,9 +655,11 @@ class MainController(QtGui.QMainWindow):
plate = Plate(L= 300,W =100, T = 10)
boltRadius = 10
nutRadius = 10
-
- colwebconn = ColWebBeamWeb(column,beam,Fweld1,plate,boltRadius,nutRadius)
- return 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):
'''
@@ -643,54 +684,55 @@ class MainController(QtGui.QMainWindow):
self.ui.mytabWidget.setCurrentIndex(0)
if self.ui.comboConnLoc.currentText()== "Column web-Beam web":
- memberlist = self.create3DColWebBeamWeb()
+ connectivity = self.colWebBeamWeb
else:
self.ui.mytabWidget.setCurrentIndex(0)
- memberlist = self.createColFlangeBeamWeb()
+ connectivity = self.createColFlangeBeamWeb()
- #memberlist = self.create_3dmodel()
- #self.ui.btn3D.setStyleSheet("background-color: red")
- self.display3Dmodel(memberlist, "Model")
+ self.display3Dmodel(connectivity.get_models(), "Model")
def call_3DBeam(self):
'''
Creating and displaying 3D Beam
'''
- memberlist = self.create3DColWebBeamWeb()
-
if self.ui.chkBxBeam.isChecked():
self.ui.chkBxCol.setChecked(QtCore.Qt.Unchecked)
self.ui.chkBxFinplate.setChecked(QtCore.Qt.Unchecked)
self.ui.mytabWidget.setCurrentIndex(0)
- self.display3Dmodel(memberlist, "Beam")
- #self.ui.chkBxBeam.setChecked(QtCore.Qt.Unchecked)
+
+ self.display3Dmodel(self.memberlist, "Beam")
def call_3DColumn(self):
- memberlist = self.create3DColWebBeamWeb()
+ '''
+ '''
if self.ui.chkBxCol.isChecked():
self.ui.chkBxBeam.setChecked(QtCore.Qt.Unchecked)
self.ui.chkBxFinplate.setChecked(QtCore.Qt.Unchecked)
self.ui.mytabWidget.setCurrentIndex(0)
- self.display3Dmodel(memberlist, "Column")
- #self.ui.chkBxBeam.setChecked(QtCore.Qt.Unchecked
+ self.display3Dmodel(self.memberlist, "Column")
+
def call_3DFinplate(self):
- memberlist = self.create3DColWebBeamWeb()
+ '''Displaying FinPlate in 3D
+ '''
if self.ui.chkBxFinplate.isChecked():
self.ui.chkBxBeam.setChecked(QtCore.Qt.Unchecked)
self.ui.chkBxCol.setChecked(QtCore.Qt.Unchecked)
self.ui.mytabWidget.setCurrentIndex(0)
- self.display3Dmodel(memberlist, "Finplate")
- #self.ui.chkBxBeam.setChecked(QtCore.Qt.Unchecked
+
+ self.display3Dmodel(self.memberlist, "Finplate")
+
- def design_btnclicked(self):
- self.ui.outputDock.setFixedSize(310,710)
+ def design_btnclicked(self):
+ '''
+ '''
+ designLogger = logging.getLogger("Designlogger.finPlateCalc")
- # self.memberlist3D = self.createColFlangeBeamWeb()
- # self.mmemberlist2D
+ self.ui.outputDock.setFixedSize(310,710)
+ #self.set_designlogger()
# Getting User Inputs.
uiObj = self.getuser_inputs()
print uiObj
@@ -721,115 +763,13 @@ class MainController(QtGui.QMainWindow):
def create2Dcad(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
- iSection1 = ISection(B = 83, T = 14.1, D = 250, t = 11, R1 = 12, R2 = 3.2, alpha = 98, length = 1000)
- iSection1.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
- iSection2 = ISection(B = 140, T = 16,D = 400,t = 8.9, R1 = 14, R2 = 7, alpha = 98,length = 400)
- iSection2.place(origin2, uDir2, wDir2)
-
- # WELD
- weld = Weld(L= 300,W =iSection2.t, T = 8)
- #plateThickness = 10
- uDir3 = numpy.array([0, 1.0, 0])
- wDir3 = numpy.array([1.0, 0, 0.0])
- origin3 = (iSection1.secOrigin +
- iSection1.t/2.0 * iSection1.uDir +
- iSection1.length/2.0 * iSection1.wDir +
- iSection2.t/2.0 * (-iSection2.uDir)+
- weld.W/2.0 * (-iSection2.uDir))
- #origin3 = numpy.array([0, 0, 500]) + t/2.0 *wDir3 + plateThickness/2.0 * (-iSection2.uDir)
- weld.place(origin3, uDir3, wDir3)
-
- # PLATE
- plate = Plate(L= weld.L,W =100, T = 10)
- uDir4 = numpy.array([0, 1.0, 0])
- wDir4 = numpy.array([1.0, 0, 0.0])
- origin4 = weld.secOrigin + weld.T * weld.wDir
- plate.place(origin4, uDir4, wDir4)
-
- # BOLT BODY
- bolt_T = 6.0
- origin51 = (plate.secOrigin + (-
- plate.T/2.0 - bolt_T) * plate.uDir +
- plate.W/2.0 * plate.wDir)
-
- uDir5 = plate.wDir
- wDir5 = plate.uDir
- ## Bolt1
- bolt1 = Bolt(R = 10.0,T = bolt_T, H = 30.0, r = 4.0 )
- bolt1.place(origin51, uDir5, wDir5)
-
- ## Bolt2
- bolt2 = Bolt(R = 10.0,T = bolt_T, H = 30.0, r = 4.0 )
- origin52 = origin51 + 50 *plate.vDir
- bolt2.place(origin52, uDir5, wDir5)
-
- ## Bolt3
- bolt3 = Bolt(R = 10.0,T = bolt_T, H = 30.0, r = 4.0 )
- origin53 = origin51 - 50*plate.vDir
- bolt3.place(origin53, uDir5, wDir5)
- bolt_list =[bolt1,bolt2,bolt3]
-
- # NUTBODY
- ## Nut1
- nut1 = Nut(R = 10.0,T = 10.0, H = 6.1, innerR1 = 6.0, outerR2 = 8.3)
- uDir = uDir5
- wDir = wDir5
- nut_Origin1 = origin51 + (bolt1.T/2 * plate.uDir)+(plate.T *plate.uDir)+ (iSection2.T/2 * plate.uDir)
- nut1.place(nut_Origin1, uDir, wDir)
-
- ## Nut2
- nut2 = Nut(R = 10.0,T = 10.0, H = 6.1, innerR1 = 6.0, outerR2 = 8.3)
- nut_Origin2 = origin52 + (bolt1.T/2 * plate.uDir)+(plate.T *plate.uDir)+ (iSection2.T/2 * plate.uDir)
- nut2.place(nut_Origin2, uDir, wDir)
-
- ## Nut3
- nut3 =Nut(R = 10.0,T = 10.0, H = 6.1, innerR1 = 6.0, outerR2 = 8.3)
- nut_Origin3 = origin53 + (bolt1.T/2 * plate.uDir)+(plate.T *plate.uDir)+ (iSection2.T/2 * plate.uDir)
- nut3.place(nut_Origin3, uDir5, wDir5)
- nut_list = [nut1,nut2,nut3]
-
- # Call for createModel
- iSectionModel1 = iSection1.createModel()
- iSectionModel2 = iSection2.createModel()
- weldModel = weld.createModel()
- plateModel = plate.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())
-
- isection = BRepAlgoAPI_Fuse(iSectionModel1,iSectionModel2).Shape()
- weld_isection = BRepAlgoAPI_Fuse(isection,weldModel).Shape()
- plate_weld = BRepAlgoAPI_Fuse(weld_isection,plateModel).Shape()
-
- plate_weld_bolt = plate_weld
- for bolt in boltModels:
- plate_weld_bolt = BRepAlgoAPI_Fuse(plate_weld_bolt, bolt).Shape()
-
-
- final_model = plate_weld_bolt
- for nt in nutModels:
- final_model = BRepAlgoAPI_Fuse(final_model,nt).Shape()
- return final_model
+ cadlist = self.colWebBeamWeb.get_models()
+
+ final_model = cadlist[0]
+ for model in cadlist[1:]:
+ final_model = BRepAlgoAPI_Fuse(model,final_model).Shape()
+ return final_model
+
# Export to IGES
def save3DtoIGES(self):
@@ -841,11 +781,37 @@ class MainController(QtGui.QMainWindow):
iges_writer.AddShape(shape)
iges_writer.Write('/home/deepa/Pictures/osdag.iges')
+ def display2DModelOriginal(self, final_model, viewName):
+
+ self.display,_ = self.init_display()
+ self.display.ResetView()
+ self.display.EraseAll()
+ #self.display.SetModeWireFrame()
+
+ self.display.DisplayShape(final_model, update = True)
+ self.display.SetModeHLR()
+
+
+
+ if (viewName == "Front"):
+ self.display.View_Front()
+ elif (viewName == "Top"):
+ self.display.View_Top()
+ elif (viewName == "Right"):
+ self.display.View_Right()
+ else:
+ pass
+
def display2DModel(self, final_model, viewName):
- #display, start_display, _, _ = self.simpleGUI()
+ #display, start_display, _, _ = self.simpleGUI()
+ #self.display2d,_,_ = self.init_display(backend_str="pyqt4")
+ #self.display.EraseAll()
self.display.set_bg_gradient_color(255, 255, 255, 255, 255, 255)
+
+ self.display.SetModeHLR()
+ #self.display.SetModeShaded()
# Get Context
ais_context = self.display.GetContext().GetObject()
@@ -864,46 +830,59 @@ class MainController(QtGui.QMainWindow):
line_aspect = drawer.SeenLineAspect().GetObject()
line_aspect.SetWidth(2.8)
line_aspect.SetColor(Quantity_NOC_BLUE1)
- self.display.EraseAll()
- self.display.DisplayShape(final_model, update = True)
- self.display.SetModeHLR()
- self.display.FitAll()
+ self.display.DisplayShape(final_model, update = False)
if (viewName == "Front"):
+ #self.display.SetModeHLR()
self.display.View_Front()
elif (viewName == "Top"):
+ #self.display.SetModeHLR()
self.display.View_Top()
elif (viewName == "Right"):
+ #self.display.SetModeHLR()
self.display.View_Right()
else:
pass
- start_display()
+ #start_display()
def call_Frontview(self):
'''Displays front view of 2Dmodel
'''
- self.ui.mytabWidget.setCurrentIndex(0)
- final_model = self.create2Dcad()
- self.display2DModel(final_model, "Front")
+ self.ui.chkBxBeam.setChecked(QtCore.Qt.Unchecked)
+ self.ui.chkBxCol.setChecked(QtCore.Qt.Unchecked)
+ self.ui.chkBxFinplate.setChecked(QtCore.Qt.Unchecked)
+
+ self.display.EraseAll()
+ self.ui.mytabWidget.setCurrentIndex(1)
+
+ self.display2DModel(self.fuse_model, "Front")
def call_Topview(self):
'''Displays Top view of 2Dmodel
'''
- self.ui.mytabWidget.setCurrentIndex(0)
- final_model = self.create2Dcad()
- self.display2DModel(final_model, "Top")
+ self.ui.chkBxBeam.setChecked(QtCore.Qt.Unchecked)
+ self.ui.chkBxCol.setChecked(QtCore.Qt.Unchecked)
+ self.ui.chkBxFinplate.setChecked(QtCore.Qt.Unchecked)
+
+ self.display.EraseAll()
+ self.ui.mytabWidget.setCurrentIndex(1)
+
+ self.display2DModel(self.fuse_model, "Top")
def call_Sideview(self):
'''Displays Side view of the 2Dmodel'
'''
- self.ui.mytabWidget.setCurrentIndex(0)
- final_model = self.create2Dcad()
- self.display2DModel(final_model, "Right")
+ self.ui.chkBxBeam.setChecked(QtCore.Qt.Unchecked)
+ self.ui.chkBxCol.setChecked(QtCore.Qt.Unchecked)
+ self.ui.chkBxFinplate.setChecked(QtCore.Qt.Unchecked)
+
+ self.ui.mytabWidget.setCurrentIndex(1)
+ self.display2DModel(self.fuse_model, "Right")
def set_osdaglogger():
@@ -944,7 +923,6 @@ if __name__ == '__main__':
rawLogger.info('''<link rel="stylesheet" type="text/css" href="log.css"/>''')
-
app = QtGui.QApplication(sys.argv)
window = MainController()
window.show()
diff --git a/Connections/Shear/Finplate/finplate_calc1.py b/Connections/Shear/Finplate/finplate_calc1.py
index 951e3dc..140400f 100644
--- a/Connections/Shear/Finplate/finplate_calc1.py
+++ b/Connections/Shear/Finplate/finplate_calc1.py
@@ -20,19 +20,39 @@ from PyQt4.Qt import QString
import logging
flag = 1
logger = None
-design_logger = None
def module_setup():
global logger
logger = logging.getLogger("osdag.finPlateCalc")
-
-def design_setup():
- global logger
- logger = logging.getLogger("osdag.Design")
-
module_setup()
+# def set_designlogger():
+# global logger
+# logger = logging.getLogger("Designlogger")
+# logger.setLevel(logging.DEBUG)
+#
+# # create the logging file handler
+# fh = logging.FileHandler("fin.log", mode="w")
+#
+# #,datefmt='%a, %d %b %Y %H:%M:%S'
+# #formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
+#
+# formatter = logging.Formatter('''
+# <div class="LOG %(levelname)s">
+# <span class="DATE">%(asctime)s</span>
+# <span class="LEVEL">%(levelname)s</span>
+# <span class="MSG">%(message)s</span>
+# </div>''')
+# formatter.datefmt = '%a, %d %b %Y %H:%M:%S'
+# fh.setFormatter(formatter)
+#
+# # add handler to logger object
+# logger.addHandler(fh)
+#
+
+
+
#FUNCTION DEFINITIONS---------------
#BOLT: determination of shear capacity = fu * n * A / (root(3) * Y)
@@ -58,7 +78,7 @@ def web_min_h(shear, fy, thk):
def finConn(uiObj):
-
+ global logger
beam_sec = uiObj['Member']['beamSection']
column_sec = uiObj['Member']['columSection']
connectivity = uiObj['Member']['connectivity']
@@ -110,7 +130,7 @@ def finConn(uiObj):
#logger.error("The length of the plate is more than the available depth of %2.2f mm " % (plate_len))
logger.error(": Chosen web plate thickness is not sufficient" )
- logger.info(" : Minimum required thickness %2.2f mm" % (beam_w_t))
+ logger.warning(" : Minimum required thickness %2.2f mm" % (beam_w_t))
# print "ERROR: Chosen web plate thickness is not sufficient" + "\n Minimum required thickness = " + str(beam_w_t) + "mm";
# print "\n Suggestion: Re-design with a plate thickness more than the connecting beam web thickness"
@@ -123,21 +143,34 @@ def finConn(uiObj):
# Height input and check
if web_plate_l == 0:
- web_plate_l = min_plate_height;
+ web_plate_l = min_plate_height +10;
+
if web_plate_l > max_plate_height :
- print "Error: Height of plate is more than the clear depth of the beam"
- print" Maximum plate height allowed is " + str(max_plate_height) + " mm"
- web_plate_l = max_plate_height;
+ logger.error(": Height of plate is more than the clear depth of the beam")
+ logger.warning(": Maximum plate height allowed is %2.2f mm " % (max_plate_height))
+ #print "Error: Height of plate is more than the clear depth of the beam"
+ #print" Maximum plate height allowed is " + str(max_plate_height) + " mm"
+ web_plate_l = max_plate_height ;
+
elif min_plate_height > max_plate_height:
- print "Error: Height of plate is more than the clear depth of the beam"
- print" Maximum plate height allowed is " + str(max_plate_height) + " mm"
+ logger.error(": Height of plate is more than the clear depth of the beam")
+ logger.warning(": Maximum plate height allowed is %2.2f mm " % (max_plate_height))
+
+ #print "Error: Height of plate is more than the clear depth of the beam"
+ #print" Maximum plate height allowed is " + str(max_plate_height) + " mm"
web_plate_l = max_plate_height;
+
elif min_plate_height > web_plate_l:
- print "\nERROR: Chosen plate height is not sufficient" + "\n Minimum required height = " + str(min_plate_height) + " mm";
- print "\nSuggestion: Re-design with a different plate height or thickness"
- web_plate_l = min_plate_height;
-
+ logger.error(": Plate height provided is less than the minimum required ")
+ logger.warning(": Minimum plate height required is %2.2f mm " % (min_plate_height))
+
+ # print "\nERROR: Chosen plate height is not sufficient" + "\n Minimum required height = " + str(min_plate_height) + " mm";
+ # print "\nSuggestion: Re-design with a different plate height or thickness"
+ web_plate_l = min_plate_height
+
+
+
########################################################################
# Bolt design:
@@ -191,12 +224,13 @@ def finConn(uiObj):
length_avail = (web_plate_l-2*min_edge_dist);
pitch = round(length_avail/(bolts_required-1),3);
+
+
## Calculation of moment demand
- M1 = bolt_shear_capacity * 60;
+ M1 = bolt_shear_capacity * (20+min_edge_dist/2);
# Single line of bolts
if pitch >= min_pitch:
- print "\nComment: Single line of bolt is required"
bolt_line =1;
gauge = 0;
# print " Number of bolt lines = " + str(bolt_line);
@@ -212,7 +246,6 @@ def finConn(uiObj):
# Multi-line of bolts
if pitch < min_pitch:
- print "\nComment: Double line of bolts are required"
bolt_line = 2;
if bolts_required % 2 == 0:
bolts_one_line = bolts_required/2;
@@ -220,8 +253,8 @@ def finConn(uiObj):
bolts_one_line = (bolts_required/2) + 1;
pitch = round(length_avail/(bolts_one_line-1),3);
- gauge = min_gauge;
- M1 = bolt_shear_capacity * (60+gauge/2);
+ gauge = min_gauge;
+ M1 = bolt_shear_capacity * (20+ min_edge_dist + gauge/2);
if pitch >= min_pitch:
K = bolts_one_line / 2;
@@ -235,11 +268,11 @@ def finConn(uiObj):
M2=M2*2;
moment_demand = max(M1,M2);
moment_demand = round(moment_demand * 0.001,3)
-
- # Needs discussion with Sir
+
+ # Needs discussion with Sir
else:
- print "ERROR: Finplate connection is insufficient to carry the external force"
- print "Suggestion: Reduce the external force or change the bolt grade/diameter"
+ logger.error(": Bolt strength is insufficient to carry the shear force")
+ logger.warning (": Increase bolt diameter and/or bolt grade")
####################################################################################
# Design of plate:
@@ -258,8 +291,8 @@ def finConn(uiObj):
web_plate_w_req = gauge + 2 * min_edge_dist;
web_plate_w = web_plate_w_req;
- if web_plate_w < web_plate_w_req:
- web_plate_w = web_plate_w_req;
+ # if web_plate_w < web_plate_w_req:
+ # web_plate_w = web_plate_w_req;
# Moment capacity of web plate
moment_capacity = 1.2 * (web_plate_fy/1.1) * (web_plate_t * web_plate_l * web_plate_l)/6 * 0.001;
@@ -267,10 +300,11 @@ def finConn(uiObj):
# print " Moment capacity = " + str(moment_capacity) + " Nm";
if moment_capacity > moment_demand:
- print " Plate is safe to resist external moment";
+ pass
else:
- print "ERROR: Plate does not have sufficient moment capacity";
- print "Suggestion: Re-design with increased plate dimensions";
+ logger.error(": Plate moment capacity is less than the moment demand")
+
+ logger.warning(": Re-design with increased plate dimensions")
# Plate dimension optimisation
@@ -294,9 +328,12 @@ def finConn(uiObj):
web_plate_l_req = max(web_plate_l_req1, web_plate_l_req2, min_plate_height);
if web_plate_l < web_plate_l_req:
- print "ERROR: Plate height provided is less than the minimum required";
- if web_plate_w < web_plate_w_req:
- print "ERROR: Plate width provided is less than the minimum required";
+ logger.error(": Plate height provided is less than the minimum required")
+
+ if web_plate_w < web_plate_w_req:
+
+ logger.error(": Plate width provided is less than the minimum required")
+ logger.warning(": Minimum plate width required is %2.2f mm " %(web_plate_w_req))
##################################################################################
## Weld design
@@ -329,10 +366,9 @@ def finConn(uiObj):
weld_t_req = weld_t_req;
if weld_t >= weld_t_req:
- print " Weld thickness is sufficient" + "\n\nThe overall fin-plate connection design is safe";
+ pass
else:
- print " ERROR: Weld thickness is not sufficient";
- print "\n\nThe overall fin-plate connection design is not safe";
+ logger.error(": Weld thickness is not sufficient")
# End of calculation
outputObj = {}
@@ -361,10 +397,19 @@ def finConn(uiObj):
outputObj['Plate']['momentcapacity'] = moment_capacity
outputObj['Plate']['height'] = web_plate_l
outputObj['Plate']['width'] = web_plate_w
-
+ #return outputObj
+
+ if web_plate_l == min_plate_height or web_plate_l == max_plate_height or web_plate_l < web_plate_l_req or web_plate_w < web_plate_w_req:
+ for k in outputObj.keys():
+ for key in outputObj[k]:
+ outputObj[k][key] = ""
+ elif moment_capacity < moment_demand:
+ for k in outputObj.keys():
+ for key in outputObj[k]:
+ outputObj[k][key] = ""
+
return outputObj
-
-
+
diff --git a/Connections/Shear/Finplate/saveINPUT1.txt b/Connections/Shear/Finplate/saveINPUT1.txt
deleted file mode 100644
index 04b06c0..0000000
--- a/Connections/Shear/Finplate/saveINPUT1.txt
+++ /dev/null
@@ -1,61 +0,0 @@
-(dp0
-S'Member'
-p1
-(dp2
-S'columSection'
-p3
-S'Select Column'
-p4
-sS'fy(MPa)'
-p5
-I0
-sS'fu(MPa)'
-p6
-I0
-sS'beamSection'
-p7
-S'Select Designation'
-p8
-sS'connectivity'
-p9
-S'Select Connectivity'
-p10
-ssS'Plate'
-p11
-(dp12
-S'thickness(mm)'
-p13
-I0
-sS'length(mm)'
-p14
-I0
-sS'width(mm)'
-p15
-I0
-ssS'Load'
-p16
-(dp17
-S'shearForce(kN)'
-p18
-I0
-ssS'Weld'
-p19
-(dp20
-S'size(mm)'
-p21
-I0
-ssS'Bolt'
-p22
-(dp23
-S'grade'
-p24
-S''
-p25
-sS'type'
-p26
-S'Please Select Type'
-p27
-sS'diameter(mm)'
-p28
-I0
-ss. \ No newline at end of file
diff --git a/Connections/Shear/Finplate/shearFinPlateConnection.py b/Connections/Shear/Finplate/shearFinPlateConnection.py
new file mode 100644
index 0000000..5223457
--- /dev/null
+++ b/Connections/Shear/Finplate/shearFinPlateConnection.py
@@ -0,0 +1,24 @@
+'''
+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
diff --git a/Connections/Shear/Finplate/ui_finPlate.py b/Connections/Shear/Finplate/ui_finPlate.py
index b9ba1e4..c87d3a9 100644
--- a/Connections/Shear/Finplate/ui_finPlate.py
+++ b/Connections/Shear/Finplate/ui_finPlate.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'finPlate.ui'
#
-# Created: Tue Jun 2 11:54:41 2015
+# Created: Fri Jun 5 22:26:06 2015
# by: PyQt4 UI code generator 4.10.4
#
# WARNING! All changes made in this file will be lost!
@@ -151,9 +151,10 @@ class Ui_MainWindow(object):
self.btn_front.setAcceptDrops(True)
self.btn_front.setText(_fromUtf8(""))
icon8 = QtGui.QIcon()
- icon8.addPixmap(QtGui.QPixmap(_fromUtf8("../../../../../Downloads/ZY.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ icon8.addPixmap(QtGui.QPixmap(_fromUtf8("../../../../../Pictures/Z-X.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_front.setIcon(icon8)
self.btn_front.setIconSize(QtCore.QSize(22, 22))
+ self.btn_front.setCheckable(True)
self.btn_front.setObjectName(_fromUtf8("btn_front"))
self.btn_top = QtGui.QToolButton(self.frame)
self.btn_top.setGeometry(QtCore.QRect(300, 0, 28, 28))
@@ -165,9 +166,10 @@ class Ui_MainWindow(object):
self.btn_top.setFocusPolicy(QtCore.Qt.NoFocus)
self.btn_top.setText(_fromUtf8(""))
icon9 = QtGui.QIcon()
- icon9.addPixmap(QtGui.QPixmap(_fromUtf8("../../../../../Downloads/Y-X.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ icon9.addPixmap(QtGui.QPixmap(_fromUtf8("../../../../../Pictures/X-Y.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_top.setIcon(icon9)
self.btn_top.setIconSize(QtCore.QSize(22, 23))
+ self.btn_top.setCheckable(True)
self.btn_top.setObjectName(_fromUtf8("btn_top"))
self.btn_side = QtGui.QToolButton(self.frame)
self.btn_side.setGeometry(QtCore.QRect(330, 0, 28, 28))
@@ -179,9 +181,10 @@ class Ui_MainWindow(object):
self.btn_side.setFocusPolicy(QtCore.Qt.NoFocus)
self.btn_side.setText(_fromUtf8(""))
icon10 = QtGui.QIcon()
- icon10.addPixmap(QtGui.QPixmap(_fromUtf8("../../../../../Downloads/Z-Y.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ icon10.addPixmap(QtGui.QPixmap(_fromUtf8("../../../../../Pictures/Z-Y.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btn_side.setIcon(icon10)
self.btn_side.setIconSize(QtCore.QSize(22, 22))
+ self.btn_side.setCheckable(True)
self.btn_side.setObjectName(_fromUtf8("btn_side"))
self.verticalLayout_2.addWidget(self.frame)
self.splitter = QtGui.QSplitter(self.centralwidget)
@@ -237,8 +240,9 @@ class Ui_MainWindow(object):
self.inputDock.setMaximumSize(QtCore.QSize(310, 710))
self.inputDock.setBaseSize(QtCore.QSize(310, 710))
font = QtGui.QFont()
- font.setBold(False)
- font.setWeight(50)
+ font.setBold(True)
+ font.setItalic(False)
+ font.setWeight(75)
self.inputDock.setFont(font)
self.inputDock.setFloating(False)
self.inputDock.setFeatures(QtGui.QDockWidget.AllDockWidgetFeatures)
@@ -465,11 +469,6 @@ class Ui_MainWindow(object):
self.comboPlateThick_2.setStyleSheet(_fromUtf8("QComboBox { combobox-popup: 0; }"))
self.comboPlateThick_2.setMaxVisibleItems(5)
self.comboPlateThick_2.setObjectName(_fromUtf8("comboPlateThick_2"))
- self.comboPlateThick_2.addItem(_fromUtf8(""))
- self.comboPlateThick_2.addItem(_fromUtf8(""))
- self.comboPlateThick_2.addItem(_fromUtf8(""))
- self.comboPlateThick_2.addItem(_fromUtf8(""))
- self.comboPlateThick_2.addItem(_fromUtf8(""))
self.label_42 = QtGui.QLabel(self.dockWidgetContents)
self.label_42.setGeometry(QtCore.QRect(1, 540, 66, 25))
font = QtGui.QFont()
@@ -1020,6 +1019,7 @@ class Ui_MainWindow(object):
self.comboWldSize.addItem(_fromUtf8(""))
self.comboWldSize.addItem(_fromUtf8(""))
self.comboWldSize.addItem(_fromUtf8(""))
+ self.comboWldSize.addItem(_fromUtf8(""))
self.lbl_connectivity = QtGui.QLabel(self.dockWidgetContents)
self.lbl_connectivity.setGeometry(QtCore.QRect(180, 210, 60, 50))
self.lbl_connectivity.setScaledContents(True)
@@ -1464,6 +1464,7 @@ class Ui_MainWindow(object):
self.retranslateUi(MainWindow)
self.mytabWidget.setCurrentIndex(-1)
+ self.comboPlateThick_2.setCurrentIndex(-1)
self.comboWldSize.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
@@ -1494,7 +1495,7 @@ class Ui_MainWindow(object):
self.menuView.setTitle(_translate("MainWindow", "View", None))
self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
self.menuGraphics.setTitle(_translate("MainWindow", "Graphics", None))
- self.inputDock.setWindowTitle(_translate("MainWindow", "INPUT", None))
+ self.inputDock.setWindowTitle(_translate("MainWindow", "Input dock", None))
self.txtFy.setPlaceholderText(_translate("MainWindow", "000.000", None))
self.label_3.setText(_translate("MainWindow", "<html><head/><body><p>Column section *</p></body></html>", None))
self.comboConnLoc.setItemText(0, _translate("MainWindow", "Select Connectivity", None))
@@ -1526,11 +1527,6 @@ class Ui_MainWindow(object):
self.label_40.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" font-weight:600; font-style:italic;\">Plate</span></p></body></html>", None))
self.label_41.setText(_translate("MainWindow", "<html><head/><body><p>Thickness (mm) *</p></body></html>", None))
self.lbl_len_2.setText(_translate("MainWindow", "Height (mm)", None))
- self.comboPlateThick_2.setItemText(0, _translate("MainWindow", "Thickness of Plate", None))
- self.comboPlateThick_2.setItemText(1, _translate("MainWindow", "6", None))
- self.comboPlateThick_2.setItemText(2, _translate("MainWindow", "8", None))
- self.comboPlateThick_2.setItemText(3, _translate("MainWindow", "10", None))
- self.comboPlateThick_2.setItemText(4, _translate("MainWindow", "12", None))
self.label_42.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" font-weight:600; font-style:italic;\">Weld</span></p></body></html>", None))
self.label_43.setText(_translate("MainWindow", "<html><head/><body><p>Thickness (mm) *</p></body></html>", None))
self.label_44.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" font-weight:600; font-style:italic;\">Bolt</span></p></body></html>", None))
@@ -1607,8 +1603,9 @@ class Ui_MainWindow(object):
self.comboWldSize.setItemText(3, _translate("MainWindow", "6", None))
self.comboWldSize.setItemText(4, _translate("MainWindow", "8", None))
self.comboWldSize.setItemText(5, _translate("MainWindow", "10", None))
+ self.comboWldSize.setItemText(6, _translate("MainWindow", "12", None))
self.label_9.setText(_translate("MainWindow", "Beam section *", None))
- self.outputDock.setWindowTitle(_translate("MainWindow", "OUTPUT", None))
+ self.outputDock.setWindowTitle(_translate("MainWindow", "Output dock", None))
self.t_7.setText(_translate("MainWindow", "No. of bolts", None))
self.label_152.setText(_translate("MainWindow", "Gauge (mm)", None))
self.labl123_7.setText(_translate("MainWindow", "<html><head/><body><p>Capacity of bolt (kN)</p></body></html>", None))