Nodes/comfyui-koala/Koala Save 3D Mesh Anywhere
ComfyUI Node

Koala Save 3D Mesh Anywhere

Give that generated mesh a real home — Koala Save 3D Mesh Anywhere

By cloudkoala·Created about a year ago·Updated about a year ago· 0
Koala Save 3D Mesh Anywhere
  • trimesh
  • file_path
save_directoryC:/output
filenamemodel
file_format

ComfyUI got into 3D the messy way: image-to-mesh nodes appeared as separate packs, each with its own way of dumping files, and half of them save into hardcoded temp locations you have to go hunting for. Koala Save 3D Mesh Anywhere cuts through that. It takes a mesh from whatever node produced it and writes it to any directory you choose, in six common formats: glb, obj, ply, stl, 3mf, or dae. If you've generated a mesh and want to actually get it out of ComfyUI in one piece, this is the output node for the job.

Where the mesh comes from

This node doesn't generate anything - it's the tail end of a pipeline. Its input type is TRIMESH, the mesh object produced by image-to-3D nodes like the TripoSR-based packs, ComfyUI-3D, or MoGe wrappers that turn a depth point map into actual geometry. The standard route is: generate a base shape with TripoSR or a multi-view model, then use this to export what you got. Depth-estimation pipelines feed the same space - a depth map becomes a height field, and that height field exports as an STL ready for a 3D printer.

How it works

Under the hood it's a thin wrapper around trimesh.export(). It creates the target directory if it doesn't exist, strips any extension from your filename, appends the format you picked, and writes the file. It returns the full saved path as a file_path string.

The inputs that matter

  • trimesh: the mesh object from your generator. This is the whole point - wire your TripoSR/MoGe output here.
  • save_directory: absolute folder. Default is C:/output, a Windows path. On Linux or macOS that default creates a literal C: directory in your ComfyUI working folder, so set a real absolute path.
  • filename: base name (default model); any extension you type gets stripped.
  • file_format: the one that decides everything downstream. glb for web/three.js, obj or ply for general interchange, stl or 3mf for 3D printing, dae for game-engine import and Blender.

One output: file_path, where the mesh actually landed.

Install and dependencies

The pack's requirements.txt lists trimesh, which is the library that reads and writes these mesh formats. If you already run a mesh-generating node, trimesh is probably installed - this save node doesn't even import it at module load, it just calls .export() on the mesh object you feed it. If you get an import error, fix it directly:

pip install trimesh

For the node itself, the README says ComfyUI Manager support is "coming soon," so clone it manually and restart:

cd ComfyUI/custom_nodes
git clone https://github.com/cloudkoala/comfyui-koala.git

You'll find "Koala Save 3D Mesh Anywhere" under the Koala category, alongside the pack's aspect-ratio and image-save nodes.

Things to watch

If the TRIMESH input type doesn't appear in the node list at all, it's because you don't have a mesh-producing pack installed - the type has to come from somewhere. And remember the mesh itself is only as good as its source: a quick TripoSR output is a base shape, not a finished model, so expect to do cleanup in a proper tool before it's usable. The Windows-path default is the same trap as in the image-save sibling, and the "anything anywhere" pattern is one the community warns can make workflows hard to follow - use it where you need a file in a specific place, not as a habit.

CategoryKoala

Inputs (4)

NameTypeDefaultDescription
trimeshTRIMESH
save_directorySTRINGC:/output
filenameSTRINGmodel
file_formatCOMBO6 options: glb, obj, ply, stl, 3mf, dae

Outputs (1)

NameTypeDescription
file_pathSTRING