Understand the scene
Decompose into primitives
Turn a scene of millions of points into a few hundred pieces a person can actually review (planes by size, cylinders, linear runs and clusters), each point carrying its component and its primitive_kind.
Decomposing is free. Exporting the component and primitive_kind columns is Pro.
Part of Point cloud to floor plan, Point cloud processing software, Point cloud segmentation.

When to use it
Before labelling by hand, before drawing a floor plan (the walls and floors come from here), and whenever the scene needs to be counted in things rather than points: how many columns, how much pipe, how much floor.
Step by step
- Open Process › Decompose into Primitives. The status reads
Decomposing the scene into primitives…. - When it finishes, the Primitives point view comes on (one colour per component) and the labelling grid opens on the components.
- Hover a tile to find the component in the view; right-click in the view to fly to one; Ctrl and drag to sweep a box.
- Under Knowledge, the Primitives strip shows how many components of each kind were found; click it for the Distribution window, sortable by points, extent and mean height.
- Turn the Primitives view off or on again with its toolbar icon; clicking the active point view turns it off.

What it was measured at
43.5 million points into 1,501 reviewable regions in 5.8 s, against 9,626 regions from region growing alone.
Export codes
On export, component is written 1-based (0 means none) and primitive_kind as a code:
1 floor plane, 2 wall plane, 3 sloped plane, 4 cylinder, 5 linear, 6 cluster, 7 residue. In a LAS
file both ride as 32-bit unsigned extra bytes, so no component id is ever truncated.
From the command line
n3d-render-cli primitives --input scan.las # the report: counts by kind
n3d-render-cli primitives --input scan.las --out-ply parts.ply # the cloud with its columns (Pro)
Limits, stated
- The kinds are geometric: H-plane, V-plane, Slanted, Cylinder, Linear, Cluster and Residue. Calling a V-plane a wall is the classifier’s job, or yours.
- The voxel size sets the finest detail; the command line exposes it as
--voxel(0.12 m by default).
Related questions
What goes into a LAS export?
The class column fills LAS’s classification byte (0 to 255). Segment, instance and component ids are written as exact 32-bit unsigned extra bytes, and computed scalars such as height above ground or deviation as 32-bit floats, so PDAL, laspy and CloudCompare read them back. Intensity, returns, point source and scan angle keep their standard slots. The file is LAS 1.2 unless a class exceeds 31 or a coordinate system is present, in which case it is LAS 1.4.
How accurate are the walls?
Wall thickness is as good as the decomposition voxel: about plus or minus 30 mm at the default 50 mm voxel on a real survey, exact on a synthetic test. Ends are joined within 0.9 m and a wall running into another’s side within 2.2 m; wider gaps are left as the survey found them rather than bridged on a guess. Levels are on the scan’s datum.
More in the FAQ.