Model.hmmeshlinedrag#

Model.hmmeshlinedrag(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.linedragtoformsurface() or Model.linedragnodestoformsurface() function.

Parameters:

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

Example#

Drag the given nodes along lines with IDs 2 and 1 , trimmed by nodes with IDs 29 and 30 , and use the given plane , create 45 elements#
import hm
import hm.entities as ent

model = hm.Model()

model.surfacemode(mode=3)
node1 = ent.Node(model, 5)
node2 = ent.Node(model, 9)
node3 = ent.Node(model, 1)
node4 = ent.Node(model, 15)
node5 = ent.Node(model, 18)
node6 = ent.Node(model, 39)

model.linedragnodestoformsurface(
    sectionnodelist=[node1, node2, node3, node4, node5, node6],
    draglinelist=[ent.Line(model, 2), ent.Line(model, 1)],
    dragnodelist=[ent.Node(model, 29), ent.Node(model, 30)],
    refplane_normal=[0.0, 0.0, 1.0],
    refplane_base=[0.0, 0.0, 100.0],
    using_default_vector=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=9.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=9.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.hmmeshlinedrag(quads=1)
model.storemeshtodatabase(elemstosurfcomp=0)
model.ameshclearsurface()