Nodes/RDAWG 3D Pack (CUDA 12.8 + PyTorch 2.9.0)/๐Ÿ”ท Load Point Cloud (RDAWG)
ComfyUI Node

๐Ÿ”ท Load Point Cloud (RDAWG)

Bring a point cloud into ComfyUI โ€” the .ply/.pcd loader

By rdawgemflยทCreated 11 months agoยทUpdated 11 months agoยท 0
๐Ÿ”ท Load Point Cloud (RDAWG)
    • point_cloud
    • info
    โ—„file_pathโ–บ
    โ—„estimate_normalstrueโ–บ
    โ—„deviceautoโ–บ

    If your 3D source is a point cloud - a LiDAR sweep, a photogrammetry export, a depth map turned into points - this is the node that gets it into your graph. RDAWG3DLoadPointCloud reads point-cloud files through Open3D and returns the POINT_CLOUD object that every other point-cloud node in the pack consumes. It's the point-cloud mirror of the pack's Load 3D Model node, and if you never touch raw point data, you'll never need it. If you do, it's the only door in.

    Same disclaimer as the rest of the pack: this is a small, zero-footprint custom-node pack, and the "Load" here means files, not AI model checkpoints. You're pointing it at .ply, .pcd, .xyz, or similar point data.

    How it works

    The node calls Open3D's read_point_cloud() on your path, then wraps the result in the pack's POINT_CLOUD data structure: points as a torch tensor on your chosen device, plus normals and colors if the file carries them. If you leave estimate_normals on and the file has none, it computes normals on the spot - which matters because the reconstruction node downstream won't do much without them.

    The info output tells you what actually loaded: file name, point count, whether normals/colors are present, and which device the tensors landed on. Cheap and worth wiring to a text preview.

    The inputs that matter

    • file_path - the one to set. Path to your .ply, .pcd, .xyz file.
    • estimate_normals - on by default; keep it on for reconstruction pipelines.
    • device - auto picks CUDA when available.

    Outputs: point_cloud (POINT_CLOUD) and info (STRING).

    From here the natural moves are Downsample Point Cloud (if the scan is huge), Remove Outliers (if it's noisy), or straight to Point Cloud to Mesh for a surface reconstruction. That loadโ†’cleanโ†’reconstruct chain is the pack's whole point-cloud story in three nodes.

    Install

    Part of the RDAWG 3D Pack. ComfyUI Manager (search "RDAWG 3D Pack (CUDA 12.8 + PyTorch 2.9.0)") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/rdawgemfl/rdawg_3D_pack
    cd rdawg_3D_pack
    python install.py
    

    Open3D 0.19.0+ is required - the pack raises at import without it, so a failed startup is your first clue it's missing. pip install open3d>=0.19.0 (or python download_open3d.py for a Windows wheel). Python 3.11 is the author's recommended target. Be cautious about the installer's torch pin (2.9.0+cu128) if your ComfyUI already has a working PyTorch.

    Where people get burned

    • "No points found in file" - the file loaded but is empty or unreadable by Open3D. Check the format; some .xyz exports are malformed.
    • Downstream reconstruction is garbage - normals missing. Make sure estimate_normals is on, or that your source file has them.
    • Wrong path / wrong file type - remember it's a point cloud, not a mesh. Pointing it at an .obj mesh will load nothing usable.
    CategoryRDAWG 3D/Point Cloud

    Inputs (3)

    NameTypeDefaultDescription
    file_pathSTRINGโ€”
    estimate_normalsBOOLEANtrueโ€”
    deviceCOMBOauto3 options: auto, cpu, cuda

    Outputs (2)

    NameTypeDescription
    point_cloudPOINT_CLOUDโ€”
    infoSTRINGโ€”