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
Esempio n. 3
0
    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.