def initialiseNutBolts(self): b = self.bolt n = self.nut if not self.flag: self.column = self.col else: self.column = int(self.col * 2) for i in range(self.row * self.column): bolt_len_required = float(b.T + self.sgap) b.H = bolt_len_required + (5 - bolt_len_required) % 5 self.bolts.append(Bolt(b.R, b.T, b.H, b.r)) self.nuts.append(Nut(n.R, n.T, n.H, n.r1)) for i in range(self.brow * self.bcol): bolt_len_required = float(b.T + self.sbgap) b.H = bolt_len_required + (5 - bolt_len_required) % 5 self.bbolts.append(Bolt(b.R, b.T, b.H, b.r)) self.bnuts.append(Nut(n.R, n.T, n.H, n.r1)) for i in range(self.topcliprow * self.topclipcol): bolt_len_required = float(b.T + self.tgap) b.H = bolt_len_required + (5 - bolt_len_required) % 5 self.topclipbolts.append(Bolt(b.R, b.T, b.H, b.r)) self.topclipnuts.append(Nut(n.R, n.T, n.H, n.r1)) for i in range(self.topclipbrow * self.topclipbcol): bolt_len_required = float(b.T + self.tbgap) b.H = bolt_len_required + (5 - bolt_len_required) % 5 self.topclipbbolts.append(Bolt(b.R, b.T, b.H, b.r)) self.topclipbnuts.append(Nut(n.R, n.T, n.H, n.r1))
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 initialise_nut_bolts(self): b = self.bolt n = self.nut for i in np.arange(self.row * self.col): bolt_len_required = float(b.T + self.gap) b.H = bolt_len_required + (5 - bolt_len_required) % 5 self.bolts.append(Bolt(b.R, b.T, b.H, b.r)) self.nuts.append(Nut(n.R, n.T, n.H, n.r1))
def initialiseNutBolts_BF(self): ''' :return: This initializes required number of bolts and nuts for below flange. ''' b_BF = self.bolt n_BF = self.nut for j in range(self.numOfboltsF): bolt_length_required = float(n_BF.H + self.nutSpaceF) b_BF.H = bolt_length_required + 10 self.bolts_BF.append(Bolt(b_BF.R, b_BF.T, b_BF.H, b_BF.r)) self.nuts_BF.append(Nut(n_BF.R, n_BF.T, n_BF.H, n_BF.r1))
def initialise_nut_bolts(self): b = self.bolt n = self.nut for i in range(self.row * self.col): bolt_len_required = float(b.T + self.gap) b.H = bolt_len_required + (5 - bolt_len_required) % 5 self.bolts.append(Bolt(b.R, b.T, b.H, b.r)) self.nuts.append(Nut(n.R, n.T, n.H, n.r1)) # Newly added for i in range(self.cRow * self.cCol): bolt_len_required = float(b.T + self.cGap) b.H = bolt_len_required + (5 - bolt_len_required) % 5 self.cBolts.append(Bolt(b.R, b.T, b.H, b.r)) self.cNuts.append(Nut(n.R, n.T, n.H, n.r1)) for i in range(self.cRow * self.cCol): bolt_len_required = float(b.T + self.cGap) b.H = bolt_len_required + (5 - bolt_len_required) % 5 self.cBolts1.append(Bolt(b.R, b.T, b.H, b.r)) self.cNuts1.append(Nut(n.R, n.T, n.H, n.r1))
def initialiseNutBolts(self): ''' Initializing the Nut and Bolt ''' b = self.bolt n = self.nut for i in range(self.row * self.col): bolt_len_required = float(b.T + self.gap) b.H = bolt_len_required + (5 - bolt_len_required) % 5 self.bolts.append(Bolt(b.R, b.T, b.H, b.r)) self.nuts.append(Nut(n.R, n.T, n.H, n.r1))
def initialiseNutBolts_Web(self): ''' :return: This initializes required number of bolts and nuts for web bolting. ''' b_W = self.bolt n_W = self.nut for k in range(self.numOfboltsW): bolt_length_required = float(n_W.H + self.nutSpaceW) b_W.H = bolt_length_required + 10 self.bolts_W.append(Bolt(b_W.R, b_W.T, b_W.H, b_W.r)) self.nuts_W.append(Nut(n_W.R, n_W.T, n_W.H, n_W.r1))
def initialiseNutBolts(self): ''' Initialise the Nut and Bolt ''' b = self.bolt n = self.nut for i in range(self.numOfBolts): bolt_length_required = float(b.T + self.gap) b.H = bolt_length_required + (bolt_length_required - 5) % 5 self.bolts.append(Bolt(b.R, b.T, b.H, b.r)) self.nuts.append(Nut(n.R, n.T, n.H, n.r1))
def initialiseNutBolts_AF(self): ''' :return: This initializes required number of bolts and nuts for above flange. ''' b_AF = self.bolt n_AF = self.nut for i in range(self.numOfboltsF): bolt_length_required = float(n_AF.H + self.nutSpaceF) #todo: anjali b_AF.H = bolt_length_required + (bolt_length_required - 5) % 5 self.bolts_AF.append(Bolt(b_AF.R, b_AF.T, b_AF.H, b_AF.r)) # print("bolt", b_AF.R, b_AF.T, b_AF.H, b_AF.r) self.nuts_AF.append(Nut(n_AF.R, n_AF.T, n_AF.H, n_AF.r1))
# 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) gusset = StiffenerPlate(L=baseplate.W, W=200, T=14, L11=(baseplate.W - (column.B + 100)) / 2, L12=200 - 100, R11=(baseplate.W - (column.B + 100)) / 2, R12=200 - 100) stiffener = StiffenerPlate(L=(baseplate.L - column.D - 2 * gusset.T) / 2, W=gusset.W, T=gusset.T, L11=(baseplate.L - column.D - 2 * gusset.T) / 2 - 50, L12=gusset.W - 100) type = 'gusset' # 'no_gusset' 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) numberOfBolts = 4 nutSpace = bolt.c + baseplate.T bolthight = nut.T + 50 nut_bolt_array = NutBoltArray(column, baseplate, nut, bolt, numberOfBolts, nutSpace) basePlate = BasePlateCad(column, nut_bolt_array, bolthight, baseplate, weldAbvFlang, weldBelwFlang, weldSideWeb, concrete, gusset, stiffener, grout) basePlate.create_3DModel() prism = basePlate.get_models() column = basePlate.get_column_model() plate = basePlate.get_plate_connector_models() weld = basePlate.get_welded_models() nut_bolt = basePlate.get_nut_bolt_array_models()
if __name__ == '__main__': from cad.items.bolt import Bolt from cad.items.nut import Nut import numpy from OCC.gp import gp_Pnt from OCC.Display.SimpleGui import init_display 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]) 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 = 10 + 5 + nut.T # member.T + plate.T + nut.T Obj = '6' boltDir = numpy.array([0, 0, 1.0]) numOfboltsF = 24 plateAbvFlangeL = 100 nut_bolt_array = NutBoltArray_BF(Obj, nut, bolt, numOfboltsF, nut_space) nut_bolt_array.placeBF(nutboltArrayOrigin, pitchDir, gaugeDir, boltDir, plateAbvFlangeL) nut_bolt_array.create_modelBF() array = nut_bolt_array.get_modelsBF() Point = gp_Pnt(0.0, 0.0, 0.0) display.DisplayMessage(Point, "Origin")