Thins a lidar/point-cloud export down to probable ground shots: per grid cell, the lowest point survives plus everything within a keep band above it; a despike guard rejects spurious low returns; classified LAS can be filtered to ASPRS class 2 (ground).
Kept ground shot
Removed return (vegetation / roof / spike)
True ground
What it does, per run
- Streams the export, LAS or LAZ any version/point format (LAZ decoded in-process, XYZ + class only), or delimited text (XYZ / PNEZD / PENZD / NEZ / PTS, header lines skipped), or reads the vertices of a TIN already in the drawing.
- Lays a square grid (default 2 ft cells) and finds each cell's lowest point.
- Despike (default on): a cell low more than 2 ft below the median of its neighbor cells' lows is noise, discarded; the cell's lowest legitimate point becomes its base.
- Keeps the base plus every point within the keep band (default 0.25 ft) above it.
- Ground-class filter (default on): a classified LAS is filtered to ASPRS class 2; unclassified sources unaffected, if everything is skipped, the summary says so and what to do.
- The summary dialog shows the full funnel: read, class-skipped, cells, despiked, kept, reduction %.
Output & guidance
- TIN surface (default): created at the document default style, vertices added in chunks; existing names blocked.
- PENZD point file (default):
<source> - ground thinned.txtnext to the export. - COGO points (off by default): description
GRND, collected in a point group; capped at 25,000, beyond that use the surface + file. - Lowest-in-cell is a heuristic, under dense canopy the lowest return can still be vegetation; a ground-classified LAS from the flight vendor is always better input.
- Coordinates are used as-is, the export must already match the drawing's coordinate system.
- Attached ReCap cloud? No add-in can read its points; run Civil 3D's Create Surface from Point Cloud (no filtering) and pick that surface as the source. ReCap Pro exports PTS/E57, not LAS.
- Derived data, not a field survey, verify against ground control before design use.
- Settings
%APPDATA%\VDC\GroundThin\settings.json(envVDC_GROUNDTHIN_SETTINGS), schema-tolerant.
Dialog

VDCGROUNDTHINWhen to use it
- A drone/aerial lidar deliverable needs to become an existing-ground surface.
- A ReCap/vendor cloud is far too dense to TIN directly and full of vegetation returns.
- A point cloud is already attached to the drawing (.rcp) and Civil 3D's own Create Surface from Point Cloud made a TIN too heavy to work with.
- You want a defensible EG point set denser than a 50-ft field grid but lighter than raw lidar.
How to run it
- Get the cloud on disk as LAS or LAZ (the flight vendor's delivery) or as text - ReCap Pro exports PTS, which reads here as X Y Z.
- Attached cloud instead? Run Civil 3D's Create Surface from Point Cloud with no filtering, then pick that surface as the source.
- Run VDCGROUNDTHIN; choose Point file (browse; set the column order for text files) or Surface in this drawing.
- Set cell size (default 2 ft) and keep band (default 0.25 ft; 0 = strictly lowest per cell).
- Leave despike on (2 ft) and the ground-class filter on; pick the outputs; OK - Run.
- Read the funnel in the summary - points read, class-skipped, cells, despiked, kept - then spot-check the surface against known ground.
Options
- Source: a point file (LAS / LAZ / XYZ / PNEZD / PENZD / PTS text) or a TIN surface already in the drawing - its vertices are thinned, the surface itself is never edited.
- Cell size: 1 / 2 / 2.5 / 5 / 10 ft in the dropdown, or type any value - density vs weight.
- Keep band: 0 keeps one lowest point per cell; 0.25-0.5 keeps ground texture through grade breaks.
- Despike: a cell low more than the threshold below its neighbors' median is discarded as noise.
- Ground class only: uses ASPRS class-2 points when the LAS is classified; ignored for unclassified sources.
- Outputs: TIN surface (default), PENZD point file (default), COGO points (off; capped at 25,000).
Watch out for
- Lowest-in-cell is a heuristic, not a classifier - under dense canopy the lowest return may still be vegetation. A ground-classified LAS from the vendor is always better input.
- An attached ReCap cloud cannot be picked directly - AutoCAD gives add-ins no point-by-point access to it. Civil 3D's Create Surface from Point Cloud is the hand-off; thin that surface here.
- ReCap Pro does not export LAS or LAZ (only E57, PTS, RCP/RCS) - export PTS for this tool, or take the vendor's LAS/LAZ.
- For a surface source the point file lands in the drawing's VDC Reports folder, not beside a source file.
- If EVERY point is skipped by the class filter, the cloud isn't ground-classified - uncheck the filter or request a classified LAS.
- Coordinates are used as-is - the export must already be in the drawing's coordinate system.
- The thinned set is derived data, not a field survey - verify against ground control before design use.
Related: Auto-Grade Lots · Surface QC · Remove Duplicate Points · Stake Lots