pyflange.bolts
Bolt, washer, and nut fastener components.
This module contains classes and factory functions representing bolt, washer, and nut fastener components. In particular it provides:
- A
MetricBoltclass that models generic bolts with metric screw threads and aStandardMetricBoltfactory function that generatesMetricBoltobjects with standard properties. - A
FlatWasherclass that models generic flat washers and anISOFlatWasherfactory function that returns aFlatWasherwith ISO 7089 standard dimensions. - A
HexNutclass that models generic hexagonal nuts, anISOHexNutfactory function that generates aHexNutwith ISO 4032 dimensions, and aRoundNutfactory function that generates a standard flanged nut.
Bolt
Base class for bolt representations.
BoltCrossSection
dataclass
Circular cross-section of a bolt.
| Attributes: |
|
|---|
area
cached
property
float: Cross-sectional area.
elastic_section_modulus
cached
property
float: Elastic section modulus of the circular cross-section.
second_moment_of_area
cached
property
float: Second moment of area of the circular cross-section.
FlatWasher
dataclass
Bases: Washer
Generic flat washer.
The parameters must be expressed in a consistent system of units. For example, if you choose to input distances in meters (m) and forces in newtons (N), then stresses must be expressed in pascals (N/m²). All attributes and methods return values consistent with the input units of measurement.
All input parameters are also available as attributes of the generated
instance (e.g. washer.thickness, washer.poissons_ratio, etc.).
Instances of this class are designed to be immutable; changing attributes after instantiation is not recommended. If a washer with different attributes is needed, instantiate a new one.
| Attributes: |
|
|---|
area
cached
property
float: Surface area of the flat annular face.
axial_stiffness
cached
property
float: Compressive axial stiffness of the washer (EA / t).
HexNut
dataclass
Bases: Nut
Generic hexagonal nut.
The parameters must be expressed in a consistent system of units. For example, if you choose to input distances in meters (m) and forces in newtons (N), then stresses must be expressed in pascals (N/m²). All attributes and methods return values consistent with the input units of measurement.
All input parameters are also available as attributes of the generated
instance (e.g. nut.thickness, nut.bearing_diameter, etc.).
Instances of this class are designed to be immutable; changing attributes after instantiation is not recommended. If a nut with different attributes is needed, instantiate a new one.
| Attributes: |
|
|---|
MetricBolt
dataclass
Bases: Bolt
Generic bolt with ISO 68-1 metric screw thread.
The parameters must be expressed in a consistent system of units. For example, if you choose to input distances in meters (m) and forces in newtons (N), then stresses must be expressed in pascals (N/m²). All bolt attributes and methods return values consistent with the input units of measurement.
All input parameters are also available as attributes of the generated
instance (e.g. bolt.shank_length, bolt.yield_stress, etc.).
Instances of this class are designed to be immutable; changing attributes after instantiation is not recommended. If a bolt with different parameters is needed, instantiate a new one.
| Attributes: |
|
|---|
designation
cached
property
str: Bolt designation string (e.g. 'M16' for a bolt with 16 mm diameter).
nominal_cross_section
cached
property
BoltCrossSection: Bolt cross-section with nominal diameter.
nominal_cross_section_area
cached
property
float: Area of a circle with nominal diameter.
Deprecated
Use MetricBolt.nominal_cross_section.area instead.
shank_cross_section
cached
property
BoltCrossSection: Bolt shank cross-section.
shank_cross_section_area
cached
property
float: Area of the shank transversal cross-section.
Deprecated
Use MetricBolt.shank_cross_section.area instead.
shank_diameter
cached
property
float: Diameter of the unthreaded shank.
shear_modulus
cached
property
float: Shear modulus G, under the assumption of isotropic linear elastic material.
tensile_cross_section_area
cached
property
float: Tensile stress area, according to ISO 898-1:2013, section 9.1.6.1.
Deprecated
Use MetricBolt.thread_cross_section.area instead.
tensile_moment_of_resistance
cached
property
float: Tensile moment of resistance, according to ISO 898-1:2013, section 9.1.6.1.
Deprecated
Use MetricBolt.thread_cross_section.elastic_section_modulus instead.
thread_basic_minor_diameter
cached
property
float: Basic minor diameter (d1), per ISO 68-1:1998.
thread_basic_pitch_diameter
cached
property
float: Basic pitch diameter (d2), per ISO 68-1:1998.
thread_cross_section
cached
property
BoltCrossSection: Bolt cross-section used for tensile calculations (ISO 898-1:2013, sec. 9.1.6.1).
thread_height
cached
property
float: Height of the metric thread fundamental triangle (H), per ISO 68-1:1998.
thread_minor_diameter
cached
property
float: Minor diameter (d3), per ISO 898-1:2013.
axial_stiffness(length)
Evaluate the axial stiffness of the clamped bolt.
Calculates the axial stiffness according to VDI 2230 Part 1, Section 5.1.1.1.
| Parameters: |
|
|---|
| Returns: |
|
|---|
| Raises: |
|
|---|
bending_stiffness(length)
Evaluate the bending stiffness of the clamped bolt.
Calculates the bending stiffness according to VDI 2230 Part 1, Section 5.1.1.2.
| Parameters: |
|
|---|
| Returns: |
|
|---|
| Raises: |
|
|---|
ultimate_tensile_capacity(standard='Eurocode')
Evaluate the ultimate tensile force that the bolt can sustain.
| Parameters: |
|
|---|
| Returns: |
|
|---|
| Raises: |
|
|---|
Nut
Base class for nut representations.
Washer
Base class for washer representations.
ISOFlatWasher(designation)
Generate a standard flat washer according to ISO 7089.
| Parameters: |
|
|---|
| Returns: |
|
|---|
ISOHexNut(designation)
Generate a standard hexagonal nut according to ISO 4032.
| Parameters: |
|
|---|
| Returns: |
|
|---|
RoundNut(designation)
Generate a standard flanged round nut.
| Parameters: |
|
|---|
| Returns: |
|
|---|
StandardMetricBolt(designation, material_grade, shank_length=0.0, shank_diameter_ratio=1.0, stud=False)
Create a metric bolt with standard dimensions and material properties.
This function provides a convenient way of creating a MetricBolt object,
given the standard geometry designation (e.g. "M20") and the standard material
grade designation (e.g. "8.8").
| Parameters: |
|
|---|
| Returns: |
|
|---|