Model.voxel_lattice_hex_mesh_init#

Model.voxel_lattice_hex_mesh_init(voxel_size)#

Initializes the voxel hex mesh module. This must precede any calls to other functions “Model.voxel_lattice_hex_mesh…” APIs, and must be followed by a call to Model.voxel_lattice_hex_mesh_end(). Unrelated “major” database changes made while inside of the voxel module cause it to terminate.

Parameters:

voxel_size (double) – The size of the voxel hex elements to be created/registered. Only a uniform size is supported within a single voxel session.

Example#

Create voxels of size 10 for include components with IDs 100 - 110 and exclude components with IDs 200 - 203#
import hm
import hm.entities as ent

model = hm.Model()

# Creating a collection that contains the components to be included
filter_in_components = hm.FilterByEnumeration(ent.Component, list(range(100, 111)))
in_component_collection = hm.Collection(model, filter_in_components)

# Creating a collection that contains the components to be excluded
filter_out_components = hm.FilterByEnumeration(ent.Component, list(range(200, 204)))
out_component_collection = hm.Collection(model, filter_out_components)


model.voxel_lattice_hex_mesh_init(voxel_size=10.0)
model.voxel_lattice_hex_mesh_fill_voids(mode=0)
model.voxel_lattice_hex_mesh_add_entities(collection=in_component_collection, mode=1)
model.voxel_lattice_hex_mesh_remove_entities(
    collection=out_component_collection, mode=1
)
model.voxel_lattice_hex_mesh_create()
model.voxel_lattice_hex_mesh_end()