Model.beamsectioncreatesolid#

Model.beamsectioncreatesolid(collection, plane_normal, plane_base, vector_id, use_plane, base_node, elem_order)#

Creates a solid beam section for , using a planar collection of elements, lines or surfaces.

If surfaces are used, meshes the surface with quads and trias of the specified order (2nd order recommended), with the meshing parameters such as element size calculated in such a way as to produce elements useful to .

If lines are used, builds a surface through the projected lines and meshes the surface with quads and trias as above.

If elements are used, they must form a single, connected patch with small enough elements that there is at least one internal node providing flexibility for each of the thinnest portions of the beam cross-section.

The base_node and vector_id are used to orient the beam cross-section calculations. beam cross-sections are, by convention, assumed to be in the y-z plane. The centroid and moments of inertia will be reported in those coordinates.

Parameters:
  • collection (Collection) – The collection containing the entities to use to create the section. Valid values are elements, lines, or surfaces.

  • plane_normal (hwTriple) – The hwTriple object defining the plane normal components. User can also supply a Python list of three doubles.

  • plane_base (hwTriple) – The hwTriple object defining the base point components of the plane. User can also supply a Python list of three doubles.

  • vector_id (hwTriple) – The hwTriple object defining the y-axis vector to use.

  • use_plane (int) –

    A flag specifying whether or not the plane is reliable; usually this can be inferred automatically from the function.

    0 - tries to infer a plane from the data, then projects the elements, lines, or surfaces to that plane before using them.

    1 - Used when you also supply a plane ID via the plane_normal argument. HyperMesh projects the entities to the specified plane instead of inferring one.

  • base_node (Entity) – The object describing the node entity specifying the origin of all beam section calculations.

  • elem_order (int) – The order (1 or 2) of the elements to use.

Examples#

Create a solid section from elements with IDs 1-100, using an inferred plane, z-axis as the vector, and base node with ID 100#
import hm
import hm.entities as ent

model = hm.Model()

elems = hm.Collection(model, ent.Element, list(range(1, 101)))

model.beamsectioncreatesolid(
  collection=elems,
  plane_normal=(0.0, 0.0, 1.0),
  plane_base=(0.0, 0.0, 1.0),
  vector_id=(0.0, 0.0, 1.0),
  use_plane=0,
  base_node=ent.Node(model, 100),
  elem_order=1
)