Export to PLY
Get your point cloud out of ComfyUI and into MeshLab or Blender
- points
Every node in this pack is about moving geometry around inside ComfyUI. Export to PLY is the one that lets it leave. It takes your Points3D cloud and writes it to a .ply file in ComfyUI's output folder, ready to open in MeshLab, CloudCompare, Blender, or anything else that reads the standard point-cloud format.
When do you actually need this? The honest answer: whenever the in-ComfyUI pipeline hits its ceiling. This pack can rotate, crop, clean and re-render a cloud, but it can't mesh it, measure it, or put it in a 3D scene. The README's own framing is depth maps as raw geometry for downstream 3D - exporting to PLY is how you take a depth map's geometry and hand it to something that can do the rest. If you're building the "image + depth → point cloud → printed/VR/mesh" pipeline, this node is the handoff.
How it works
Straightforward under the hood: the node takes the cloud's (x, y, z, r, g, b) rows and writes a PLY file - either as readable ASCII text or compact binary little-endian. It uses ComfyUI's normal save-image path machinery, so the file lands in ComfyUI/output/ with the same counter-based naming you already know from Save Image, and it follows the same subfolder/date-prefix conventions you can bake into the prefix.
The inputs that matter
- points - the
Points3Dcloud to write out. - filename_prefix (default
ComfyUI) - the output name. The standard ComfyUI formatting works here, so%date:yyyy-MM-dd%etc. are fair game, and a.plyextension is stripped and re-added for you. Files go toComfyUI/output/. - format_out -
asciiorbinary_little_endian. ASCII is human-readable and universally compatible; binary is smaller and faster to load. Default is ASCII, which is the safer choice unless you know your reader handles binary. - multiple_files (default OFF) - splits the output into chunks of ~2 million points when ON. Use this if a downstream tool chokes on a single giant file (a 4K depth map at full quality can easily be millions of points).
This node has no outputs - it's a pure output/sink node. It writes the file and the run is done.
Install
Pack-standard: Manager → "ComfyUI_depthMapOperation", or:
cd ComfyUI/custom_nodes
git clone https://github.com/chri002/ComfyUI_depthMapOperation
Restart. No models to download, no keys; deps (torch, numpy, opencv-python, scipy, pandas) are already in a stock ComfyUI.
Where people get burned
The classic miss is hunting for the file in the wrong place - it's ComfyUI/output/, not your input folder, and the prefix+counter name means ComfyUI_00001_.ply style names unless you set the prefix. Second, one consequence of the binary/ASCII split: keep format_out in mind on round-trips, because the pack's Import from PLY only reads ASCII and binary little-endian. Export as ASCII and you can always pull it back in without thinking. And if a million-point cloud makes Blender hang, that's what multiple_files is for. Single frame only, as with the rest of the pack.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| points | Points3D | — | |
| multiple_files | BOOLEAN | false | — |
| format_out | COMBO | 2 options: ascii, binary_little_endian | |
| filename_prefix | STRING | ComfyUI | The prefix for the file to save. This may include formatting information such as %date:yyyy-MM-dd% or %Empty Latent Image.width% to include values from nodes. |
Outputs (0)
No outputs