Model.createexoskeletonlattice#

Model.createexoskeletonlattice(entities, exoskeletonsize, excludeentities=Collection(), nodes=Collection(), radius=0.0, minelemsize=0.0, tol=0.0, matid=0, symmetryid=0, desvaropt='size', designopt='tight', filepath='')#

Creates a skeleton of beams that attaches to either topology results or a donor model.

Parameters:
  • entities (Collection) – The collection containing the input entities. Valid enities are elements, components and parts.

  • exoskeletonsize (double) – The size of the exoskeleton grid to create the lattice.

  • excludeentities (Collection) – The collection containing the entities to be exluded. Valid enities are elements, components and parts.

  • nodes (Collection) – The collection containing the node entities.

  • radius (double) – The search radius multiplier. Recommended value is 2.0.

  • minelemsize (double) – The minimum element size of the 1D elements created during the process.

  • tol (double) – The tolerance value. Recommended value is 0.4.

  • matid (unsigned int) – The ID of the material to be associated with the 1D elements created.

  • symmetryid (unsigned int) – The ID of the symmetry plane along which the exoskeleton should be duplicated and reflected.

  • desvaropt (hwString) – The design variable option to be considered for creating the lattice. Valid values are topology and size.

  • designopt (hwString) – Determines whether the exoskeleton should be tightly or loosely coupled with the underlying FE. Valid values are tight and loose.

  • filepath (hwString) – The include path where the new variables will be stored.

Example#

Create an exoskeleton on all the components in the model with the selected hardpoints#
import hm
import hm.entities as ent

model = hm.Model()

comps = hm.Collection(model,ent.Component)
nodes = hm.Collection(model,ent.Node,[2467,2589])

model.createexoskeletonlattice(
entities=comps,
exoskeletonsize=100.0,
nodes=nodes,
radius=2.0,
minelemsize=0.0,
tol=0.0,
matid=4,
symmetryid=1,
desvaropt="topology",
designopt="tight",
filepath="",
)