示例#1
0
def S099_EC3(parts):
    # Report and results manager
    rp = reports.Report(parts['calc'])

    # Setting up parts
    bolt = bolts.EuroBolt(parts['main_bolt'], rp)
    bolt_group = bolts.ShearTensionBoltArray(
        parts['main_bolt_array'], bolt, rp)
    sls_forces = loads.ForcesSet(parts['sls_force'], rp)
    uls_forces = loads.ForcesSet(parts['uls_force'], rp)

    beam_profile = steel.Profile(parts['beam_profile'], rp)
    column_profile = steel.Profile(parts['column_profile'], rp)
    end_plate = steel.BoltedPlate(parts['end_plate'], rp)
    position = steel.SectionPosition(parts['main_position'], rp)
    position.profile = beam_profile
    position.bolt_array = bolt_group

    # set the conected plate so the snug front plate solver can work
    bolt_group.connected_plate = end_plate

    # Solving bolts

    if all([bolt_group.check(sls_forces, uls_forces, rp),
            beam_profile.check(rp), column_profile.check(rp),
            end_plate.check(bolt_group, uls_forces, rp),
            end_plate.check_collisions_legacy(bolt_group, beam_profile, position, rp),
            end_plate.check_t_stubs_legacy(
                bolt_group, uls_forces, beam_profile, position, rp)]):
        rp.set_safe()
    else:
        rp.set_unsafe()

    return rp
示例#2
0
def P003_EC3(parts):
    # Report and results manager
    rp = reports.Report(parts['calc'])
    # Setting up parts
    bolt = bolts.EuroBolt(parts['main_bolt'], rp)
    bolt_group = bolts.ShearBoltArray(parts['main_bolt_array'], bolt, rp)
    sls_forces = loads.ForcesSet(parts['sls_force'], rp)
    uls_forces = loads.ForcesSet(parts['uls_force'], rp)
    profile = steel.Profile(parts['main_profile'], rp)
    position = steel.SectionPosition(parts['main_position'], rp)
    position.profile = profile
    position.bolt_array = bolt_group
    plate = steel.BoltedPlate(parts['end_plate'], rp)
    # set the conected plate so the snug front plate solver can work
    bolt_group.connected_plate = plate

    # Solving bolts
    if bolt_group.check(sls_forces, uls_forces, rp) and\
            plate.check(bolt_group, uls_forces, rp) and\
            plate.check_collisions_legacy(bolt_group, profile, position, rp):
        rp.set_safe()
    else:
        rp.set_unsafe()

    return rp
示例#3
0
def S005_EC3(parts):
    # Report and results manager
    rp = reports.Report(parts['calc'])

    # Setting up parts
    bolt = bolts.EuroBolt(parts['main_bolt'], rp)
    bolt_array = bolts.ShearTensionBoltArray(parts['main_bolt_array'], bolt,
                                             rp)
    sls_forces = loads.ForcesSet(parts['sls_force'], rp)
    uls_forces = loads.ForcesSet(parts['uls_force'], rp)

    # Now, computing the resultant forces

    beam_profile = steel.Profile(parts['beam_profile'], rp)
    landing_profile = steel.Profile(parts['landing_profile'], rp)
    end_plate = steel.BoltedPlate(parts['end_plate'], rp)
    position = steel.SectionPosition(parts['main_position'], rp)
    position.profile = beam_profile
    position.bolt_array = bolt_array

    # set the conected plate so the snug front plate solver can work
    bolt_array.connected_plate = end_plate

    # If frontplate connected to U Beam Web:
    if parts['main_extra_data'].U_beam_position in ['ANY', 'WEB']\
            and parts['landing_profile'].profile_type == "U"\
            and not parts['main_extra_data'].dont_check_U_web:
        U_bolted_web = steel.BoltedWeb(landing_profile, bolt_array,
                                       parts['end_plate'], rp)
        U_bolted_web_checked = U_bolted_web.check(uls_forces, rp)
    else:
        U_bolted_web_checked = True  # Not needed OBVIAMENTE

    if all([
            U_bolted_web_checked,
            bolt_array.check(sls_forces, uls_forces, rp),
            beam_profile.check(rp),
            landing_profile.check(rp),
            end_plate.check(bolt_array, uls_forces, rp),
            end_plate.check_collisions_legacy(bolt_array, beam_profile,
                                              position, rp),
            end_plate.check_t_stubs_legacy(bolt_array, uls_forces,
                                           beam_profile, position, rp)
    ]):
        rp.set_safe()
    else:
        rp.set_unsafe()

    return rp
示例#4
0
def S007_EC3(parts):
    # Report and results manager
    rp = reports.Report(parts['calc'])

    # Setting up parts
    bolt = bolts.EuroBolt(parts['main_bolt'], rp)
    bolt_array = bolts.ShearTensionBoltArray(parts['main_bolt_array'], bolt,
                                             rp)
    sls_forces = loads.ForcesSet(parts['sls_force'], rp)
    uls_forces = loads.ForcesSet(parts['uls_force'], rp)

    bottom_column = steel.Profile(parts['bottom_column_profile'], rp)
    top_column = steel.Profile(parts['top_column_profile'], rp)
    end_plate = steel.BoltedPlate(parts['end_plate'], rp)
    position = steel.SectionPosition(parts['main_position'], rp)
    position.profile = top_column
    position.bolt_array = bolt_array
    zero_position = steel.SectionPosition.centered()

    # set the conected plate so the snug front plate solver can work
    bolt_array.connected_plate = end_plate

    if all([
            bolt_array.check(sls_forces, uls_forces, rp),
            # bottom_column.check(rp), top_column.check(rp),  # NOT NEEDED
            end_plate.check(bolt_array, uls_forces, rp),
            end_plate.check_collisions_legacy(bolt_array, top_column, position,
                                              rp),
            end_plate.check_collisions_legacy(bolt_array, bottom_column,
                                              zero_position, rp),
            end_plate.check_t_stubs_legacy(bolt_array, uls_forces,
                                           bottom_column, position, rp)
    ]):
        rp.set_safe()
    else:
        rp.set_unsafe()
    return rp