trimesh.exchange package

Submodules

trimesh.exchange.assimp module

trimesh.exchange.assimp.load_cyassimp(file_obj, file_type=None, resolver=None, **kwargs)

Load a file using the cyassimp bindings.

The easiest way to install these is with conda: conda install -c menpo/label/master cyassimp

Parameters
  • file_obj (str, or file object) – File path or object containing mesh data

  • file_type (str) – File extension, aka ‘stl’

  • resolver (trimesh.visual.resolvers.Resolver) – Used to load referenced data (like texture files)

  • kwargs (dict) – Passed through to mesh constructor

Returns

meshes – Contain kwargs for Trimesh constructor

Return type

(n,) list of dict

trimesh.exchange.assimp.load_pyassimp(file_obj, file_type=None, resolver=None, **kwargs)

Use the pyassimp library to load a mesh from a file object and type or file name if file_obj is a string

Parameters
  • file_obj (str, or file object) – File path or object containing mesh data

  • file_type (str) – File extension, aka ‘stl’

  • resolver (trimesh.visual.resolvers.Resolver) – Used to load referenced data (like texture files)

  • kwargs (dict) – Passed through to mesh constructor

Returns

scene – Native trimesh copy of assimp scene

Return type

trimesh.Scene

trimesh.exchange.assimp.loader(file_obj, file_type=None, resolver=None, **kwargs)

Use the pyassimp library to load a mesh from a file object and type or file name if file_obj is a string

Parameters
  • file_obj (str, or file object) – File path or object containing mesh data

  • file_type (str) – File extension, aka ‘stl’

  • resolver (trimesh.visual.resolvers.Resolver) – Used to load referenced data (like texture files)

  • kwargs (dict) – Passed through to mesh constructor

Returns

scene – Native trimesh copy of assimp scene

Return type

trimesh.Scene

trimesh.exchange.binvox module

Parsing functions for Binvox files.

https://www.patrickmin.com/binvox/binvox.html

Exporting meshes as binvox files requires binvox CL tool to be on your path.

class trimesh.exchange.binvox.Binvox(rle_data, shape, translate, scale)

Bases: tuple

property rle_data

Alias for field number 0

property scale

Alias for field number 3

property shape

Alias for field number 1

property translate

Alias for field number 2

class trimesh.exchange.binvox.Binvoxer(dimension=32, file_type='binvox', z_buffer_carving=True, z_buffer_voting=True, dilated_carving=False, exact=False, bounding_box=None, remove_internal=False, center=False, rotate_x=0, rotate_z=0, wireframe=False, fit=False, block_id=None, use_material_block_id=False, use_offscreen_pbuffer=True, downsample_factor=None, downsample_threshold=None, verbose=False, binvox_path=None)

Bases: object

Interface for binvox CL tool.

This class is responsible purely for making calls to the CL tool. It makes no attempt to integrate with the rest of trimesh at all.

Constructor args configure command line options.

Binvoxer.__call__ operates on the path to a mode file.

If using this interface in published works, please cite the references below.

See CL tool website for further details.

https://www.patrickmin.com/binvox/

@article{nooruddin03,

author = {Fakir S. Nooruddin and Greg Turk}, title = {Simplification and Repair of Polygonal Models Using Volumetric

Techniques},

journal = {IEEE Transactions on Visualization and Computer Graphics}, volume = {9}, number = {2}, pages = {191–205}, year = {2003}

}

@Misc{binvox,

author = {Patrick Min}, title = {binvox}, howpublished = {{ t http://www.patrickmin.com/binvox} or

year = {2004 - 2019}, note = {Accessed: yyyy-mm-dd}

}

SUPPORTED_INPUT_TYPES = ('ug', 'obj', 'off', 'dfx', 'xgl', 'pov', 'brep', 'ply', 'jot')
SUPPORTED_OUTPUT_TYPES = ('binvox', 'hips', 'mira', 'vtk', 'raw', 'schematic', 'msh')
property file_type
trimesh.exchange.binvox.binvox_bytes(rle_data, shape, translate=(0, 0, 0), scale=1)

Get a binary representation of binvox data.

Parameters
  • rle_data (numpy array) – Run-length encoded numpy array.

  • shape ((3,) int) – Shape of voxel grid.

  • translate ((3,) float) – Translation of voxels

  • scale (float) – Length of entire voxel grid.

Returns

data – Suitable for writing to binary file

Return type

bytes

trimesh.exchange.binvox.binvox_header(shape, translate, scale)

Get a binvox header string.

shape: length 3 iterable of ints denoting shape of voxel grid. translate: length 3 iterable of floats denoting translation. scale: num length of entire voxel grid.

string including “data

” line.

trimesh.exchange.binvox.export_binvox(voxel, axis_order='xzy')

Export trimesh.voxel.VoxelGrid instance to bytes

Parameters
  • voxel (trimesh.voxel.VoxelGrid) – Assumes axis ordering of xyz and encodes in binvox default xzy ordering.

  • axis_order (str) – Eements in (‘x’, ‘y’, ‘z’, 0, 1, 2), the order of axes to encode data (standard is ‘xzy’ for binvox). voxel data is assumed to be in order ‘xyz’.

Returns

result – Representation according to binvox spec

Return type

bytes

trimesh.exchange.binvox.load_binvox(file_obj, resolver=None, axis_order='xzy', file_type=None)

Load trimesh VoxelGrid instance from file.

Parameters
  • file_obj (file-like object) – Contains binvox data

  • resolver (unused) –

  • axis_order (str) – Order of axes in encoded data. Binvox default is ‘xzy’, but ‘xyz’ may be faster where this is not relevant.

Returns

result – Loaded voxel data

Return type

trimesh.voxel.VoxelGrid

trimesh.exchange.binvox.parse_binvox(fp, writeable=False)

Read a binvox file, spec at https://www.patrickmin.com/binvox/binvox.html

Parameters

fp (file-object) – File like object with binvox file

Returns

  • binvox (namedtuple) – Containing data

  • rle (numpy array) – Run length encoded data

Raises

IOError – If invalid binvox file

trimesh.exchange.binvox.parse_binvox_header(fp)

Read the header from a binvox file. Spec available: https://www.patrickmin.com/binvox/binvox.html

Parameters

fp (file-object) – File like object with binvox file

Returns

  • shape (tuple) – Shape of binvox according to binvox spec

  • translate (tuple) – Translation

  • scale (float) – Scale of voxels

Raises

IOError – If invalid binvox file.

trimesh.exchange.binvox.voxel_from_binvox(rle_data, shape, translate=None, scale=1.0, axis_order='xzy')

Factory for building from data associated with binvox files.

Parameters
  • rle_data (numpy) – Run-length-encoded of flat voxel values, or a trimesh.rle.RunLengthEncoding object. See trimesh.rle documentation for description of encoding

  • shape ((3,) int) – Shape of voxel grid.

  • translate ((3,) float) – Translation of voxels

  • scale (float) – Length of entire voxel grid.

  • encoded_axes (iterable) – With values in (‘x’, ‘y’, ‘z’, 0, 1, 2), where x => 0, y => 1, z => 2 denoting the order of axes in the encoded data. binvox by default saves in xzy order, but using xyz (or (0, 1, 2)) will be faster in some circumstances.

Returns

result – Loaded voxels

Return type

VoxelGrid

trimesh.exchange.binvox.voxelize_mesh(mesh, binvoxer=None, export_type='off', **binvoxer_kwargs)

Interface for voxelizing Trimesh object via the binvox tool.

Implementation simply saved the mesh in the specified export_type then runs the Binvoxer.__call__ (using either the supplied binvoxer or creating one via binvoxer_kwargs)

Parameters
  • mesh (Trimesh object to voxelize.) –

  • binvoxer (optional Binvoxer instance.) –

  • export_type (file type to export mesh as temporarily for Binvoxer to) – operate on.

  • **binvoxer_kwargs (kwargs for creating a new Binvoxer instance. If binvoxer) – if provided, this must be empty.

Returns

Return type

VoxelGrid object resulting.

trimesh.exchange.dae module

trimesh.exchange.dae.export_collada(mesh, **kwargs)

Export a mesh or a list of meshes as a COLLADA .dae file.

Parameters

mesh (Trimesh object or list of Trimesh objects) – The mesh(es) to export.

Returns

export

Return type

str, string of COLLADA format output

trimesh.exchange.dae.load_collada(file_obj, resolver=None, **kwargs)

Load a COLLADA (.dae) file into a list of trimesh kwargs.

Parameters
  • file_obj (file object) – Containing a COLLADA file

  • resolver (trimesh.visual.Resolver or None) – For loading referenced files, like texture images

  • kwargs – Passed to trimesh.Trimesh.__init__

Returns

loaded – kwargs for Trimesh constructor

Return type

list of dict

trimesh.exchange.dae.load_zae(file_obj, resolver=None, **kwargs)

Load a ZAE file, which is just a zipped DAE file.

Parameters
  • file_obj (file object) – Contains ZAE data

  • resolver (trimesh.visual.Resolver) – Resolver to load additional assets

  • kwargs (dict) – Passed to load_collada

Returns

loaded – Results of loading

Return type

dict

trimesh.exchange.export module

trimesh.exchange.export.export_dict(mesh, encoding=None)

Export a mesh to a dict

Parameters
  • mesh (Trimesh object) – Mesh to be exported

  • encoding (str, or None) – ‘base64’

Returns

export – Data stored in dict

Return type

dict

trimesh.exchange.export.export_dict64(mesh)

Export a mesh as a dictionary, with data encoded to base64.

trimesh.exchange.export.export_json(mesh)
trimesh.exchange.export.export_mesh(mesh, file_obj, file_type=None, **kwargs)

Export a Trimesh object to a file- like object, or to a filename

Parameters
  • file_obj (str, file-like) – Where should mesh be exported to

  • file_type (str or None) – Represents file type (eg: ‘stl’)

Returns

exported – Result of exporter

Return type

bytes or str

trimesh.exchange.export.export_msgpack(mesh)
trimesh.exchange.export.scene_to_dict(scene, use_base64=False)

Export a Scene object as a dict.

Parameters

scene (trimesh.Scene) – Scene object to be exported

Returns

as_dict – Scene as a dict

Return type

dict

trimesh.exchange.gltf module

gltf.py

Provides GLTF 2.0 exports of trimesh.Trimesh objects as GL_TRIANGLES, and trimesh.Path2D/Path3D as GL_LINES

trimesh.exchange.gltf.export_glb(scene, extras=None, include_normals=False)

Export a scene as a binary GLTF (GLB) file.

Parameters
  • scene (trimesh.Scene) – Input geometry

  • extras (JSON serializable) – Will be stored in the extras field

  • include_normals (bool) – Include vertex normals in output file?

Returns

exported – Exported result in GLB 2.0

Return type

bytes

trimesh.exchange.gltf.export_gltf(scene, extras=None, include_normals=False)

Export a scene object as a GLTF directory.

This puts each mesh into a separate file (i.e. a buffer) as opposed to one larger file.

Parameters

scene (trimesh.Scene) – Scene to be exported

Returns

export – Format: {file name : file data}

Return type

dict

trimesh.exchange.gltf.get_schema()

Get a copy of the GLTF 2.0 schema with references resolved.

Returns

schema – A copy of the GLTF 2.0 schema without external references.

Return type

dict

trimesh.exchange.gltf.load_glb(file_obj, resolver=None, **mesh_kwargs)

Load a GLTF file in the binary GLB format into a trimesh.Scene.

Implemented from specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0

Parameters

file_obj (file- like object) – Containing GLB data

Returns

kwargs – Kwargs to instantiate a trimesh.Scene

Return type

dict

trimesh.exchange.gltf.load_gltf(file_obj=None, resolver=None, **mesh_kwargs)

Load a GLTF file, which consists of a directory structure with multiple files.

Parameters
  • file_obj (None or file-like) – Object containing header JSON, or None

  • resolver (trimesh.visual.Resolver) – Object which can be used to load other files by name

  • **mesh_kwargs (dict) – Passed to mesh constructor

Returns

kwargs – Arguments to create scene

Return type

dict

trimesh.exchange.gltf.validate(header)

Validate a GLTF 2.0 header against the schema.

Returns result from: jsonschema.validate(header, schema=get_schema())

Parameters

header (dict) – Populated GLTF 2.0 header

:raises err : jsonschema.exceptions.ValidationError: If the tree is an invalid GLTF2.0 header

trimesh.exchange.load module

trimesh.exchange.load.available_formats()

Get a list of all available loaders

Returns

loaders – Extensions of available loaders i.e. ‘stl’, ‘ply’, ‘dxf’, etc.

Return type

list

trimesh.exchange.load.load(file_obj, file_type=None, resolver=None, **kwargs)

Load a mesh or vectorized path into objects like Trimesh, Path2D, Path3D, Scene

Parameters
  • file_obj (str, or file- like object) – The source of the data to be loadeded

  • file_type (str) – What kind of file type do we have (eg: ‘stl’)

  • resolver (trimesh.visual.Resolver) – Object to load referenced assets like materials and textures

  • kwargs (dict) – Passed to geometry __init__

Returns

geometry – Loaded geometry as trimesh classes

Return type

Trimesh, Path2D, Path3D, Scene

trimesh.exchange.load.load_compressed(file_obj, file_type=None, resolver=None, mixed=False, **kwargs)

Given a compressed archive load all the geometry that we can from it.

Parameters
  • file_obj (open file-like object) – Containing compressed data

  • file_type (str) – Type of the archive file

  • mixed (bool) – If False, for archives containing both 2D and 3D data will only load the 3D data into the Scene.

Returns

scene – Geometry loaded in to a Scene object

Return type

trimesh.Scene

trimesh.exchange.load.load_kwargs(*args, **kwargs)

Load geometry from a properly formatted dict or kwargs

trimesh.exchange.load.load_remote(url, **kwargs)

Load a mesh at a remote URL into a local trimesh object.

This must be called explicitly rather than automatically from trimesh.load to ensure users don’t accidentally make network requests.

Parameters
  • url (string) – URL containing mesh file

  • **kwargs (passed to load) –

trimesh.exchange.load.mesh_formats()

Get a list of mesh formats

Returns

loaders – Extensions of available mesh loaders i.e. ‘stl’, ‘ply’, etc.

Return type

list

trimesh.exchange.load.parse_file_args(file_obj, file_type, resolver=None, **kwargs)

Given a file_obj and a file_type try to turn them into a file-like object and a lowercase string of file type.

Parameters
  • file_obj (str: if string represents a file path, returns) –

    file_obj: an ‘rb’ opened file object of the path file_type: the extension from the file path

    str: if string is NOT a path, but has JSON-like special characters

    file_obj: the same string passed as file_obj file_type: set to ‘json’

    str: string is a valid URL

    file_obj: an open ‘rb’ file object with retrieved data file_type: from the extension

    str: string is not an existing path or a JSON-like object

    ValueError will be raised as we can’t do anything with input

    file like object: we cannot grab information on file_type automatically

    ValueError will be raised if file_type is None file_obj: same as input file_type: same as input

    other object: like a shapely.geometry.Polygon, etc:

    file_obj: same as input file_type: if None initially, set to the class name

    (in lower case), otherwise passed through

  • file_type (str, type of file and handled according to above) –

Returns

  • file_obj (loadable object)

  • file_type (str, lower case of the type of file (eg ‘stl’, ‘dae’, etc))

  • metadata (dict, any metadata)

  • opened (bool, did we open the file or not)

trimesh.exchange.misc module

trimesh.exchange.misc.load_dict(data, **kwargs)

Load multiple input types into kwargs for a Trimesh constructor. Tries to extract keys: ‘faces’ ‘vertices’ ‘face_normals’ ‘vertex_normals’

Parameters
  • data (accepts multiple forms) –

    -dict: has keys for vertices and faces as (n,3) numpy arrays -dict: has keys for vertices/faces (n,3) arrays encoded as dicts/base64

    with trimesh.util.array_to_encoded/trimesh.util.encoded_to_array

    -str: json blob as dict with either straight array or base64 values -file object: json blob of dict

  • file_type (not used) –

Returns

loaded – -vertices: (n,3) float -faces: (n,3) int -face_normals: (n,3) float (optional)

Return type

dict with keys

trimesh.exchange.misc.load_msgpack(blob, **kwargs)

Load a dict packed with msgpack into kwargs for a Trimesh constructor

Parameters

blob (bytes) – msgpack packed dict containing keys ‘vertices’ and ‘faces’

Returns

loaded – Keyword args for Trimesh constructor, aka mesh=trimesh.Trimesh(**loaded)

Return type

dict

trimesh.exchange.obj module

trimesh.exchange.obj.export_obj(mesh, include_normals=True, include_color=True)

Export a mesh as a Wavefront OBJ file

Parameters

mesh (trimesh.Trimesh) – Mesh to be exported

Returns

export – OBJ format output

Return type

str

trimesh.exchange.obj.load_obj(file_obj, resolver=None, split_object=False, group_material=True, **kwargs)

Load a Wavefront OBJ file into kwargs for a trimesh.Scene object.

Parameters
  • file_obj (file like object) – Contains OBJ data

  • resolver (trimesh.visual.resolvers.Resolver) – Allow assets such as referenced textures and material files to be loaded

  • split_object (bool) – Split meshes at each o declared in file

  • group_material (bool) – Group faces that share the same material into the same mesh.

Returns

kwargs – Keyword arguments which can be loaded by trimesh.exchange.load.load_kwargs into a trimesh.Scene

Return type

dict

trimesh.exchange.obj.parse_mtl(mtl, resolver=None)

Parse a loaded MTL file.

Parameters
  • mtl (str or bytes) – Data from an MTL file

  • resolver (trimesh.visual.Resolver) – Fetch assets by name from files, web, or other

Returns

mtllibs – Each dict has keys: newmtl, map_Kd, Kd

Return type

list of dict

trimesh.exchange.off module

trimesh.exchange.off.export_off(mesh, digits=10)

Export a mesh as an OFF file, a simple text format

Parameters
  • mesh (trimesh.Trimesh) – Geometry to export

  • digits (int) – Number of digits to include on floats

Returns

export – OFF format output

Return type

str

trimesh.exchange.off.load_off(file_obj, **kwargs)

Load an OFF file into the kwargs for a Trimesh constructor

Parameters

file_obj (file object) – Contains an OFF file

Returns

loaded – kwargs for Trimesh constructor

Return type

dict

trimesh.exchange.openctm module

trimesh.exchange.openctm.load_ctm(file_obj, file_type=None, **kwargs)

Load OpenCTM files from a file object.

Parameters

file_obj (open file- like object) –

Returns

loaded

kwargs for a Trimesh constructor:
{vertices: (n,3) float, vertices

faces: (m,3) int, indexes of vertices}

Return type

dict

trimesh.exchange.ply module

trimesh.exchange.ply.element_colors(element)

Given an element, try to extract RGBA color from properties and return them as an (n,3|4) array.

Parameters

element (dict, containing color keys) –

Returns

  • colors ((n,(3|4))

  • signal (float, estimate of range)

trimesh.exchange.ply.elements_to_kwargs(elements, fix_texture, image)

Given an elements data structure, extract the keyword arguments that a Trimesh object constructor will expect.

Parameters

elements (OrderedDict object, with fields and data loaded) –

Returns

kwargs – eg: mesh = trimesh.Trimesh(**kwargs)

Return type

dict, with keys for Trimesh constructor.

trimesh.exchange.ply.export_draco(mesh)

Export a mesh using Google’s Draco compressed format.

Only works if draco_encoder is in your PATH: https://github.com/google/draco

Parameters

mesh (Trimesh object) –

Returns

data – DRC file bytes

Return type

str or bytes

trimesh.exchange.ply.export_ply(mesh, encoding='binary', vertex_normal=None)

Export a mesh in the PLY format.

Parameters
  • mesh (Trimesh object) –

  • encoding (['ascii'|'binary_little_endian']) –

  • vertex_normal (include vertex normals) –

Returns

export

Return type

bytes of result

trimesh.exchange.ply.load_draco(file_obj, **kwargs)

Load a mesh from Google’s Draco format.

Parameters

file_obj (file- like object) – Contains data

Returns

kwargs – Keyword arguments to construct a Trimesh object

Return type

dict

trimesh.exchange.ply.load_ply(file_obj, resolver=None, fix_texture=True, *args, **kwargs)

Load a PLY file from an open file object.

Parameters
  • file_obj (an open file- like object) – Source data, ASCII or binary PLY

  • resolver (trimesh.visual.resolvers.Resolver) – Object which can resolve assets

  • fix_texture (bool) – If True, will re- index vertices and faces so vertices with different UV coordinates are disconnected.

Returns

mesh_kwargs – Data which can be passed to Trimesh constructor, eg: a = Trimesh(**mesh_kwargs)

Return type

dict

trimesh.exchange.ply.parse_header(file_obj)

Read the ASCII header of a PLY file, and leave the file object at the position of the start of data but past the header.

Parameters

file_obj (open file object) – Positioned at the start of the file

Returns

  • elements (collections.OrderedDict) – Fields and data types populated

  • is_ascii (bool) – Whether the data is ASCII or binary

  • image_name (None or str) – File name of TextureFile

trimesh.exchange.ply.ply_ascii(elements, file_obj)

Load data from an ASCII PLY file into an existing elements data structure.

Parameters
  • elements (OrderedDict object, populated from the file header.) – object will be modified to add data by this function.

  • file_obj (open file object, with current position at the start) – of the data section (past the header)

trimesh.exchange.ply.ply_binary(elements, file_obj)

Load the data from a binary PLY file into the elements data structure.

Parameters
  • elements (OrderedDict object, populated from the file header.) – object will be modified to add data by this function.

  • file_obj (open file object, with current position at the start) – of the data section (past the header)

trimesh.exchange.stl module

exception trimesh.exchange.stl.HeaderError

Bases: Exception

trimesh.exchange.stl.export_stl(mesh)

Convert a Trimesh object into a binary STL file.

Parameters

mesh (Trimesh object) –

Returns

export

Return type

bytes, representing mesh in binary STL form

trimesh.exchange.stl.export_stl_ascii(mesh)

Convert a Trimesh object into an ASCII STL file.

Parameters

mesh (trimesh.Trimesh) –

Returns

export – Mesh represented as an ASCII STL file

Return type

str

trimesh.exchange.stl.load_stl(file_obj, **kwargs)

Load an STL file from a file object.

Parameters

file_obj (open file-like object) – Containing STL data

Returns

loaded – kwargs for a Trimesh constructor with keys: vertices: (n,3) float, vertices faces: (m,3) int, indexes of vertices face_normals: (m,3) float, normal vector of each face

Return type

dict

trimesh.exchange.stl.load_stl_ascii(file_obj)

Load an ASCII STL file from a file object.

Parameters

file_obj (open file- like object) – Containing input data

Returns

loaded – kwargs for a Trimesh constructor with keys: vertices: (n,3) float, vertices faces: (m,3) int, indexes of vertices face_normals: (m,3) float, normal vector of each face

Return type

dict

trimesh.exchange.stl.load_stl_binary(file_obj)

Load a binary STL file from a file object.

Parameters

file_obj (open file- like object) – Containing STL data

Returns

loaded – vertices: (n,3) float, vertices faces: (m,3) int, indexes of vertices face_normals: (m,3) float, normal vector of each face

Return type

kwargs for a Trimesh constructor with keys:

trimesh.exchange.threemf module

trimesh.exchange.threemf.load_3MF(file_obj, postprocess=True, **kwargs)

Load a 3MF formatted file into a Trimesh scene.

Parameters

file_obj (file object) –

Returns

kwargs

Return type

dict, with keys ‘graph’, ‘geometry’, ‘base_frame’

trimesh.exchange.urdf module

trimesh.exchange.urdf.export_urdf(mesh, directory, scale=1.0, color=[0.75, 0.75, 0.75], **kwargs)

Convert a Trimesh object into a URDF package for physics simulation. This breaks the mesh into convex pieces and writes them to the same directory as the .urdf file.

Parameters
  • mesh (Trimesh object) –

  • directory (str) – The directory path for the URDF package

Returns

mesh – Multi-body mesh containing convex decomposition

Return type

Trimesh object

trimesh.exchange.xml_based module

trimesh.exchange.xml_based.load_3DXML(file_obj, *args, **kwargs)

Load a 3DXML scene into kwargs.

Parameters

file_obj (file object) – Open and containing 3DXML data

Returns

kwargs – Can be passed to trimesh.exchange.load.load_kwargs

Return type

dict

trimesh.exchange.xml_based.load_XAML(file_obj, *args, **kwargs)

Load a 3D XAML file.

Parameters

file_obj (file object) – Open, containing XAML file

Returns

result – kwargs for a trimesh constructor, including: vertices: (n,3) np.float64, points in space faces: (m,3) np.int64, indices of vertices face_colors: (m,4) np.uint8, RGBA colors vertex_normals: (n,3) np.float64, vertex normals

Return type

dict

trimesh.exchange.xml_based.print_element(element)

Pretty- print an lxml.etree element.

Parameters

element (etree element) –

Module contents