Model.fastenercreation#

Model.fastenercreation(coeffa=0.0, coeffb1=0.0, coeffb2=0.0, component_collection=Collection(), geom_collection=Collection(), conntype='Bolts', createupdateoption=0, diameter=0.0, diameteropt='Value', elemtype='FASTENER', fileloc='', filelocopt=False, k4=0.0, k5=0.0, k6=0.0, material=Entity(), method='', numlayer=-1, numlayeropt='Calculated', orientopt='Auto', projectiondirection=hwTriple(0.0, 0.0, 0.0), projectionmethod='normal to links', projectionspecificlink=Entity(), system=Entity(), tolerance=10.0, toleranceopt='', youngmodopt='')#

Creates fastener connectors, elements, properties, and materials using the Huth formula. Currently only supported for Abaqus profile.

Valid column labels in the CSV file are:

  • x,y,z for location

  • x1,y1,z1,x2,y2,z2 for start and end point of line

  • lineid for ID of line

  • nodeid for ID of node

  • pointid for ID of point

  • material for ID of material

  • diameter for fastener diameter

  • tolerance or length for tolerance of line

  • cid for system ID if the locations are in a specific system

The default Huth constants are:

  • Coefficient a: 2/3 for metallic and bolted graphite/epoxy, 2/5 for riveted metallic

  • Coefficient b: 3 for bolted metallic, 2.2 for riveted metallic, 4.2 for bolted graphite/epoxy

  • Coefficient b1=b/n b2=b/n^2 where n is the number of shear

Parameters:
  • coeffa (double) – The a value when method=”User defined(Huth)”.

  • coeffb1 (double) – The b1 value when method=”User defined(Huth)”.

  • coeffb2 (double) – The b2 value when method=”User defined(Huth)”.

  • component_collection (Collection) – The collection containing the entities for finding attached shells or projections.

  • geom_collection (Collection) – The collection containing the entities for creating (lines, points, nodes) and updating (connectors) operations.

  • conntype (hwString) – The connection type, Bolts or Rivets.

  • createupdateoption (int) –

    0 - Connector creation

    1 - Connector post-processing for creating materials, properties, etc…

  • diameter (double) – The diameter value when diameteropt=Value.

  • diameteropt (hwString) –

    Calculated - Consider from file if it has diameter information, else from perpendicular lines on component_collection

    Value - Specified via diameter

  • elemtype (hwString) – The solver element type. Must be set to Fastener for creating CONN3D in .

  • fileloc (hwString) – The full file path which contains values like diameter, line ID, node ID, point ID, material ID, point location, etc… when filelocopt=1.

  • filelocopt (bool) – If set to True, fileloc is used.

  • k4 (double) – The stiffness value k4.

  • k5 (double) – The stiffness value k5.

  • k6 (double) – The stiffness value k6.

  • material (Entity) – The object describing the material entity when youngmodopt=material.

  • method (hwString) –

    “Huth Formula”

    ”User defined(Huth)” - Must specify coeffa, coeffb1, and coeffb2.

  • numlayer (int) – The number of layers when numlayeropt=Value.

  • numlayeropt (hwString) –

    Calculated - Automatic calculation (default)

    Value - Specified via numlayer

  • orientopt (hwString) –

    The orientation option:

    Auto - Automatic (default)

    UserDefined - Specified via system

  • projectiondirection (hwTriple) – The direction values when projectionmethod="along discrete direction"

  • projectionmethod (hwString) –

    The method for calculating the projection. Valid values are:

    ”along discrete direction”

    ”normal to closest link”

    ”normal to furthest link”

    ”normal to links” (default)

    ”normal to specific link”

  • projectionspecificlink (Entity) – The object describing the component entity when projectionmethod="normal to specific link".

  • system (Entity) – The object describing the system entity when orientopt=UserDefined.

  • tolerance (double) – The tolerance value when toleranceopt=Value.

  • toleranceopt (hwString) –

    The connector tolerance:

    Calculated - Automatic calculation from lines

    Value - Specified via tolerance

  • youngmodopt (hwString) –

    material - Value is taken from material.

    <value> - The specific value to use

Example#

Create fasteners on all lines (via comps), with diameter of 5, automatic number of layers, Young’s modulus taken from material 1, and the tolerance calculated using lines#
import hm
import hm.entities as ent

model = hm.Model()

comps = hm.Collection(model, ent.Component)
lines = hm.Collection(model, ent.Line)

model.fastenercreation(
      component_collection=comps,
      geom_collection=lines,
      conntype="Bolts",
      createupdateoption=0,
      diameter=5.0,
      diameteropt="Value",
      elemtype="FASTENER",
      filelocopt=False,
      k4=100.0,
      k5=1.0E8,
      k6=1.0E8,
      material=ent.Material(model, 1),
      method="Hutch Formula",
      numlayer=-1,
      numlayeropt="Calculated",
      orientopt="Auto",
      toleranceopt="Calculated",
      youngmodopt="material"
)