trimesh.interfaces package

Submodules

trimesh.interfaces.blender module

trimesh.interfaces.blender.boolean(meshes, operation='difference')

trimesh.interfaces.generic module

class trimesh.interfaces.generic.MeshScript(meshes, script, tmpfile_ext='stl')

Bases: object

Methods

run

run(command)

trimesh.interfaces.gmsh module

trimesh.interfaces.gmsh.load_gmsh(file_name, gmsh_args=None)

Returns a surface mesh from CAD model in Open Cascade Breap (.brep), Step (.stp or .step) and Iges formats Or returns a surface mesh from 3D volume mesh using gmsh.

For a list of possible options to pass to GMSH, check: http://gmsh.info/doc/texinfo/gmsh.html

An easy way to install the GMSH SDK is through the gmsh-sdk package on PyPi, which downloads and sets up gmsh:

>>> pip install gmsh-sdk
Parameters
file_namestr

Location of the file to be imported

gmsh_args(n, 2) list

List of (parameter, value) pairs to be passed to gmsh.option.setNumber

max_elementfloat or None

Maximum length of an element in the volume mesh

Returns
meshtrimesh.Trimesh

Surface mesh of input geometry

trimesh.interfaces.gmsh.to_volume(mesh, file_name=None, max_element=None, mesher_id=1)

Convert a surface mesh to a 3D volume mesh generated by gmsh.

An easy way to install the gmsh sdk is through the gmsh-sdk package on pypi, which downloads and sets up gmsh:

pip install gmsh-sdk

Algorithm details, although check gmsh docs for more information: The “Delaunay” algorithm is split into three separate steps. First, an initial mesh of the union of all the volumes in the model is performed, without inserting points in the volume. The surface mesh is then recovered using H. Si’s boundary recovery algorithm Tetgen/BR. Then a three-dimensional version of the 2D Delaunay algorithm described above is applied to insert points in the volume to respect the mesh size constraints.

The Frontal” algorithm uses J. Schoeberl’s Netgen algorithm. The “HXT” algorithm is a new efficient and parallel reimplementaton of the Delaunay algorithm. The “MMG3D” algorithm (experimental) allows to generate anisotropic tetrahedralizations

Parameters
meshtrimesh.Trimesh

Surface mesh of input geometry

file_namestr or None

Location to save output, in .msh (gmsh) or .bdf (Nastran) format

max_elementfloat or None

Maximum length of an element in the volume mesh

mesher_idint

3D unstructured algorithms: 1: Delaunay, 4: Frontal, 7: MMG3D, 10: HXT

Returns
dataNone or bytes

MSH data, only returned if file_name is None

trimesh.interfaces.scad module

trimesh.interfaces.scad.boolean(meshes, operation='difference')

Run an operation on a set of meshes

trimesh.interfaces.scad.interface_scad(meshes, script)

A way to interface with openSCAD which is itself an interface to the CGAL CSG bindings. CGAL is very stable if difficult to install/use, so this function provides a tempfile- happy solution for getting the basic CGAL CSG functionality.

meshes: list of Trimesh objects script: string of the script to send to scad.

Trimesh objects can be referenced in the script as $mesh_0, $mesh_1, etc.

trimesh.interfaces.vhacd module

trimesh.interfaces.vhacd.convex_decomposition(mesh, **kwargs)

Module contents