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.
What it does
Section titled “What it does”- 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.
Bridges to sibling packages
Section titled “Bridges to sibling packages”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.
Data model
Section titled “Data model”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.
Status
Section titled “Status”Use the sidebar for Installation, Usage, and the API Reference.