def __init__(self, D, B, T, t, s, l, t1, H): self.B = B self.T = T self.D = D self.t = t self.l = l self.s = s self.t1 = t1 self.H = H self.Isection1 = ISection(B, T, D, t, 0, 0, 0, H, None) self.Isection2 = ISection(B, T, D, t, 0, 0, 0, H, None) self.Plate1 = Plate(t1, H, l) self.Plate2 = Plate(t1, H, l)
def __init__(self, D, B, T, t, s, l, t1, H): self.B = B self.T = T self.D = D self.t = t self.l = l self.s = s self.t1 = t1 self.H = H self.sec_origin = numpy.array([0, 0, 0]) self.uDir = numpy.array([1.0, 0, 0]) self.wDir = numpy.array([0.0, 0, 1.0]) self.Plate1 = Plate(t1, H, l) self.Plate2 = Plate(t1, H, l) self.channel1 = Channel(B, T, D, t, 0, 0, H) self.channel2 = Channel(B, T, D, t, 0, 0, H)
def initialiseWelds(self): w = self.welds p = self.intermittentPlate for i in np.arange(self.no_intermitent_connections): self.weldsabw.append(FilletWeld(w.h, w.b, w.L)) self.weldsblw.append(FilletWeld(w.h, w.b, w.L)) self.weldsabw1.append(FilletWeld(w.h, w.b, w.L)) self.weldsblw1.append(FilletWeld(w.h, w.b, w.L)) self.plates.append(Plate(p.L, p.W, p.T))
def __init__(self, A, B, t, H, s, s1): self.A = A self.B = B self.H = H self.t = t self.s = s self.B = s + t self.s1 = s1 self.A = s1 + t self.sec_origin = numpy.array([0, 0, 0]) self.uDir = numpy.array([1.0, 0, 0]) self.wDir = numpy.array([0.0, 0, 1.0]) self.vDir = self.wDir * self.uDir self.plate1 = Plate(self.B, H, t) self.plate2 = Plate(t, H, self.A) self.plate3 = Plate(self.B, H, t) self.plate4 = Plate(t, H, self.A)
def initialiseNutBolts(self): b = self.bolt n = self.nut p = self.intermittentPlate for i in np.arange(self.row * self.no_intermitent_connections): bolt_len_required = float(self.gap) b.H = bolt_len_required + 10 self.bolts.append(Bolt(b.R, b.T, b.H, b.r)) self.nuts.append(Nut(n.R, n.T, n.H, n.r1)) self.boltsabv.append(Bolt(b.R, b.T, b.H, b.r)) self.nutsabv.append(Nut(n.R, n.T, n.H, n.r1)) for i in np.arange(self.no_intermitent_connections): self.plates.append(Plate(p.L, p.W, p.T))
def __init__(self, a, b, t, l, t1, H): self.l = l self.a = a self.b = b self.t = t self.t1 = t1 self.H = H self.sec_origin = numpy.array([0, 0, 0]) self.uDir = numpy.array([1.0, 0, 0]) self.wDir = numpy.array([0.0, 0, 1.0]) self.vDir = self.wDir * self.uDir self.angle1 = Angle(H, a, b, t, 0, 0) self.angle2 = Angle(H, b, a, t, 0, 0) self.plate1 = Plate(l, H, t1)
def __init__(self, a, b, t, l, t1, l1, H, s, s1): self.l = s + 2 * t1 self.a = a self.b = b self.t = t self.s = s self.s1 = s1 self.t1 = t1 self.l1 = s1 + 2 * t1 + 2 * t self.H = H self.sec_origin = numpy.array([0, 0, 0]) self.uDir = numpy.array([1.0, 0, 0]) self.wDir = numpy.array([0.0, 0, 1.0]) self.vDir = self.wDir * self.uDir self.angle1 = Angle(H, a, b, t, 0, 0) self.angle2 = Angle(H, b, a, t, 0, 0) self.angle3 = Angle(H, a, b, t, 0, 0) self.angle4 = Angle(H, b, a, t, 0, 0) self.plate1 = Plate(self.l, H, t1) self.plate2 = Plate(t1, H, self.l1) self.plate3 = Plate(self.l, H, t1) self.plate4 = Plate(t1, H, self.l1)
def createPlateGeometry(self): body = Plate(L=self.L, W=self.W, T=self.T) body.place(self.sec_origin, self.uDir, self.wDir) part1 = body.create_model() return part1
from OCC.gp import gp_Pnt from OCC.Display.SimpleGui import init_display display, start_display, add_menu, add_function_to_menu = init_display() column = ISection(B=250, T=13.5, D=450, t=9.8, R1=15, R2=75, alpha=94, length=1000, notchObj=None) flangePlate = Plate(L=550, W=210, T=14) innerFlangePlate = Plate(L=550, W=80, T=14) webPlate = Plate(L=365, W=170, T=8) gap = 10 flangePlateWeldL = FilletWeld(h=5, b=5, L=flangePlate.L) flangePlateWeldW = FilletWeld(h=5, b=5, L=flangePlate.W) innerflangePlateWeldL = FilletWeld(h=5, b=5, L=innerFlangePlate.L) innerflangePlateWeldW = FilletWeld(h=5, b=5, L=innerFlangePlate.W) webPlateWeldL = FilletWeld(h=5, b=5, L=webPlate.L) webPlateWeldW = FilletWeld(h=5, b=5, L=webPlate.W) CCSpliceCoverPlateCAD = CCSpliceCoverPlateWeldedCAD( column, flangePlate, innerFlangePlate, webPlate, gap, flangePlateWeldL,
def __init__(self, C, column, flangePlate, innerFlangePlate, webPlate, flangePlateWeldL, flangePlateWeldW, innerflangePlateWeldL, innerflangePlateWeldW, webPlateWeldL, webPlateWeldW): self.C = C self.column = column self.flangePlate = flangePlate self.innerFlangePlate = innerFlangePlate self.webPlate = webPlate self.flangePlateWeldL = flangePlateWeldL self.flangePlateWeldW = flangePlateWeldW self.webPlateWeldL = webPlateWeldL self.webPlateWeldW = webPlateWeldW self.innerflangePlateWeldL = innerflangePlateWeldL self.innerflangePlateWeldW = innerflangePlateWeldW self.gap = float(self.C.flange_plate.gap) self.flangespace = float(self.C.flangespace) self.webspace = float(self.C.webspace) self.column1 = copy.deepcopy(self.column) self.column2 = copy.deepcopy(self.column) self.flangePlate1 = copy.deepcopy(self.flangePlate) self.flangePlate2 = copy.deepcopy(self.flangePlate) self.innerFlangePlate1 = copy.deepcopy(self.innerFlangePlate) self.innerFlangePlate2 = copy.deepcopy(self.innerFlangePlate) self.innerFlangePlate3 = copy.deepcopy(self.innerFlangePlate) self.innerFlangePlate4 = copy.deepcopy(self.innerFlangePlate) self.webPlate1 = copy.deepcopy(self.webPlate) self.webPlate2 = copy.deepcopy(self.webPlate) # nuber top to bottom self.flangePlateWeldL11 = copy.deepcopy(self.flangePlateWeldL) self.flangePlateWeldL12 = copy.deepcopy(self.flangePlateWeldL) self.flangePlateWeldL21 = copy.deepcopy(self.flangePlateWeldL) self.flangePlateWeldL22 = copy.deepcopy(self.flangePlateWeldL) self.flangePlateWeldW11 = copy.deepcopy(self.flangePlateWeldW) self.flangePlateWeldW12 = copy.deepcopy(self.flangePlateWeldW) self.flangePlateWeldW21 = copy.deepcopy(self.flangePlateWeldW) self.flangePlateWeldW22 = copy.deepcopy(self.flangePlateWeldW) # Todo: update numbering self.webPlateWeldL11 = copy.deepcopy(self.webPlateWeldL) self.webPlateWeldL12 = copy.deepcopy(self.webPlateWeldL) self.webPlateWeldL21 = copy.deepcopy(self.webPlateWeldL) self.webPlateWeldL22 = copy.deepcopy(self.webPlateWeldL) self.webPlateWeldW11 = copy.deepcopy(self.webPlateWeldW) self.webPlateWeldW12 = copy.deepcopy(self.webPlateWeldW) self.webPlateWeldW21 = copy.deepcopy(self.webPlateWeldW) self.webPlateWeldW22 = copy.deepcopy(self.webPlateWeldW) # numbering is clock wise starting from right side top plate self.innerflangePlateWeldL11 = copy.deepcopy( self.innerflangePlateWeldL) self.innerflangePlateWeldL12 = copy.deepcopy( self.innerflangePlateWeldL) self.innerflangePlateWeldL21 = copy.deepcopy( self.innerflangePlateWeldL) self.innerflangePlateWeldL22 = copy.deepcopy( self.innerflangePlateWeldL) self.innerflangePlateWeldL31 = copy.deepcopy( self.innerflangePlateWeldL) self.innerflangePlateWeldL32 = copy.deepcopy( self.innerflangePlateWeldL) self.innerflangePlateWeldL41 = copy.deepcopy( self.innerflangePlateWeldL) self.innerflangePlateWeldL42 = copy.deepcopy( self.innerflangePlateWeldL) self.innerflangePlateWeldW11 = copy.deepcopy( self.innerflangePlateWeldW) self.innerflangePlateWeldW12 = copy.deepcopy( self.innerflangePlateWeldW) self.innerflangePlateWeldW21 = copy.deepcopy( self.innerflangePlateWeldW) self.innerflangePlateWeldW22 = copy.deepcopy( self.innerflangePlateWeldW) self.innerflangePlateWeldW31 = copy.deepcopy( self.innerflangePlateWeldW) self.innerflangePlateWeldW32 = copy.deepcopy( self.innerflangePlateWeldW) self.innerflangePlateWeldW41 = copy.deepcopy( self.innerflangePlateWeldW) self.innerflangePlateWeldW42 = copy.deepcopy( self.innerflangePlateWeldW) self.weldCutPlate = Plate(L=self.column.D + 4 * self.flangePlate.T, W=self.column.B + 2 * self.flangePlate.T, T=self.gap)
nutboltArrayOrigin = numpy.array([0., 0., 0.]) gaugeDir = numpy.array([1.0, 0, 0]) pitchDir = numpy.array([0, 1.0, 0]) boltDir = numpy.array([0, 0, 1.0]) numberOfBolts = 12 column = ISection(B=250, T=13.7, D=450, t=9.8, R1=14.0, R2=7.0, alpha=94, length=1500, notchObj=None) baseplate = Plate(L=700, W=500, T=30) l = 550 c = 225 a = 175 r = 24 ex_length = (50 + 24 + baseplate.T) # nut.T = 24 bolt = AnchorBolt_A(l=250, c=125, a=75, r=12, ex=ex_length) # bolt = AnchorBolt_B(l= 250, c= 125, a= 75, r= 12) # bolt = AnchorBolt_Endplate(l= 250, c= 125, a= 75, r= 12) nut = Nut(R=bolt.r * 3, T=24, H=30, innerR1=bolt.r) washer = Washer(a=8 * bolt.r, d=2 * bolt.r, t=2) nutSpace = bolt.c + baseplate.T
import OCC.Core.V3d from OCC.Core.Quantity import Quantity_NOC_SADDLEBROWN, Quantity_NOC_BLUE1 from OCC.Core.Graphic3d import Graphic3d_NOT_2D_ALUMINUM from utilities import osdag_display_shape # from cad.common_logic import CommonDesignLogic # from OCC.Core.Graphic3d import Quantity_NOC_GRAY as GRAY from OCC.Core.Quantity import Quantity_NOC_GRAY25 as GRAY from OCC.gp import gp_Pnt from OCC.Display.SimpleGui import init_display display, start_display, add_menu, add_function_to_menu = init_display() column = ISection(B=250, T=13.7, D=450, t=9.8, R1=15.0, R2=7.5, alpha=94, length=1500, notchObj=None) baseplate = Plate(L=650, W=415, T=45) weldType = 'Groove' # 'Fillet' if weldType == 'Fillet': weldAbvFlang = FilletWeld(b=10, h=10, L=250) weldBelwFlang = FilletWeld(b=10, h=10, L=100) weldSideWeb = FilletWeld(b=10, h=10, L=420) else: weldAbvFlang = GrooveWeld(b=column.T, h=10, L=column.B) weldBelwFlang = GrooveWeld(b=column.T, h=10, L=column.B) weldSideWeb = GrooveWeld(b=column.t, h=10, L=column.D) # concrete = Concrete(L= baseplate.W*1.5, W= baseplate.L*1.5, T= baseplate.T*10) concrete = Plate(L=baseplate.L * 1.5, W=baseplate.W * 1.5, T=baseplate.T * 10) grout = Grout(L=concrete.L, W=concrete.W, T=50)
# from cad.common_logic import CommonDesignLogic from OCC.gp import gp_Pnt from OCC.Display.SimpleGui import init_display display, start_display, add_menu, add_function_to_menu = init_display() Obj = 'Star Angles' #'Back to Back Channels' # 'Channels' #' #'Angles' # or 'Back to Back Angles' 'Channels' or # weld_size = 6 # s = max(15, weld_size) plate = GassetPlate(L=360 + 50, H=205.0, T=10, degree=30) bolt = Bolt(R=8, T=5, H=6, r=3) nut = Nut(R=bolt.R, T=bolt.T, H=bolt.T + 1, innerR1=bolt.r) intermittentPlate = Plate(L= 2*125 , W=70, T=plate.T) if Obj == 'Channels' or Obj == 'Back to Back Channels': member = Channel(B=50, T=6.6, D=125, t=3, R1=6.0, R2=2.4, L=4000) # plate_intercept = plate.L - s - 50 if Obj == 'Channels': nut_space = member.t + plate.T + nut.T # member.T + plate.T + nut.T else: nut_space = 2 * member.t + plate.T + nut.T # 2*member.T + plate.T + nut.T # plateObj = 0.0 nut_bolt_array = NutBoltArray(Obj, nut, bolt, nut_space) intermittentConnection = IntermittentNutBoltPlateArray(Obj, nut, bolt, intermittentPlate, nut_space) tensionCAD = TensionChannelBoltCAD(Obj, member, plate, nut_bolt_array, intermittentConnection)
from OCC.Core.Quantity import Quantity_NOC_SADDLEBROWN, Quantity_NOC_BLUE1 from OCC.Core.Graphic3d import Graphic3d_NOT_2D_ALUMINUM from utilities import osdag_display_shape # from cad.common_logic import CommonDesignLogic from OCC.gp import gp_Pnt from OCC.Display.SimpleGui import init_display display, start_display, add_menu, add_function_to_menu = init_display() member_data = 'Star Angles' #'Back to Back Channels'# #'Channels' # 'Back to Back Angles' #'Angles' #' loc = 'Long Leg' # 'Short Leg'# weld_size = 6 s = max(15, weld_size) intermittentPlate = Plate(L=195, W=80, T=16) welds = FilletWeld(h=5, b=5, L=intermittentPlate.W) weld_plate_array = IntermittentWelds(member_data, welds, intermittentPlate) if member_data == 'Channels' or member_data == 'Back to Back Channels': member = Channel(B=75, T=10.2, D=175, t=6, R1=0, R2=0, L=2000) plate = GassetPlate(L=560 + 50, H=210, T=16, degree=30) plate_intercept = plate.L - s - 50 inline_weld = FilletWeld(b=weld_size, h=weld_size, L=plate_intercept) opline_weld = FilletWeld(b=weld_size, h=weld_size, L=member.D) tensionCAD = TensionChannelWeldCAD(member_data, member, plate, inline_weld, opline_weld, weld_plate_array) else: member = Angle(L=2000.0, A=70.0, B=20.0, T=5.0, R1=0.0, R2=0.0)
from cad.items.plate import Plate from cad.items.bolt import Bolt from cad.items.nut import Nut from cad.items.filletweld import FilletWeld from cad.items.groove_weld import GrooveWeld from cad.MomentConnections.CCEndPlateCAD.nutBoltPlacement import NutBoltArray import OCC.Core.V3d from OCC.gp import gp_Pnt from OCC.Display.SimpleGui import init_display display, start_display, add_menu, add_function_to_menu = init_display() column = ISection(B=250, T=12.7, D=400, t=9.1, R1=11, R2=5.5, alpha=94, length=1000, notchObj=None) endPlate = Plate(L=column.D, W=column.B, T=45) flangeWeld = GrooveWeld(b=column.T, h=20, L=column.B) webWeld = GrooveWeld(b=column.t, h=20, L=column.D - 2 * column.T) bolt = Bolt(R=14, T=10, H=13, r=8) nut = Nut(R=bolt.R, T=bolt.T, H=bolt.T + 1, innerR1=bolt.r) nut_space = 2 * endPlate.T + nut.T # member.T + plate.T + nut.T Obj = '6' nut_bolt_array = NutBoltArray(Obj, nut, bolt, nut_space) CCEndPlate = CCEndPlateCAD(column, endPlate, flangeWeld, webWeld, nut_bolt_array) CCEndPlate.create_3DModel() column = CCEndPlate.get_column_models() plates = CCEndPlate.get_plate_models()
display, start_display, add_menu, add_function_to_menu = init_display() nutboltArrayOrigin = numpy.array([0., 0., 0.]) gaugeDir = numpy.array([0.0, 1.0, 0]) pitchDir = numpy.array([1.0, 0.0, 0]) boltDir = numpy.array([0, 0, 1.0]) bolt = Bolt(R=6, T=5, H=6, r=3) nut = Nut(R=bolt.R, T=bolt.T, H=bolt.T + 1, innerR1=bolt.r) nut_space = 10 + 5 + nut.T # member.T + plate.T + nut.T Obj = 'Star Angles' # 'Back to Back Channels' #'Channels' #' #'Angles' # or 'Back to Back Angles' 'Channels' or # nut_bolt_array = NutBoltArray(Obj, nut, bolt, nut_space) intermittentPlate = Plate(L=35 + 35 + 35, W=35 + 35, T=10) # nut_bolt_array = IntermittentNutBoltPlateArray(Obj, nut, bolt, intermittentPlate, nut_space) # # place = nut_bolt_array.place(nutboltArrayOrigin, gaugeDir, pitchDir, boltDir) # nut_bolt_array_Model = nut_bolt_array.create_model() welds = FilletWeld(h=5, b=5, L=intermittentPlate.W) weld_plate_array = IntermittentWelds(Obj, welds, intermittentPlate) place = weld_plate_array.place(nutboltArrayOrigin, pitchDir, gaugeDir, boltDir) weld_plate_array.create_model() welds = weld_plate_array.get_welded_models() plates = weld_plate_array.get_plate_models()
import OCC.Core.V3d from OCC.gp import gp_Pnt from OCC.Display.SimpleGui import init_display display, start_display, add_menu, add_function_to_menu = init_display() column = ISection(B=206.4, T=17.3, D=215.8, t=10, R1=15, R2=75, alpha=94, length=1000, notchObj=None) flangePlate = Plate(L=240, W=203.6, T=10) innerFlangePlate = Plate(L=240, W=85, T=10) webPlate = Plate(L=600, W=120, T=8) gap = 10 bolt = Bolt(R=12, T=5, H=6, r=6) nut = Nut(R=bolt.R, T=bolt.T, H=bolt.T + 1, innerR1=bolt.r) nut_space = 2 * flangePlate.T + column.T Obj = '6' numOfboltsF = 24 plateAbvFlangeL = 100 nut_bolt_array_AF = NutBoltArray_AF(Obj, nut, bolt, numOfboltsF, nut_space) nut_bolt_array_BF = NutBoltArray_BF(Obj, nut, bolt, numOfboltsF, nut_space) numOfboltsF = 24 nut_space = 2 * webPlate.T + column.t