Recent Releases of trimesh

trimesh - Release 4.7.4

Hotfix: Remove a warning (#2440)

GLTF files with a node named "world" were warning, which is not necessary. This changes the warning to a debug.

- Python
Published by github-actions[bot] 6 months ago

trimesh - Release 4.7.3

Release: Parent Loggers + Numpy Dtype Hotfix (#2430)

In trimesh.util.attach_to_log(only_parent=True) if there exist loggers for project, project.other, project.other2, this will only attach to project. By default it is off so it shouldn't change upstream behavior.

We should also probably be doing instead of from .util import log, log = getLogger(__name__) everywhere.

Release Notes

  • Adds the parent logging behavior
  • latest numpy dtypes now show up as |u8 instead of <u8, which we need to strip for the GLTF lookup table.
  • slightly janky fix for #2419 which at least preserves the vertex colors, but should probably be refactored to always store them in vertex_attributes. That would be a large change and I'm not sure it's possible to do without breaking the API.
  • release #2432

- Python
Published by github-actions[bot] 7 months ago

trimesh - Release 4.7.1

Release: Scene Type Hints (#2427)

  • adds a type hint to scene.show with a Literal to fix #2426
  • For some reason a reexport of typing.Literal from trimesh.typed does not work with ruff.

- Python
Published by github-actions[bot] 7 months ago

trimesh - Release 4.7.0

Release: Remove GMSH (#2422)

Trimesh's interface to gmsh has been scheduled for removal and has been printing this warning for more than a year:

trimesh.interfaces.gmsh is deprecated and will be removed January 2025! There are many gmsh options on PyPi: scikit-gmsh gmsh pygmsh gmsh-sdk, users should pick one of those and use it directly. If STEP loading is the only thing needed you may want pip install cascadio which uses OpenCASCADE more directly and will immediately enable STEP as a loadable format in trimesh.

Changes in this release: - remove trimesh.interfaces.gmsh - release #2423 - release #2424 - fix pycollada dependency on Python 3.8

- Python
Published by github-actions[bot] 8 months ago

trimesh - Release 4.6.13

Release: Layer Filter For Path.copy (#2418)

  • add and test path.copy(layers={1, 2}) to only copy particular layers.
  • add the note about signed angles discussed in #2416
  • add a trimesh.primitives.Extrusion(..., mid_plane: bool) option as a helper to produce extrusions that are centered at the origin.
  • convert test_extrude and test_primitives to pytest style, and remove the outdated test skip if triangle isn't installed.
  • fix and test units on 3MF imports, which were being stomped by the metadata = None keyword argument.
  • remove unused trimesh.exchange.gltf._mesh_to_materials function.
  • release #2420

- Python
Published by github-actions[bot] 8 months ago

trimesh - Release 4.6.12

Release: Docstrings + IMC (#2417)

  • fix minimum Python version in readme
  • release #2416
  • release #2415

- Python
Published by github-actions[bot] 9 months ago

trimesh - Release 4.6.11

Release: Don't Copy Embree Scenes (#2411)

  • try to fix #2410
  • release #2409 which fixes #2408
  • release #2404
  • deprecate OpenCTM as it is abandoned, fully superseded by Google's Draco, and was causing maintenance burden for upstream packaging teams. Discussion in https://github.com/trimesh/openctm/issues/5

- Python
Published by github-actions[bot] 9 months ago

trimesh - Release 4.6.10

Release: More SVG Fixes (#2406)

  • fix #2405 and test
  • preserve OBJ material names through a roundtrip mentioned in #2349

- Python
Published by github-actions[bot] 9 months ago

trimesh - Release 4.6.9

Release: SVG Fixes (#2397)

  • release #2395
  • release #2401 which tests and fixes #2253
  • add test and fix #2379
  • test and fix #2402
  • test and fix #2403
  • both SVG cases are now tested by converting the SVG transform tree into a single fully evaluated path string in Inkscape and then confirming the set-of-AABB matches with our evaluation.
  • add identifier_hash to the abstract base class parent.Geometry
  • adds trimesh.inertia.points_inertia to calculate the tensor of an array of point masses to use as a simple identifier for the PointCloud. points_inertia is also useful for approximating a moment of inertia from samples, which we test by sampling the volume of a random box.
  • adds a test that caught Path identifiers being only 2 values from an incorrect axis on a sum.

- Python
Published by github-actions[bot] 10 months ago

trimesh - Release 4.6.8

Release: Fix Typo (#2393)

  • release #2392
  • do another release with the PyPi trusted publisher now that everything is set up.

- Python
Published by github-actions[bot] 10 months ago

trimesh - Release 4.6.7

Release: Trusted Publisher (#2391)

  • release #2387
  • release #2389

- Python
Published by github-actions[bot] 10 months ago

trimesh - Release 4.6.6

hotfix: remove xatlas

- Python
Published by github-actions[bot] 11 months ago

trimesh - Release 4.6.5

Release: Box Normals (#2371)

  • Face normals were being recomputed unnecessarily for Box primitives.
  • release #2367
  • update docker images to Python 3.13 as Debian trixie removed 3.12.

- Python
Published by github-actions[bot] 11 months ago

trimesh - Release 4.6.4

Release: SVG Shapes (#2363)

  • support most of the basic shapes in SVG imports rather than just path strings. Unsupported are ellipses and rounded rectangles. Fixes #2361
  • release #2362

- Python
Published by github-actions[bot] 12 months ago

trimesh - Release 4.6.3

Release: Remove Setuptools (#2360)

  • remove setuptools from trimesh[easy] as it was a legacy thing from before pyproject.toml to fix #2359
  • remove default materials out of a visuals object init as it does unnecessary work when creating a lot of empty meshes/visuals.
  • release #2356

- Python
Published by github-actions[bot] about 1 year ago

trimesh - Release 4.6.2

Release: Face normal fix (#2354)

  • fixes mesh.face_normals for (n, 2) vertices (to always be 3D +Z), rather than crashing
  • test and fix #2345
  • release #2352
  • release #2348
  • release #2355

- Python
Published by github-actions[bot] about 1 year ago

trimesh - Release 4.6.1

Release: Kwarg Passthrough (#2347)

- Python
Published by github-actions[bot] about 1 year ago

trimesh - Release 4.6.0

Release: Refactor Load Types (#2241)

A very common source of annoyance and confusion is that trimesh.load can return lots of different types depending on what type of file was passed (i.e. #2239). This refactor changes the return types for the loading functions to:

  • trimesh.load_scene -> Scene
  • This loads into a Scene, the most general container which can hold any loadable type. Most people should probably use this to load geometry.
  • trimesh.load_mesh -> Trimesh
  • Forces all mesh objects in a scene into a single Trimesh object. This potentially has to drop information and irreversibly concatenate multiple meshes.
  • The implementation of the concatenation logic is now in Scene.to_mesh rather than load.
  • trimesh.load_path -> Path
  • This loads into either a Path2D or Path3D which both inherit from Path
  • trimesh.load -> Geometry
  • This was the original load entry point and is deprecated, but there are no current plans to remove it. It has been modified into a thin wrapper for load_scene that attempts to match the behavior of the previous loader for backwards compatibility. In my testing against the current main branch it was returning the same types 99.8% of the time although there may be other subtle differences.
  • trimesh.load(..., force='mesh') will emit a deprecation warning in favor of load_mesh
  • trimesh.load(..., force='scene') will emit a deprecation warning in favor of load_scene

Additional changes: - Removes Geometry.metadata['file_path'] in favor of Geometry.source.file_path. Everything that inherits from Geometry should now have a .source attribute which is a typed dataclass. This was something of a struggle as file_path was populated into metadata on load, but we also try to make sure metadata is preserved through round-trips if at all possible. And so the load inserted different keys into the metadata. Making it first-class information rather than a loose key seems like an improvement, but users will have to replace mesh.metadata["file_name"] with mesh.source.file_name. - Moves all network fetching into WebResolver so it can be more easily gated by allow_remote. - Removes code for the following deprecations: - January 2025 deprecation for trimesh.resources.get in favor of the typed alternatives (get_json, get_bytes, etc). - January 2025 deprecation for Scene.deduplicated in favor of a very short list comprehension on Scene.duplicate_nodes - March 2024 deprecation for trimesh.graph.smoothed in favor of trimesh.graph.smooth_shaded. - Adds the following new deprecations: - January 2026 Path3D.to_planar -> Path3D.to_2D to be consistent with Path2D.to_3D. - Fixes #2335 - Fixes #2330 - Fixes #2239 - Releases #2313 - Releases #2327 - Releases #2336 - Releases #2339

- Python
Published by github-actions[bot] about 1 year ago

trimesh - Release 4.5.3

Merge pull request #2319 from mikedh/test/iteration

Release: Iteration Tests

- Python
Published by github-actions[bot] about 1 year ago

trimesh - Release 4.5.2

Merge pull request #2312 from mikedh/units/xaml

Release: Boolean Tests

- Python
Published by github-actions[bot] over 1 year ago

trimesh - Release 4.5.1

Merge pull request #2300 from mikedh/followup/3mf

Release Followup: Tuning 3MF loading

- Python
Published by github-actions[bot] over 1 year ago

trimesh - Release 4.5.0

Merge pull request #2290 from mikedh/release/revolve

Release: Revolve Caps

- Python
Published by github-actions[bot] over 1 year ago

trimesh - Release 4.4.9

Merge pull request #2278 from mikedh/fix/scene

Release: Scene Transform

- Python
Published by github-actions[bot] over 1 year ago

trimesh - Release 4.4.8

- Python
Published by github-actions[bot] over 1 year ago

trimesh - Release 4.4.7

- Python
Published by github-actions[bot] over 1 year ago

trimesh - Release 4.4.6

- Python
Published by github-actions[bot] over 1 year ago

trimesh - Release 4.4.4

- Python
Published by github-actions[bot] over 1 year ago

trimesh - Release 4.4.3

- Python
Published by github-actions[bot] over 1 year ago

trimesh - Release 4.4.2

- Python
Published by github-actions[bot] over 1 year ago

trimesh - Release 4.4.1

- Python
Published by github-actions[bot] over 1 year ago

trimesh - Release 4.4.0

- Python
Published by github-actions[bot] almost 2 years ago

trimesh - Release 4.3.2

- Python
Published by github-actions[bot] almost 2 years ago

trimesh - Release 4.3.1

- Python
Published by github-actions[bot] almost 2 years ago

trimesh - Release 4.3.0

- Python
Published by github-actions[bot] almost 2 years ago

trimesh - Release 4.2.4

- Python
Published by github-actions[bot] almost 2 years ago

trimesh - Release 4.2.3

- Python
Published by github-actions[bot] almost 2 years ago

trimesh - Release 4.2.2

- Python
Published by github-actions[bot] almost 2 years ago

trimesh - Release 4.2.1

- Python
Published by github-actions[bot] almost 2 years ago

trimesh - Release 4.2.0

- Python
Published by github-actions[bot] almost 2 years ago

trimesh - Release 4.1.8

- Python
Published by github-actions[bot] almost 2 years ago

trimesh - Release 4.1.7

- Python
Published by github-actions[bot] almost 2 years ago

trimesh - Release 4.1.6

- Python
Published by github-actions[bot] almost 2 years ago

trimesh - Release 4.1.5

- Python
Published by github-actions[bot] almost 2 years ago

trimesh - Release 4.1.4

- Python
Published by github-actions[bot] about 2 years ago

trimesh - Release 4.1.3

- Python
Published by github-actions[bot] about 2 years ago

trimesh - Release 4.1.2

- Python
Published by github-actions[bot] about 2 years ago

trimesh - Release 4.1.0

- Python
Published by github-actions[bot] about 2 years ago

trimesh - Release 4.0.10

- Python
Published by github-actions[bot] about 2 years ago

trimesh - Release 4.0.9

- Python
Published by github-actions[bot] about 2 years ago

trimesh - Release 4.0.8

- Python
Published by github-actions[bot] about 2 years ago

trimesh - Release 4.0.7

- Python
Published by github-actions[bot] about 2 years ago

trimesh - Release 4.0.6

- Python
Published by github-actions[bot] about 2 years ago

trimesh - Release 4.0.5

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 4.0.4

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 4.0.3

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 4.0.2

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 4.0.1

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 4.0.0

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 4.0.0.rc2

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 4.0.0.rc1

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 4.0.0.rc0

https://github.com/mikedh/trimesh/pull/2010

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 3.23.5

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 3.23.3

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 3.23.2

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 3.23.1

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 3.23.0

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 3.22.5

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 3.22.4

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 3.22.3

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 3.22.2

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 3.22.1

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 3.22.0

- Python
Published by github-actions[bot] over 2 years ago

trimesh - Release 3.21.7

- Python
Published by github-actions[bot] almost 3 years ago

trimesh - Release 3.21.6

- Python
Published by github-actions[bot] almost 3 years ago

trimesh - Release 3.21.5

- Python
Published by github-actions[bot] almost 3 years ago

trimesh - Release 3.21.4

- Python
Published by github-actions[bot] almost 3 years ago

trimesh - Release 3.21.3

- Python
Published by github-actions[bot] almost 3 years ago

trimesh - Release 3.21.2

- Python
Published by github-actions[bot] almost 3 years ago

trimesh - Release 3.21.1

- Python
Published by github-actions[bot] almost 3 years ago

trimesh - Release 3.21.0

- Python
Published by github-actions[bot] almost 3 years ago

trimesh - Release 3.20.2

- Python
Published by github-actions[bot] almost 3 years ago

trimesh - Release 3.20.1

- Python
Published by github-actions[bot] almost 3 years ago

trimesh - Release 3.20.0

- Python
Published by github-actions[bot] about 3 years ago

trimesh - Release 3.19.4

- Python
Published by github-actions[bot] about 3 years ago

trimesh - Release 3.19.3

- Python
Published by github-actions[bot] about 3 years ago

trimesh - Release 3.18.3

- Python
Published by github-actions[bot] about 3 years ago

trimesh - Release 3.18.2

- Python
Published by github-actions[bot] about 3 years ago

trimesh - Release 3.18.1

- Python
Published by github-actions[bot] about 3 years ago

trimesh - Release 3.18.0

- Python
Published by github-actions[bot] about 3 years ago

trimesh - Release 3.17.1

- Python
Published by github-actions[bot] about 3 years ago

trimesh - Release 3.17.0

- Python
Published by github-actions[bot] about 3 years ago

trimesh - Release 3.16.4

- Python
Published by github-actions[bot] over 3 years ago

trimesh - Release 3.16.3

- Python
Published by github-actions[bot] over 3 years ago

trimesh - Release 3.16.2

- Python
Published by github-actions[bot] over 3 years ago

trimesh - Release 3.16.1

- Python
Published by github-actions[bot] over 3 years ago

trimesh - Release 3.16.0

- Python
Published by github-actions[bot] over 3 years ago

trimesh - Release 3.15.8

- Python
Published by github-actions[bot] over 3 years ago

trimesh - Release 3.15.7

- Python
Published by github-actions[bot] over 3 years ago

trimesh - Release 3.15.5

- Python
Published by github-actions[bot] over 3 years ago

trimesh - Release 3.15.4

- Python
Published by github-actions[bot] over 3 years ago