From 1c41b574c23e94cb6fae63a29b6a0c9bcf510b4f Mon Sep 17 00:00:00 2001 From: deepa-chaudhari Date: Thu, 16 Jul 2015 12:30:02 +0530 Subject: changes done for github --- Connections/Shear/Finplate/2Dmodel.py | 231 -- Connections/Shear/Finplate/Finplate0dot1.py | 2 +- .../Shear/Finplate/colFlangeBeamWebConnectivity.py | 19 +- Connections/Shear/Finplate/fin.log | 1938 ++++++++++ Connections/Shear/Finplate/finPlate.ui | 101 +- Connections/Shear/Finplate/finPlateCalc.py | 240 -- Connections/Shear/Finplate/finPlateCalc1.py | 466 +++ Connections/Shear/Finplate/finPlateMain.py | 98 +- Connections/Shear/Finplate/finPlatetrial.ui | 3965 -------------------- Connections/Shear/Finplate/finplate_calc1.py | 466 --- Connections/Shear/Finplate/ui_finPlate.py | 82 +- Connections/Shear/Finplate/ui_finPlate2.py | 1669 -------- 12 files changed, 2554 insertions(+), 6723 deletions(-) delete mode 100644 Connections/Shear/Finplate/2Dmodel.py delete mode 100644 Connections/Shear/Finplate/finPlateCalc.py create mode 100644 Connections/Shear/Finplate/finPlateCalc1.py delete mode 100644 Connections/Shear/Finplate/finPlatetrial.ui delete mode 100644 Connections/Shear/Finplate/finplate_calc1.py delete mode 100644 Connections/Shear/Finplate/ui_finPlate2.py (limited to 'Connections/Shear') diff --git a/Connections/Shear/Finplate/2Dmodel.py b/Connections/Shear/Finplate/2Dmodel.py deleted file mode 100644 index 98d1b12..0000000 --- a/Connections/Shear/Finplate/2Dmodel.py +++ /dev/null @@ -1,231 +0,0 @@ -''' -Created on 10-Nov-2014 - -@author: deepa -''' - -#from OCC.Display.SimpleGui import init_display - -from exampleSimpleGUI import init_display -from OCC._Quantity import Quantity_NOC_BLACK -from ISection import ISection -import numpy -from OCC.Graphic3d import Graphic3d_NOT_2D_ALUMINUM -from weld import Weld -from plate import Plate -from bolt import Bolt -from OCC.Quantity import Quantity_NOC_SADDLEBROWN, Quantity_NOC_CYAN1 -from nut import Nut -from OCC.BRepAlgoAPI import BRepAlgoAPI_Fuse -from OCC.AIS import AIS_Shape -from OCC.TopAbs import TopAbs_EDGE -from OCC.TopExp import TopExp_Explorer -from OCC.TopoDS import topods, TopoDS_Shape -from utilities import osdagDisplayShape - - -display, start_display, add_menu, add_function_to_menu = init_display(backend_str="pyqt4") - -# 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 = 35.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 = Nut(R = 10.0,T = 10.0, H = 6.1, innerR1 = 6.0, outerR2 = 8.3) -# 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] - -def colorTheEdges(box, aDisplay): - #ais_shape = AIS.AIS_Shape(box).GetHandle() - Ex = TopExp_Explorer(box,TopAbs_EDGE) - - while Ex.More(): - aEdge = topods.Edge(Ex.Current()) - ais_shape = AIS_Shape(aEdge).GetHandle() - ctx = aDisplay.Context - ctx.SetColor(ais_shape,Quantity_NOC_BLACK,True) - ctx.SetWidth(ais_shape,3.2) - ctx.Display(ais_shape) - Ex.Next() - ctx.Display(ais_shape) - -# Call for createModel -iSectionModel1 = iSection1.createModel() -iSectionModel2 = iSection2.createModel() -weldModel = weld.createModel() -plateModel = plate.createModel() -boltModels = [] -colorbolts = [] -for bolt in bolt_list: - - boltModels.append(bolt.createModel()) - for colorbolt in boltModels: - colorTheEdges(colorbolt,aDisplay) - colorbolts.append(colorbolt) - -#color = Quantity_NOC_SADDLEBROWN, -nutModels = [] -for nut in nut_list: - nutModels.append(nut.createModel()) - -# def colorTheEdges(box, aDisplay): -# #ais_shape = AIS.AIS_Shape(box).GetHandle() -# Ex = TopExp_Explorer(box,TopAbs_EDGE) -# -# while Ex.More(): -# aEdge = topods.Edge(Ex.Current()) -# ais_shape = AIS_Shape(aEdge).GetHandle() -# ctx = aDisplay.Context -# ctx.SetColor(ais_shape,Quantity_NOC_BLACK,True) -# ctx.SetWidth(ais_shape,3.2) -# ctx.Display(ais_shape) -# Ex.Next() - -# -# Get Context -# -ais_context = display.GetContext().GetObject() -# -# Get Prs3d_drawer from previous context -# -drawer_handle = ais_context.DefaultDrawer() -drawer = drawer_handle.GetObject() - -drawer.SetIsoOnPlane(True) -# -la = drawer.LineAspect().GetObject() -la.SetWidth(4) -# le = drawer.SetLineAspect().GetObject() -hla = drawer.HiddenLineAspect().GetObject() -hla.SetWidth(2) -hla.SetColor(Quantity_NOC_CYAN1) -# le.SetLineAspect(Aspect_TOL_DASH,Quantity_NOC_YELLOW,4 ) -# increase line width in the current viewer -# This is only viewed in the HLR mode (hit 'e' key for instance) -line_aspect = drawer.SeenLineAspect().GetObject() - -drawer.EnableDrawHiddenLine() -line_aspect.SetWidth(4) -#drawer.SetLineAspect('Aspect_TOL_DASH') - - -# -drawer.SetWireAspect(line_aspect.GetHandle()) - -# Displys CAD Models. -# Complete CAD Model -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() - -#bolt_plate = BRepAlgoAPI_Fuse(plate_weld,boltModels).Shape() -final_model = plate_weld_bolt -for nt in nutModels: - final_model = BRepAlgoAPI_Fuse(final_model,nt).Shape() - - -# colorTheEdges(final_model) -#display.DisplayShape(final_model, update = True) -colorTheEdges(iSectionModel1, display) -display.DisplayShape(iSectionModel1, update=True) -# -# colorTheEdges(iSectionModel2) -#display.DisplayShape(iSectionModel2,material = Graphic3d_NOT_2D_ALUMINUM, update=True) -# -# colorTheEdges(weldModel) -#display.DisplayShape(weldModel,color = 'red', update=True) -# -# colorTheEdges(plateModel) -#display.DisplayShape(plateModel,color = 'blue', update=True) -# -#colorTheEdges(boltModels) -#display.DisplayShape(colorbolts,color = Quantity_NOC_SADDLEBROWN, update=True) -# -# #colorTheEdges(nutModels) -#display.DisplayShape(nutModels,color = Quantity_NOC_SADDLEBROWN, update = True) -#display.SetModeHLR() -display.FitAll() - -#display.View_Front() -#display.View_Top() -#display.View_Right() -#display.View_Iso() -#display.FitAll() -start_display() - diff --git a/Connections/Shear/Finplate/Finplate0dot1.py b/Connections/Shear/Finplate/Finplate0dot1.py index dbae367..bf63b13 100644 --- a/Connections/Shear/Finplate/Finplate0dot1.py +++ b/Connections/Shear/Finplate/Finplate0dot1.py @@ -16,7 +16,7 @@ from OCC import VERSION from ui_finPlate2 import Ui_MainWindow from model import * #from finPlateCalc import finConn -from finplate_calc1 import finConn +from Connections.Shear.Finplate.finPlateCalc1 import finConn import yaml import pickle import logging diff --git a/Connections/Shear/Finplate/colFlangeBeamWebConnectivity.py b/Connections/Shear/Finplate/colFlangeBeamWebConnectivity.py index 23b1d68..ea5f81a 100644 --- a/Connections/Shear/Finplate/colFlangeBeamWebConnectivity.py +++ b/Connections/Shear/Finplate/colFlangeBeamWebConnectivity.py @@ -4,6 +4,7 @@ Created on 11-May-2015 @author: deepa ''' from OCC.BRepPrimAPI import BRepPrimAPI_MakeSphere +from OCC.BRepAlgoAPI import BRepAlgoAPI_Cut ''' Created on 11-May-2015 @@ -108,7 +109,7 @@ class ColFlangeBeamWeb(object): pitchDir = -self.plate.vDir boltDir = self.plate.uDir self.nutBoltArray.place(nutboltArrayOrigin, gaugeDir, pitchDir, boltDir) - + def get_models(self): '''Returning 3D models ''' @@ -120,4 +121,18 @@ class ColFlangeBeamWeb(object): def get_nutboltmodels(self): return self.nutBoltArray.getModels() - #return self.nutBoltArray.getboltModels() \ No newline at end of file + #return self.nutBoltArray.getboltModels() + + def get_beamModel(self): + nutBoltlist = self.nutBoltArray.getModels() + for nutBolt in nutBoltlist: + finalBeam = BRepAlgoAPI_Cut(self.beamModel,nutBolt).Shape() + return finalBeam + + + + + + + + \ No newline at end of file diff --git a/Connections/Shear/Finplate/fin.log b/Connections/Shear/Finplate/fin.log index fdc9ea8..34c6949 100644 --- a/Connections/Shear/Finplate/fin.log +++ b/Connections/Shear/Finplate/fin.log @@ -5537,3 +5537,1941 @@ DEBUG :=========End Of design=========== + +
+ Mon, 13 Jul 2015 10:08:14 + INFO + : Overall finplate connection design is safe + +
+ +
+ Mon, 13 Jul 2015 10:08:14 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 10:08:15 + INFO + : Overall finplate connection design is safe + +
+ +
+ Mon, 13 Jul 2015 10:08:15 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 12:02:12 + INFO + : Overall finplate connection design is safe + +
+ +
+ Mon, 13 Jul 2015 12:02:12 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 12:02:12 + INFO + : Overall finplate connection design is safe + +
+ +
+ Mon, 13 Jul 2015 12:02:12 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 17:08:05 + INFO + : Overall finplate connection design is safe + +
+ +
+ Mon, 13 Jul 2015 17:08:05 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 17:08:05 + INFO + : Overall finplate connection design is safe + +
+ +
+ Mon, 13 Jul 2015 17:08:05 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 17:12:21 + INFO + : Overall finplate connection design is safe + +
+ +
+ Mon, 13 Jul 2015 17:12:21 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 17:12:21 + INFO + : Overall finplate connection design is safe + +
+ +
+ Mon, 13 Jul 2015 17:12:21 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 17:12:38 + INFO + : Overall finplate connection design is safe + +
+ +
+ Mon, 13 Jul 2015 17:12:38 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 17:12:38 + INFO + : Overall finplate connection design is safe + +
+ +
+ Mon, 13 Jul 2015 17:12:38 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 17:13:13 + INFO + : Overall finplate connection design is safe + +
+ +
+ Mon, 13 Jul 2015 17:13:13 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 17:13:13 + INFO + : Overall finplate connection design is safe + +
+ +
+ Mon, 13 Jul 2015 17:13:13 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 17:14:03 + ERROR + : Minimum required plate height is more than the clear depth of the beam +
+ +
+ Mon, 13 Jul 2015 17:14:03 + WARNING + : Plate height required should be more than 410.00 mm +
+ +
+ Mon, 13 Jul 2015 17:14:03 + WARNING + : Maximum plate height allowed is 328.00 mm +
+ +
+ Mon, 13 Jul 2015 17:14:03 + INFO + : Increase the plate thickness +
+ +
+ Mon, 13 Jul 2015 17:14:03 + ERROR + : Design is not safe + +
+ +
+ Mon, 13 Jul 2015 17:14:03 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 17:14:54 + INFO + : Overall finplate connection design is safe + +
+ +
+ Mon, 13 Jul 2015 17:14:54 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 17:14:54 + INFO + : Overall finplate connection design is safe + +
+ +
+ Mon, 13 Jul 2015 17:14:54 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 17:15:07 + ERROR + : Bolt strength is insufficient to carry the shear force +
+ +
+ Mon, 13 Jul 2015 17:15:07 + WARNING + : Increase bolt diameter and/or bolt grade +
+ +
+ Mon, 13 Jul 2015 17:15:07 + ERROR + : Design is not safe + +
+ +
+ Mon, 13 Jul 2015 17:15:07 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 17:15:51 + INFO + : Overall finplate connection design is safe + +
+ +
+ Mon, 13 Jul 2015 17:15:51 + DEBUG + :=========End Of design=========== +
+ +
+ Mon, 13 Jul 2015 17:15:51 + INFO + : Overall finplate connection design is safe + +
+ +
+ Mon, 13 Jul 2015 17:15:51 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 15:48:46 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 15:48:46 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 15:48:47 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 15:48:47 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 15:51:23 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 15:51:23 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 15:51:23 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 15:51:23 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:23:09 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:23:09 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:23:09 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:23:09 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:24:06 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:24:06 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:24:06 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:24:06 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:24:12 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:24:12 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:24:12 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:24:12 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:24:21 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:24:21 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:24:21 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:24:21 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:34:55 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:34:55 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:34:55 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:34:55 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:35:02 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:35:02 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:35:02 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:35:02 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:35:10 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:35:10 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:35:10 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:35:10 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:35:19 + ERROR + : Plate width provided is less than the minimum required +
+ +
+ Tue, 14 Jul 2015 17:35:19 + WARNING + : Minimum plate width required is 100.00 mm +
+ +
+ Tue, 14 Jul 2015 17:35:19 + ERROR + : Design is not safe + +
+ +
+ Tue, 14 Jul 2015 17:35:19 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:35:25 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:35:25 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:35:25 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:35:25 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:40:16 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:40:16 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:40:16 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:40:16 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:40:26 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:40:26 + DEBUG + :=========End Of design=========== +
+ +
+ Tue, 14 Jul 2015 17:40:26 + INFO + : Overall finplate connection design is safe + +
+ +
+ Tue, 14 Jul 2015 17:40:26 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 11:16:48 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 11:16:48 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 11:16:49 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 11:16:49 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 11:17:36 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 11:17:36 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 11:17:36 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 11:17:36 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 11:18:11 + ERROR + : Weld thickness is not sufficient +
+ +
+ Wed, 15 Jul 2015 11:18:11 + WARNING + : Minimum weld thickness is required is 5.00 mm +
+ +
+ Wed, 15 Jul 2015 11:18:11 + ERROR + : Design is not safe + +
+ +
+ Wed, 15 Jul 2015 11:18:11 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 11:18:17 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 11:18:17 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 11:18:17 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 11:18:17 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 11:19:35 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 11:19:35 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 11:19:35 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 11:19:35 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 11:19:52 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 11:19:52 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 11:19:53 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 11:19:53 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 11:20:35 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 11:20:35 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 11:20:35 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 11:20:35 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 12:21:07 + ERROR + : Height of plate is more than the clear depth of the beam +
+ +
+ Wed, 15 Jul 2015 12:21:07 + WARNING + : Maximum plate height allowed is 161.40 mm +
+ +
+ Wed, 15 Jul 2015 12:21:07 + ERROR + : Plate moment capacity is less than the moment demand +
+ +
+ Wed, 15 Jul 2015 12:21:07 + WARNING + : Re-design with increased plate dimensions +
+ +
+ Wed, 15 Jul 2015 12:21:07 + ERROR + : Plate width provided is less than the minimum required +
+ +
+ Wed, 15 Jul 2015 12:21:07 + WARNING + : Minimum plate width required is 150.00 mm +
+ +
+ Wed, 15 Jul 2015 12:21:07 + ERROR + : Weld thickness is not sufficient +
+ +
+ Wed, 15 Jul 2015 12:21:07 + WARNING + : Minimum weld thickness is required is 15.00 mm +
+ +
+ Wed, 15 Jul 2015 12:21:07 + ERROR + : Design is not safe + +
+ +
+ Wed, 15 Jul 2015 12:21:07 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 12:21:21 + ERROR + : Height of plate is more than the clear depth of the beam +
+ +
+ Wed, 15 Jul 2015 12:21:21 + WARNING + : Maximum plate height allowed is 233.80 mm +
+ +
+ Wed, 15 Jul 2015 12:21:21 + ERROR + : Weld thickness is not sufficient +
+ +
+ Wed, 15 Jul 2015 12:21:21 + WARNING + : Minimum weld thickness is required is 7.00 mm +
+ +
+ Wed, 15 Jul 2015 12:21:21 + ERROR + : Design is not safe + +
+ +
+ Wed, 15 Jul 2015 12:21:21 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 12:21:26 + ERROR + : Height of plate is more than the clear depth of the beam +
+ +
+ Wed, 15 Jul 2015 12:21:26 + WARNING + : Maximum plate height allowed is 281.60 mm +
+ +
+ Wed, 15 Jul 2015 12:21:26 + ERROR + : Design is not safe + +
+ +
+ Wed, 15 Jul 2015 12:21:26 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 12:21:33 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 12:21:33 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 12:21:33 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 12:21:33 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 12:21:53 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 12:21:53 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 12:21:53 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 12:21:53 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:02:21 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 16:02:21 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:02:22 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 16:02:22 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:02:54 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 16:02:54 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:02:54 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 16:02:54 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:08:43 + ERROR + : Weld thickness is not sufficient +
+ +
+ Wed, 15 Jul 2015 16:08:43 + WARNING + : Minimum weld thickness is required is 5.00 mm +
+ +
+ Wed, 15 Jul 2015 16:08:43 + ERROR + : Design is not safe + +
+ +
+ Wed, 15 Jul 2015 16:08:43 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:08:52 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 16:08:52 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:08:52 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 16:08:52 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:11:36 + ERROR + : Height of plate is more than the clear depth of the beam +
+ +
+ Wed, 15 Jul 2015 16:11:36 + WARNING + : Maximum plate height allowed is 46.00 mm +
+ +
+ Wed, 15 Jul 2015 16:11:36 + ERROR + : Bolt strength is insufficient to carry the shear force +
+ +
+ Wed, 15 Jul 2015 16:11:36 + WARNING + : Increase bolt diameter and/or bolt grade +
+ +
+ Wed, 15 Jul 2015 16:11:36 + ERROR + : Plate width provided is less than the minimum required +
+ +
+ Wed, 15 Jul 2015 16:11:36 + WARNING + : Minimum plate width required is 150.00 mm +
+ +
+ Wed, 15 Jul 2015 16:11:36 + ERROR + : Weld thickness is not sufficient +
+ +
+ Wed, 15 Jul 2015 16:11:36 + WARNING + : Minimum weld thickness is required is 18.00 mm +
+ +
+ Wed, 15 Jul 2015 16:11:36 + ERROR + : Design is not safe + +
+ +
+ Wed, 15 Jul 2015 16:11:36 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:12:00 + ERROR + : Height of plate is more than the clear depth of the beam +
+ +
+ Wed, 15 Jul 2015 16:12:00 + WARNING + : Maximum plate height allowed is 46.00 mm +
+ +
+ Wed, 15 Jul 2015 16:12:00 + ERROR + : Bolt strength is insufficient to carry the shear force +
+ +
+ Wed, 15 Jul 2015 16:12:00 + WARNING + : Increase bolt diameter and/or bolt grade +
+ +
+ Wed, 15 Jul 2015 16:12:00 + ERROR + : Plate width provided is less than the minimum required +
+ +
+ Wed, 15 Jul 2015 16:12:00 + WARNING + : Minimum plate width required is 150.00 mm +
+ +
+ Wed, 15 Jul 2015 16:12:00 + ERROR + : Weld thickness is not sufficient +
+ +
+ Wed, 15 Jul 2015 16:12:00 + WARNING + : Minimum weld thickness is required is 38.00 mm +
+ +
+ Wed, 15 Jul 2015 16:12:00 + ERROR + : Design is not safe + +
+ +
+ Wed, 15 Jul 2015 16:12:00 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:24:14 + ERROR + : Weld thickness is not sufficient +
+ +
+ Wed, 15 Jul 2015 16:24:14 + WARNING + : Minimum weld thickness is required is 5.00 mm +
+ +
+ Wed, 15 Jul 2015 16:24:14 + ERROR + : Design is not safe + +
+ +
+ Wed, 15 Jul 2015 16:24:14 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:24:22 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 16:24:22 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:24:22 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 16:24:22 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:34:37 + ERROR + : Height of plate is more than the clear depth of the beam +
+ +
+ Wed, 15 Jul 2015 16:34:37 + WARNING + : Maximum plate height allowed is 46.00 mm +
+ +
+ Wed, 15 Jul 2015 16:34:37 + ERROR + : Bolt strength is insufficient to carry the shear force +
+ +
+ Wed, 15 Jul 2015 16:34:37 + WARNING + : Increase bolt diameter and/or bolt grade +
+ +
+ Wed, 15 Jul 2015 16:34:37 + ERROR + : Plate width provided is less than the minimum required +
+ +
+ Wed, 15 Jul 2015 16:34:37 + WARNING + : Minimum plate width required is 150.00 mm +
+ +
+ Wed, 15 Jul 2015 16:34:37 + ERROR + : Weld thickness is not sufficient +
+ +
+ Wed, 15 Jul 2015 16:34:37 + WARNING + : Minimum weld thickness is required is 12.00 mm +
+ +
+ Wed, 15 Jul 2015 16:34:37 + ERROR + : Design is not safe + +
+ +
+ Wed, 15 Jul 2015 16:34:37 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:34:41 + ERROR + : Height of plate is more than the clear depth of the beam +
+ +
+ Wed, 15 Jul 2015 16:34:41 + WARNING + : Maximum plate height allowed is 46.00 mm +
+ +
+ Wed, 15 Jul 2015 16:34:41 + ERROR + : Bolt strength is insufficient to carry the shear force +
+ +
+ Wed, 15 Jul 2015 16:34:41 + WARNING + : Increase bolt diameter and/or bolt grade +
+ +
+ Wed, 15 Jul 2015 16:34:41 + ERROR + : Plate width provided is less than the minimum required +
+ +
+ Wed, 15 Jul 2015 16:34:41 + WARNING + : Minimum plate width required is 150.00 mm +
+ +
+ Wed, 15 Jul 2015 16:34:41 + ERROR + : Weld thickness is not sufficient +
+ +
+ Wed, 15 Jul 2015 16:34:41 + WARNING + : Minimum weld thickness is required is 12.00 mm +
+ +
+ Wed, 15 Jul 2015 16:34:41 + ERROR + : Design is not safe + +
+ +
+ Wed, 15 Jul 2015 16:34:41 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:34:55 + ERROR + : Weld thickness is not sufficient +
+ +
+ Wed, 15 Jul 2015 16:34:55 + WARNING + : Minimum weld thickness is required is 5.00 mm +
+ +
+ Wed, 15 Jul 2015 16:34:55 + ERROR + : Design is not safe + +
+ +
+ Wed, 15 Jul 2015 16:34:55 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:35:02 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 16:35:02 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 16:35:02 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 16:35:02 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 17:41:07 + ERROR + : Weld thickness is not sufficient +
+ +
+ Wed, 15 Jul 2015 17:41:07 + WARNING + : Minimum weld thickness is required is 4.00 mm +
+ +
+ Wed, 15 Jul 2015 17:41:07 + ERROR + : Design is not safe + +
+ +
+ Wed, 15 Jul 2015 17:41:07 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 17:41:15 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 17:41:15 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 17:41:15 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 17:41:15 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 17:41:50 + ERROR + : Weld thickness is not sufficient +
+ +
+ Wed, 15 Jul 2015 17:41:50 + WARNING + : Minimum weld thickness is required is 6.00 mm +
+ +
+ Wed, 15 Jul 2015 17:41:50 + ERROR + : Design is not safe + +
+ +
+ Wed, 15 Jul 2015 17:41:50 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 17:41:56 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 17:41:56 + DEBUG + :=========End Of design=========== +
+ +
+ Wed, 15 Jul 2015 17:41:56 + INFO + : Overall finplate connection design is safe + +
+ +
+ Wed, 15 Jul 2015 17:41:56 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 10:37:26 + ERROR + : Weld thickness is not sufficient +
+ +
+ Thu, 16 Jul 2015 10:37:26 + WARNING + : Minimum weld thickness is required is 5.00 mm +
+ +
+ Thu, 16 Jul 2015 10:37:26 + ERROR + : Design is not safe + +
+ +
+ Thu, 16 Jul 2015 10:37:26 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 10:37:35 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 10:37:35 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 10:37:35 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 10:37:35 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 10:37:43 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 10:37:43 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 10:37:43 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 10:37:43 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:04:25 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:04:25 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:04:25 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:04:25 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:05:26 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:05:26 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:05:26 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:05:26 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:06:34 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:06:34 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:06:35 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:06:35 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:24:13 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:24:13 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:24:13 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:24:13 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:26:34 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:26:34 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:26:34 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:26:34 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:29:01 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:29:01 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:29:01 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:29:01 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:31:21 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:31:21 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:31:21 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:31:21 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:53:40 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:53:40 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:53:40 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:53:40 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:54:29 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:54:29 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 11:54:29 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 11:54:29 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 12:00:25 + ERROR + : Height of plate is more than the clear depth of the beam +
+ +
+ Thu, 16 Jul 2015 12:00:25 + WARNING + : Maximum plate height allowed is 281.60 mm +
+ +
+ Thu, 16 Jul 2015 12:00:25 + ERROR + : Design is not safe + +
+ +
+ Thu, 16 Jul 2015 12:00:25 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 12:00:46 + ERROR + : Height of plate is more than the clear depth of the beam +
+ +
+ Thu, 16 Jul 2015 12:00:46 + WARNING + : Maximum plate height allowed is 281.60 mm +
+ +
+ Thu, 16 Jul 2015 12:00:46 + ERROR + : Weld thickness is not sufficient +
+ +
+ Thu, 16 Jul 2015 12:00:46 + WARNING + : Minimum weld thickness is required is 6.00 mm +
+ +
+ Thu, 16 Jul 2015 12:00:46 + ERROR + : Design is not safe + +
+ +
+ Thu, 16 Jul 2015 12:00:46 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 12:00:49 + ERROR + : Height of plate is more than the clear depth of the beam +
+ +
+ Thu, 16 Jul 2015 12:00:49 + WARNING + : Maximum plate height allowed is 281.60 mm +
+ +
+ Thu, 16 Jul 2015 12:00:49 + ERROR + : Design is not safe + +
+ +
+ Thu, 16 Jul 2015 12:00:49 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 12:01:07 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 12:01:07 + DEBUG + :=========End Of design=========== +
+ +
+ Thu, 16 Jul 2015 12:01:07 + INFO + : Overall finplate connection design is safe + +
+ +
+ Thu, 16 Jul 2015 12:01:07 + DEBUG + :=========End Of design=========== +
diff --git a/Connections/Shear/Finplate/finPlate.ui b/Connections/Shear/Finplate/finPlate.ui index 0232550..f5a6ef2 100644 --- a/Connections/Shear/Finplate/finPlate.ui +++ b/Connections/Shear/Finplate/finPlate.ui @@ -6,7 +6,7 @@ 0 0 - 1335 + 1332 767 @@ -558,7 +558,7 @@ 0 0 - 1335 + 1332 28 @@ -702,7 +702,7 @@ - 10 + 11 50 false @@ -830,7 +830,7 @@ - 10 + 11 50 false @@ -850,7 +850,7 @@ - 10 + 11 50 false @@ -886,7 +886,7 @@ - 10 + 11 50 false @@ -926,7 +926,7 @@ - 10 + 11 50 false @@ -1004,7 +1004,7 @@ - 10 + 11 50 false @@ -1040,7 +1040,7 @@ - 10 + 11 50 false @@ -1060,7 +1060,7 @@ - 10 + 11 50 false @@ -1158,7 +1158,7 @@ - 10 + 11 50 false @@ -1198,7 +1198,7 @@ - 10 + 11 50 false @@ -1234,7 +1234,7 @@ - 10 + 11 50 false @@ -1343,7 +1343,7 @@ - 10 + 11 50 false @@ -3178,46 +3178,11 @@ QComboBox { combobox-popup: 0; } - 0 + -1 5 - - - Select Weld Sizes - - - - - 3 - - - - - 5 - - - - - 6 - - - - - 8 - - - - - 10 - - - - - 12 - - @@ -3243,7 +3208,7 @@ - 10 + 11 50 false @@ -3317,7 +3282,7 @@ - 10 + 11 50 false @@ -3454,7 +3419,7 @@ - 10 + 11 50 false @@ -3474,7 +3439,7 @@ - 10 + 11 50 false @@ -3513,7 +3478,7 @@ - 10 + 11 50 false @@ -3533,7 +3498,7 @@ - 10 + 11 50 false @@ -3553,7 +3518,7 @@ - 10 + 11 50 false @@ -3592,7 +3557,7 @@ - 10 + 11 50 false @@ -3612,7 +3577,7 @@ - 10 + 11 50 false @@ -3632,7 +3597,7 @@ - 10 + 11 50 false @@ -3691,7 +3656,7 @@ - 10 + 11 50 false @@ -3711,7 +3676,7 @@ - 10 + 11 50 false @@ -3787,7 +3752,7 @@ - 10 + 11 50 false @@ -3829,7 +3794,7 @@ - 10 + 11 50 false @@ -3849,7 +3814,7 @@ - 10 + 11 50 false @@ -3932,7 +3897,7 @@ - 10 + 11 50 false @@ -3984,7 +3949,7 @@ - 10 + 11 50 false @@ -4004,7 +3969,7 @@ - 10 + 11 50 false diff --git a/Connections/Shear/Finplate/finPlateCalc.py b/Connections/Shear/Finplate/finPlateCalc.py deleted file mode 100644 index 7a8acc9..0000000 --- a/Connections/Shear/Finplate/finPlateCalc.py +++ /dev/null @@ -1,240 +0,0 @@ -''' -Created on 07-Aug-2014 - -@author: subhrajit -''' - -import math -from model import * -from PyQt4.Qt import QString -import logging -flag = 1 -logger = None - -def module_setup(): - - global logger - logger = logging.getLogger("osdag.finPlateCalc") - -module_setup() - -def finConn(uiObj): - global flag - global logger - '''(Dictionary) --> Dictionary - ''' - - beam_sec = uiObj['Member']['beamSection'] - column_sec = uiObj['Member']['columSection'] - connectivity = uiObj['Member']['connectivity'] - f_u = uiObj['Member']['fu(MPa)'] - f_y = uiObj['Member']['fy(MPa)'] - - F = uiObj['Load']['shearForce(kN)'] - - bolt_dia = uiObj['Bolt']['diameter(mm)'] - bolt_type = uiObj["Bolt"]["type"] - bolt_grade = uiObj['Bolt']['grade'] - - plate_thk = uiObj['Plate']['thickness(mm)'] - plate_width = uiObj['Plate']['width(mm)'] - plate_len = uiObj['Plate']['height(mm)'] - - weld_thk = uiObj["Weld"]['size(mm)'] - FOS_u = 1.25 - FOS_n = 1.1 - k_b = 0.5 - dictbeamdata = get_beamdata(beam_sec) - print dictbeamdata - t_wb = float(dictbeamdata[QString("tw")]) - d_web_b = float(dictbeamdata[QString("D")]) - mu_f = 0.55 - - #------- tw of beamt_wb = 8.9 # Thickness of web of the connected member ISMB 400 - #-----D of beam d_web_b = 380 #column Clear depth of web of the connected member ISMB 400 - no_row_b = 3 - no_col_b = 1 -#------------------------------------------------------------------------------ - #---------------------------------------------------------- # Fin plate data - #------------------------------------------------------------ plate_thk = 10 - #--------------------------------------------------------- plate_width = 100 - #----------------------------------------------------------- plate_len = 300 -#------------------------------------------------------------------------------ - #------------------------------------------------------------------- F = 140 - # your calculations - ''' - Design of bolts - ''' - logger.info("Starting Design Calculations ") - # Shearing capacity of bolt - V_dsb = (0.78*math.pi*bolt_dia**2/4 * math.floor(float(bolt_grade))*100)/(math.sqrt(3)*1000*FOS_u) - V_dsb = round(V_dsb,3) - - - # Bearing capacity of bolt - V_dpb = 2.5*k_b*bolt_dia*t_wb*f_u/(FOS_u*1000) - V_dpb = round(V_dpb,3) - if V_dsb > V_dpb: - V_db = V_dpb - else: - V_db = V_dsb - - #number of bolts - no_b = math.ceil(F/V_db) - if no_b <= 2: - no_b = 3 - - # Hole diameter - if bolt_dia == 12 or bolt_dia == 14: - dia_h = bolt_dia + 1 - elif bolt_dia == 16 or bolt_dia == 18 or bolt_dia == 20 or bolt_dia == 22 or bolt_dia == 24: - dia_h = bolt_dia + 2 - else: - dia_h = bolt_dia + 3 - - # End and edge distance - d_edge = 2 * dia_h - d_end = 2 * dia_h - if d_edge < 50 or d_end < 50: - d_edge = 50 - d_end = 50 - else: - d_edge = math.ceil(d_edge) - d_end = math.ceil(d_end) - - # Web side plate length and width input - if plate_len == 0: - plate_len = d_web_b - 60 - elif plate_len > d_web_b - 60: - logger.error("The length of the plate is more than the available depth of %2.2f mm " % (plate_len)) - print('Re-enter Length') - plate_width_min = 2*d_end - if plate_width == 0: - plate_width_min = 2*d_end - if plate_width < plate_width_min: - logger.error(" Plate width is less than the minimum width required of %2.2f mm " % (plate_width_min)) - #print('Re-enter Width') - #....................................................................... - - plate_len_b = plate_len - 2*d_edge # Length available for bolt group - pitch_min = 1.5*bolt_dia - pitch = plate_len_b/(no_b-1) - pitch = round(pitch,3) - if no_col_b == 1: - gauge = 0 - else: - gauge = 50 - - # Deciding on arrangement of bolts - no_b_oneline = (plate_len_b//pitch_min) + 1 - - - - if pitch < pitch_min: - logger.warning("Pitch distance is less than the minimum required") - #print('Pitch distance is insufficient') - - - - - #....................................................................... - ''' - Web side plate design - ''' - - #if plate_len > d_web_b: - #print('Reselect the length of plate less than depth of the connected web') - - thk_min = round((5*F*1000)/(f_y*plate_len),3) - - if thk_min > plate_thk: - logger.error("The selected thickness of finplate is less than the minimun required") - flag = 0 - #print('Thickness of fin plate is insufficient') - - #d_clear = 20 - x = int(no_b//2) - M_ext = 0 - for i in range(1,x+1): - if no_b%2 == 1: - M_ext += 2*(i*(pitch**2)/pitch)*V_dsb - elif no_b%2 == 0: - M_ext = i*((pitch/2)**2)/(pitch/2)*V_dsb - M_ext = round(M_ext/1000,3) - #print(M_ext) - - M_cap = 1.2*(f_y/FOS_n)*(plate_thk*plate_len**2)/(6*1000) - M_cap = round(M_cap/(1000),3) - #print(M_cap) - - if M_cap < M_ext: - - logger.error("The flexural moment capacity of the finplate is less than the external moment") - flag = 0 - #print('The plate design is OK') - #flag = False - - ''' - Weld Design - ''' - # Resultant shear on weld - l_eff_w = plate_len - 2*weld_thk - #print(l_eff_w) - H_sh = (M_ext*6000)/(2*(l_eff_w**2)) - #print(H_sh) - V_sh = F/float(2*l_eff_w) - #print(V_sh) - R_sh = math.sqrt(H_sh**2 + V_sh**2) - R_sh = round(R_sh,3) - #print(R_sh) - - t_w_ductility = 0.6 * plate_thk / 0.7 - #print(t_w_ductility) - - if weld_thk < t_w_ductility: - thk_weld = int(t_w_ductility) - else: - thk_weld = weld_thk - - #print(weld_thk) - - # Weld strength - f_wd = f_u/float(math.sqrt(3)*FOS_u) - #print(f_wd) - R_nw = f_wd*0.7*weld_thk/1000 - R_nw = round(R_nw,3) - # End of calculation - - outputObj = {} - outputObj['Bolt'] ={} - outputObj['Bolt']['shearcapacity'] = V_dsb - outputObj['Bolt']['bearingcapacity'] = V_dpb - outputObj['Bolt']['boltcapacity'] = V_db - outputObj['Bolt']['numofbolts'] = no_b - outputObj['Bolt']['boltgrpcapacity'] = 0.0 - outputObj['Bolt']['numofrow'] = no_row_b - outputObj['Bolt']['numofcol'] = no_col_b - outputObj['Bolt']['pitch'] = pitch - - outputObj['Bolt']['enddist'] = d_end - - outputObj['Bolt']['edge'] = d_edge - outputObj['Bolt']['gauge'] = gauge - - outputObj['Weld'] = {} - outputObj['Weld']['thickness'] = thk_weld - outputObj['Weld']['resultantshear'] = R_sh - outputObj['Weld']['weldstrength'] = R_nw - - outputObj['Plate'] = {} - outputObj['Plate']['height'] = 0 - outputObj['Plate']['width'] = 0 - outputObj['Plate']['externalmoment'] = M_ext - outputObj['Plate']['momentcapacity'] = M_cap - - if flag != 0: - logger.info("Design is safe") - else: - logger.error("Design is not safe") - return outputObj - diff --git a/Connections/Shear/Finplate/finPlateCalc1.py b/Connections/Shear/Finplate/finPlateCalc1.py new file mode 100644 index 0000000..34efdb4 --- /dev/null +++ b/Connections/Shear/Finplate/finPlateCalc1.py @@ -0,0 +1,466 @@ +''' +Created on 25-May-2015 + +@author: subhrajit +''' +''' +Example 5.18 Page 412 N. Subramanium +Design of steel structures +Design of fin-plate: +Design a web side plate connection (welded to the column and site bolted to the beam) for ISMB 400 in Fe 410 grade steel and to carry a reaction of 140 kN due +to factored loads. The connection is to the flange of an ISSC 200 column. + +''' +import cmath; +import math +import sys; + +from model import * +from PyQt4.Qt import QString +import logging +flag = 1 +logger = None + +def module_setup(): + + global logger + logger = logging.getLogger("osdag.finPlateCalc") + +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(''' +#
+# %(asctime)s +# %(levelname)s +# %(message)s +#
''') +# 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) +def bolt_shear(dia, n, fu): + A = cmath.pi * dia * dia * 0.25 * 0.78; #threaded area = 0.78 x shank area + root3 = cmath.sqrt(3); + Vs = fu * n * A / (root3 * 1.25 * 1000); + Vs = round(Vs.real,3); + return Vs + +#BOLT: determination of bearing capacity = 2.5 * kb * d * t * fu / Y +def bolt_bearing(dia, t, fu): + #add code to determine kb if pitch, gauge, edge distance known + kb = 0.5; #assumption + Vb = 2.5 * kb * dia * t * fu / (1.25 * 1000); + Vb = round(Vb.real,3); + return Vb; + +# PLATE: minimum thickness of web plate for eccentricity +def web_min_h(shear, fy, thk): + min_plate_ht = 5*shear*1000/(fy*thk); + return min_plate_ht; + + +def finConn(uiObj): + global logger + beam_sec = uiObj['Member']['BeamSection'] + column_sec = uiObj['Member']['ColumSection'] + connectivity = uiObj['Member']['Connectivity'] + beam_fu = uiObj['Member']['fu (MPa)'] + beam_fy = uiObj['Member']['fy (MPa)'] + + shear_load = uiObj['Load']['ShearForce (kN)'] + + bolt_dia = uiObj['Bolt']['Diameter (mm)'] + bolt_type = uiObj["Bolt"]["Type"] + bolt_grade = uiObj['Bolt']['Grade'] + + web_plate_t = uiObj['Plate']['Thickness (mm)'] + web_plate_w = uiObj['Plate']['Width (mm)'] + web_plate_l = uiObj['Plate']['Height (mm)'] + web_plate_fu = uiObj['Member']['fu (MPa)'] + web_plate_fy = uiObj['Member']['fy (MPa)'] + + weld_t = uiObj["Weld"]['Size (mm)'] + weld_fu = 410 + + bolt_planes = 1 + dictbeamdata = get_beamdata(beam_sec) + beam_w_t = float(dictbeamdata[QString("tw")]) + beam_f_t = float(dictbeamdata[QString("T")]) + beam_d = float(dictbeamdata[QString("D")]) + + + # ############### Need to discuss with sir ######################## + # #Bolt grade chosen from drop down list + # + # #Bolt dia chosen from list of standard sizes between 12 and 36 + # + # # web_plate_t lies between (5, 63) + # if web_plate_t < 5 | web_plate_t > 63: + # sys.exit(); + # + # #weld_fu lies between (410, 610) + # if weld_fu <= 410 | weld_fu >= 610: + # sys.exit(); + + ######################################################################## + # INPUT FOR PLATE DIMENSIONS (FOR OPTIONAL INPUTS) AND VALIDATION + + # Plate thickness check + if web_plate_t < beam_w_t: + web_plate_t = beam_w_t + #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.warning(" : Minimum required thickness %2.2f mm" % (beam_w_t)) + + # Plate height check + # Maximum/minimum plate height + max_plate_height = beam_d - 2 * beam_f_t - 40; + min_plate_height = web_min_h(shear_load,web_plate_fy,web_plate_t); + min_plate_height = int(min_plate_height) /10 * 10 +10; + min_plate_height = round(min_plate_height,3) + + # Height input and check + + if web_plate_l != 0: + if 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)) + web_plate_l = max_plate_height ; + + elif min_plate_height > max_plate_height: + logger.error(": Minimum required plate height is more than the clear depth of the beam") + logger.warning(": Plate height required should be more than %2.2f mm " % (min_plate_height)) + logger.warning(": Maximum plate height allowed is %2.2f mm " % (max_plate_height)) + logger.info(": Increase the plate thickness") + web_plate_l = max_plate_height; + + elif min_plate_height >= web_plate_l: + + logger.error(": Plate height provided is less than the minimum required ") + logger.warning(": Plate height required should be more than %2.2f mm " % (min_plate_height)) + + web_plate_l = min_plate_height + else: + if min_plate_height < max_plate_height: + web_plate_l = min_plate_height +10 + elif min_plate_height >= max_plate_height: + web_plate_l = (max_plate_height-10)//10*10 ; + + + ######################################################################## + # Bolt design: + + # I: Check for number of bolts ------------------- + bolt_fu = int(bolt_grade) * 100 + bolt_fy = (bolt_grade - int(bolt_grade))*bolt_fu; + + t_thinner = min(beam_w_t.real,web_plate_t.real); + bolt_shear_capacity = bolt_shear(bolt_dia,bolt_planes,bolt_fu).real; + bolt_bearing_capacity = bolt_bearing(bolt_dia,t_thinner,beam_fu).real; + + bolt_capacity = min(bolt_shear_capacity, bolt_bearing_capacity); + + bolts_required = int(shear_load/bolt_capacity) + 1; + if bolts_required <= 2: + bolts_required = 3; + + bolt_group_capacity = bolts_required * bolt_capacity; + + # Spacing of bolts for web plate ------------------- + if bolt_dia == 12 or bolt_dia == 14: + dia_hole = bolt_dia + 1 + elif bolt_dia == 16 or bolt_dia == 18 or bolt_dia == 20 or bolt_dia == 22 or bolt_dia == 24: + dia_hole = bolt_dia + 2 + else: + dia_hole = bolt_dia + 3 + + # Minimum/maximum pitch and gauge + min_pitch = int(2.5 * bolt_dia); + min_gauge = int(2.5 * bolt_dia); + + if min_pitch%10 != 0 or min_gauge%10 != 0: + min_pitch = (min_pitch/10)*10 + 10; + min_gauge = (min_gauge/10)*10 + 10; + else: + min_pitch = min_pitch; + min_gauge = min_gauge; + #clause 10.2.2 is800 + max_spacing = int(min(100 + 4 * t_thinner, 200)); #clause 10.2.3.3 is800 + + min_edge_dist = int(1.5 * (dia_hole)) + 10; # 10 mm added than min. value + if min_edge_dist%10 != 0: + min_edge_dist = (min_edge_dist/10)*10 + 10; + else: + min_edge_dist = min_edge_dist; + + max_edge_dist = int((12 * t_thinner * cmath.sqrt(250/beam_fy)).real)-1; + + # Determine single or double line of bolts + + 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 * (20+min_edge_dist/2); + # Single line of bolts + if pitch >= min_pitch: + bolt_line =1; + gauge = 0; + bolts_one_line = bolts_required; + K = bolts_one_line / 2; + M2=0; + if bolts_required % 2 ==0 or bolts_required % 2 !=0: + for k in range (0,K): + M2 = M2 + 2*(bolt_shear_capacity * ((length_avail/2 - k * pitch)**2/(length_avail/2 - k * pitch))); + moment_demand = max(M1,M2); + moment_demand = round(moment_demand * 0.001,3) + + # Multi-line of bolts + if pitch < min_pitch: + bolt_line = 2; + if bolts_required % 2 == 0: + bolts_one_line = bolts_required/2; + else: + bolts_one_line = (bolts_required/2) + 1; + + pitch = round(length_avail/(bolts_one_line-1),3); + gauge = min_gauge; + M1 = bolt_shear_capacity * (20+ min_edge_dist + gauge/2); + + if pitch >= min_pitch: + K = bolts_one_line / 2; + M2=0; + if bolts_required % 2 ==0 or bolts_required % 2 !=0: + for k in range (0,K): + V = length_avail/2 - k * pitch + H = gauge/2; + d = math.sqrt(V**2 + H**2); + M2 = M2 + 2*(bolt_shear_capacity * (d**2/d)); + M2=M2*2; + moment_demand = max(M1,M2); + moment_demand = round(moment_demand * 0.001,3) + + # Needs discussion with Sir + else: + logger.error(": Bolt strength is insufficient to carry the shear force") + logger.warning (": Increase bolt diameter and/or bolt grade") + moment_demand=0.0 + #################################################################################### + # Design of plate: + + # Width input (optional) and validation + if web_plate_w != 0: + if bolt_line == 1: + web_plate_w_req = 2 * min_edge_dist + end_dist = web_plate_w/2 + if bolt_line == 2: + web_plate_w_req = gauge + 2 * min_edge_dist + end_dist = (web_plate_w - gauge)/2 + + if web_plate_w == 0: + if bolt_line == 1: + web_plate_w_req = 2 * min_edge_dist; + web_plate_w = web_plate_w_req + end_dist = web_plate_w /2 + if bolt_line == 2: + web_plate_w_req = gauge + 2 * min_edge_dist; + web_plate_w = web_plate_w_req; + end_dist = (web_plate_w - gauge)/2 + + + # 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; + moment_capacity = round(moment_capacity * 0.001,3); + + if moment_capacity > moment_demand: + pass + else: + logger.error(": Plate moment capacity is less than the moment demand") + + logger.warning(": Re-design with increased plate dimensions") + + + # Plate dimension optimisation + + web_plate_l_req1 = math.sqrt((moment_demand*1000*6*1.1)/(1.2*beam_fy*web_plate_t)); + # Single line of bolts + if bolt_line == 1: + web_plate_l_req2 = (bolts_required-1) * min_pitch + 2 * min_edge_dist; + if web_plate_l == 0 or web_plate_l == min_plate_height or web_plate_l == max_plate_height: + web_plate_l_req = max(web_plate_l_req1, web_plate_l_req2, web_plate_l); + else: + web_plate_l_req = max(web_plate_l_req1, web_plate_l_req2,min_plate_height); + + # Multi line of bolts + if bolt_line == 2: + web_plate_l_req2 = (bolts_one_line-1) * min_pitch + 2 * min_edge_dist; + + if web_plate_l == 0 or web_plate_l == min_plate_height or web_plate_l == max_plate_height: + web_plate_l_req = max(web_plate_l_req1, web_plate_l_req2, web_plate_l); + elif web_plate_l > min_plate_height or web_plate_l < max_plate_height: + web_plate_l_req = max(web_plate_l_req1, web_plate_l_req2, min_plate_height); + + if web_plate_l != min_plate_height +10 or web_plate_l != (max_plate_height-10)//10*10 : + pass + else: + if web_plate_l < web_plate_l_req: + 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 + # V: Weld shear strength ------------------- + weld_l = web_plate_l - weld_t * 2; + + #direct shear + Vy1 = shear_load *1000 /float(2*weld_l); + + #shear due to moment + xCritical = 0; #single line weld + yCritical = weld_l * 0.5; #single line weld + + Ip = weld_l * weld_l * weld_l / 12; + + Vx = moment_demand * yCritical *1000000 / (2 * Ip); + Vy2 = moment_demand * xCritical * 1000000 / (2 * Ip); + + Vr = math.sqrt(Vx ** 2 + (Vy1 + Vy2) ** 2); + Vr = round(Vr,3); + + weld_strength = 0.7 * weld_t * weld_fu / (math.sqrt(3) * 1.25); + weld_strength = round(weld_strength,3); + + weld_t_req = (Vr * (math.sqrt(3) * 1.25))/(0.7 * weld_fu) ; + + if weld_t_req != int(weld_t_req): + weld_t_req = int(weld_t_req) + 1; + else: + weld_t_req = weld_t_req; + + if weld_t >= weld_t_req: + pass + else: + logger.error(": Weld thickness is not sufficient") + logger.warning(": Minimum weld thickness is required is %2.2f mm " % (weld_t_req)) + + # End of calculation + outputObj = {} + outputObj['Bolt'] ={} + outputObj['Bolt']['status'] = True + outputObj['Bolt']['shearcapacity'] = bolt_shear_capacity + outputObj['Bolt']['bearingcapacity'] = bolt_bearing_capacity + outputObj['Bolt']['boltcapacity'] = bolt_capacity + outputObj['Bolt']['numofbolts'] = bolts_required + outputObj['Bolt']['boltgrpcapacity'] = bolt_group_capacity + outputObj['Bolt']['numofrow'] = bolts_one_line + outputObj['Bolt']['numofcol'] = bolt_line + outputObj['Bolt']['pitch'] = pitch + outputObj['Bolt']['enddist'] = float(end_dist) + outputObj['Bolt']['edge'] = float(min_edge_dist) + outputObj['Bolt']['gauge'] = float(gauge) + + outputObj['Weld'] = {} + outputObj['Weld']['thickness'] = weld_t_req + outputObj['Weld']['resultantshear'] = Vr + outputObj['Weld']['weldstrength'] = weld_strength + + outputObj['Plate'] = {} + outputObj['Plate']['minHeight'] = web_plate_l_req + outputObj['Plate']['minWidth'] = web_plate_w_req + outputObj['Plate']['externalmoment'] = moment_demand + outputObj['Plate']['momentcapacity'] = moment_capacity + outputObj['Plate']['height'] = float(web_plate_l) + outputObj['Plate']['width'] = float(web_plate_w) + + + #return outputObj + + if web_plate_l == (min_plate_height+10) or web_plate_l == ((max_plate_height-10)//10*10): + if bolt_line==1: + 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 or weld_t_req > weld_t: + for k in outputObj.keys(): + for key in outputObj[k].keys(): + outputObj[k][key] = "" + elif moment_capacity < moment_demand: + for k in outputObj.keys(): + for key in outputObj[k].keys(): + outputObj[k][key] = "" + + if bolt_line==2: + if pitch < min_pitch: + for k in outputObj.keys(): + for key in outputObj[k].keys(): + outputObj[k][key] = "" + elif 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 or weld_t_req > weld_t: + for k in outputObj.keys(): + for key in outputObj[k].keys(): + outputObj[k][key] = "" + elif moment_capacity < moment_demand: + for k in outputObj.keys(): + for key in outputObj[k].keys(): + outputObj[k][key] = "" + else: + + pass + + else: + 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 or weld_t_req > weld_t: + for k in outputObj.keys(): + for key in outputObj[k].keys(): + outputObj[k][key] = "" + elif moment_capacity < moment_demand: + for k in outputObj.keys(): + for key in outputObj[k].keys(): + outputObj[k][key] = "" + elif bolt_line==2: + if pitch < min_pitch: + for k in outputObj.keys(): + for key in outputObj[k].keys(): + outputObj[k][key] = "" + +# outputObj = {} + if outputObj['Bolt']['status'] == True: + + logger.info(": Overall finplate connection design is safe \n") + logger.debug(" :=========End Of design===========") + + else: + logger.error(": Design is not safe \n ") + logger.debug(" :=========End Of design===========") + + return outputObj + + + + + + diff --git a/Connections/Shear/Finplate/finPlateMain.py b/Connections/Shear/Finplate/finPlateMain.py index 1b9d97c..68b06fd 100644 --- a/Connections/Shear/Finplate/finPlateMain.py +++ b/Connections/Shear/Finplate/finPlateMain.py @@ -9,20 +9,15 @@ from OCC.TopoDS import topods, TopoDS_Shape from OCC.gp import gp_Pnt from nutBoltPlacement import NutBoltArray from PyQt4.Qt import QScrollBar -import sys -from OCC import VERSION, BRepTools, StlAPI -#from PyQt4 import QtGui,QtCore +from OCC import VERSION, BRepTools from ui_finPlate import Ui_MainWindow from model import * -#from finPlateCalc import finConn -from finplate_calc1 import finConn +from finPlateCalc import finConn import yaml import pickle -import logging -from OCC.BRepAlgoAPI import BRepAlgoAPI_Fuse +from OCC.BRepAlgoAPI import BRepAlgoAPI_Fuse, BRepAlgoAPI_Cut from OCC._Quantity import Quantity_NOC_RED,Quantity_NOC_BLUE1,Quantity_NOC_SADDLEBROWN from ISection import ISection -import numpy from OCC.Graphic3d import Graphic3d_NOT_2D_ALUMINUM from weld import Weld from plate import Plate @@ -35,7 +30,6 @@ from colWebBeamWebConnectivity import ColWebBeamWeb from colFlangeBeamWebConnectivity import ColFlangeBeamWeb from OCC import IGESControl from filletweld import FilletWeld -from ModelUtils import * from OCC.STEPControl import STEPControl_Writer, STEPControl_AsIs from OCC.Interface import Interface_Static_SetCVal from OCC.IFSelect import IFSelect_RetDone @@ -63,7 +57,7 @@ class MainController(QtGui.QMainWindow): self.ui.comboConnLoc.currentIndexChanged[str].connect(self.setimage_connection) self.disableViewButtons() - + #self.retrieve_prevstate() self.ui.btnInput.clicked.connect(lambda: self.dockbtn_clicked(self.ui.inputDock)) self.ui.btnOutput.clicked.connect(lambda: self.dockbtn_clicked(self.ui.outputDock)) @@ -113,7 +107,11 @@ class MainController(QtGui.QMainWindow): self.ui.combo_Beam.addItems(get_beamcombolist()) self.ui.comboColSec.addItems(get_columncombolist()) - self.ui.combo_Beam.currentIndexChanged[str].connect(self.populatePlateThickCombo) + self.ui.combo_Beam.currentIndexChanged[str].connect(self.fillPlateThickCombo) + self.ui.comboColSec.currentIndexChanged[str].connect(self.populateWeldThickCombo) + self.ui.comboConnLoc.currentIndexChanged[str].connect(self.populateWeldThickCombo) + self.ui.comboPlateThick_2.currentIndexChanged[str].connect(self.populateWeldThickCombo) + self.ui.menuView.addAction(self.ui.inputDock.toggleViewAction()) self.ui.menuView.addAction(self.ui.outputDock.toggleViewAction()) @@ -195,7 +193,9 @@ class MainController(QtGui.QMainWindow): self.ui.chkBxCol.setEnabled(True) self.ui.chkBxFinplate.setEnabled(True) - def populatePlateThickCombo(self): + def fillPlateThickCombo(self): + '''Populates the plate thickness on the basis of beam web thickness and plate thickness check + ''' dictbeamdata = self.fetchBeamPara() beam_tw = float(dictbeamdata[QString("tw")]) plateThickness = [6,8,10,12,14,16,18,20] @@ -207,9 +207,44 @@ class MainController(QtGui.QMainWindow): self.ui.comboPlateThick_2.clear() for i in newlist[:]: self.ui.comboPlateThick_2.addItem(str(i)) - self.ui.comboPlateThick_2.setCurrentIndex(0) + self.ui.comboPlateThick_2.setCurrentIndex(1) - + def populateWeldThickCombo(self): + ''' + Returns the weld thickness on the basis column flange and plate thickness check + ''' + newlist = ["Select weld thickness"] + weldlist = [3,4,5,6,8,10,12,16] + dictcoldata = self.fetchColumnPara() + column_tf = float(dictcoldata[QString("T")]) + column_tw = float(dictcoldata[QString("tw")]) + plate_thick = float(self.ui.comboPlateThick_2.currentText()) + + if self.ui.comboConnLoc.currentText() == "Column flange-Beam web": + + thickerPart = column_tf > plate_thick and column_tf or plate_thick + + else: + thickerPart = column_tw > plate_thick and column_tw or plate_thick + + if thickerPart in range(0,11): + weld_index = weldlist.index(3) + newlist.extend(weldlist[weld_index:]) + elif thickerPart in range (11,21): + weld_index = weldlist.index(5) + newlist.extend(weldlist[weld_index:]) + elif thickerPart in range(21,33): + weld_index = weldlist.index(6) + newlist.extend(weldlist[weld_index: ]) + else: + weld_index = weldlist.index(8) + newlist.extend(weldlist[weld_index: ]) + + self.ui.comboWldSize.clear() + for element in newlist[:]: + self.ui.comboWldSize.addItem(str(element)) + #self.ui.comboColSec.currentIndex(0) + def retrieve_prevstate(self): uiObj = self.get_prevstate() @@ -390,7 +425,7 @@ class MainController(QtGui.QMainWindow): #self.setCurrentFile(fileName); - QtGui.QMessageBox.about(self,'Information',"File saved") + #QtGui.QMessageBox.about(self,'Information',"File saved") @@ -411,7 +446,7 @@ class MainController(QtGui.QMainWindow): yaml.dump(newDict,f,allow_unicode=True, default_flow_style=False) #return self.save_file(fileName+".txt") - QtGui.QMessageBox.about(self,'Information',"File saved") + #QtGui.QMessageBox.about(self,'Information',"File saved") def resetbtn_clicked(self): @@ -683,11 +718,9 @@ class MainController(QtGui.QMainWindow): if component == "Column": osdagDisplayShape(self.display, self.connectivity.columnModel, update=True) - - my_sphere = BRepPrimAPI_MakeSphere(12).Shape() - self.display.DisplayShape(my_sphere,color = 'red',update = True) elif component == "Beam": - osdagDisplayShape(self.display, self.connectivity.beamModel, material = Graphic3d_NOT_2D_ALUMINUM, update=True) + osdagDisplayShape(self.display, self.connectivity.get_beamModel(), material = Graphic3d_NOT_2D_ALUMINUM, update=True) + #osdagDisplayShape(self.display, self.connectivity.beamModel, material = Graphic3d_NOT_2D_ALUMINUM, update=True) elif component == "Finplate" : osdagDisplayShape(self.display, self.connectivity.weldModelLeft, color = 'red', update = True) osdagDisplayShape(self.display, self.connectivity.weldModelRight, color = 'red', update = True) @@ -862,7 +895,6 @@ class MainController(QtGui.QMainWindow): colflangeconn.create_3dmodel() return colflangeconn - def call_3DModel(self,flag): self.ui.btnSvgSave.setEnabled(True) @@ -883,18 +915,18 @@ class MainController(QtGui.QMainWindow): self.fuse_model = None self.display3Dmodel("Model") - beamOrigin = self.connectivity.beam.secOrigin + self.connectivity.beam.t/2 * (-self.connectivity.beam.uDir) - gpBeamOrigin = getGpPt(beamOrigin) - my_sphere2 = BRepPrimAPI_MakeSphere(gpBeamOrigin,1).Shape() - self.display.DisplayShape(my_sphere2,color = 'red',update = True) - beamOrigin = self.connectivity.beam.secOrigin - gpBeamOrigin = getGpPt(beamOrigin) - my_sphere2 = BRepPrimAPI_MakeSphere(gpBeamOrigin,1).Shape() - self.display.DisplayShape(my_sphere2,color = 'blue',update = True) - plateOrigin = (self.connectivity.plate.secOrigin + self.connectivity.plate.T/2.0 *(self.connectivity.plate.uDir)+ self.connectivity.weldLeft.L/2.0 * (self.connectivity.plate.vDir) + self.connectivity.plate.T * (-self.connectivity.weldLeft.uDir)) - gpPntplateOrigin= getGpPt(plateOrigin) - my_sphere = BRepPrimAPI_MakeSphere(gpPntplateOrigin,2).Shape() - self.display.DisplayShape(my_sphere,update=True) + # beamOrigin = self.connectivity.beam.secOrigin + self.connectivity.beam.t/2 * (-self.connectivity.beam.uDir) + # gpBeamOrigin = getGpPt(beamOrigin) + # my_sphere2 = BRepPrimAPI_MakeSphere(gpBeamOrigin,1).Shape() + # self.display.DisplayShape(my_sphere2,color = 'red',update = True) + # beamOrigin = self.connectivity.beam.secOrigin + # gpBeamOrigin = getGpPt(beamOrigin) + # my_sphere2 = BRepPrimAPI_MakeSphere(gpBeamOrigin,1).Shape() + # self.display.DisplayShape(my_sphere2,color = 'blue',update = True) + # plateOrigin = (self.connectivity.plate.secOrigin + self.connectivity.plate.T/2.0 *(self.connectivity.plate.uDir)+ self.connectivity.weldLeft.L/2.0 * (self.connectivity.plate.vDir) + self.connectivity.plate.T * (-self.connectivity.weldLeft.uDir)) + # gpPntplateOrigin= getGpPt(plateOrigin) + # my_sphere = BRepPrimAPI_MakeSphere(gpPntplateOrigin,2).Shape() + # self.display.DisplayShape(my_sphere,update=True) else: self.display.EraseAll() diff --git a/Connections/Shear/Finplate/finPlatetrial.ui b/Connections/Shear/Finplate/finPlatetrial.ui deleted file mode 100644 index f9e529b..0000000 --- a/Connections/Shear/Finplate/finPlatetrial.ui +++ /dev/null @@ -1,3965 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 1335 - 767 - - - - Fin Plate Trial - - - - :/newPrefix/images/download1.png:/newPrefix/images/download1.png - - - - 20 - 2 - - - - - - - - - 0 - 28 - - - - - 16777215 - 28 - - - - QFrame::NoFrame - - - QFrame::Raised - - - - - 0 - 0 - 28 - 28 - - - - Qt::LeftToRight - - - input - - - - :/newPrefix/images/input.png:/newPrefix/images/input.png - - - - 18 - 18 - - - - - - - 30 - 0 - 28 - 28 - - - - ... - - - - :/newPrefix/images/output.png:/newPrefix/images/output.png - - - - 18 - 18 - - - - - - - 80 - 0 - 28 - 28 - - - - Zoom In - - - ... - - - - :/newPrefix/images/zoom_in_01.png:/newPrefix/images/zoom_in_01.png - - - - 18 - 18 - - - - - - - 110 - 0 - 28 - 28 - - - - Zoom Out - - - ... - - - - :/newPrefix/images/zoom_out_01.png:/newPrefix/images/zoom_out_01.png - - - - 18 - 18 - - - - - - - 200 - 0 - 28 - 28 - - - - Save Image - - - ... - - - - :/newPrefix/images/save.png:/newPrefix/images/save.png - - - - 18 - 18 - - - - - - - 140 - 0 - 28 - 28 - - - - Rotate Left - - - ... - - - - :/newPrefix/images/rotate-ccw.png:/newPrefix/images/rotate-ccw.png - - - - 22 - 22 - - - - - - - 170 - 0 - 28 - 28 - - - - Rotate Right - - - ... - - - - :/newPrefix/images/rotate-cw.png:/newPrefix/images/rotate-cw.png - - - - 25 - 25 - - - - - - - 390 - 0 - 28 - 28 - - - - - Droid Serif - 11 - 75 - true - true - false - false - - - - 3D Model - - - 3D - - - false - - - Qt::NoArrow - - - - - - 430 - 0 - 71 - 29 - - - - - 10 - 75 - true - - - - Beam - - - - - - 510 - 0 - 91 - 29 - - - - - 10 - 75 - true - - - - Column - - - - - - 600 - 0 - 92 - 29 - - - - - 10 - 75 - true - - - - Finplate - - - - - - 270 - 0 - 28 - 28 - - - - - 10 - 75 - true - - - - true - - - Front View - - - - - - - ../../../../../Downloads/ZY.png../../../../../Downloads/ZY.png - - - - 22 - 22 - - - - - - - 300 - 0 - 28 - 28 - - - - - 10 - 75 - true - - - - Top View - - - - - - - ../../../../../Downloads/Y-X.png../../../../../Downloads/Y-X.png - - - - 22 - 23 - - - - - - - 330 - 0 - 28 - 28 - - - - - 10 - 75 - true - - - - Side View - - - - - - - ../../../../../Downloads/Z-Y.png../../../../../Downloads/Z-Y.png - - - - 22 - 22 - - - - - - - - - Qt::Vertical - - - - QWidget { background-color: rgb(255, 255, 255); margin:1px; border:1px solid rgb(128, 128, 128) } - - - - - - 0 - 100 - - - - - 16777215 - 650 - - - - false - - - QFrame::Panel - - - QFrame::Sunken - - - - - - - - - - 0 - 0 - 1335 - 30 - - - - - File - - - - - - - - - - - - - Edit - - - - - - - - View - - - - 3D view - - - - - - - - - - - - - - - - - - - Help - - - - - - - - - - - - 1 - 0 - - - - - 125 - 710 - - - - - 310 - 710 - - - - - 310 - 710 - - - - - 50 - false - - - - INPUT - - - 1 - - - - - - 150 - 140 - 161 - 25 - - - - - 50 - false - - - - 000.000 - - - - - - 6 - 75 - 151 - 25 - - - - - 10 - 75 - true - - - - <html><head/><body><p><span style=" font-weight:400;">Column Section *</span></p></body></html> - - - - - - 150 - 170 - 161 - 25 - - - - - 10 - 50 - false - - - - - Select Connectivity - - - - - Column flange-Beam web - - - - - Column web-Beam web - - - - - - - 150 - 110 - 161 - 25 - - - - - 50 - false - - - - 000.000 - - - - - - 1 - 15 - 150 - 17 - - - - - - - - - 0 - 0 - 127 - - - - - - - - - 0 - 0 - 255 - - - - - - - - - 0 - 0 - 255 - - - - - - - - - 11 - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Member</span></p></body></html> - - - - - - 6 - 170 - 120 - 25 - - - - - 10 - 50 - false - - - - <html><head/><body><p>Connectivity *</p></body></html> - - - - - - 6 - 110 - 120 - 25 - - - - - 10 - 50 - false - - - - <html><head/><body><p><span style=" font-style:italic;">f</span><span style=" font-style:italic; vertical-align:sub;">u </span>(MPa) * </p></body></html> - - - - - - 150 - 75 - 161 - 25 - - - - QComboBox { combobox-popup: 0; } - - - 5 - - - - - - 6 - 135 - 120 - 25 - - - - - 10 - 50 - false - - - - <html><head/><body><p><span style=" font-style:italic;">f</span><span style=" vertical-align:sub;">y (</span>MPa) *</p></body></html> - - - - - - 1 - 240 - 100 - 25 - - - - - 11 - 50 - false - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Load</span></p></body></html> - - - - - - 6 - 270 - 151 - 25 - - - - - 10 - 50 - false - - - - Shear Force (kN) * - - - - - - 150 - 270 - 161 - 25 - - - - - 50 - false - - - - - - - 1 - 300 - 150 - 25 - - - - - 11 - 50 - false - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Bolt</span></p></body></html> - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - 150 - 360 - 160 - 25 - - - - - 50 - false - - - - 10 - - - - - - 6 - 390 - 100 - 25 - - - - - 10 - 50 - false - - - - Grade * - - - - - - 150 - 390 - 160 - 25 - - - - QComboBox { combobox-popup: 0; } - - - 6 - - - - - - 6 - 330 - 131 - 25 - - - - - 10 - 50 - false - - - - <html><head/><body><p>Diameter (mm) <span style=" color:#555500;">*</span></p></body></html> - - - - - - 6 - 360 - 100 - 25 - - - - - 10 - 50 - false - - - - Type * - - - - - - 150 - 330 - 160 - 27 - - - - - 10 - 50 - false - - - - QComboBox { combobox-popup: 0; } - - - 5 - - - - Diameter of Bolt - - - - - 5 - - - - - 6 - - - - - 8 - - - - - 10 - - - - - 12 - - - - - 16 - - - - - 20 - - - - - 24 - - - - - 30 - - - - - 36 - - - - - - - 6 - 510 - 111 - 25 - - - - - 10 - 50 - false - - - - Width (mm) - - - - - - 1 - 420 - 100 - 25 - - - - - 11 - 50 - false - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Plate</span></p></body></html> - - - - - - 6 - 450 - 131 - 25 - - - - - 10 - 50 - false - - - - <html><head/><body><p>Thickness (mm) *</p></body></html> - - - - - - 150 - 480 - 160 - 25 - - - - - 50 - false - - - - - - - 6 - 480 - 111 - 25 - - - - - 10 - 50 - false - - - - Length (mm) - - - - - - 150 - 450 - 160 - 25 - - - - - 10 - 50 - false - - - - QComboBox { combobox-popup: 0; } - - - 5 - - - - Thickness of Plate - - - - - 6 - - - - - 8 - - - - - 10 - - - - - 12 - - - - - - - 1 - 540 - 66 - 25 - - - - - 11 - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Weld</span></p></body></html> - - - - - - 6 - 570 - 131 - 25 - - - - - 10 - 50 - false - - - - <html><head/><body><p>Thickness (mm) *</p></body></html> - - - - - - 988 - 620 - 320 - 690 - - - - - 0 - 0 - - - - - 320 - 690 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - 181 - 50 - 130 - 25 - - - - - - - true - - - - - - 181 - 80 - 130 - 25 - - - - true - - - - - - 181 - 110 - 130 - 25 - - - - true - - - - - - 181 - 140 - 130 - 25 - - - - true - - - - - - 181 - 230 - 130 - 25 - - - - true - - - - - - 181 - 260 - 130 - 25 - - - - true - - - - - - 181 - 290 - 130 - 25 - - - - true - - - - - - 181 - 320 - 130 - 25 - - - - true - - - - - - 181 - 380 - 130 - 25 - - - - true - - - - - - 181 - 410 - 130 - 25 - - - - true - - - - - - 181 - 440 - 130 - 25 - - - - true - - - - - - 181 - 510 - 130 - 25 - - - - true - - - - - - 4 - 30 - 66 - 17 - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Bolt</span></p></body></html> - - - - - - 10 - 50 - 170 - 25 - - - - Shear Capacity (kN) - - - - - - 10 - 80 - 150 - 25 - - - - <html><head/><body><p>Bearing Capacity (kN)</p></body></html> - - - - - - 10 - 110 - 150 - 25 - - - - <html><head/><body><p>Capacity of Bolt (kN)</p></body></html> - - - - - - 10 - 140 - 130 - 25 - - - - No. of Bolts - - - - - - 10 - 230 - 130 - 25 - - - - Pitch (mm) - - - - - - 10 - 290 - 130 - 25 - - - - End Distance (mm) - - - - - - 10 - 380 - 130 - 25 - - - - Thickness (mm) - - - - - - 10 - 440 - 160 - 25 - - - - Weld Strength (kN/mm) - - - - - - 10 - 260 - 130 - 25 - - - - Gauge (mm) - - - - - - 4 - 350 - 130 - 25 - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Weld</span></p></body></html> - - - - - - 10 - 320 - 140 - 25 - - - - Edge Distance (mm) - - - - - - 10 - 510 - 130 - 25 - - - - Thickness (mm) - - - - - - 10 - 410 - 170 - 25 - - - - <html><head/><body><p>Resultant Shear (kN/mm)</p></body></html> - - - - - - 10 - 540 - 160 - 25 - - - - External Moment (kNm) - - - - - - 4 - 480 - 130 - 25 - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Plate</span></p></body></html> - - - - - - 180 - 540 - 130 - 25 - - - - true - - - - - - 180 - 570 - 130 - 25 - - - - true - - - - - - 10 - 570 - 170 - 25 - - - - Moment Capacity (KNm) - - - - - - 10 - 200 - 130 - 25 - - - - No. of Column - - - - - - 10 - 170 - 130 - 25 - - - - No. of Row - - - - - - 180 - 170 - 130 - 25 - - - - - - - 180 - 200 - 130 - 25 - - - - - - - 120 - 0 - 60 - 31 - - - - <html><head/><body><p><span style=" font-weight:600; color:#00007f;">OUTPUT</span></p></body></html> - - - - - - 20 - 620 - 40 - 50 - - - - - - - - :/images/logo.jpg:/images/logo.jpg - - - - 40 - 50 - - - - false - - - false - - - false - - - false - - - - - - - 30 - 1249 - 100 - 30 - - - - - 12 - 75 - true - - - - Reset - - - - - - 150 - 1249 - 100 - 30 - - - - - 12 - 75 - true - - - - Design - - - false - - - false - - - false - - - - - - 1088 - 610 - 320 - 690 - - - - - 0 - 0 - - - - - 320 - 690 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - 181 - 50 - 130 - 25 - - - - - - - true - - - - - - 181 - 80 - 130 - 25 - - - - true - - - - - - 181 - 110 - 130 - 25 - - - - true - - - - - - 181 - 140 - 130 - 25 - - - - true - - - - - - 181 - 230 - 130 - 25 - - - - true - - - - - - 181 - 260 - 130 - 25 - - - - true - - - - - - 181 - 290 - 130 - 25 - - - - true - - - - - - 181 - 320 - 130 - 25 - - - - true - - - - - - 181 - 380 - 130 - 25 - - - - true - - - - - - 181 - 410 - 130 - 25 - - - - true - - - - - - 181 - 440 - 130 - 25 - - - - true - - - - - - 181 - 510 - 130 - 25 - - - - true - - - - - - 4 - 30 - 66 - 17 - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Bolt</span></p></body></html> - - - - - - 10 - 50 - 170 - 25 - - - - Shear Capacity (kN) - - - - - - 10 - 80 - 150 - 25 - - - - <html><head/><body><p>Bearing Capacity (kN)</p></body></html> - - - - - - 10 - 110 - 150 - 25 - - - - <html><head/><body><p>Capacity of Bolt (kN)</p></body></html> - - - - - - 10 - 140 - 130 - 25 - - - - No. of Bolts - - - - - - 10 - 230 - 130 - 25 - - - - Pitch (mm) - - - - - - 10 - 290 - 130 - 25 - - - - End Distance (mm) - - - - - - 10 - 380 - 130 - 25 - - - - Thickness (mm) - - - - - - 10 - 440 - 160 - 25 - - - - Weld Strength (kN/mm) - - - - - - 10 - 260 - 130 - 25 - - - - Gauge (mm) - - - - - - 4 - 350 - 130 - 25 - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Weld</span></p></body></html> - - - - - - 10 - 320 - 140 - 25 - - - - Edge Distance (mm) - - - - - - 10 - 510 - 130 - 25 - - - - Thickness (mm) - - - - - - 10 - 410 - 170 - 25 - - - - <html><head/><body><p>Resultant Shear (kN/mm)</p></body></html> - - - - - - 10 - 540 - 160 - 25 - - - - External Moment (kNm) - - - - - - 4 - 480 - 130 - 25 - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Plate</span></p></body></html> - - - - - - 180 - 540 - 130 - 25 - - - - true - - - - - - 180 - 570 - 130 - 25 - - - - true - - - - - - 10 - 570 - 170 - 25 - - - - Moment Capacity (KNm) - - - - - - 10 - 200 - 130 - 25 - - - - No. of Column - - - - - - 10 - 170 - 130 - 25 - - - - No. of Row - - - - - - 180 - 170 - 130 - 25 - - - - - - - 180 - 200 - 130 - 25 - - - - - - - 120 - 0 - 60 - 31 - - - - <html><head/><body><p><span style=" font-weight:600; color:#00007f;">OUTPUT</span></p></body></html> - - - - - - 20 - 620 - 40 - 50 - - - - - - - - :/images/logo.jpg:/images/logo.jpg - - - - 40 - 50 - - - - false - - - false - - - false - - - false - - - - - - - 130 - 1239 - 100 - 30 - - - - - 12 - 75 - true - - - - Reset - - - - - - 250 - 1239 - 100 - 30 - - - - - 12 - 75 - true - - - - Design - - - false - - - false - - - false - - - - - - 1048 - 580 - 320 - 690 - - - - - 0 - 0 - - - - - 320 - 690 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - 181 - 50 - 130 - 25 - - - - - - - true - - - - - - 181 - 80 - 130 - 25 - - - - true - - - - - - 181 - 110 - 130 - 25 - - - - true - - - - - - 181 - 140 - 130 - 25 - - - - true - - - - - - 181 - 230 - 130 - 25 - - - - true - - - - - - 181 - 260 - 130 - 25 - - - - true - - - - - - 181 - 290 - 130 - 25 - - - - true - - - - - - 181 - 320 - 130 - 25 - - - - true - - - - - - 181 - 380 - 130 - 25 - - - - true - - - - - - 181 - 410 - 130 - 25 - - - - true - - - - - - 181 - 440 - 130 - 25 - - - - true - - - - - - 181 - 510 - 130 - 25 - - - - true - - - - - - 4 - 30 - 66 - 17 - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Bolt</span></p></body></html> - - - - - - 10 - 50 - 170 - 25 - - - - Shear Capacity (kN) - - - - - - 10 - 80 - 150 - 25 - - - - <html><head/><body><p>Bearing Capacity (kN)</p></body></html> - - - - - - 10 - 110 - 150 - 25 - - - - <html><head/><body><p>Capacity of Bolt (kN)</p></body></html> - - - - - - 10 - 140 - 130 - 25 - - - - No. of Bolts - - - - - - 10 - 230 - 130 - 25 - - - - Pitch (mm) - - - - - - 10 - 290 - 130 - 25 - - - - End Distance (mm) - - - - - - 10 - 380 - 130 - 25 - - - - Thickness (mm) - - - - - - 10 - 440 - 160 - 25 - - - - Weld Strength (kN/mm) - - - - - - 10 - 260 - 130 - 25 - - - - Gauge (mm) - - - - - - 4 - 350 - 130 - 25 - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Weld</span></p></body></html> - - - - - - 10 - 320 - 140 - 25 - - - - Edge Distance (mm) - - - - - - 10 - 510 - 130 - 25 - - - - Thickness (mm) - - - - - - 10 - 410 - 170 - 25 - - - - <html><head/><body><p>Resultant Shear (kN/mm)</p></body></html> - - - - - - 10 - 540 - 160 - 25 - - - - External Moment (kNm) - - - - - - 4 - 480 - 130 - 25 - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Plate</span></p></body></html> - - - - - - 180 - 540 - 130 - 25 - - - - true - - - - - - 180 - 570 - 130 - 25 - - - - true - - - - - - 10 - 570 - 170 - 25 - - - - Moment Capacity (KNm) - - - - - - 10 - 200 - 130 - 25 - - - - No. of Column - - - - - - 10 - 170 - 130 - 25 - - - - No. of Row - - - - - - 180 - 170 - 130 - 25 - - - - - - - 180 - 200 - 130 - 25 - - - - - - - 120 - 0 - 60 - 31 - - - - <html><head/><body><p><span style=" font-weight:600; color:#00007f;">OUTPUT</span></p></body></html> - - - - - - 20 - 620 - 40 - 50 - - - - - - - - :/images/logo.jpg:/images/logo.jpg - - - - 40 - 50 - - - - false - - - false - - - false - - - false - - - - - - - 90 - 1209 - 100 - 30 - - - - - 12 - 75 - true - - - - Reset - - - - - - 210 - 1209 - 100 - 30 - - - - - 12 - 75 - true - - - - Design - - - false - - - false - - - false - - - - - - 150 - 510 - 160 - 25 - - - - - 50 - false - - - - - - - 20 - 630 - 100 - 30 - - - - - 12 - 75 - true - - - - Reset - - - - - - 140 - 630 - 100 - 30 - - - - - 12 - 75 - true - - - - Design - - - - - - 150 - 45 - 161 - 25 - - - - QComboBox { combobox-popup: 0; } - - - 5 - - - - - - 150 - 570 - 160 - 25 - - - - - 10 - 50 - false - - - - Qt::WheelFocus - - - QComboBox { combobox-popup: 0; } - - - 0 - - - 5 - - - - Select Weld Sizes - - - - - 3 - - - - - 5 - - - - - 6 - - - - - 8 - - - - - 10 - - - - - - - 180 - 210 - 60 - 50 - - - - true - - - - - - 10 - 45 - 131 - 22 - - - - - 10 - 50 - false - - - - Beam Section * - - - - - - - - 0 - 0 - - - - - 125 - 710 - - - - - 310 - 710 - - - - - 11 - 75 - true - - - - OUTPUT - - - 2 - - - - - - 200 - 120 - 100 - 25 - - - - - 50 - false - - - - true - - - - - - 0 - 120 - 130 - 25 - - - - - 10 - 50 - false - - - - No. of Bolts - - - - - - 200 - 30 - 100 - 25 - - - - - 50 - false - - - - - - - true - - - - - - 200 - 210 - 100 - 25 - - - - - 50 - false - - - - true - - - - - - 200 - 240 - 100 - 25 - - - - - 50 - false - - - - true - - - - - - 200 - 90 - 100 - 25 - - - - - 50 - false - - - - true - - - - - - 200 - 180 - 100 - 25 - - - - - 50 - false - - - - true - - - - - - 200 - 150 - 100 - 25 - - - - - 50 - false - - - - true - - - - - - 0 - 240 - 130 - 25 - - - - - 10 - 50 - false - - - - Gauge (mm) - - - - - - 0 - 90 - 179 - 25 - - - - - 10 - 50 - false - - - - <html><head/><body><p>Capacity of Bolt (kN)</p></body></html> - - - - - - 200 - 60 - 100 - 25 - - - - - 50 - false - - - - true - - - - - - 0 - 270 - 179 - 25 - - - - - 10 - 50 - false - - - - End Distance (mm) - - - - - - 0 - 180 - 130 - 25 - - - - - 10 - 50 - false - - - - No. of Column - - - - - - 0 - 210 - 130 - 25 - - - - - 10 - 50 - false - - - - Pitch (mm) - - - - - - 200 - 300 - 100 - 25 - - - - - 50 - false - - - - true - - - - - - 0 - 150 - 130 - 25 - - - - - 10 - 50 - false - - - - No. of Row - - - - - - 0 - 300 - 179 - 25 - - - - - 10 - 50 - false - - - - Edge Distance (mm) - - - - - - 0 - 30 - 161 - 25 - - - - - 10 - 50 - false - - - - Shear Capacity (kN) - - - - - - 200 - 270 - 100 - 25 - - - - - 50 - false - - - - true - - - - - - -1 - 0 - 66 - 20 - - - - - 11 - 50 - false - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Bolt</span></p></body></html> - - - - - - 0 - 60 - 179 - 25 - - - - - 10 - 50 - false - - - - <html><head/><body><p>Bearing Capacity (kN)</p></body></html> - - - - - - 0 - 360 - 130 - 25 - - - - - 10 - 50 - false - - - - Thickness (mm) - - - - - - 0 - 420 - 191 - 25 - - - - - 10 - 50 - false - - - - Moment Capacity (kNm) - - - - - - 200 - 420 - 100 - 25 - - - - - 50 - false - - - - true - - - - - - -1 - 330 - 130 - 25 - - - - - 11 - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Plate</span></p></body></html> - - - - - - 200 - 390 - 100 - 25 - - - - - 50 - false - - - - true - - - - - - 200 - 360 - 100 - 25 - - - - - 50 - false - - - - true - - - - - - 0 - 390 - 191 - 25 - - - - - 10 - 50 - false - - - - External Moment (kNm) - - - - - - 200 - 540 - 100 - 25 - - - - - 50 - false - - - - true - - - - - - 0 - 510 - 191 - 25 - - - - - 10 - 50 - false - - - - <html><head/><body><p>Resultant Shear(kN/mm)</p></body></html> - - - - - - 3 - 540 - 191 - 25 - - - - - 10 - 50 - false - - - - Weld Strength (kN/mm) - - - - - - 200 - 510 - 100 - 25 - - - - - 50 - false - - - - true - - - - - - 200 - 480 - 100 - 25 - - - - - 50 - false - - - - true - - - - - - 3 - 480 - 130 - 25 - - - - - 10 - 50 - false - - - - Thickness (mm) - - - - - - -1 - 450 - 130 - 25 - - - - - 11 - - - - <html><head/><body><p><span style=" font-weight:600; font-style:italic;">Weld</span></p></body></html> - - - - - - 0 - 610 - 140 - 30 - - - - Save Messages - - - - - - 150 - 610 - 130 - 30 - - - - Save Design - - - - - - - - :/images/input.png:/images/input.png - - - Input - - - Input browser - - - - - - :/images/inputview.png:/images/inputview.png - - - inputwindow - - - - - New - - - - - Open - - - - - Save - - - - - Save As - - - - - Print - - - - - Cut - - - - - Copy - - - - - Paste - - - - - Input Browser - - - - - Output Browser - - - - - About Osdag - - - - - Beam - - - - - Column - - - - - Finplate - - - - - Bolt - - - - - 2D view - - - - - - - - diff --git a/Connections/Shear/Finplate/finplate_calc1.py b/Connections/Shear/Finplate/finplate_calc1.py deleted file mode 100644 index 34efdb4..0000000 --- a/Connections/Shear/Finplate/finplate_calc1.py +++ /dev/null @@ -1,466 +0,0 @@ -''' -Created on 25-May-2015 - -@author: subhrajit -''' -''' -Example 5.18 Page 412 N. Subramanium -Design of steel structures -Design of fin-plate: -Design a web side plate connection (welded to the column and site bolted to the beam) for ISMB 400 in Fe 410 grade steel and to carry a reaction of 140 kN due -to factored loads. The connection is to the flange of an ISSC 200 column. - -''' -import cmath; -import math -import sys; - -from model import * -from PyQt4.Qt import QString -import logging -flag = 1 -logger = None - -def module_setup(): - - global logger - logger = logging.getLogger("osdag.finPlateCalc") - -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(''' -#
-# %(asctime)s -# %(levelname)s -# %(message)s -#
''') -# 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) -def bolt_shear(dia, n, fu): - A = cmath.pi * dia * dia * 0.25 * 0.78; #threaded area = 0.78 x shank area - root3 = cmath.sqrt(3); - Vs = fu * n * A / (root3 * 1.25 * 1000); - Vs = round(Vs.real,3); - return Vs - -#BOLT: determination of bearing capacity = 2.5 * kb * d * t * fu / Y -def bolt_bearing(dia, t, fu): - #add code to determine kb if pitch, gauge, edge distance known - kb = 0.5; #assumption - Vb = 2.5 * kb * dia * t * fu / (1.25 * 1000); - Vb = round(Vb.real,3); - return Vb; - -# PLATE: minimum thickness of web plate for eccentricity -def web_min_h(shear, fy, thk): - min_plate_ht = 5*shear*1000/(fy*thk); - return min_plate_ht; - - -def finConn(uiObj): - global logger - beam_sec = uiObj['Member']['BeamSection'] - column_sec = uiObj['Member']['ColumSection'] - connectivity = uiObj['Member']['Connectivity'] - beam_fu = uiObj['Member']['fu (MPa)'] - beam_fy = uiObj['Member']['fy (MPa)'] - - shear_load = uiObj['Load']['ShearForce (kN)'] - - bolt_dia = uiObj['Bolt']['Diameter (mm)'] - bolt_type = uiObj["Bolt"]["Type"] - bolt_grade = uiObj['Bolt']['Grade'] - - web_plate_t = uiObj['Plate']['Thickness (mm)'] - web_plate_w = uiObj['Plate']['Width (mm)'] - web_plate_l = uiObj['Plate']['Height (mm)'] - web_plate_fu = uiObj['Member']['fu (MPa)'] - web_plate_fy = uiObj['Member']['fy (MPa)'] - - weld_t = uiObj["Weld"]['Size (mm)'] - weld_fu = 410 - - bolt_planes = 1 - dictbeamdata = get_beamdata(beam_sec) - beam_w_t = float(dictbeamdata[QString("tw")]) - beam_f_t = float(dictbeamdata[QString("T")]) - beam_d = float(dictbeamdata[QString("D")]) - - - # ############### Need to discuss with sir ######################## - # #Bolt grade chosen from drop down list - # - # #Bolt dia chosen from list of standard sizes between 12 and 36 - # - # # web_plate_t lies between (5, 63) - # if web_plate_t < 5 | web_plate_t > 63: - # sys.exit(); - # - # #weld_fu lies between (410, 610) - # if weld_fu <= 410 | weld_fu >= 610: - # sys.exit(); - - ######################################################################## - # INPUT FOR PLATE DIMENSIONS (FOR OPTIONAL INPUTS) AND VALIDATION - - # Plate thickness check - if web_plate_t < beam_w_t: - web_plate_t = beam_w_t - #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.warning(" : Minimum required thickness %2.2f mm" % (beam_w_t)) - - # Plate height check - # Maximum/minimum plate height - max_plate_height = beam_d - 2 * beam_f_t - 40; - min_plate_height = web_min_h(shear_load,web_plate_fy,web_plate_t); - min_plate_height = int(min_plate_height) /10 * 10 +10; - min_plate_height = round(min_plate_height,3) - - # Height input and check - - if web_plate_l != 0: - if 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)) - web_plate_l = max_plate_height ; - - elif min_plate_height > max_plate_height: - logger.error(": Minimum required plate height is more than the clear depth of the beam") - logger.warning(": Plate height required should be more than %2.2f mm " % (min_plate_height)) - logger.warning(": Maximum plate height allowed is %2.2f mm " % (max_plate_height)) - logger.info(": Increase the plate thickness") - web_plate_l = max_plate_height; - - elif min_plate_height >= web_plate_l: - - logger.error(": Plate height provided is less than the minimum required ") - logger.warning(": Plate height required should be more than %2.2f mm " % (min_plate_height)) - - web_plate_l = min_plate_height - else: - if min_plate_height < max_plate_height: - web_plate_l = min_plate_height +10 - elif min_plate_height >= max_plate_height: - web_plate_l = (max_plate_height-10)//10*10 ; - - - ######################################################################## - # Bolt design: - - # I: Check for number of bolts ------------------- - bolt_fu = int(bolt_grade) * 100 - bolt_fy = (bolt_grade - int(bolt_grade))*bolt_fu; - - t_thinner = min(beam_w_t.real,web_plate_t.real); - bolt_shear_capacity = bolt_shear(bolt_dia,bolt_planes,bolt_fu).real; - bolt_bearing_capacity = bolt_bearing(bolt_dia,t_thinner,beam_fu).real; - - bolt_capacity = min(bolt_shear_capacity, bolt_bearing_capacity); - - bolts_required = int(shear_load/bolt_capacity) + 1; - if bolts_required <= 2: - bolts_required = 3; - - bolt_group_capacity = bolts_required * bolt_capacity; - - # Spacing of bolts for web plate ------------------- - if bolt_dia == 12 or bolt_dia == 14: - dia_hole = bolt_dia + 1 - elif bolt_dia == 16 or bolt_dia == 18 or bolt_dia == 20 or bolt_dia == 22 or bolt_dia == 24: - dia_hole = bolt_dia + 2 - else: - dia_hole = bolt_dia + 3 - - # Minimum/maximum pitch and gauge - min_pitch = int(2.5 * bolt_dia); - min_gauge = int(2.5 * bolt_dia); - - if min_pitch%10 != 0 or min_gauge%10 != 0: - min_pitch = (min_pitch/10)*10 + 10; - min_gauge = (min_gauge/10)*10 + 10; - else: - min_pitch = min_pitch; - min_gauge = min_gauge; - #clause 10.2.2 is800 - max_spacing = int(min(100 + 4 * t_thinner, 200)); #clause 10.2.3.3 is800 - - min_edge_dist = int(1.5 * (dia_hole)) + 10; # 10 mm added than min. value - if min_edge_dist%10 != 0: - min_edge_dist = (min_edge_dist/10)*10 + 10; - else: - min_edge_dist = min_edge_dist; - - max_edge_dist = int((12 * t_thinner * cmath.sqrt(250/beam_fy)).real)-1; - - # Determine single or double line of bolts - - 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 * (20+min_edge_dist/2); - # Single line of bolts - if pitch >= min_pitch: - bolt_line =1; - gauge = 0; - bolts_one_line = bolts_required; - K = bolts_one_line / 2; - M2=0; - if bolts_required % 2 ==0 or bolts_required % 2 !=0: - for k in range (0,K): - M2 = M2 + 2*(bolt_shear_capacity * ((length_avail/2 - k * pitch)**2/(length_avail/2 - k * pitch))); - moment_demand = max(M1,M2); - moment_demand = round(moment_demand * 0.001,3) - - # Multi-line of bolts - if pitch < min_pitch: - bolt_line = 2; - if bolts_required % 2 == 0: - bolts_one_line = bolts_required/2; - else: - bolts_one_line = (bolts_required/2) + 1; - - pitch = round(length_avail/(bolts_one_line-1),3); - gauge = min_gauge; - M1 = bolt_shear_capacity * (20+ min_edge_dist + gauge/2); - - if pitch >= min_pitch: - K = bolts_one_line / 2; - M2=0; - if bolts_required % 2 ==0 or bolts_required % 2 !=0: - for k in range (0,K): - V = length_avail/2 - k * pitch - H = gauge/2; - d = math.sqrt(V**2 + H**2); - M2 = M2 + 2*(bolt_shear_capacity * (d**2/d)); - M2=M2*2; - moment_demand = max(M1,M2); - moment_demand = round(moment_demand * 0.001,3) - - # Needs discussion with Sir - else: - logger.error(": Bolt strength is insufficient to carry the shear force") - logger.warning (": Increase bolt diameter and/or bolt grade") - moment_demand=0.0 - #################################################################################### - # Design of plate: - - # Width input (optional) and validation - if web_plate_w != 0: - if bolt_line == 1: - web_plate_w_req = 2 * min_edge_dist - end_dist = web_plate_w/2 - if bolt_line == 2: - web_plate_w_req = gauge + 2 * min_edge_dist - end_dist = (web_plate_w - gauge)/2 - - if web_plate_w == 0: - if bolt_line == 1: - web_plate_w_req = 2 * min_edge_dist; - web_plate_w = web_plate_w_req - end_dist = web_plate_w /2 - if bolt_line == 2: - web_plate_w_req = gauge + 2 * min_edge_dist; - web_plate_w = web_plate_w_req; - end_dist = (web_plate_w - gauge)/2 - - - # 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; - moment_capacity = round(moment_capacity * 0.001,3); - - if moment_capacity > moment_demand: - pass - else: - logger.error(": Plate moment capacity is less than the moment demand") - - logger.warning(": Re-design with increased plate dimensions") - - - # Plate dimension optimisation - - web_plate_l_req1 = math.sqrt((moment_demand*1000*6*1.1)/(1.2*beam_fy*web_plate_t)); - # Single line of bolts - if bolt_line == 1: - web_plate_l_req2 = (bolts_required-1) * min_pitch + 2 * min_edge_dist; - if web_plate_l == 0 or web_plate_l == min_plate_height or web_plate_l == max_plate_height: - web_plate_l_req = max(web_plate_l_req1, web_plate_l_req2, web_plate_l); - else: - web_plate_l_req = max(web_plate_l_req1, web_plate_l_req2,min_plate_height); - - # Multi line of bolts - if bolt_line == 2: - web_plate_l_req2 = (bolts_one_line-1) * min_pitch + 2 * min_edge_dist; - - if web_plate_l == 0 or web_plate_l == min_plate_height or web_plate_l == max_plate_height: - web_plate_l_req = max(web_plate_l_req1, web_plate_l_req2, web_plate_l); - elif web_plate_l > min_plate_height or web_plate_l < max_plate_height: - web_plate_l_req = max(web_plate_l_req1, web_plate_l_req2, min_plate_height); - - if web_plate_l != min_plate_height +10 or web_plate_l != (max_plate_height-10)//10*10 : - pass - else: - if web_plate_l < web_plate_l_req: - 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 - # V: Weld shear strength ------------------- - weld_l = web_plate_l - weld_t * 2; - - #direct shear - Vy1 = shear_load *1000 /float(2*weld_l); - - #shear due to moment - xCritical = 0; #single line weld - yCritical = weld_l * 0.5; #single line weld - - Ip = weld_l * weld_l * weld_l / 12; - - Vx = moment_demand * yCritical *1000000 / (2 * Ip); - Vy2 = moment_demand * xCritical * 1000000 / (2 * Ip); - - Vr = math.sqrt(Vx ** 2 + (Vy1 + Vy2) ** 2); - Vr = round(Vr,3); - - weld_strength = 0.7 * weld_t * weld_fu / (math.sqrt(3) * 1.25); - weld_strength = round(weld_strength,3); - - weld_t_req = (Vr * (math.sqrt(3) * 1.25))/(0.7 * weld_fu) ; - - if weld_t_req != int(weld_t_req): - weld_t_req = int(weld_t_req) + 1; - else: - weld_t_req = weld_t_req; - - if weld_t >= weld_t_req: - pass - else: - logger.error(": Weld thickness is not sufficient") - logger.warning(": Minimum weld thickness is required is %2.2f mm " % (weld_t_req)) - - # End of calculation - outputObj = {} - outputObj['Bolt'] ={} - outputObj['Bolt']['status'] = True - outputObj['Bolt']['shearcapacity'] = bolt_shear_capacity - outputObj['Bolt']['bearingcapacity'] = bolt_bearing_capacity - outputObj['Bolt']['boltcapacity'] = bolt_capacity - outputObj['Bolt']['numofbolts'] = bolts_required - outputObj['Bolt']['boltgrpcapacity'] = bolt_group_capacity - outputObj['Bolt']['numofrow'] = bolts_one_line - outputObj['Bolt']['numofcol'] = bolt_line - outputObj['Bolt']['pitch'] = pitch - outputObj['Bolt']['enddist'] = float(end_dist) - outputObj['Bolt']['edge'] = float(min_edge_dist) - outputObj['Bolt']['gauge'] = float(gauge) - - outputObj['Weld'] = {} - outputObj['Weld']['thickness'] = weld_t_req - outputObj['Weld']['resultantshear'] = Vr - outputObj['Weld']['weldstrength'] = weld_strength - - outputObj['Plate'] = {} - outputObj['Plate']['minHeight'] = web_plate_l_req - outputObj['Plate']['minWidth'] = web_plate_w_req - outputObj['Plate']['externalmoment'] = moment_demand - outputObj['Plate']['momentcapacity'] = moment_capacity - outputObj['Plate']['height'] = float(web_plate_l) - outputObj['Plate']['width'] = float(web_plate_w) - - - #return outputObj - - if web_plate_l == (min_plate_height+10) or web_plate_l == ((max_plate_height-10)//10*10): - if bolt_line==1: - 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 or weld_t_req > weld_t: - for k in outputObj.keys(): - for key in outputObj[k].keys(): - outputObj[k][key] = "" - elif moment_capacity < moment_demand: - for k in outputObj.keys(): - for key in outputObj[k].keys(): - outputObj[k][key] = "" - - if bolt_line==2: - if pitch < min_pitch: - for k in outputObj.keys(): - for key in outputObj[k].keys(): - outputObj[k][key] = "" - elif 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 or weld_t_req > weld_t: - for k in outputObj.keys(): - for key in outputObj[k].keys(): - outputObj[k][key] = "" - elif moment_capacity < moment_demand: - for k in outputObj.keys(): - for key in outputObj[k].keys(): - outputObj[k][key] = "" - else: - - pass - - else: - 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 or weld_t_req > weld_t: - for k in outputObj.keys(): - for key in outputObj[k].keys(): - outputObj[k][key] = "" - elif moment_capacity < moment_demand: - for k in outputObj.keys(): - for key in outputObj[k].keys(): - outputObj[k][key] = "" - elif bolt_line==2: - if pitch < min_pitch: - for k in outputObj.keys(): - for key in outputObj[k].keys(): - outputObj[k][key] = "" - -# outputObj = {} - if outputObj['Bolt']['status'] == True: - - logger.info(": Overall finplate connection design is safe \n") - logger.debug(" :=========End Of design===========") - - else: - logger.error(": Design is not safe \n ") - logger.debug(" :=========End Of design===========") - - return outputObj - - - - - - diff --git a/Connections/Shear/Finplate/ui_finPlate.py b/Connections/Shear/Finplate/ui_finPlate.py index 8104489..1346fc8 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: Wed Jun 24 15:15:09 2015 +# Created: Thu Jul 16 11:52:39 2015 # by: PyQt4 UI code generator 4.10.4 # # WARNING! All changes made in this file will be lost! @@ -26,7 +26,7 @@ except AttributeError: class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName(_fromUtf8("MainWindow")) - MainWindow.resize(1335, 767) + MainWindow.resize(1332, 767) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/download1.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) @@ -219,7 +219,7 @@ class Ui_MainWindow(object): self.verticalLayout_2.addWidget(self.splitter) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtGui.QMenuBar(MainWindow) - self.menubar.setGeometry(QtCore.QRect(0, 0, 1335, 28)) + self.menubar.setGeometry(QtCore.QRect(0, 0, 1332, 28)) self.menubar.setObjectName(_fromUtf8("menubar")) self.menuFile = QtGui.QMenu(self.menubar) self.menuFile.setObjectName(_fromUtf8("menuFile")) @@ -261,7 +261,7 @@ class Ui_MainWindow(object): self.label_3 = QtGui.QLabel(self.dockWidgetContents) self.label_3.setGeometry(QtCore.QRect(6, 75, 151, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_3.setFont(font) @@ -306,7 +306,7 @@ class Ui_MainWindow(object): self.label_4 = QtGui.QLabel(self.dockWidgetContents) self.label_4.setGeometry(QtCore.QRect(6, 170, 120, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_4.setFont(font) @@ -314,7 +314,7 @@ class Ui_MainWindow(object): self.lbl_fu = QtGui.QLabel(self.dockWidgetContents) self.lbl_fu.setGeometry(QtCore.QRect(6, 110, 120, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.lbl_fu.setFont(font) @@ -327,7 +327,7 @@ class Ui_MainWindow(object): self.lbl_fy = QtGui.QLabel(self.dockWidgetContents) self.lbl_fy.setGeometry(QtCore.QRect(6, 135, 120, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.lbl_fy.setFont(font) @@ -343,7 +343,7 @@ class Ui_MainWindow(object): self.lbl_shear = QtGui.QLabel(self.dockWidgetContents) self.lbl_shear.setGeometry(QtCore.QRect(6, 270, 151, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.lbl_shear.setFont(font) @@ -375,7 +375,7 @@ class Ui_MainWindow(object): self.label_6 = QtGui.QLabel(self.dockWidgetContents) self.label_6.setGeometry(QtCore.QRect(6, 390, 100, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_6.setFont(font) @@ -388,7 +388,7 @@ class Ui_MainWindow(object): self.label_7 = QtGui.QLabel(self.dockWidgetContents) self.label_7.setGeometry(QtCore.QRect(6, 330, 131, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_7.setFont(font) @@ -396,7 +396,7 @@ class Ui_MainWindow(object): self.label_8 = QtGui.QLabel(self.dockWidgetContents) self.label_8.setGeometry(QtCore.QRect(6, 360, 100, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_8.setFont(font) @@ -425,7 +425,7 @@ class Ui_MainWindow(object): self.lbl_width_2 = QtGui.QLabel(self.dockWidgetContents) self.lbl_width_2.setGeometry(QtCore.QRect(6, 510, 111, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.lbl_width_2.setFont(font) @@ -441,7 +441,7 @@ class Ui_MainWindow(object): self.label_41 = QtGui.QLabel(self.dockWidgetContents) self.label_41.setGeometry(QtCore.QRect(6, 450, 131, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_41.setFont(font) @@ -456,7 +456,7 @@ class Ui_MainWindow(object): self.lbl_len_2 = QtGui.QLabel(self.dockWidgetContents) self.lbl_len_2.setGeometry(QtCore.QRect(6, 480, 111, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.lbl_len_2.setFont(font) @@ -489,7 +489,7 @@ class Ui_MainWindow(object): self.label_43 = QtGui.QLabel(self.dockWidgetContents) self.label_43.setGeometry(QtCore.QRect(6, 570, 131, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_43.setFont(font) @@ -1024,13 +1024,6 @@ class Ui_MainWindow(object): self.comboWldSize.setStyleSheet(_fromUtf8("QComboBox { combobox-popup: 0; }")) self.comboWldSize.setMaxVisibleItems(5) self.comboWldSize.setObjectName(_fromUtf8("comboWldSize")) - self.comboWldSize.addItem(_fromUtf8("")) - self.comboWldSize.addItem(_fromUtf8("")) - self.comboWldSize.addItem(_fromUtf8("")) - 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) @@ -1038,7 +1031,7 @@ class Ui_MainWindow(object): self.label_9 = QtGui.QLabel(self.dockWidgetContents) self.label_9.setGeometry(QtCore.QRect(6, 45, 131, 22)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_9.setFont(font) @@ -1072,7 +1065,7 @@ class Ui_MainWindow(object): self.t_7 = QtGui.QLabel(self.dockWidgetContents_2) self.t_7.setGeometry(QtCore.QRect(0, 120, 191, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.t_7.setFont(font) @@ -1129,7 +1122,7 @@ class Ui_MainWindow(object): self.label_152 = QtGui.QLabel(self.dockWidgetContents_2) self.label_152.setGeometry(QtCore.QRect(0, 270, 130, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_152.setFont(font) @@ -1137,7 +1130,7 @@ class Ui_MainWindow(object): self.labl123_7 = QtGui.QLabel(self.dockWidgetContents_2) self.labl123_7.setGeometry(QtCore.QRect(0, 90, 179, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.labl123_7.setFont(font) @@ -1153,7 +1146,7 @@ class Ui_MainWindow(object): self.label_153 = QtGui.QLabel(self.dockWidgetContents_2) self.label_153.setGeometry(QtCore.QRect(0, 300, 179, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_153.setFont(font) @@ -1161,7 +1154,7 @@ class Ui_MainWindow(object): self.lbl_col_7 = QtGui.QLabel(self.dockWidgetContents_2) self.lbl_col_7.setGeometry(QtCore.QRect(0, 210, 130, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.lbl_col_7.setFont(font) @@ -1169,7 +1162,7 @@ class Ui_MainWindow(object): self.label_154 = QtGui.QLabel(self.dockWidgetContents_2) self.label_154.setGeometry(QtCore.QRect(0, 240, 130, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_154.setFont(font) @@ -1185,7 +1178,7 @@ class Ui_MainWindow(object): self.lbl_row_7 = QtGui.QLabel(self.dockWidgetContents_2) self.lbl_row_7.setGeometry(QtCore.QRect(0, 180, 130, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.lbl_row_7.setFont(font) @@ -1193,7 +1186,7 @@ class Ui_MainWindow(object): self.label_155 = QtGui.QLabel(self.dockWidgetContents_2) self.label_155.setGeometry(QtCore.QRect(0, 330, 179, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_155.setFont(font) @@ -1201,7 +1194,7 @@ class Ui_MainWindow(object): self.label_156 = QtGui.QLabel(self.dockWidgetContents_2) self.label_156.setGeometry(QtCore.QRect(0, 30, 161, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_156.setFont(font) @@ -1225,7 +1218,7 @@ class Ui_MainWindow(object): self.label_158 = QtGui.QLabel(self.dockWidgetContents_2) self.label_158.setGeometry(QtCore.QRect(0, 60, 179, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_158.setFont(font) @@ -1233,7 +1226,7 @@ class Ui_MainWindow(object): self.label_160 = QtGui.QLabel(self.dockWidgetContents_2) self.label_160.setGeometry(QtCore.QRect(0, 480, 191, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_160.setFont(font) @@ -1263,7 +1256,7 @@ class Ui_MainWindow(object): self.label_162 = QtGui.QLabel(self.dockWidgetContents_2) self.label_162.setGeometry(QtCore.QRect(0, 450, 191, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_162.setFont(font) @@ -1280,7 +1273,7 @@ class Ui_MainWindow(object): self.label_163 = QtGui.QLabel(self.dockWidgetContents_2) self.label_163.setGeometry(QtCore.QRect(0, 540, 191, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_163.setFont(font) @@ -1288,7 +1281,7 @@ class Ui_MainWindow(object): self.label_164 = QtGui.QLabel(self.dockWidgetContents_2) self.label_164.setGeometry(QtCore.QRect(3, 570, 191, 25)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_164.setFont(font) @@ -1316,7 +1309,7 @@ class Ui_MainWindow(object): self.plateHeight = QtGui.QLabel(self.dockWidgetContents_2) self.plateHeight.setGeometry(QtCore.QRect(0, 390, 100, 22)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.plateHeight.setFont(font) @@ -1338,7 +1331,7 @@ class Ui_MainWindow(object): self.label_2 = QtGui.QLabel(self.dockWidgetContents_2) self.label_2.setGeometry(QtCore.QRect(0, 420, 100, 22)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_2.setFont(font) @@ -1346,7 +1339,7 @@ class Ui_MainWindow(object): self.label_10 = QtGui.QLabel(self.dockWidgetContents_2) self.label_10.setGeometry(QtCore.QRect(0, 150, 200, 22)) font = QtGui.QFont() - font.setPointSize(10) + font.setPointSize(11) font.setBold(False) font.setWeight(50) self.label_10.setFont(font) @@ -1475,7 +1468,7 @@ class Ui_MainWindow(object): self.retranslateUi(MainWindow) self.mytabWidget.setCurrentIndex(-1) self.comboPlateThick_2.setCurrentIndex(0) - self.comboWldSize.setCurrentIndex(0) + self.comboWldSize.setCurrentIndex(-1) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): @@ -1616,13 +1609,6 @@ class Ui_MainWindow(object): self.btnDesign_4.setText(_translate("MainWindow", "Design", None)) self.btn_Reset.setText(_translate("MainWindow", "Reset", None)) self.btn_Design.setText(_translate("MainWindow", "Design", None)) - self.comboWldSize.setItemText(0, _translate("MainWindow", "Select Weld Sizes", None)) - self.comboWldSize.setItemText(1, _translate("MainWindow", "3", None)) - self.comboWldSize.setItemText(2, _translate("MainWindow", "5", None)) - 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 dock", None)) self.t_7.setText(_translate("MainWindow", "No. of bolts required", None)) diff --git a/Connections/Shear/Finplate/ui_finPlate2.py b/Connections/Shear/Finplate/ui_finPlate2.py deleted file mode 100644 index 8b3060e..0000000 --- a/Connections/Shear/Finplate/ui_finPlate2.py +++ /dev/null @@ -1,1669 +0,0 @@ -# -*- coding: utf-8 -*- - -# Form implementation generated from reading ui file 'finPlate.ui' -# -# Created: Mon Jun 1 19:02:50 2015 -# by: PyQt4 UI code generator 4.10.4 -# -# WARNING! All changes made in this file will be lost! - -from PyQt4 import QtCore, QtGui - -try: - _fromUtf8 = QtCore.QString.fromUtf8 -except AttributeError: - def _fromUtf8(s): - return s - -try: - _encoding = QtGui.QApplication.UnicodeUTF8 - def _translate(context, text, disambig): - return QtGui.QApplication.translate(context, text, disambig, _encoding) -except AttributeError: - def _translate(context, text, disambig): - return QtGui.QApplication.translate(context, text, disambig) - -class Ui_MainWindow(object): - def setupUi(self, MainWindow): - MainWindow.setObjectName(_fromUtf8("MainWindow")) - MainWindow.resize(1335, 767) - icon = QtGui.QIcon() - icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/download1.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) - MainWindow.setWindowIcon(icon) - MainWindow.setIconSize(QtCore.QSize(20, 2)) - self.centralwidget = QtGui.QWidget(MainWindow) - self.centralwidget.setObjectName(_fromUtf8("centralwidget")) - self.verticalLayout_2 = QtGui.QVBoxLayout(self.centralwidget) - self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2")) - self.frame = QtGui.QFrame(self.centralwidget) - self.frame.setMinimumSize(QtCore.QSize(0, 28)) - self.frame.setMaximumSize(QtCore.QSize(16777215, 28)) - self.frame.setFrameShape(QtGui.QFrame.NoFrame) - self.frame.setFrameShadow(QtGui.QFrame.Raised) - self.frame.setObjectName(_fromUtf8("frame")) - self.btnInput = QtGui.QToolButton(self.frame) - self.btnInput.setGeometry(QtCore.QRect(0, 0, 28, 28)) - self.btnInput.setFocusPolicy(QtCore.Qt.NoFocus) - self.btnInput.setLayoutDirection(QtCore.Qt.LeftToRight) - icon1 = QtGui.QIcon() - icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/input.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.btnInput.setIcon(icon1) - self.btnInput.setIconSize(QtCore.QSize(18, 18)) - self.btnInput.setObjectName(_fromUtf8("btnInput")) - self.btnOutput = QtGui.QToolButton(self.frame) - self.btnOutput.setGeometry(QtCore.QRect(30, 0, 28, 28)) - self.btnOutput.setFocusPolicy(QtCore.Qt.NoFocus) - icon2 = QtGui.QIcon() - icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/output.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.btnOutput.setIcon(icon2) - self.btnOutput.setIconSize(QtCore.QSize(18, 18)) - self.btnOutput.setObjectName(_fromUtf8("btnOutput")) - self.btnZmOut = QtGui.QToolButton(self.frame) - self.btnZmOut.setGeometry(QtCore.QRect(80, 0, 28, 28)) - self.btnZmOut.setFocusPolicy(QtCore.Qt.NoFocus) - icon3 = QtGui.QIcon() - icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/zoom_in_01.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.btnZmOut.setIcon(icon3) - self.btnZmOut.setIconSize(QtCore.QSize(18, 18)) - self.btnZmOut.setObjectName(_fromUtf8("btnZmOut")) - self.btnZmIn = QtGui.QToolButton(self.frame) - self.btnZmIn.setGeometry(QtCore.QRect(110, 0, 28, 28)) - self.btnZmIn.setFocusPolicy(QtCore.Qt.NoFocus) - icon4 = QtGui.QIcon() - icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/zoom_out_01.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.btnZmIn.setIcon(icon4) - self.btnZmIn.setIconSize(QtCore.QSize(18, 18)) - self.btnZmIn.setObjectName(_fromUtf8("btnZmIn")) - self.btnSvgSave = QtGui.QToolButton(self.frame) - self.btnSvgSave.setGeometry(QtCore.QRect(200, 0, 28, 28)) - self.btnSvgSave.setFocusPolicy(QtCore.Qt.NoFocus) - icon5 = QtGui.QIcon() - icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/save.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.btnSvgSave.setIcon(icon5) - self.btnSvgSave.setIconSize(QtCore.QSize(18, 18)) - self.btnSvgSave.setObjectName(_fromUtf8("btnSvgSave")) - self.btnTotatAcw = QtGui.QToolButton(self.frame) - self.btnTotatAcw.setGeometry(QtCore.QRect(140, 0, 28, 28)) - self.btnTotatAcw.setFocusPolicy(QtCore.Qt.NoFocus) - icon6 = QtGui.QIcon() - icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/rotate-ccw.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.btnTotatAcw.setIcon(icon6) - self.btnTotatAcw.setIconSize(QtCore.QSize(22, 22)) - self.btnTotatAcw.setObjectName(_fromUtf8("btnTotatAcw")) - self.btnRotatCw = QtGui.QToolButton(self.frame) - self.btnRotatCw.setGeometry(QtCore.QRect(170, 0, 28, 28)) - self.btnRotatCw.setFocusPolicy(QtCore.Qt.NoFocus) - icon7 = QtGui.QIcon() - icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/rotate-cw.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.btnRotatCw.setIcon(icon7) - self.btnRotatCw.setIconSize(QtCore.QSize(25, 25)) - self.btnRotatCw.setObjectName(_fromUtf8("btnRotatCw")) - self.btn3D = QtGui.QToolButton(self.frame) - self.btn3D.setGeometry(QtCore.QRect(390, 0, 28, 28)) - font = QtGui.QFont() - font.setFamily(_fromUtf8("Droid Serif")) - font.setPointSize(11) - font.setBold(True) - font.setItalic(True) - font.setUnderline(False) - font.setWeight(75) - font.setStrikeOut(False) - self.btn3D.setFont(font) - self.btn3D.setFocusPolicy(QtCore.Qt.NoFocus) - self.btn3D.setAutoRaise(False) - self.btn3D.setArrowType(QtCore.Qt.NoArrow) - self.btn3D.setObjectName(_fromUtf8("btn3D")) - self.chkBxBeam = QtGui.QCheckBox(self.frame) - self.chkBxBeam.setGeometry(QtCore.QRect(430, 0, 71, 29)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(True) - font.setWeight(75) - self.chkBxBeam.setFont(font) - self.chkBxBeam.setFocusPolicy(QtCore.Qt.NoFocus) - self.chkBxBeam.setObjectName(_fromUtf8("chkBxBeam")) - self.chkBxCol = QtGui.QCheckBox(self.frame) - self.chkBxCol.setGeometry(QtCore.QRect(510, 0, 91, 29)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(True) - font.setWeight(75) - self.chkBxCol.setFont(font) - self.chkBxCol.setFocusPolicy(QtCore.Qt.NoFocus) - self.chkBxCol.setObjectName(_fromUtf8("chkBxCol")) - self.chkBxFinplate = QtGui.QCheckBox(self.frame) - self.chkBxFinplate.setGeometry(QtCore.QRect(600, 0, 92, 29)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(True) - font.setWeight(75) - self.chkBxFinplate.setFont(font) - self.chkBxFinplate.setFocusPolicy(QtCore.Qt.NoFocus) - self.chkBxFinplate.setObjectName(_fromUtf8("chkBxFinplate")) - self.btn_front = QtGui.QToolButton(self.frame) - self.btn_front.setGeometry(QtCore.QRect(270, 0, 28, 28)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(True) - font.setWeight(75) - self.btn_front.setFont(font) - self.btn_front.setFocusPolicy(QtCore.Qt.NoFocus) - 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) - self.btn_front.setIcon(icon8) - self.btn_front.setIconSize(QtCore.QSize(22, 22)) - self.btn_front.setObjectName(_fromUtf8("btn_front")) - self.btn_top = QtGui.QToolButton(self.frame) - self.btn_top.setGeometry(QtCore.QRect(300, 0, 28, 28)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(True) - font.setWeight(75) - self.btn_top.setFont(font) - 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) - self.btn_top.setIcon(icon9) - self.btn_top.setIconSize(QtCore.QSize(22, 23)) - self.btn_top.setObjectName(_fromUtf8("btn_top")) - self.btn_side = QtGui.QToolButton(self.frame) - self.btn_side.setGeometry(QtCore.QRect(330, 0, 28, 28)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(True) - font.setWeight(75) - self.btn_side.setFont(font) - 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) - self.btn_side.setIcon(icon10) - self.btn_side.setIconSize(QtCore.QSize(22, 22)) - self.btn_side.setObjectName(_fromUtf8("btn_side")) - self.verticalLayout_2.addWidget(self.frame) - self.splitter = QtGui.QSplitter(self.centralwidget) - self.splitter.setOrientation(QtCore.Qt.Vertical) - self.splitter.setObjectName(_fromUtf8("splitter")) - self.frame_2 = QtGui.QFrame(self.splitter) - self.frame_2.setMinimumSize(QtCore.QSize(0, 100)) - self.frame_2.setFrameShape(QtGui.QFrame.Box) - self.frame_2.setFrameShadow(QtGui.QFrame.Raised) - self.frame_2.setLineWidth(1) - self.frame_2.setMidLineWidth(1) - self.frame_2.setObjectName(_fromUtf8("frame_2")) - self.verticalLayout = QtGui.QVBoxLayout(self.frame_2) - self.verticalLayout.setMargin(1) - self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) - self.mytabWidget = QtGui.QTabWidget(self.frame_2) - self.mytabWidget.setMinimumSize(QtCore.QSize(0, 450)) - font = QtGui.QFont() - font.setPointSize(8) - self.mytabWidget.setFont(font) - self.mytabWidget.setFocusPolicy(QtCore.Qt.NoFocus) - self.mytabWidget.setStyleSheet(_fromUtf8("QTabBar::tab { height: 75px; width: 18px; }")) - self.mytabWidget.setTabPosition(QtGui.QTabWidget.West) - self.mytabWidget.setObjectName(_fromUtf8("mytabWidget")) - self.verticalLayout.addWidget(self.mytabWidget) - self.textEdit = QtGui.QTextEdit(self.splitter) - self.textEdit.setMinimumSize(QtCore.QSize(0, 125)) - self.textEdit.setMaximumSize(QtCore.QSize(16777215, 16777215)) - self.textEdit.setObjectName(_fromUtf8("textEdit")) - self.verticalLayout_2.addWidget(self.splitter) - MainWindow.setCentralWidget(self.centralwidget) - self.menubar = QtGui.QMenuBar(MainWindow) - self.menubar.setGeometry(QtCore.QRect(0, 0, 1335, 30)) - self.menubar.setObjectName(_fromUtf8("menubar")) - self.menuFile = QtGui.QMenu(self.menubar) - self.menuFile.setObjectName(_fromUtf8("menuFile")) - self.menuEdit = QtGui.QMenu(self.menubar) - self.menuEdit.setObjectName(_fromUtf8("menuEdit")) - self.menuView = QtGui.QMenu(self.menubar) - self.menuView.setObjectName(_fromUtf8("menuView")) - self.menuHelp = QtGui.QMenu(self.menubar) - self.menuHelp.setObjectName(_fromUtf8("menuHelp")) - self.menuGraphics = QtGui.QMenu(self.menubar) - self.menuGraphics.setObjectName(_fromUtf8("menuGraphics")) - MainWindow.setMenuBar(self.menubar) - self.inputDock = QtGui.QDockWidget(MainWindow) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.inputDock.sizePolicy().hasHeightForWidth()) - self.inputDock.setSizePolicy(sizePolicy) - self.inputDock.setMinimumSize(QtCore.QSize(125, 710)) - self.inputDock.setMaximumSize(QtCore.QSize(310, 710)) - self.inputDock.setBaseSize(QtCore.QSize(310, 710)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.inputDock.setFont(font) - self.inputDock.setFloating(False) - self.inputDock.setFeatures(QtGui.QDockWidget.AllDockWidgetFeatures) - self.inputDock.setObjectName(_fromUtf8("inputDock")) - self.dockWidgetContents = QtGui.QWidget() - self.dockWidgetContents.setObjectName(_fromUtf8("dockWidgetContents")) - self.txtFy = QtGui.QLineEdit(self.dockWidgetContents) - self.txtFy.setGeometry(QtCore.QRect(150, 140, 161, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtFy.setFont(font) - self.txtFy.setObjectName(_fromUtf8("txtFy")) - self.label_3 = QtGui.QLabel(self.dockWidgetContents) - self.label_3.setGeometry(QtCore.QRect(6, 75, 151, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_3.setFont(font) - self.label_3.setObjectName(_fromUtf8("label_3")) - self.comboConnLoc = QtGui.QComboBox(self.dockWidgetContents) - self.comboConnLoc.setGeometry(QtCore.QRect(150, 170, 161, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.comboConnLoc.setFont(font) - self.comboConnLoc.setObjectName(_fromUtf8("comboConnLoc")) - self.comboConnLoc.addItem(_fromUtf8("")) - self.comboConnLoc.addItem(_fromUtf8("")) - self.comboConnLoc.addItem(_fromUtf8("")) - self.txtFu = QtGui.QLineEdit(self.dockWidgetContents) - self.txtFu.setGeometry(QtCore.QRect(150, 110, 161, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtFu.setFont(font) - self.txtFu.setObjectName(_fromUtf8("txtFu")) - self.label = QtGui.QLabel(self.dockWidgetContents) - self.label.setGeometry(QtCore.QRect(1, 15, 221, 21)) - palette = QtGui.QPalette() - brush = QtGui.QBrush(QtGui.QColor(0, 0, 127)) - brush.setStyle(QtCore.Qt.SolidPattern) - palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Link, brush) - brush = QtGui.QBrush(QtGui.QColor(0, 0, 255)) - brush.setStyle(QtCore.Qt.SolidPattern) - palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Link, brush) - brush = QtGui.QBrush(QtGui.QColor(0, 0, 255)) - brush.setStyle(QtCore.Qt.SolidPattern) - palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Link, brush) - self.label.setPalette(palette) - font = QtGui.QFont() - font.setPointSize(11) - font.setBold(True) - font.setWeight(75) - self.label.setFont(font) - self.label.setObjectName(_fromUtf8("label")) - self.label_4 = QtGui.QLabel(self.dockWidgetContents) - self.label_4.setGeometry(QtCore.QRect(6, 170, 120, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_4.setFont(font) - self.label_4.setObjectName(_fromUtf8("label_4")) - self.lbl_fu = QtGui.QLabel(self.dockWidgetContents) - self.lbl_fu.setGeometry(QtCore.QRect(6, 110, 120, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.lbl_fu.setFont(font) - self.lbl_fu.setObjectName(_fromUtf8("lbl_fu")) - self.comboColSec = QtGui.QComboBox(self.dockWidgetContents) - self.comboColSec.setGeometry(QtCore.QRect(150, 75, 161, 25)) - self.comboColSec.setStyleSheet(_fromUtf8("QComboBox { combobox-popup: 0; }")) - self.comboColSec.setMaxVisibleItems(5) - self.comboColSec.setObjectName(_fromUtf8("comboColSec")) - self.lbl_fy = QtGui.QLabel(self.dockWidgetContents) - self.lbl_fy.setGeometry(QtCore.QRect(6, 135, 120, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.lbl_fy.setFont(font) - self.lbl_fy.setObjectName(_fromUtf8("lbl_fy")) - self.label_18 = QtGui.QLabel(self.dockWidgetContents) - self.label_18.setGeometry(QtCore.QRect(1, 240, 170, 25)) - font = QtGui.QFont() - font.setPointSize(11) - font.setBold(False) - font.setWeight(50) - self.label_18.setFont(font) - self.label_18.setObjectName(_fromUtf8("label_18")) - self.lbl_shear = QtGui.QLabel(self.dockWidgetContents) - self.lbl_shear.setGeometry(QtCore.QRect(6, 270, 151, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.lbl_shear.setFont(font) - self.lbl_shear.setObjectName(_fromUtf8("lbl_shear")) - self.txtShear = QtGui.QLineEdit(self.dockWidgetContents) - self.txtShear.setGeometry(QtCore.QRect(150, 270, 161, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtShear.setFont(font) - self.txtShear.setObjectName(_fromUtf8("txtShear")) - self.label_5 = QtGui.QLabel(self.dockWidgetContents) - self.label_5.setGeometry(QtCore.QRect(1, 300, 150, 25)) - font = QtGui.QFont() - font.setPointSize(11) - font.setBold(False) - font.setWeight(50) - self.label_5.setFont(font) - self.label_5.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) - self.label_5.setObjectName(_fromUtf8("label_5")) - self.comboType = QtGui.QComboBox(self.dockWidgetContents) - self.comboType.setGeometry(QtCore.QRect(150, 360, 160, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.comboType.setFont(font) - self.comboType.setMaxVisibleItems(10) - self.comboType.setObjectName(_fromUtf8("comboType")) - self.label_6 = QtGui.QLabel(self.dockWidgetContents) - self.label_6.setGeometry(QtCore.QRect(6, 390, 100, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_6.setFont(font) - self.label_6.setObjectName(_fromUtf8("label_6")) - self.comboGrade = QtGui.QComboBox(self.dockWidgetContents) - self.comboGrade.setGeometry(QtCore.QRect(150, 390, 160, 25)) - self.comboGrade.setStyleSheet(_fromUtf8("QComboBox { combobox-popup: 0; }")) - self.comboGrade.setMaxVisibleItems(6) - self.comboGrade.setObjectName(_fromUtf8("comboGrade")) - self.label_7 = QtGui.QLabel(self.dockWidgetContents) - self.label_7.setGeometry(QtCore.QRect(6, 330, 131, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_7.setFont(font) - self.label_7.setObjectName(_fromUtf8("label_7")) - self.label_8 = QtGui.QLabel(self.dockWidgetContents) - self.label_8.setGeometry(QtCore.QRect(6, 360, 100, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_8.setFont(font) - self.label_8.setObjectName(_fromUtf8("label_8")) - self.comboDaimeter = QtGui.QComboBox(self.dockWidgetContents) - self.comboDaimeter.setGeometry(QtCore.QRect(150, 330, 160, 27)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.comboDaimeter.setFont(font) - self.comboDaimeter.setStyleSheet(_fromUtf8("QComboBox { combobox-popup: 0; }")) - self.comboDaimeter.setMaxVisibleItems(5) - self.comboDaimeter.setObjectName(_fromUtf8("comboDaimeter")) - self.comboDaimeter.addItem(_fromUtf8("")) - self.comboDaimeter.addItem(_fromUtf8("")) - self.comboDaimeter.addItem(_fromUtf8("")) - self.comboDaimeter.addItem(_fromUtf8("")) - self.comboDaimeter.addItem(_fromUtf8("")) - self.comboDaimeter.addItem(_fromUtf8("")) - self.comboDaimeter.addItem(_fromUtf8("")) - self.comboDaimeter.addItem(_fromUtf8("")) - self.comboDaimeter.addItem(_fromUtf8("")) - self.comboDaimeter.addItem(_fromUtf8("")) - self.comboDaimeter.addItem(_fromUtf8("")) - self.lbl_width_2 = QtGui.QLabel(self.dockWidgetContents) - self.lbl_width_2.setGeometry(QtCore.QRect(6, 510, 111, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.lbl_width_2.setFont(font) - self.lbl_width_2.setObjectName(_fromUtf8("lbl_width_2")) - self.label_40 = QtGui.QLabel(self.dockWidgetContents) - self.label_40.setGeometry(QtCore.QRect(1, 420, 100, 25)) - font = QtGui.QFont() - font.setPointSize(11) - font.setBold(False) - font.setWeight(50) - self.label_40.setFont(font) - self.label_40.setObjectName(_fromUtf8("label_40")) - self.label_41 = QtGui.QLabel(self.dockWidgetContents) - self.label_41.setGeometry(QtCore.QRect(6, 450, 131, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_41.setFont(font) - self.label_41.setObjectName(_fromUtf8("label_41")) - self.txtPlateLen = QtGui.QLineEdit(self.dockWidgetContents) - self.txtPlateLen.setGeometry(QtCore.QRect(150, 480, 160, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtPlateLen.setFont(font) - self.txtPlateLen.setObjectName(_fromUtf8("txtPlateLen")) - self.lbl_len_2 = QtGui.QLabel(self.dockWidgetContents) - self.lbl_len_2.setGeometry(QtCore.QRect(6, 480, 111, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.lbl_len_2.setFont(font) - self.lbl_len_2.setObjectName(_fromUtf8("lbl_len_2")) - self.comboPlateThick_2 = QtGui.QComboBox(self.dockWidgetContents) - self.comboPlateThick_2.setGeometry(QtCore.QRect(150, 450, 160, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.comboPlateThick_2.setFont(font) - 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() - font.setPointSize(11) - self.label_42.setFont(font) - self.label_42.setObjectName(_fromUtf8("label_42")) - self.label_43 = QtGui.QLabel(self.dockWidgetContents) - self.label_43.setGeometry(QtCore.QRect(6, 570, 131, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_43.setFont(font) - self.label_43.setObjectName(_fromUtf8("label_43")) - self.outputFrame_2 = QtGui.QFrame(self.dockWidgetContents) - self.outputFrame_2.setGeometry(QtCore.QRect(988, 620, 320, 690)) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.outputFrame_2.sizePolicy().hasHeightForWidth()) - self.outputFrame_2.setSizePolicy(sizePolicy) - self.outputFrame_2.setMinimumSize(QtCore.QSize(320, 690)) - self.outputFrame_2.setFrameShape(QtGui.QFrame.StyledPanel) - self.outputFrame_2.setFrameShadow(QtGui.QFrame.Raised) - self.outputFrame_2.setObjectName(_fromUtf8("outputFrame_2")) - self.txtShrCapacity_2 = QtGui.QLineEdit(self.outputFrame_2) - self.txtShrCapacity_2.setGeometry(QtCore.QRect(181, 50, 130, 25)) - self.txtShrCapacity_2.setText(_fromUtf8("")) - self.txtShrCapacity_2.setReadOnly(True) - self.txtShrCapacity_2.setObjectName(_fromUtf8("txtShrCapacity_2")) - self.txtbearCapacity_2 = QtGui.QLineEdit(self.outputFrame_2) - self.txtbearCapacity_2.setGeometry(QtCore.QRect(181, 80, 130, 25)) - self.txtbearCapacity_2.setReadOnly(True) - self.txtbearCapacity_2.setObjectName(_fromUtf8("txtbearCapacity_2")) - self.txtBoltCapacity_2 = QtGui.QLineEdit(self.outputFrame_2) - self.txtBoltCapacity_2.setGeometry(QtCore.QRect(181, 110, 130, 25)) - self.txtBoltCapacity_2.setReadOnly(True) - self.txtBoltCapacity_2.setObjectName(_fromUtf8("txtBoltCapacity_2")) - self.txtNoBolts_2 = QtGui.QLineEdit(self.outputFrame_2) - self.txtNoBolts_2.setGeometry(QtCore.QRect(181, 140, 130, 25)) - self.txtNoBolts_2.setReadOnly(True) - self.txtNoBolts_2.setObjectName(_fromUtf8("txtNoBolts_2")) - self.txtPitch_2 = QtGui.QLineEdit(self.outputFrame_2) - self.txtPitch_2.setGeometry(QtCore.QRect(181, 230, 130, 25)) - self.txtPitch_2.setReadOnly(True) - self.txtPitch_2.setObjectName(_fromUtf8("txtPitch_2")) - self.txtGuage_2 = QtGui.QLineEdit(self.outputFrame_2) - self.txtGuage_2.setGeometry(QtCore.QRect(181, 260, 130, 25)) - self.txtGuage_2.setReadOnly(True) - self.txtGuage_2.setObjectName(_fromUtf8("txtGuage_2")) - self.txtEndDist_2 = QtGui.QLineEdit(self.outputFrame_2) - self.txtEndDist_2.setGeometry(QtCore.QRect(181, 290, 130, 25)) - self.txtEndDist_2.setReadOnly(True) - self.txtEndDist_2.setObjectName(_fromUtf8("txtEndDist_2")) - self.txtEdgeDist_2 = QtGui.QLineEdit(self.outputFrame_2) - self.txtEdgeDist_2.setGeometry(QtCore.QRect(181, 320, 130, 25)) - self.txtEdgeDist_2.setReadOnly(True) - self.txtEdgeDist_2.setObjectName(_fromUtf8("txtEdgeDist_2")) - self.txtWeldThick_2 = QtGui.QLineEdit(self.outputFrame_2) - self.txtWeldThick_2.setGeometry(QtCore.QRect(181, 380, 130, 25)) - self.txtWeldThick_2.setReadOnly(True) - self.txtWeldThick_2.setObjectName(_fromUtf8("txtWeldThick_2")) - self.txtResltShr_2 = QtGui.QLineEdit(self.outputFrame_2) - self.txtResltShr_2.setGeometry(QtCore.QRect(181, 410, 130, 25)) - self.txtResltShr_2.setReadOnly(True) - self.txtResltShr_2.setObjectName(_fromUtf8("txtResltShr_2")) - self.txtWeldStrng_2 = QtGui.QLineEdit(self.outputFrame_2) - self.txtWeldStrng_2.setGeometry(QtCore.QRect(181, 440, 130, 25)) - self.txtWeldStrng_2.setReadOnly(True) - self.txtWeldStrng_2.setObjectName(_fromUtf8("txtWeldStrng_2")) - self.txtPlateThick_2 = QtGui.QLineEdit(self.outputFrame_2) - self.txtPlateThick_2.setGeometry(QtCore.QRect(181, 510, 130, 25)) - self.txtPlateThick_2.setReadOnly(True) - self.txtPlateThick_2.setObjectName(_fromUtf8("txtPlateThick_2")) - self.label_44 = QtGui.QLabel(self.outputFrame_2) - self.label_44.setGeometry(QtCore.QRect(4, 30, 66, 17)) - self.label_44.setObjectName(_fromUtf8("label_44")) - self.label_45 = QtGui.QLabel(self.outputFrame_2) - self.label_45.setGeometry(QtCore.QRect(10, 50, 170, 25)) - self.label_45.setObjectName(_fromUtf8("label_45")) - self.label_46 = QtGui.QLabel(self.outputFrame_2) - self.label_46.setGeometry(QtCore.QRect(10, 80, 150, 25)) - self.label_46.setObjectName(_fromUtf8("label_46")) - self.labl123_2 = QtGui.QLabel(self.outputFrame_2) - self.labl123_2.setGeometry(QtCore.QRect(10, 110, 150, 25)) - self.labl123_2.setObjectName(_fromUtf8("labl123_2")) - self.t_2 = QtGui.QLabel(self.outputFrame_2) - self.t_2.setGeometry(QtCore.QRect(10, 140, 130, 25)) - self.t_2.setObjectName(_fromUtf8("t_2")) - self.label_47 = QtGui.QLabel(self.outputFrame_2) - self.label_47.setGeometry(QtCore.QRect(10, 230, 130, 25)) - self.label_47.setObjectName(_fromUtf8("label_47")) - self.label_48 = QtGui.QLabel(self.outputFrame_2) - self.label_48.setGeometry(QtCore.QRect(10, 290, 130, 25)) - self.label_48.setObjectName(_fromUtf8("label_48")) - self.label_49 = QtGui.QLabel(self.outputFrame_2) - self.label_49.setGeometry(QtCore.QRect(10, 380, 130, 25)) - self.label_49.setObjectName(_fromUtf8("label_49")) - self.label_50 = QtGui.QLabel(self.outputFrame_2) - self.label_50.setGeometry(QtCore.QRect(10, 440, 160, 25)) - self.label_50.setObjectName(_fromUtf8("label_50")) - self.label_51 = QtGui.QLabel(self.outputFrame_2) - self.label_51.setGeometry(QtCore.QRect(10, 260, 130, 25)) - self.label_51.setObjectName(_fromUtf8("label_51")) - self.label_52 = QtGui.QLabel(self.outputFrame_2) - self.label_52.setGeometry(QtCore.QRect(4, 350, 130, 25)) - self.label_52.setObjectName(_fromUtf8("label_52")) - self.label_53 = QtGui.QLabel(self.outputFrame_2) - self.label_53.setGeometry(QtCore.QRect(10, 320, 140, 25)) - self.label_53.setObjectName(_fromUtf8("label_53")) - self.label_54 = QtGui.QLabel(self.outputFrame_2) - self.label_54.setGeometry(QtCore.QRect(10, 510, 130, 25)) - self.label_54.setObjectName(_fromUtf8("label_54")) - self.label_55 = QtGui.QLabel(self.outputFrame_2) - self.label_55.setGeometry(QtCore.QRect(10, 410, 170, 25)) - self.label_55.setObjectName(_fromUtf8("label_55")) - self.label_56 = QtGui.QLabel(self.outputFrame_2) - self.label_56.setGeometry(QtCore.QRect(10, 540, 160, 25)) - self.label_56.setObjectName(_fromUtf8("label_56")) - self.label_57 = QtGui.QLabel(self.outputFrame_2) - self.label_57.setGeometry(QtCore.QRect(4, 480, 130, 25)) - self.label_57.setObjectName(_fromUtf8("label_57")) - self.txtExtMomnt_2 = QtGui.QLineEdit(self.outputFrame_2) - self.txtExtMomnt_2.setGeometry(QtCore.QRect(180, 540, 130, 25)) - self.txtExtMomnt_2.setReadOnly(True) - self.txtExtMomnt_2.setObjectName(_fromUtf8("txtExtMomnt_2")) - self.txtMomntCapacity_2 = QtGui.QLineEdit(self.outputFrame_2) - self.txtMomntCapacity_2.setGeometry(QtCore.QRect(180, 570, 130, 25)) - self.txtMomntCapacity_2.setReadOnly(True) - self.txtMomntCapacity_2.setObjectName(_fromUtf8("txtMomntCapacity_2")) - self.label_58 = QtGui.QLabel(self.outputFrame_2) - self.label_58.setGeometry(QtCore.QRect(10, 570, 170, 25)) - self.label_58.setObjectName(_fromUtf8("label_58")) - self.lbl_col_2 = QtGui.QLabel(self.outputFrame_2) - self.lbl_col_2.setGeometry(QtCore.QRect(10, 200, 130, 25)) - self.lbl_col_2.setObjectName(_fromUtf8("lbl_col_2")) - self.lbl_row_2 = QtGui.QLabel(self.outputFrame_2) - self.lbl_row_2.setGeometry(QtCore.QRect(10, 170, 130, 25)) - self.lbl_row_2.setObjectName(_fromUtf8("lbl_row_2")) - self.lineEdit_3 = QtGui.QLineEdit(self.outputFrame_2) - self.lineEdit_3.setGeometry(QtCore.QRect(180, 170, 130, 25)) - self.lineEdit_3.setObjectName(_fromUtf8("lineEdit_3")) - self.lineEdit_4 = QtGui.QLineEdit(self.outputFrame_2) - self.lineEdit_4.setGeometry(QtCore.QRect(180, 200, 130, 25)) - self.lineEdit_4.setObjectName(_fromUtf8("lineEdit_4")) - self.label_59 = QtGui.QLabel(self.outputFrame_2) - self.label_59.setGeometry(QtCore.QRect(120, 0, 60, 31)) - self.label_59.setObjectName(_fromUtf8("label_59")) - self.pushButton_2 = QtGui.QPushButton(self.outputFrame_2) - self.pushButton_2.setGeometry(QtCore.QRect(20, 620, 40, 50)) - self.pushButton_2.setText(_fromUtf8("")) - icon11 = QtGui.QIcon() - icon11.addPixmap(QtGui.QPixmap(_fromUtf8(":/images/logo.jpg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.pushButton_2.setIcon(icon11) - self.pushButton_2.setIconSize(QtCore.QSize(40, 50)) - self.pushButton_2.setCheckable(False) - self.pushButton_2.setAutoDefault(False) - self.pushButton_2.setDefault(False) - self.pushButton_2.setFlat(False) - self.pushButton_2.setObjectName(_fromUtf8("pushButton_2")) - self.btnReset_2 = QtGui.QPushButton(self.dockWidgetContents) - self.btnReset_2.setGeometry(QtCore.QRect(30, 1249, 100, 30)) - font = QtGui.QFont() - font.setPointSize(12) - font.setBold(True) - font.setWeight(75) - self.btnReset_2.setFont(font) - self.btnReset_2.setObjectName(_fromUtf8("btnReset_2")) - self.btnDesign_2 = QtGui.QPushButton(self.dockWidgetContents) - self.btnDesign_2.setGeometry(QtCore.QRect(150, 1249, 100, 30)) - font = QtGui.QFont() - font.setPointSize(12) - font.setBold(True) - font.setWeight(75) - self.btnDesign_2.setFont(font) - self.btnDesign_2.setAutoDefault(False) - self.btnDesign_2.setDefault(False) - self.btnDesign_2.setFlat(False) - self.btnDesign_2.setObjectName(_fromUtf8("btnDesign_2")) - self.outputFrame_3 = QtGui.QFrame(self.dockWidgetContents) - self.outputFrame_3.setGeometry(QtCore.QRect(1088, 610, 320, 690)) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.outputFrame_3.sizePolicy().hasHeightForWidth()) - self.outputFrame_3.setSizePolicy(sizePolicy) - self.outputFrame_3.setMinimumSize(QtCore.QSize(320, 690)) - self.outputFrame_3.setFrameShape(QtGui.QFrame.StyledPanel) - self.outputFrame_3.setFrameShadow(QtGui.QFrame.Raised) - self.outputFrame_3.setObjectName(_fromUtf8("outputFrame_3")) - self.txtShrCapacity_3 = QtGui.QLineEdit(self.outputFrame_3) - self.txtShrCapacity_3.setGeometry(QtCore.QRect(181, 50, 130, 25)) - self.txtShrCapacity_3.setText(_fromUtf8("")) - self.txtShrCapacity_3.setReadOnly(True) - self.txtShrCapacity_3.setObjectName(_fromUtf8("txtShrCapacity_3")) - self.txtbearCapacity_3 = QtGui.QLineEdit(self.outputFrame_3) - self.txtbearCapacity_3.setGeometry(QtCore.QRect(181, 80, 130, 25)) - self.txtbearCapacity_3.setReadOnly(True) - self.txtbearCapacity_3.setObjectName(_fromUtf8("txtbearCapacity_3")) - self.txtBoltCapacity_3 = QtGui.QLineEdit(self.outputFrame_3) - self.txtBoltCapacity_3.setGeometry(QtCore.QRect(181, 110, 130, 25)) - self.txtBoltCapacity_3.setReadOnly(True) - self.txtBoltCapacity_3.setObjectName(_fromUtf8("txtBoltCapacity_3")) - self.txtNoBolts_3 = QtGui.QLineEdit(self.outputFrame_3) - self.txtNoBolts_3.setGeometry(QtCore.QRect(181, 140, 130, 25)) - self.txtNoBolts_3.setReadOnly(True) - self.txtNoBolts_3.setObjectName(_fromUtf8("txtNoBolts_3")) - self.txtPitch_3 = QtGui.QLineEdit(self.outputFrame_3) - self.txtPitch_3.setGeometry(QtCore.QRect(181, 230, 130, 25)) - self.txtPitch_3.setReadOnly(True) - self.txtPitch_3.setObjectName(_fromUtf8("txtPitch_3")) - self.txtGuage_3 = QtGui.QLineEdit(self.outputFrame_3) - self.txtGuage_3.setGeometry(QtCore.QRect(181, 260, 130, 25)) - self.txtGuage_3.setReadOnly(True) - self.txtGuage_3.setObjectName(_fromUtf8("txtGuage_3")) - self.txtEndDist_3 = QtGui.QLineEdit(self.outputFrame_3) - self.txtEndDist_3.setGeometry(QtCore.QRect(181, 290, 130, 25)) - self.txtEndDist_3.setReadOnly(True) - self.txtEndDist_3.setObjectName(_fromUtf8("txtEndDist_3")) - self.txtEdgeDist_3 = QtGui.QLineEdit(self.outputFrame_3) - self.txtEdgeDist_3.setGeometry(QtCore.QRect(181, 320, 130, 25)) - self.txtEdgeDist_3.setReadOnly(True) - self.txtEdgeDist_3.setObjectName(_fromUtf8("txtEdgeDist_3")) - self.txtWeldThick_3 = QtGui.QLineEdit(self.outputFrame_3) - self.txtWeldThick_3.setGeometry(QtCore.QRect(181, 380, 130, 25)) - self.txtWeldThick_3.setReadOnly(True) - self.txtWeldThick_3.setObjectName(_fromUtf8("txtWeldThick_3")) - self.txtResltShr_3 = QtGui.QLineEdit(self.outputFrame_3) - self.txtResltShr_3.setGeometry(QtCore.QRect(181, 410, 130, 25)) - self.txtResltShr_3.setReadOnly(True) - self.txtResltShr_3.setObjectName(_fromUtf8("txtResltShr_3")) - self.txtWeldStrng_3 = QtGui.QLineEdit(self.outputFrame_3) - self.txtWeldStrng_3.setGeometry(QtCore.QRect(181, 440, 130, 25)) - self.txtWeldStrng_3.setReadOnly(True) - self.txtWeldStrng_3.setObjectName(_fromUtf8("txtWeldStrng_3")) - self.txtPlateThick_3 = QtGui.QLineEdit(self.outputFrame_3) - self.txtPlateThick_3.setGeometry(QtCore.QRect(181, 510, 130, 25)) - self.txtPlateThick_3.setReadOnly(True) - self.txtPlateThick_3.setObjectName(_fromUtf8("txtPlateThick_3")) - self.label_60 = QtGui.QLabel(self.outputFrame_3) - self.label_60.setGeometry(QtCore.QRect(4, 30, 66, 17)) - self.label_60.setObjectName(_fromUtf8("label_60")) - self.label_61 = QtGui.QLabel(self.outputFrame_3) - self.label_61.setGeometry(QtCore.QRect(10, 50, 170, 25)) - self.label_61.setObjectName(_fromUtf8("label_61")) - self.label_62 = QtGui.QLabel(self.outputFrame_3) - self.label_62.setGeometry(QtCore.QRect(10, 80, 150, 25)) - self.label_62.setObjectName(_fromUtf8("label_62")) - self.labl123_3 = QtGui.QLabel(self.outputFrame_3) - self.labl123_3.setGeometry(QtCore.QRect(10, 110, 150, 25)) - self.labl123_3.setObjectName(_fromUtf8("labl123_3")) - self.t_3 = QtGui.QLabel(self.outputFrame_3) - self.t_3.setGeometry(QtCore.QRect(10, 140, 130, 25)) - self.t_3.setObjectName(_fromUtf8("t_3")) - self.label_63 = QtGui.QLabel(self.outputFrame_3) - self.label_63.setGeometry(QtCore.QRect(10, 230, 130, 25)) - self.label_63.setObjectName(_fromUtf8("label_63")) - self.label_64 = QtGui.QLabel(self.outputFrame_3) - self.label_64.setGeometry(QtCore.QRect(10, 290, 130, 25)) - self.label_64.setObjectName(_fromUtf8("label_64")) - self.label_65 = QtGui.QLabel(self.outputFrame_3) - self.label_65.setGeometry(QtCore.QRect(10, 380, 130, 25)) - self.label_65.setObjectName(_fromUtf8("label_65")) - self.label_66 = QtGui.QLabel(self.outputFrame_3) - self.label_66.setGeometry(QtCore.QRect(10, 440, 160, 25)) - self.label_66.setObjectName(_fromUtf8("label_66")) - self.label_67 = QtGui.QLabel(self.outputFrame_3) - self.label_67.setGeometry(QtCore.QRect(10, 260, 130, 25)) - self.label_67.setObjectName(_fromUtf8("label_67")) - self.label_68 = QtGui.QLabel(self.outputFrame_3) - self.label_68.setGeometry(QtCore.QRect(4, 350, 130, 25)) - self.label_68.setObjectName(_fromUtf8("label_68")) - self.label_69 = QtGui.QLabel(self.outputFrame_3) - self.label_69.setGeometry(QtCore.QRect(10, 320, 140, 25)) - self.label_69.setObjectName(_fromUtf8("label_69")) - self.label_70 = QtGui.QLabel(self.outputFrame_3) - self.label_70.setGeometry(QtCore.QRect(10, 510, 130, 25)) - self.label_70.setObjectName(_fromUtf8("label_70")) - self.label_71 = QtGui.QLabel(self.outputFrame_3) - self.label_71.setGeometry(QtCore.QRect(10, 410, 170, 25)) - self.label_71.setObjectName(_fromUtf8("label_71")) - self.label_72 = QtGui.QLabel(self.outputFrame_3) - self.label_72.setGeometry(QtCore.QRect(10, 540, 160, 25)) - self.label_72.setObjectName(_fromUtf8("label_72")) - self.label_73 = QtGui.QLabel(self.outputFrame_3) - self.label_73.setGeometry(QtCore.QRect(4, 480, 130, 25)) - self.label_73.setObjectName(_fromUtf8("label_73")) - self.txtExtMomnt_3 = QtGui.QLineEdit(self.outputFrame_3) - self.txtExtMomnt_3.setGeometry(QtCore.QRect(180, 540, 130, 25)) - self.txtExtMomnt_3.setReadOnly(True) - self.txtExtMomnt_3.setObjectName(_fromUtf8("txtExtMomnt_3")) - self.txtMomntCapacity_3 = QtGui.QLineEdit(self.outputFrame_3) - self.txtMomntCapacity_3.setGeometry(QtCore.QRect(180, 570, 130, 25)) - self.txtMomntCapacity_3.setReadOnly(True) - self.txtMomntCapacity_3.setObjectName(_fromUtf8("txtMomntCapacity_3")) - self.label_74 = QtGui.QLabel(self.outputFrame_3) - self.label_74.setGeometry(QtCore.QRect(10, 570, 170, 25)) - self.label_74.setObjectName(_fromUtf8("label_74")) - self.lbl_col_3 = QtGui.QLabel(self.outputFrame_3) - self.lbl_col_3.setGeometry(QtCore.QRect(10, 200, 130, 25)) - self.lbl_col_3.setObjectName(_fromUtf8("lbl_col_3")) - self.lbl_row_3 = QtGui.QLabel(self.outputFrame_3) - self.lbl_row_3.setGeometry(QtCore.QRect(10, 170, 130, 25)) - self.lbl_row_3.setObjectName(_fromUtf8("lbl_row_3")) - self.lineEdit_5 = QtGui.QLineEdit(self.outputFrame_3) - self.lineEdit_5.setGeometry(QtCore.QRect(180, 170, 130, 25)) - self.lineEdit_5.setObjectName(_fromUtf8("lineEdit_5")) - self.lineEdit_6 = QtGui.QLineEdit(self.outputFrame_3) - self.lineEdit_6.setGeometry(QtCore.QRect(180, 200, 130, 25)) - self.lineEdit_6.setObjectName(_fromUtf8("lineEdit_6")) - self.label_75 = QtGui.QLabel(self.outputFrame_3) - self.label_75.setGeometry(QtCore.QRect(120, 0, 60, 31)) - self.label_75.setObjectName(_fromUtf8("label_75")) - self.pushButton_3 = QtGui.QPushButton(self.outputFrame_3) - self.pushButton_3.setGeometry(QtCore.QRect(20, 620, 40, 50)) - self.pushButton_3.setText(_fromUtf8("")) - self.pushButton_3.setIcon(icon11) - self.pushButton_3.setIconSize(QtCore.QSize(40, 50)) - self.pushButton_3.setCheckable(False) - self.pushButton_3.setAutoDefault(False) - self.pushButton_3.setDefault(False) - self.pushButton_3.setFlat(False) - self.pushButton_3.setObjectName(_fromUtf8("pushButton_3")) - self.btnReset_3 = QtGui.QPushButton(self.dockWidgetContents) - self.btnReset_3.setGeometry(QtCore.QRect(130, 1239, 100, 30)) - font = QtGui.QFont() - font.setPointSize(12) - font.setBold(True) - font.setWeight(75) - self.btnReset_3.setFont(font) - self.btnReset_3.setObjectName(_fromUtf8("btnReset_3")) - self.btnDesign_3 = QtGui.QPushButton(self.dockWidgetContents) - self.btnDesign_3.setGeometry(QtCore.QRect(250, 1239, 100, 30)) - font = QtGui.QFont() - font.setPointSize(12) - font.setBold(True) - font.setWeight(75) - self.btnDesign_3.setFont(font) - self.btnDesign_3.setAutoDefault(False) - self.btnDesign_3.setDefault(False) - self.btnDesign_3.setFlat(False) - self.btnDesign_3.setObjectName(_fromUtf8("btnDesign_3")) - self.outputFrame_4 = QtGui.QFrame(self.dockWidgetContents) - self.outputFrame_4.setGeometry(QtCore.QRect(1048, 580, 320, 690)) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.outputFrame_4.sizePolicy().hasHeightForWidth()) - self.outputFrame_4.setSizePolicy(sizePolicy) - self.outputFrame_4.setMinimumSize(QtCore.QSize(320, 690)) - self.outputFrame_4.setFrameShape(QtGui.QFrame.StyledPanel) - self.outputFrame_4.setFrameShadow(QtGui.QFrame.Raised) - self.outputFrame_4.setObjectName(_fromUtf8("outputFrame_4")) - self.txtShrCapacity_4 = QtGui.QLineEdit(self.outputFrame_4) - self.txtShrCapacity_4.setGeometry(QtCore.QRect(181, 50, 130, 25)) - self.txtShrCapacity_4.setText(_fromUtf8("")) - self.txtShrCapacity_4.setReadOnly(True) - self.txtShrCapacity_4.setObjectName(_fromUtf8("txtShrCapacity_4")) - self.txtbearCapacity_4 = QtGui.QLineEdit(self.outputFrame_4) - self.txtbearCapacity_4.setGeometry(QtCore.QRect(181, 80, 130, 25)) - self.txtbearCapacity_4.setReadOnly(True) - self.txtbearCapacity_4.setObjectName(_fromUtf8("txtbearCapacity_4")) - self.txtBoltCapacity_4 = QtGui.QLineEdit(self.outputFrame_4) - self.txtBoltCapacity_4.setGeometry(QtCore.QRect(181, 110, 130, 25)) - self.txtBoltCapacity_4.setReadOnly(True) - self.txtBoltCapacity_4.setObjectName(_fromUtf8("txtBoltCapacity_4")) - self.txtNoBolts_4 = QtGui.QLineEdit(self.outputFrame_4) - self.txtNoBolts_4.setGeometry(QtCore.QRect(181, 140, 130, 25)) - self.txtNoBolts_4.setReadOnly(True) - self.txtNoBolts_4.setObjectName(_fromUtf8("txtNoBolts_4")) - self.txtPitch_4 = QtGui.QLineEdit(self.outputFrame_4) - self.txtPitch_4.setGeometry(QtCore.QRect(181, 230, 130, 25)) - self.txtPitch_4.setReadOnly(True) - self.txtPitch_4.setObjectName(_fromUtf8("txtPitch_4")) - self.txtGuage_4 = QtGui.QLineEdit(self.outputFrame_4) - self.txtGuage_4.setGeometry(QtCore.QRect(181, 260, 130, 25)) - self.txtGuage_4.setReadOnly(True) - self.txtGuage_4.setObjectName(_fromUtf8("txtGuage_4")) - self.txtEndDist_4 = QtGui.QLineEdit(self.outputFrame_4) - self.txtEndDist_4.setGeometry(QtCore.QRect(181, 290, 130, 25)) - self.txtEndDist_4.setReadOnly(True) - self.txtEndDist_4.setObjectName(_fromUtf8("txtEndDist_4")) - self.txtEdgeDist_4 = QtGui.QLineEdit(self.outputFrame_4) - self.txtEdgeDist_4.setGeometry(QtCore.QRect(181, 320, 130, 25)) - self.txtEdgeDist_4.setReadOnly(True) - self.txtEdgeDist_4.setObjectName(_fromUtf8("txtEdgeDist_4")) - self.txtWeldThick_4 = QtGui.QLineEdit(self.outputFrame_4) - self.txtWeldThick_4.setGeometry(QtCore.QRect(181, 380, 130, 25)) - self.txtWeldThick_4.setReadOnly(True) - self.txtWeldThick_4.setObjectName(_fromUtf8("txtWeldThick_4")) - self.txtResltShr_4 = QtGui.QLineEdit(self.outputFrame_4) - self.txtResltShr_4.setGeometry(QtCore.QRect(181, 410, 130, 25)) - self.txtResltShr_4.setReadOnly(True) - self.txtResltShr_4.setObjectName(_fromUtf8("txtResltShr_4")) - self.txtWeldStrng_4 = QtGui.QLineEdit(self.outputFrame_4) - self.txtWeldStrng_4.setGeometry(QtCore.QRect(181, 440, 130, 25)) - self.txtWeldStrng_4.setReadOnly(True) - self.txtWeldStrng_4.setObjectName(_fromUtf8("txtWeldStrng_4")) - self.txtPlateThick_4 = QtGui.QLineEdit(self.outputFrame_4) - self.txtPlateThick_4.setGeometry(QtCore.QRect(181, 510, 130, 25)) - self.txtPlateThick_4.setReadOnly(True) - self.txtPlateThick_4.setObjectName(_fromUtf8("txtPlateThick_4")) - self.label_76 = QtGui.QLabel(self.outputFrame_4) - self.label_76.setGeometry(QtCore.QRect(4, 30, 66, 17)) - self.label_76.setObjectName(_fromUtf8("label_76")) - self.label_77 = QtGui.QLabel(self.outputFrame_4) - self.label_77.setGeometry(QtCore.QRect(10, 50, 170, 25)) - self.label_77.setObjectName(_fromUtf8("label_77")) - self.label_78 = QtGui.QLabel(self.outputFrame_4) - self.label_78.setGeometry(QtCore.QRect(10, 80, 150, 25)) - self.label_78.setObjectName(_fromUtf8("label_78")) - self.labl123_4 = QtGui.QLabel(self.outputFrame_4) - self.labl123_4.setGeometry(QtCore.QRect(10, 110, 150, 25)) - self.labl123_4.setObjectName(_fromUtf8("labl123_4")) - self.t_4 = QtGui.QLabel(self.outputFrame_4) - self.t_4.setGeometry(QtCore.QRect(10, 140, 130, 25)) - self.t_4.setObjectName(_fromUtf8("t_4")) - self.label_79 = QtGui.QLabel(self.outputFrame_4) - self.label_79.setGeometry(QtCore.QRect(10, 230, 130, 25)) - self.label_79.setObjectName(_fromUtf8("label_79")) - self.label_80 = QtGui.QLabel(self.outputFrame_4) - self.label_80.setGeometry(QtCore.QRect(10, 290, 130, 25)) - self.label_80.setObjectName(_fromUtf8("label_80")) - self.label_81 = QtGui.QLabel(self.outputFrame_4) - self.label_81.setGeometry(QtCore.QRect(10, 380, 130, 25)) - self.label_81.setObjectName(_fromUtf8("label_81")) - self.label_82 = QtGui.QLabel(self.outputFrame_4) - self.label_82.setGeometry(QtCore.QRect(10, 440, 160, 25)) - self.label_82.setObjectName(_fromUtf8("label_82")) - self.label_83 = QtGui.QLabel(self.outputFrame_4) - self.label_83.setGeometry(QtCore.QRect(10, 260, 130, 25)) - self.label_83.setObjectName(_fromUtf8("label_83")) - self.label_84 = QtGui.QLabel(self.outputFrame_4) - self.label_84.setGeometry(QtCore.QRect(4, 350, 130, 25)) - self.label_84.setObjectName(_fromUtf8("label_84")) - self.label_85 = QtGui.QLabel(self.outputFrame_4) - self.label_85.setGeometry(QtCore.QRect(10, 320, 140, 25)) - self.label_85.setObjectName(_fromUtf8("label_85")) - self.label_86 = QtGui.QLabel(self.outputFrame_4) - self.label_86.setGeometry(QtCore.QRect(10, 510, 130, 25)) - self.label_86.setObjectName(_fromUtf8("label_86")) - self.label_87 = QtGui.QLabel(self.outputFrame_4) - self.label_87.setGeometry(QtCore.QRect(10, 410, 170, 25)) - self.label_87.setObjectName(_fromUtf8("label_87")) - self.label_88 = QtGui.QLabel(self.outputFrame_4) - self.label_88.setGeometry(QtCore.QRect(10, 540, 160, 25)) - self.label_88.setObjectName(_fromUtf8("label_88")) - self.label_89 = QtGui.QLabel(self.outputFrame_4) - self.label_89.setGeometry(QtCore.QRect(4, 480, 130, 25)) - self.label_89.setObjectName(_fromUtf8("label_89")) - self.txtExtMomnt_4 = QtGui.QLineEdit(self.outputFrame_4) - self.txtExtMomnt_4.setGeometry(QtCore.QRect(180, 540, 130, 25)) - self.txtExtMomnt_4.setReadOnly(True) - self.txtExtMomnt_4.setObjectName(_fromUtf8("txtExtMomnt_4")) - self.txtMomntCapacity_4 = QtGui.QLineEdit(self.outputFrame_4) - self.txtMomntCapacity_4.setGeometry(QtCore.QRect(180, 570, 130, 25)) - self.txtMomntCapacity_4.setReadOnly(True) - self.txtMomntCapacity_4.setObjectName(_fromUtf8("txtMomntCapacity_4")) - self.label_90 = QtGui.QLabel(self.outputFrame_4) - self.label_90.setGeometry(QtCore.QRect(10, 570, 170, 25)) - self.label_90.setObjectName(_fromUtf8("label_90")) - self.lbl_col_4 = QtGui.QLabel(self.outputFrame_4) - self.lbl_col_4.setGeometry(QtCore.QRect(10, 200, 130, 25)) - self.lbl_col_4.setObjectName(_fromUtf8("lbl_col_4")) - self.lbl_row_4 = QtGui.QLabel(self.outputFrame_4) - self.lbl_row_4.setGeometry(QtCore.QRect(10, 170, 130, 25)) - self.lbl_row_4.setObjectName(_fromUtf8("lbl_row_4")) - self.lineEdit_7 = QtGui.QLineEdit(self.outputFrame_4) - self.lineEdit_7.setGeometry(QtCore.QRect(180, 170, 130, 25)) - self.lineEdit_7.setObjectName(_fromUtf8("lineEdit_7")) - self.lineEdit_8 = QtGui.QLineEdit(self.outputFrame_4) - self.lineEdit_8.setGeometry(QtCore.QRect(180, 200, 130, 25)) - self.lineEdit_8.setObjectName(_fromUtf8("lineEdit_8")) - self.label_91 = QtGui.QLabel(self.outputFrame_4) - self.label_91.setGeometry(QtCore.QRect(120, 0, 60, 31)) - self.label_91.setObjectName(_fromUtf8("label_91")) - self.pushButton_4 = QtGui.QPushButton(self.outputFrame_4) - self.pushButton_4.setGeometry(QtCore.QRect(20, 620, 40, 50)) - self.pushButton_4.setText(_fromUtf8("")) - self.pushButton_4.setIcon(icon11) - self.pushButton_4.setIconSize(QtCore.QSize(40, 50)) - self.pushButton_4.setCheckable(False) - self.pushButton_4.setAutoDefault(False) - self.pushButton_4.setDefault(False) - self.pushButton_4.setFlat(False) - self.pushButton_4.setObjectName(_fromUtf8("pushButton_4")) - self.btnReset_4 = QtGui.QPushButton(self.dockWidgetContents) - self.btnReset_4.setGeometry(QtCore.QRect(90, 1209, 100, 30)) - font = QtGui.QFont() - font.setPointSize(12) - font.setBold(True) - font.setWeight(75) - self.btnReset_4.setFont(font) - self.btnReset_4.setObjectName(_fromUtf8("btnReset_4")) - self.btnDesign_4 = QtGui.QPushButton(self.dockWidgetContents) - self.btnDesign_4.setGeometry(QtCore.QRect(210, 1209, 100, 30)) - font = QtGui.QFont() - font.setPointSize(12) - font.setBold(True) - font.setWeight(75) - self.btnDesign_4.setFont(font) - self.btnDesign_4.setAutoDefault(False) - self.btnDesign_4.setDefault(False) - self.btnDesign_4.setFlat(False) - self.btnDesign_4.setObjectName(_fromUtf8("btnDesign_4")) - self.txtPlateWidth = QtGui.QLineEdit(self.dockWidgetContents) - self.txtPlateWidth.setGeometry(QtCore.QRect(150, 510, 160, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtPlateWidth.setFont(font) - self.txtPlateWidth.setObjectName(_fromUtf8("txtPlateWidth")) - self.btn_Reset = QtGui.QPushButton(self.dockWidgetContents) - self.btn_Reset.setGeometry(QtCore.QRect(20, 630, 100, 30)) - font = QtGui.QFont() - font.setPointSize(12) - font.setBold(True) - font.setWeight(75) - self.btn_Reset.setFont(font) - self.btn_Reset.setObjectName(_fromUtf8("btn_Reset")) - self.btn_Design = QtGui.QPushButton(self.dockWidgetContents) - self.btn_Design.setGeometry(QtCore.QRect(140, 630, 100, 30)) - font = QtGui.QFont() - font.setPointSize(12) - font.setBold(True) - font.setWeight(75) - self.btn_Design.setFont(font) - self.btn_Design.setObjectName(_fromUtf8("btn_Design")) - self.combo_Beam = QtGui.QComboBox(self.dockWidgetContents) - self.combo_Beam.setGeometry(QtCore.QRect(150, 45, 161, 25)) - self.combo_Beam.setStyleSheet(_fromUtf8("QComboBox { combobox-popup: 0; }")) - self.combo_Beam.setMaxVisibleItems(5) - self.combo_Beam.setObjectName(_fromUtf8("combo_Beam")) - self.comboWldSize = QtGui.QComboBox(self.dockWidgetContents) - self.comboWldSize.setGeometry(QtCore.QRect(150, 570, 160, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.comboWldSize.setFont(font) - self.comboWldSize.setFocusPolicy(QtCore.Qt.WheelFocus) - self.comboWldSize.setStyleSheet(_fromUtf8("QComboBox { combobox-popup: 0; }")) - self.comboWldSize.setMaxVisibleItems(5) - self.comboWldSize.setObjectName(_fromUtf8("comboWldSize")) - self.comboWldSize.addItem(_fromUtf8("")) - self.comboWldSize.addItem(_fromUtf8("")) - 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) - self.lbl_connectivity.setObjectName(_fromUtf8("lbl_connectivity")) - self.label_9 = QtGui.QLabel(self.dockWidgetContents) - self.label_9.setGeometry(QtCore.QRect(6, 45, 131, 22)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_9.setFont(font) - self.label_9.setObjectName(_fromUtf8("label_9")) - self.inputDock.setWidget(self.dockWidgetContents) - MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.inputDock) - self.outputDock = QtGui.QDockWidget(MainWindow) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.outputDock.sizePolicy().hasHeightForWidth()) - self.outputDock.setSizePolicy(sizePolicy) - self.outputDock.setMinimumSize(QtCore.QSize(125, 710)) - self.outputDock.setMaximumSize(QtCore.QSize(310, 710)) - font = QtGui.QFont() - font.setPointSize(11) - font.setBold(True) - font.setWeight(75) - self.outputDock.setFont(font) - self.outputDock.setObjectName(_fromUtf8("outputDock")) - self.dockWidgetContents_2 = QtGui.QWidget() - self.dockWidgetContents_2.setObjectName(_fromUtf8("dockWidgetContents_2")) - self.txtNoBolts = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txtNoBolts.setGeometry(QtCore.QRect(200, 120, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtNoBolts.setFont(font) - self.txtNoBolts.setReadOnly(True) - self.txtNoBolts.setObjectName(_fromUtf8("txtNoBolts")) - self.t_7 = QtGui.QLabel(self.dockWidgetContents_2) - self.t_7.setGeometry(QtCore.QRect(0, 120, 130, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.t_7.setFont(font) - self.t_7.setObjectName(_fromUtf8("t_7")) - self.txtShrCapacity = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txtShrCapacity.setGeometry(QtCore.QRect(200, 30, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtShrCapacity.setFont(font) - self.txtShrCapacity.setText(_fromUtf8("")) - self.txtShrCapacity.setReadOnly(True) - self.txtShrCapacity.setObjectName(_fromUtf8("txtShrCapacity")) - self.txtPitch = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txtPitch.setGeometry(QtCore.QRect(200, 240, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtPitch.setFont(font) - self.txtPitch.setReadOnly(True) - self.txtPitch.setObjectName(_fromUtf8("txtPitch")) - self.txtGuage = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txtGuage.setGeometry(QtCore.QRect(200, 270, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtGuage.setFont(font) - self.txtGuage.setReadOnly(True) - self.txtGuage.setObjectName(_fromUtf8("txtGuage")) - self.txtBoltCapacity = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txtBoltCapacity.setGeometry(QtCore.QRect(200, 90, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtBoltCapacity.setFont(font) - self.txtBoltCapacity.setReadOnly(True) - self.txtBoltCapacity.setObjectName(_fromUtf8("txtBoltCapacity")) - self.txt_col = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txt_col.setGeometry(QtCore.QRect(200, 210, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txt_col.setFont(font) - self.txt_col.setReadOnly(True) - self.txt_col.setObjectName(_fromUtf8("txt_col")) - self.txt_row = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txt_row.setGeometry(QtCore.QRect(200, 180, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txt_row.setFont(font) - self.txt_row.setReadOnly(True) - self.txt_row.setObjectName(_fromUtf8("txt_row")) - self.label_152 = QtGui.QLabel(self.dockWidgetContents_2) - self.label_152.setGeometry(QtCore.QRect(0, 270, 130, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_152.setFont(font) - self.label_152.setObjectName(_fromUtf8("label_152")) - self.labl123_7 = QtGui.QLabel(self.dockWidgetContents_2) - self.labl123_7.setGeometry(QtCore.QRect(0, 90, 179, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.labl123_7.setFont(font) - self.labl123_7.setObjectName(_fromUtf8("labl123_7")) - self.txtbearCapacity = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txtbearCapacity.setGeometry(QtCore.QRect(200, 60, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtbearCapacity.setFont(font) - self.txtbearCapacity.setReadOnly(True) - self.txtbearCapacity.setObjectName(_fromUtf8("txtbearCapacity")) - self.label_153 = QtGui.QLabel(self.dockWidgetContents_2) - self.label_153.setGeometry(QtCore.QRect(0, 300, 179, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_153.setFont(font) - self.label_153.setObjectName(_fromUtf8("label_153")) - self.lbl_col_7 = QtGui.QLabel(self.dockWidgetContents_2) - self.lbl_col_7.setGeometry(QtCore.QRect(0, 210, 130, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.lbl_col_7.setFont(font) - self.lbl_col_7.setObjectName(_fromUtf8("lbl_col_7")) - self.label_154 = QtGui.QLabel(self.dockWidgetContents_2) - self.label_154.setGeometry(QtCore.QRect(0, 240, 130, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_154.setFont(font) - self.label_154.setObjectName(_fromUtf8("label_154")) - self.txtEdgeDist = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txtEdgeDist.setGeometry(QtCore.QRect(200, 330, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtEdgeDist.setFont(font) - self.txtEdgeDist.setReadOnly(True) - self.txtEdgeDist.setObjectName(_fromUtf8("txtEdgeDist")) - self.lbl_row_7 = QtGui.QLabel(self.dockWidgetContents_2) - self.lbl_row_7.setGeometry(QtCore.QRect(0, 180, 130, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.lbl_row_7.setFont(font) - self.lbl_row_7.setObjectName(_fromUtf8("lbl_row_7")) - self.label_155 = QtGui.QLabel(self.dockWidgetContents_2) - self.label_155.setGeometry(QtCore.QRect(0, 330, 179, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_155.setFont(font) - self.label_155.setObjectName(_fromUtf8("label_155")) - self.label_156 = QtGui.QLabel(self.dockWidgetContents_2) - self.label_156.setGeometry(QtCore.QRect(0, 30, 161, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_156.setFont(font) - self.label_156.setObjectName(_fromUtf8("label_156")) - self.txtEndDist = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txtEndDist.setGeometry(QtCore.QRect(200, 300, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtEndDist.setFont(font) - self.txtEndDist.setReadOnly(True) - self.txtEndDist.setObjectName(_fromUtf8("txtEndDist")) - self.label_157 = QtGui.QLabel(self.dockWidgetContents_2) - self.label_157.setGeometry(QtCore.QRect(-1, 0, 66, 20)) - font = QtGui.QFont() - font.setPointSize(11) - font.setBold(False) - font.setWeight(50) - self.label_157.setFont(font) - self.label_157.setObjectName(_fromUtf8("label_157")) - self.label_158 = QtGui.QLabel(self.dockWidgetContents_2) - self.label_158.setGeometry(QtCore.QRect(0, 60, 179, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_158.setFont(font) - self.label_158.setObjectName(_fromUtf8("label_158")) - self.label_160 = QtGui.QLabel(self.dockWidgetContents_2) - self.label_160.setGeometry(QtCore.QRect(0, 480, 191, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_160.setFont(font) - self.label_160.setObjectName(_fromUtf8("label_160")) - self.txtMomntCapacity = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txtMomntCapacity.setGeometry(QtCore.QRect(200, 480, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtMomntCapacity.setFont(font) - self.txtMomntCapacity.setReadOnly(True) - self.txtMomntCapacity.setObjectName(_fromUtf8("txtMomntCapacity")) - self.label_161 = QtGui.QLabel(self.dockWidgetContents_2) - self.label_161.setGeometry(QtCore.QRect(-1, 360, 130, 25)) - font = QtGui.QFont() - font.setPointSize(11) - self.label_161.setFont(font) - self.label_161.setObjectName(_fromUtf8("label_161")) - self.txtExtMomnt = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txtExtMomnt.setGeometry(QtCore.QRect(200, 450, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtExtMomnt.setFont(font) - self.txtExtMomnt.setReadOnly(True) - self.txtExtMomnt.setObjectName(_fromUtf8("txtExtMomnt")) - self.label_162 = QtGui.QLabel(self.dockWidgetContents_2) - self.label_162.setGeometry(QtCore.QRect(0, 450, 191, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_162.setFont(font) - self.label_162.setFocusPolicy(QtCore.Qt.NoFocus) - self.label_162.setObjectName(_fromUtf8("label_162")) - self.txtWeldStrng = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txtWeldStrng.setGeometry(QtCore.QRect(200, 570, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtWeldStrng.setFont(font) - self.txtWeldStrng.setReadOnly(True) - self.txtWeldStrng.setObjectName(_fromUtf8("txtWeldStrng")) - self.label_163 = QtGui.QLabel(self.dockWidgetContents_2) - self.label_163.setGeometry(QtCore.QRect(0, 540, 191, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_163.setFont(font) - self.label_163.setObjectName(_fromUtf8("label_163")) - self.label_164 = QtGui.QLabel(self.dockWidgetContents_2) - self.label_164.setGeometry(QtCore.QRect(3, 570, 191, 25)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_164.setFont(font) - self.label_164.setObjectName(_fromUtf8("label_164")) - self.txtResltShr = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txtResltShr.setGeometry(QtCore.QRect(200, 540, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtResltShr.setFont(font) - self.txtResltShr.setReadOnly(True) - self.txtResltShr.setObjectName(_fromUtf8("txtResltShr")) - self.label_166 = QtGui.QLabel(self.dockWidgetContents_2) - self.label_166.setGeometry(QtCore.QRect(-1, 510, 130, 25)) - font = QtGui.QFont() - font.setPointSize(11) - self.label_166.setFont(font) - self.label_166.setObjectName(_fromUtf8("label_166")) - self.btn_SaveMessages = QtGui.QPushButton(self.dockWidgetContents_2) - self.btn_SaveMessages.setGeometry(QtCore.QRect(50, 610, 200, 30)) - self.btn_SaveMessages.setObjectName(_fromUtf8("btn_SaveMessages")) - self.btn_CreateDesign = QtGui.QPushButton(self.dockWidgetContents_2) - self.btn_CreateDesign.setGeometry(QtCore.QRect(50, 650, 200, 30)) - self.btn_CreateDesign.setObjectName(_fromUtf8("btn_CreateDesign")) - self.plateHeight = QtGui.QLabel(self.dockWidgetContents_2) - self.plateHeight.setGeometry(QtCore.QRect(0, 390, 100, 22)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.plateHeight.setFont(font) - self.plateHeight.setObjectName(_fromUtf8("plateHeight")) - self.txtplate_ht = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txtplate_ht.setGeometry(QtCore.QRect(200, 390, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtplate_ht.setFont(font) - self.txtplate_ht.setObjectName(_fromUtf8("txtplate_ht")) - self.txtplate_width = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txtplate_width.setGeometry(QtCore.QRect(200, 420, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtplate_width.setFont(font) - self.txtplate_width.setObjectName(_fromUtf8("txtplate_width")) - self.label_2 = QtGui.QLabel(self.dockWidgetContents_2) - self.label_2.setGeometry(QtCore.QRect(0, 420, 100, 22)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_2.setFont(font) - self.label_2.setObjectName(_fromUtf8("label_2")) - self.label_10 = QtGui.QLabel(self.dockWidgetContents_2) - self.label_10.setGeometry(QtCore.QRect(0, 150, 200, 22)) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(False) - font.setWeight(50) - self.label_10.setFont(font) - self.label_10.setObjectName(_fromUtf8("label_10")) - self.txtboltgrpcapacity = QtGui.QLineEdit(self.dockWidgetContents_2) - self.txtboltgrpcapacity.setGeometry(QtCore.QRect(200, 150, 100, 25)) - font = QtGui.QFont() - font.setBold(False) - font.setWeight(50) - self.txtboltgrpcapacity.setFont(font) - self.txtboltgrpcapacity.setObjectName(_fromUtf8("txtboltgrpcapacity")) - self.outputDock.setWidget(self.dockWidgetContents_2) - MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.outputDock) - self.actionInput = QtGui.QAction(MainWindow) - icon12 = QtGui.QIcon() - icon12.addPixmap(QtGui.QPixmap(_fromUtf8(":/images/input.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.actionInput.setIcon(icon12) - self.actionInput.setObjectName(_fromUtf8("actionInput")) - self.actionInputwindow = QtGui.QAction(MainWindow) - icon13 = QtGui.QIcon() - icon13.addPixmap(QtGui.QPixmap(_fromUtf8(":/images/inputview.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.actionInputwindow.setIcon(icon13) - self.actionInputwindow.setObjectName(_fromUtf8("actionInputwindow")) - self.actionNew = QtGui.QAction(MainWindow) - self.actionNew.setObjectName(_fromUtf8("actionNew")) - self.actionOpen = QtGui.QAction(MainWindow) - self.actionOpen.setObjectName(_fromUtf8("actionOpen")) - self.actionSave = QtGui.QAction(MainWindow) - self.actionSave.setObjectName(_fromUtf8("actionSave")) - self.actionSave_As = QtGui.QAction(MainWindow) - self.actionSave_As.setObjectName(_fromUtf8("actionSave_As")) - self.actionPrint = QtGui.QAction(MainWindow) - self.actionPrint.setObjectName(_fromUtf8("actionPrint")) - self.actionCut = QtGui.QAction(MainWindow) - self.actionCut.setObjectName(_fromUtf8("actionCut")) - self.actionCopy = QtGui.QAction(MainWindow) - self.actionCopy.setObjectName(_fromUtf8("actionCopy")) - self.actionPaste = QtGui.QAction(MainWindow) - self.actionPaste.setObjectName(_fromUtf8("actionPaste")) - self.actionInput_Browser = QtGui.QAction(MainWindow) - self.actionInput_Browser.setObjectName(_fromUtf8("actionInput_Browser")) - self.actionOutput_Browser = QtGui.QAction(MainWindow) - self.actionOutput_Browser.setObjectName(_fromUtf8("actionOutput_Browser")) - self.actionAbout_Osdag = QtGui.QAction(MainWindow) - self.actionAbout_Osdag.setObjectName(_fromUtf8("actionAbout_Osdag")) - self.actionBeam = QtGui.QAction(MainWindow) - self.actionBeam.setObjectName(_fromUtf8("actionBeam")) - self.actionColumn = QtGui.QAction(MainWindow) - self.actionColumn.setObjectName(_fromUtf8("actionColumn")) - self.actionFinplate = QtGui.QAction(MainWindow) - self.actionFinplate.setObjectName(_fromUtf8("actionFinplate")) - self.actionBolt = QtGui.QAction(MainWindow) - self.actionBolt.setObjectName(_fromUtf8("actionBolt")) - self.action2D_view = QtGui.QAction(MainWindow) - self.action2D_view.setObjectName(_fromUtf8("action2D_view")) - self.actionZoom_in = QtGui.QAction(MainWindow) - self.actionZoom_in.setObjectName(_fromUtf8("actionZoom_in")) - self.actionZoom_out = QtGui.QAction(MainWindow) - self.actionZoom_out.setObjectName(_fromUtf8("actionZoom_out")) - self.actionPan = QtGui.QAction(MainWindow) - self.actionPan.setObjectName(_fromUtf8("actionPan")) - self.actionRotate_3D_model = QtGui.QAction(MainWindow) - self.actionRotate_3D_model.setObjectName(_fromUtf8("actionRotate_3D_model")) - self.actionView_2D_on_XY = QtGui.QAction(MainWindow) - self.actionView_2D_on_XY.setObjectName(_fromUtf8("actionView_2D_on_XY")) - self.actionView_2D_on_YZ = QtGui.QAction(MainWindow) - self.actionView_2D_on_YZ.setObjectName(_fromUtf8("actionView_2D_on_YZ")) - self.actionView_2D_on_ZX = QtGui.QAction(MainWindow) - self.actionView_2D_on_ZX.setObjectName(_fromUtf8("actionView_2D_on_ZX")) - self.actionModel = QtGui.QAction(MainWindow) - self.actionModel.setObjectName(_fromUtf8("actionModel")) - self.actionEnlarge_font_size = QtGui.QAction(MainWindow) - self.actionEnlarge_font_size.setObjectName(_fromUtf8("actionEnlarge_font_size")) - self.actionReduce_font_size = QtGui.QAction(MainWindow) - self.actionReduce_font_size.setObjectName(_fromUtf8("actionReduce_font_size")) - self.actionSave_3D_model_as = QtGui.QAction(MainWindow) - self.actionSave_3D_model_as.setObjectName(_fromUtf8("actionSave_3D_model_as")) - self.actionSave_current_2D_image_as = QtGui.QAction(MainWindow) - self.actionSave_current_2D_image_as.setObjectName(_fromUtf8("actionSave_current_2D_image_as")) - self.actionSave_log_messages = QtGui.QAction(MainWindow) - self.actionSave_log_messages.setObjectName(_fromUtf8("actionSave_log_messages")) - self.actionCreate_design_report = QtGui.QAction(MainWindow) - self.actionCreate_design_report.setObjectName(_fromUtf8("actionCreate_design_report")) - self.actionQuit_fin_plate_design = QtGui.QAction(MainWindow) - self.actionQuit_fin_plate_design.setObjectName(_fromUtf8("actionQuit_fin_plate_design")) - self.menuFile.addAction(self.actionNew) - self.menuFile.addSeparator() - self.menuFile.addAction(self.actionOpen) - self.menuFile.addSeparator() - self.menuFile.addAction(self.actionSave) - self.menuFile.addSeparator() - self.menuFile.addAction(self.actionSave_3D_model_as) - self.menuFile.addSeparator() - self.menuFile.addAction(self.actionSave_current_2D_image_as) - self.menuFile.addSeparator() - self.menuFile.addAction(self.actionSave_log_messages) - self.menuFile.addSeparator() - self.menuFile.addAction(self.actionCreate_design_report) - self.menuFile.addSeparator() - self.menuFile.addAction(self.actionQuit_fin_plate_design) - self.menuEdit.addAction(self.actionCut) - self.menuEdit.addAction(self.actionCopy) - self.menuEdit.addAction(self.actionPaste) - self.menuView.addAction(self.actionEnlarge_font_size) - self.menuView.addSeparator() - self.menuView.addAction(self.actionReduce_font_size) - self.menuHelp.addAction(self.actionAbout_Osdag) - self.menuGraphics.addAction(self.actionZoom_in) - self.menuGraphics.addSeparator() - self.menuGraphics.addAction(self.actionZoom_out) - self.menuGraphics.addSeparator() - self.menuGraphics.addAction(self.actionPan) - self.menuGraphics.addSeparator() - self.menuGraphics.addAction(self.actionRotate_3D_model) - self.menuGraphics.addSeparator() - self.menuGraphics.addAction(self.actionView_2D_on_XY) - self.menuGraphics.addSeparator() - self.menuGraphics.addAction(self.actionView_2D_on_YZ) - self.menuGraphics.addSeparator() - self.menuGraphics.addAction(self.actionView_2D_on_ZX) - self.menubar.addAction(self.menuFile.menuAction()) - self.menubar.addAction(self.menuEdit.menuAction()) - self.menubar.addAction(self.menuView.menuAction()) - self.menubar.addAction(self.menuGraphics.menuAction()) - self.menubar.addAction(self.menuHelp.menuAction()) - - self.retranslateUi(MainWindow) - self.mytabWidget.setCurrentIndex(-1) - self.comboWldSize.setCurrentIndex(0) - QtCore.QMetaObject.connectSlotsByName(MainWindow) - - def retranslateUi(self, MainWindow): - MainWindow.setWindowTitle(_translate("MainWindow", "Fin Plate", None)) - self.btnInput.setText(_translate("MainWindow", "input", None)) - self.btnOutput.setText(_translate("MainWindow", "...", None)) - self.btnZmOut.setToolTip(_translate("MainWindow", "Zoom In", None)) - self.btnZmOut.setText(_translate("MainWindow", "...", None)) - self.btnZmIn.setToolTip(_translate("MainWindow", "Zoom Out", None)) - self.btnZmIn.setText(_translate("MainWindow", "...", None)) - self.btnSvgSave.setToolTip(_translate("MainWindow", "Save Image", None)) - self.btnSvgSave.setText(_translate("MainWindow", "...", None)) - self.btnTotatAcw.setToolTip(_translate("MainWindow", "Rotate Left", None)) - self.btnTotatAcw.setText(_translate("MainWindow", "...", None)) - self.btnRotatCw.setToolTip(_translate("MainWindow", "Rotate Right", None)) - self.btnRotatCw.setText(_translate("MainWindow", "...", None)) - self.btn3D.setToolTip(_translate("MainWindow", "3D Model", None)) - self.btn3D.setText(_translate("MainWindow", "3D", None)) - self.chkBxBeam.setText(_translate("MainWindow", "Beam", None)) - self.chkBxCol.setText(_translate("MainWindow", "Column", None)) - self.chkBxFinplate.setText(_translate("MainWindow", "Finplate", None)) - self.btn_front.setToolTip(_translate("MainWindow", "Front View", None)) - self.btn_top.setToolTip(_translate("MainWindow", "Top View", None)) - self.btn_side.setToolTip(_translate("MainWindow", "Side View", None)) - self.menuFile.setTitle(_translate("MainWindow", "File", None)) - self.menuEdit.setTitle(_translate("MainWindow", "Edit", None)) - 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.txtFy.setPlaceholderText(_translate("MainWindow", "000.000", None)) - self.label_3.setText(_translate("MainWindow", "

Column section *

", None)) - self.comboConnLoc.setItemText(0, _translate("MainWindow", "Select Connectivity", None)) - self.comboConnLoc.setItemText(1, _translate("MainWindow", "Column flange-Beam web", None)) - self.comboConnLoc.setItemText(2, _translate("MainWindow", "Column web-Beam web", None)) - self.txtFu.setPlaceholderText(_translate("MainWindow", "000.000", None)) - self.label.setText(_translate("MainWindow", "

Connecting members

", None)) - self.label_4.setText(_translate("MainWindow", "

Connectivity *

", None)) - self.lbl_fu.setText(_translate("MainWindow", "

fu (MPa) *

", None)) - self.lbl_fy.setText(_translate("MainWindow", "

fy (MPa) *

", None)) - self.label_18.setText(_translate("MainWindow", "

Factored load

", None)) - self.lbl_shear.setText(_translate("MainWindow", "Shear force (kN) *", None)) - self.label_5.setText(_translate("MainWindow", "

Bolt

", None)) - self.label_6.setText(_translate("MainWindow", "Grade *", None)) - self.label_7.setText(_translate("MainWindow", "

Diameter (mm) *

", None)) - self.label_8.setText(_translate("MainWindow", "Type *", None)) - self.comboDaimeter.setItemText(0, _translate("MainWindow", "Diameter of Bolt", None)) - self.comboDaimeter.setItemText(1, _translate("MainWindow", "5", None)) - self.comboDaimeter.setItemText(2, _translate("MainWindow", "6", None)) - self.comboDaimeter.setItemText(3, _translate("MainWindow", "8", None)) - self.comboDaimeter.setItemText(4, _translate("MainWindow", "10", None)) - self.comboDaimeter.setItemText(5, _translate("MainWindow", "12", None)) - self.comboDaimeter.setItemText(6, _translate("MainWindow", "16", None)) - self.comboDaimeter.setItemText(7, _translate("MainWindow", "20", None)) - self.comboDaimeter.setItemText(8, _translate("MainWindow", "24", None)) - self.comboDaimeter.setItemText(9, _translate("MainWindow", "30", None)) - self.comboDaimeter.setItemText(10, _translate("MainWindow", "36", None)) - self.lbl_width_2.setText(_translate("MainWindow", "Width (mm)", None)) - self.label_40.setText(_translate("MainWindow", "

Plate

", None)) - self.label_41.setText(_translate("MainWindow", "

Thickness (mm) *

", 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", "

Weld

", None)) - self.label_43.setText(_translate("MainWindow", "

Thickness (mm) *

", None)) - self.label_44.setText(_translate("MainWindow", "

Bolt

", None)) - self.label_45.setText(_translate("MainWindow", "Shear Capacity (kN)", None)) - self.label_46.setText(_translate("MainWindow", "

Bearing Capacity (kN)

", None)) - self.labl123_2.setText(_translate("MainWindow", "

Capacity of Bolt (kN)

", None)) - self.t_2.setText(_translate("MainWindow", "No. of Bolts", None)) - self.label_47.setText(_translate("MainWindow", "Pitch (mm)", None)) - self.label_48.setText(_translate("MainWindow", "End Distance (mm)", None)) - self.label_49.setText(_translate("MainWindow", "Thickness (mm)", None)) - self.label_50.setText(_translate("MainWindow", "Weld Strength (kN/mm)", None)) - self.label_51.setText(_translate("MainWindow", "Gauge (mm)", None)) - self.label_52.setText(_translate("MainWindow", "

Weld

", None)) - self.label_53.setText(_translate("MainWindow", "Edge Distance (mm)", None)) - self.label_54.setText(_translate("MainWindow", "Thickness (mm)", None)) - self.label_55.setText(_translate("MainWindow", "

Resultant Shear (kN/mm)

", None)) - self.label_56.setText(_translate("MainWindow", "External Moment (kNm)", None)) - self.label_57.setText(_translate("MainWindow", "

Plate

", None)) - self.label_58.setText(_translate("MainWindow", "Moment Capacity (KNm)", None)) - self.lbl_col_2.setText(_translate("MainWindow", "No. of Column", None)) - self.lbl_row_2.setText(_translate("MainWindow", "No. of Row", None)) - self.label_59.setText(_translate("MainWindow", "

OUTPUT

", None)) - self.btnReset_2.setText(_translate("MainWindow", "Reset", None)) - self.btnDesign_2.setText(_translate("MainWindow", "Design", None)) - self.label_60.setText(_translate("MainWindow", "

Bolt

", None)) - self.label_61.setText(_translate("MainWindow", "Shear Capacity (kN)", None)) - self.label_62.setText(_translate("MainWindow", "

Bearing Capacity (kN)

", None)) - self.labl123_3.setText(_translate("MainWindow", "

Capacity of Bolt (kN)

", None)) - self.t_3.setText(_translate("MainWindow", "No. of Bolts", None)) - self.label_63.setText(_translate("MainWindow", "Pitch (mm)", None)) - self.label_64.setText(_translate("MainWindow", "End Distance (mm)", None)) - self.label_65.setText(_translate("MainWindow", "Thickness (mm)", None)) - self.label_66.setText(_translate("MainWindow", "Weld Strength (kN/mm)", None)) - self.label_67.setText(_translate("MainWindow", "Gauge (mm)", None)) - self.label_68.setText(_translate("MainWindow", "

Weld

", None)) - self.label_69.setText(_translate("MainWindow", "Edge Distance (mm)", None)) - self.label_70.setText(_translate("MainWindow", "Thickness (mm)", None)) - self.label_71.setText(_translate("MainWindow", "

Resultant Shear (kN/mm)

", None)) - self.label_72.setText(_translate("MainWindow", "External Moment (kNm)", None)) - self.label_73.setText(_translate("MainWindow", "

Plate

", None)) - self.label_74.setText(_translate("MainWindow", "Moment Capacity (KNm)", None)) - self.lbl_col_3.setText(_translate("MainWindow", "No. of Column", None)) - self.lbl_row_3.setText(_translate("MainWindow", "No. of Row", None)) - self.label_75.setText(_translate("MainWindow", "

OUTPUT

", None)) - self.btnReset_3.setText(_translate("MainWindow", "Reset", None)) - self.btnDesign_3.setText(_translate("MainWindow", "Design", None)) - self.label_76.setText(_translate("MainWindow", "

Bolt

", None)) - self.label_77.setText(_translate("MainWindow", "Shear Capacity (kN)", None)) - self.label_78.setText(_translate("MainWindow", "

Bearing Capacity (kN)

", None)) - self.labl123_4.setText(_translate("MainWindow", "

Capacity of Bolt (kN)

", None)) - self.t_4.setText(_translate("MainWindow", "No. of Bolts", None)) - self.label_79.setText(_translate("MainWindow", "Pitch (mm)", None)) - self.label_80.setText(_translate("MainWindow", "End Distance (mm)", None)) - self.label_81.setText(_translate("MainWindow", "Thickness (mm)", None)) - self.label_82.setText(_translate("MainWindow", "Weld Strength (kN/mm)", None)) - self.label_83.setText(_translate("MainWindow", "Gauge (mm)", None)) - self.label_84.setText(_translate("MainWindow", "

Weld

", None)) - self.label_85.setText(_translate("MainWindow", "Edge Distance (mm)", None)) - self.label_86.setText(_translate("MainWindow", "Thickness (mm)", None)) - self.label_87.setText(_translate("MainWindow", "

Resultant Shear (kN/mm)

", None)) - self.label_88.setText(_translate("MainWindow", "External Moment (kNm)", None)) - self.label_89.setText(_translate("MainWindow", "

Plate

", None)) - self.label_90.setText(_translate("MainWindow", "Moment Capacity (KNm)", None)) - self.lbl_col_4.setText(_translate("MainWindow", "No. of Column", None)) - self.lbl_row_4.setText(_translate("MainWindow", "No. of Row", None)) - self.label_91.setText(_translate("MainWindow", "

OUTPUT

", None)) - self.btnReset_4.setText(_translate("MainWindow", "Reset", None)) - self.btnDesign_4.setText(_translate("MainWindow", "Design", None)) - self.btn_Reset.setText(_translate("MainWindow", "Reset", None)) - self.btn_Design.setText(_translate("MainWindow", "Design", None)) - self.comboWldSize.setItemText(0, _translate("MainWindow", "Select Weld Sizes", None)) - self.comboWldSize.setItemText(1, _translate("MainWindow", "3", None)) - self.comboWldSize.setItemText(2, _translate("MainWindow", "5", None)) - 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.label_9.setText(_translate("MainWindow", "Beam section *", None)) - self.outputDock.setWindowTitle(_translate("MainWindow", "OUTPUT", 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", "

Capacity of bolt (kN)

", None)) - self.label_153.setText(_translate("MainWindow", "End distance (mm)", None)) - self.lbl_col_7.setText(_translate("MainWindow", "No. of columns", None)) - self.label_154.setText(_translate("MainWindow", "Pitch (mm)", None)) - self.lbl_row_7.setText(_translate("MainWindow", "No. of rows", None)) - self.label_155.setText(_translate("MainWindow", "Edge distance (mm)", None)) - self.label_156.setText(_translate("MainWindow", "Shear capacity (kN)", None)) - self.label_157.setText(_translate("MainWindow", "

Bolt

", None)) - self.label_158.setText(_translate("MainWindow", "

Bearing capacity (kN)

", None)) - self.label_160.setText(_translate("MainWindow", "Moment capacity (kNm)", None)) - self.label_161.setText(_translate("MainWindow", "

Plate

", None)) - self.label_162.setText(_translate("MainWindow", "

Moment demand (kNm)

", None)) - self.label_163.setText(_translate("MainWindow", "

Shear demand (kN/mm)

", None)) - self.label_164.setText(_translate("MainWindow", "Weld strength (kN/mm)", None)) - self.label_166.setText(_translate("MainWindow", "

Weld

", None)) - self.btn_SaveMessages.setText(_translate("MainWindow", "Save messages", None)) - self.btn_CreateDesign.setText(_translate("MainWindow", "Create design report", None)) - self.plateHeight.setText(_translate("MainWindow", "Height (mm)", None)) - self.label_2.setText(_translate("MainWindow", "Width (mm)", None)) - self.label_10.setText(_translate("MainWindow", "Bolt group capacity (kN)", None)) - self.actionInput.setText(_translate("MainWindow", "Input", None)) - self.actionInput.setToolTip(_translate("MainWindow", "Input browser", None)) - self.actionInputwindow.setText(_translate("MainWindow", "inputwindow", None)) - self.actionNew.setText(_translate("MainWindow", "New", None)) - self.actionOpen.setText(_translate("MainWindow", "Open", None)) - self.actionSave.setText(_translate("MainWindow", "Save design", None)) - self.actionSave_As.setText(_translate("MainWindow", "Save As", None)) - self.actionPrint.setText(_translate("MainWindow", "Print", None)) - self.actionCut.setText(_translate("MainWindow", "Cut", None)) - self.actionCopy.setText(_translate("MainWindow", "Copy", None)) - self.actionPaste.setText(_translate("MainWindow", "Paste", None)) - self.actionInput_Browser.setText(_translate("MainWindow", "Input Browser", None)) - self.actionOutput_Browser.setText(_translate("MainWindow", "Output Browser", None)) - self.actionAbout_Osdag.setText(_translate("MainWindow", "About Finplate", None)) - self.actionBeam.setText(_translate("MainWindow", "Beam", None)) - self.actionColumn.setText(_translate("MainWindow", "Column", None)) - self.actionFinplate.setText(_translate("MainWindow", "Finplate", None)) - self.actionBolt.setText(_translate("MainWindow", "Bolt", None)) - self.action2D_view.setText(_translate("MainWindow", "2D view", None)) - self.actionZoom_in.setText(_translate("MainWindow", "Zoom in", None)) - self.actionZoom_out.setText(_translate("MainWindow", "Zoom out", None)) - self.actionPan.setText(_translate("MainWindow", "Pan", None)) - self.actionRotate_3D_model.setText(_translate("MainWindow", "Rotate 3D model", None)) - self.actionView_2D_on_XY.setText(_translate("MainWindow", "View 2D on XY", None)) - self.actionView_2D_on_YZ.setText(_translate("MainWindow", "View 2D on YZ", None)) - self.actionView_2D_on_ZX.setText(_translate("MainWindow", "View 2D on ZX", None)) - self.actionModel.setText(_translate("MainWindow", "Model", None)) - self.actionEnlarge_font_size.setText(_translate("MainWindow", "Enlarge font size", None)) - self.actionReduce_font_size.setText(_translate("MainWindow", "Reduce font size", None)) - self.actionSave_3D_model_as.setText(_translate("MainWindow", "Save 3D model as", None)) - self.actionSave_current_2D_image_as.setText(_translate("MainWindow", "Save 2D image as", None)) - self.actionSave_log_messages.setText(_translate("MainWindow", "Save log messages", None)) - self.actionCreate_design_report.setText(_translate("MainWindow", "Create design report", None)) - self.actionQuit_fin_plate_design.setText(_translate("MainWindow", "Quit fin plate design", None)) - -import icons_rc -- cgit