Skip to content

ll_clouds — Overview

ll_clouds is point-cloud processing and analysis for the LatticeLabs CAD toolkit — a standalone, dependency-light library (NumPy + SciPy; trimesh only for mesh I/O) covering the core point-cloud workflow.

  • I/O — read/write PLY, PCD, XYZ; sample point clouds from meshes.
  • Preprocessing — normalize (center + unit-scale), voxel downsample, farthest-point downsample (FPS), statistical outlier removal.
  • Features — per-point normals (k-NN PCA), curvature, geometry statistics.
  • Registration — point-to-point ICP.
  • Segmentation — RANSAC plane fitting, Euclidean clustering.

Optional bridges convert documents/inputs from cadling (CAD document processing) and ll_ocadr (optical CAD recognition) into a PointCloud. These imports are lazy, so the core library has no hard dependency on those packages — import ll_clouds pulls in neither cadling, ll_ocadr, nor torch.

The central type is a Pydantic PointCloud (points, optional normals/colors/labels, metadata) with arbitrary_types_allowed=True for NumPy arrays — consistent with the rest of the monorepo.

Use the sidebar for Installation, Usage, and the API Reference.