ply_save
Get your processed point cloud out of ComfyUI
- gs_ply
- gs_ply
- save_path
If you're working with PLY point clouds or gaussian-splat data in ComfyUI, you'll eventually process something and want it out - a file on disk you can open in CloudCompare, Blender, or feed to another tool. ply_save is that exit door for this pack: it takes a GS_PLY (the 3DGS/point-cloud type this pack shares with ComfyUI-3D-Pack), writes it to disk, and hands it back.
The inputs are gs_ply (the GS_PLY data) and save_path, a string that defaults to empty. Here's the behavior that matters: leave save_path empty and the file lands in the plugin's cache folder as a single ply_cache.ply - and the next save overwrites it. That's not a bug, it's the design: the cache keeps exactly one file. If you want your work to survive more than one run, give it a real path.
The outputs are gs_ply (the same data passed through, so you can chain further nodes after saving) and save_path (the resolved location, so you always know where it actually went). Under the hood it uses plyfile to write, which is one of the pack's declared dependencies - if the pack installed cleanly, writing works.
Where this fits: paired with the pack's ply_load and the processing nodes, it's the standard "import → process → export" loop for industrial point clouds and 3DGS data. The README notes the author tested importing industrial PLY files via CloudCompare, so the file format handling is meant to interop with real-world tools, not just the pack's own ecosystem. Note ply_save writes what it's given - if you need a PLY normalized to a specific convention or color-channel order, do that in the processing nodes before this one.
Two gotchas worth knowing. First, GS_PLY is a type registered by ComfyUI-3D-Pack, so if the input socket won't take anything, that 3D pack isn't installed - this pack provides the editor, 3D-Pack provides the type. Second, this pack has a history of the author renaming nodes between releases, and the source contains an older stub ply_save (a plain path passthrough) alongside the real one - if a saved workflow shows ply_save doing nothing, it's likely an old node instance; recreate it and reconnect.
Install via ComfyUI Manager (search "ComfyUI-3D-MeshTool") and restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/807502278/ComfyUI-3D-MeshTool
cd ComfyUI-3D-MeshTool
pip install -r requirements.txt # kiui, xatlas, pyfqmr, plyfile
And the one rule to internalize: if you don't type a save path, you're keeping one cached file and the next save eats it. Type the path.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| gs_ply | GS_PLY | — | |
| save_path | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| gs_ply | GS_PLY | — |
| save_path | STRING | — |