Model.hmmeshdrag#

Model.hmmeshdrag(quads)#

Within the automeshing module, generates quad or tria elements using a surfaceless algorithm. Can only be used with model.surfacemode(mode=3) and one of the Model.draglinetoformsurface() or Model.dragnodestoformsurface() function.

Parameters:

quads (int) – If nonzero, specifies that the created elements should be quads

Example#

Drag six nodes -100.0 units in the direction of the y - axis and create 50 elements without create a surface#
import hm
import hm.entities as ent

model = hm.Model()

model.surfacemode(mode=3)
node1 = ent.Node(model, 5)
node2 = ent.Node(model, 6)
node3 = ent.Node(model, 7)
node4 = ent.Node(model, 10)
node5 = ent.Node(model, 11)
node6 = ent.Node(model, 12)

model.dragnodestoformsurface(
    list=[node1, node2, node3, node4, node5, node6],
    direction_vector=[0.0, 1.0, 0.0],
    distance=-100.0,
)
model.set_meshedgeparams(
    edge_index=0,
    elem_density=5.0,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=1,
    elem_density=10.0,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=2,
    elem_density=5.0,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=3,
    elem_density=10.0,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.hmmeshdrag(quads=1)
model.storemeshtodatabase(elemstosurfcomp=0)
model.ameshclearsurface()