def getFlangeBoltedPlate(self, boltSteel, plateSteel=ASTM_materials.A36, lbls=None): ''' Return a suitable bolted plate for the beam flange. :param boltSteel: steel type of the bolts that connect the plate with the flange. :param plateSteel: steel type of the bolted plate. ''' flangeStrength = self.shape.getFlangeYieldStrength() bolt = self.shape.getFlangeMaximumBolt(steelType=boltSteel) numberOfBolts = bolt.getNumberOfBoltsForShear(flangeStrength, numberOfRows=2, threadsExcluded=True) spacing = self.shape.getFlangeWidth() / 2.0 boltArray = ASTM_materials.BoltArray(bolt, nRows=2, nCols=int(numberOfBolts / 2), dist=spacing) thicknessRatio = max(self.shape.steelType.fy / plateSteel.fy, self.shape.steelType.fu / plateSteel.fu) plateThickness = round( thicknessRatio * self.shape.getFlangeThickness() * 1000, 0) / 1000 retval = ASTM_materials.BoltedPlate(boltArray, width=self.shape.getFlangeWidth(), thickness=plateThickness, steelType=plateSteel) print('plate thickness: ', plateThickness * 1e3, ' mm') return retval
def getBoltedPlateTemplate(self): ''' Return the blocks corresponding to the plate bolted to the gusset plate. ''' # Create bolted plate. boltedPlate = ASTM_materials.BoltedPlate() boltedPlate.setFromDict(self.boltedPlateTemplate.getDict()) boltedPlate.eccentricity = geom.Vector2d(.025, 0.0) boltedPlate.length += .05 return boltedPlate
Example – Design of a Bolted Tension Bearing-Type Connection of the course: Design of Bolts in Shear-BearingConnections per AISC LRFD 3rdEdition (2001) ''' in2m = 25.4e-3 kip2N = 4448.2216 import math from materials.astm_aisc import ASTM_materials bolt = ASTM_materials.BoltFastener(0.75 * in2m, steelType=ASTM_materials.A325) # group A boltArray = ASTM_materials.BoltArray(bolt, nRows=2, nCols=2) boltedPlate = ASTM_materials.BoltedPlate(boltArray, thickness=20e-3, steelType=ASTM_materials.A36) Pd = 121.6 * kip2N CFShear = boltArray.getDesignShearEfficiency(Pd, doubleShear=True) CFCenterDist = boltArray.checkDistanceBetweenCenters() CFthickness = boltedPlate.checkThickness(Pd) minPlateWidth = boltedPlate.getMinWidth() ratio1 = abs(CFShear - 0.85024866348) / 0.85024866348 ratio2 = abs(CFCenterDist - 0.762) / 0.762 ratio3 = abs(CFthickness - 0.867667222586) / 0.867667222586 ''' print('Pd= ', Pd/1e3, 'kN') print('CF(Shear)= ', CFShear) print('dist. : ', boltArray.dist*1e3, 'mm') print('CF(center dist.)= ', CFCenterDist)
ratio2= abs(F_flange-2908e3)/2908e3 ## Maximum bolt diameter. db= shape.getFlangeMaximumBoltDiameter() tmpBolt= ASTM_materials.getBoltForHole(db) ratio3= (tmpBolt.getName()=='M24') bolt= ASTM_materials.BoltFastener(tmpBolt.diameter, steelType= ASTM_materials.A490) ## Estimate number of bolts. N= bolt.getNumberOfBoltsForShear(1.25*F_flange, numberOfRows= 2, threadsExcluded= True) nRows= 2 nCols= N/nRows boltArray= ASTM_materials.BoltArray(bolt, nRows, nCols, dist= None) flangeAsBoltedPlate= ASTM_materials.BoltedPlate(boltArray, width= shape.getFlangeWidth(), thickness= shape.getFlangeThickness(), steelType= shape.steelType) ## Gross section yielding load and net section fracture load flangeNetSectionFractureLoad= flangeAsBoltedPlate.getNetSectionFractureLoad() flangeGrossSectionYieldingLoad= flangeAsBoltedPlate.getGrossSectionYieldingLoad() ratio4= abs(flangeGrossSectionYieldingLoad-1656.207e3)/1656.207e3+abs(flangeNetSectionFractureLoad-1666.98e3)/1666.98e3 ## Check local buckling lambda_hd_flange= shape.getLambdaHDFlange() flange_buckling_check= shape.flangeLocalBucklingCheck(highlyDuctile= True) lambda_hd_web= shape.getLambdaHDWeb(N= 0.0, M= Mpr) web_buckling_check= shape.webLocalBucklingCheck(N= 0.0, M= Mpr,highlyDuctile= True) ratio5= abs(lambda_hd_flange-7.35)/7.35 ratio6= abs(lambda_hd_web-59.0)/59.0 ## Bolted plate.