Model.morphvolumecreateplus#

Model.morphvolumecreateplus(ecollection, xd, yd, zd, buff, sysid, han, ord, tan, options)#

Creates a matrix of morph volumes xd by yd by zd in number aligned with the specified coordinate system (or the global system if zero) and enclosing the elements on the collection.

Parameters:
  • ecollection (Collection) – The collection containing the element entities ro be enclosed.

  • xd (int) – Density of matrix in x direction.

  • yd (int) – Density of matrix in y direction.

  • zd (int) – Density of matrix in z direction.

  • buff (double) – Percentage buffer zone around matrix.

  • sysid (int) – ID of system used to orient matrix.

  • han (int) –

    0 - Do not create handles for morph volumes

    1 - Create handles for morph volumes

  • ord (int) – Order of morph volumes.

  • tan (int) –

    0 - No tangency

    1 - Make neighboring morph volume edges continuously tangent

  • options (int) –

    0 - Do not apply shrinking

    1 - Apply eight iterations of shrinking without internal face movement

    3 - Apply eight iterations of shrinking with internal face movement

Example#

Create a morph volume matrix with three morph volumes on a side, a buffer zone of 10 %, with handles at the corners only, continuously tangent, and shrink the matrix for eight iterations with internal face movement#
import hm
import hm.entities as ent

model = hm.Model()

model.morphvolumecreateplus(
ecollection=hm.Collection(model, ent.Element),
xd=3,
yd=3,
zd=3,
buff=10.0,
sysid=0,
han=1,
ord=1,
tan=1,
options=3,
)