MeshTable

class py3dm.MeshTable

Python wrapper providing access to ON_Mesh objects stored in an ONX_Model.

This class offers a convenient interface for adding, retrieving, counting, and iterating over mesh objects.

MeshTable does not own the underlying data; it operates on the associated ONX_Model instance.

__iter__() collections.abc.Iterator[MeshView]
__len__() int
add(obj_attr: ObjectAttributes) uuid.UUID
add(mesh: Mesh, obj_attr: None | ObjectAttributes = None) uuid.UUID
add(initial_face_array_capacity: int, initial_vertex_array_capacity: int, has_vertex_normals: bool, has_texture_coordinates: bool, obj_attr: None | ObjectAttributes = None) uuid.UUID

Returns the UUID of the mesh in case of successful addition, or an empty UUID otherwise. If the mesh is in the model, then the UUID is unique for all components in the model and is locked.

count() int

Returns the number of objects of type ON::mesh_object in the model.

get_by_uuid(object_uuid: uuid.UUID) Mesh | None

Returns the object with the given object_uuid or None if object_uuid is not found.

get_by_uuid_exclusive(object_uuid: uuid.UUID) MeshView | None

Returns the object with the given object_uuid or None if object_uuid is not found.

Notes

From opennurbs documentation (ON_ModelGeometryComponent::ExclusiveGeometry()): Get a pointer to geometry that can be used to modify the geometry. The returned pointer is not shared at the time it is returned and will not be shared until a copy of this ON_ModelGeometryComponent is created. If this ON_ModelGeometryComponent is the only reference to the geometry, then a pointer to the geometry is returned. Otherwise, nullptr is returned.