Point cloud to 3D model conversion turns the raw XYZ points of a laser scan or photogrammetry capture into a continuous polygon mesh or a parametric CAD or BIM model that software can render, measure, and edit. You can convert a point cloud to a 3D model using the open-source software CloudCompare or MeshLab, Python libraries such as Open3D, or BIM and CAD tools such as Autodesk Revit.
The point cloud to 3D model workflow in CloudCompare settles most of the mesh’s quality before Poisson Surface Reconstruction starts, and its final cloud-to-mesh distance check shows where the mesh drifts from the scan. Common conversion problems, such as noisy data, misaligned scans, and holes, show up as warped surfaces, doubled walls, and gaps in the mesh. The main conversion methods are meshing for terrain and freeform objects, BIM or CAD tracing for buildings and industrial plants, and AI-assisted platform conversion for IFC or CAD output.
The sections below then compare point cloud data to 3D model software for each method, say how far free tools and AutoCAD go, explain what changes when the input is LiDAR, and set out when outsourcing the conversion is worth it. ViBIM processed the public USGS 3DEP LiDAR tile behind every sample result, and its outsourcing guidance draws on 1,000+ completed projects since 2014.

How to Convert a Point Cloud into a 3D Mesh in CloudCompare
You convert a point cloud into a 3D mesh in CloudCompare by cleaning and aligning the raw scan, computing surface normals, reconstructing the mesh with Poisson, trimming it, checking it against the cloud, and exporting it for further editing in Blender. The steps take a laser-scanned or photogrammetry 3D point cloud to a 3D model, in this case a mesh for visualization.
Converting a point cloud to a mesh in CloudCompare comes down to six steps:
- Import and preprocess the point cloud in CloudCompare
- Compute normals
- Generate a mesh using Poisson Surface Reconstruction
- Clean up and trim the mesh in CloudCompare
- Check the mesh against the point cloud
- Export from CloudCompare and import to Blender for further editing

What You Need Before You Start
CloudCompare and the USGS sample tile are both free, so you can repeat every step on your own machine and compare your results with the ones shown here. You need CloudCompare with its PoissonRecon plugin and a scan file before you start, and the USGS sample tile is optional.
- CloudCompare with PoissonRecon: CloudCompare is open-source point cloud software, and Step 3 runs through its PoissonRecon plugin, found under the Plugins menu.
- A scan file: The scan can come from a terrestrial, mobile, or airborne LiDAR scanner or from photogrammetry, as long as it is saved in a format CloudCompare opens (Step 1.1).
- The sample tile (optional): The sample results come from the USGS 3D Elevation Program tile `USGS_LPC_TX_Central_B1_2017_stratmap17_50cm_3097433c1_LAS_2019.laz`, a 69.8 MB LAS 1.4 file with 17.97 million points, free to download from The National Map.
The block used in the steps is a 120 × 120 m cut of the airborne LiDAR tile over downtown Austin, Texas, with low-rise buildings, trees, and streets, and it holds 123,726 points at 8.6 points per square meter, with no RGB color. Step 1.1 shows how to cut the tile to this block. The sample figures were measured with Open3D 0.20.0, which runs the same filter, subsampling, normal, and Poisson algorithms with the same settings, so CloudCompare can return slightly different numbers.
Step 1. Import and Preprocess the Point Cloud in CloudCompare
To import and preprocess the point cloud in CloudCompare, load the file, remove noise and outliers, downsample the cloud, and align the scans when there are several. Poisson reconstruction needs one clean, evenly spaced cloud, so stray points are filtered, dense areas thinned, and separate scans aligned first.
Step 1.1. Launch CloudCompare and import your file
CloudCompare opens PLY, LAS, E57, and XYZ scans directly, but not ReCap RCP or RCS projects. Launching CloudCompare and importing a point cloud file takes six actions.
- Export any RCP or RCS project to E57 in ReCap before you start.
- Open CloudCompare.
- Go to File > Open and select your point cloud file. Loading may take a few minutes for large files.
- Navigate the scene once the point cloud appears in the 3D view, using the mouse buttons to rotate and pan and the scroll wheel to zoom.
- Accept the “Global Shift” CloudCompare suggests when the file has large coordinates, as georeferenced survey data usually does, because CloudCompare processes data more accurately when coordinates are closer to the origin (0, 0, 0).
- Go to Edit > Crop and cut a 120 × 120 m box whose minimum corner sits at 621,302.95 m east and 3,349,600.50 m north, minus any Global Shift you accepted. Skip this crop unless you follow this guide with the sample tile.
On the sample tile, coordinates run past 621,000 m east and 3,349,000 m north in NAD83(2011) / UTM zone 14N, the kind of georeferenced values that call for a Global Shift. The cropped block holds 124,088 points, and the 362 points the data provider had already classed as noise were dropped before the steps below.

Step 1.2. Remove noise and outliers
To remove noise and outliers, filter out the stray points in raw scans, which are mostly ghost points from window reflections, airborne dust, and sensor errors, because the meshing algorithm treats each one as real surface. Removing noise and outliers from a raw scan takes four actions.
- Select the point cloud in the DB Tree (left panel) so a yellow outline appears.
- Go to Tools > Clean > SOR filter to remove statistical outliers, keeping the default values for a first pass.
- Go to Tools > Clean > Noise filter if surface noise remains, a second pass of 3D point cloud noise filtering that removes points lying off a locally fitted plane.
- Remove anything the filters missed with Edit > Segment, drawing a polygon around unwanted areas and deleting them.
On the sample tile, 43.1% of the points that the SOR filter removed at CloudCompare’s defaults of 6 neighbors and a 1.0 standard deviation multiplier were building points. Airborne scanners sample walls thinly, so sparse wall points look like outliers to the filter. The two SOR settings tested on the sample block compare as follows.
| SOR setting | Points removed | Building points removed |
|---|---|---|
| 6 neighbors, multiplier 1.0 (default) | 12,366 (9.99%) | about 5,300 |
| 6 neighbors, multiplier 2.0 | 5,190 (4.19%) | about 2,900 |
Raising the multiplier to 2.0 kept about 2,400 more building points, so on airborne data run both settings and check the walls before you accept one. The sample block continues with the 2.0 result.

Step 1.3. Downsample (subsample) to reduce points
High-density clouds (e.g., 50 million points) create computationally heavy meshes, so subsampling reduces the point count while maintaining geometry. Subsampling a dense cloud in CloudCompare takes four actions.
- Go to Edit > Subsample with the cloud selected.
- Set “min. space between points” in the dialog (e.g., 0.01 meters for a building scan), and aim for 500,000 to 1 million points for most cases.
- Click OK, then select the new subsampled cloud in the DB Tree and hide or delete the original to save memory.
- Check the point count in the Properties window (bottom left).
Terrestrial scanners deliver millimeter spacing, so a 0.01 m setting removes most of the points and still keeps walls and floors intact. Airborne LiDAR starts from different input, since airborne sensors capture points tens of centimeters apart, already georeferenced and often classified into ground and vegetation, so subsampling has far less to remove. On the sample tile, a 0.5 m minimum space kept 77,261 of the 118,536 points left after noise filtering, or 65.2%.

Step 1.4. Align if multiple clouds (optional)
To align multiple clouds, register the separate scans into one coordinate system, so Poisson reconstruction reads them as one surface instead of several offset copies. Aligning and merging two scans in CloudCompare takes five actions.
- Select both point clouds, one as the reference and one to align.
- Go to Tools > Registration > Align (point pairs picking) and pick at least three matching points in each cloud for a rough alignment.
- Run Fine registration (ICP) from the same menu to refine the fit.
- Confirm the RMS (Root Mean Square) error is low before you continue.
- Go to Edit > Merge to combine the aligned clouds into one.
A low RMS shows that the scans agree with each other, not that the finished mesh matches the building, which is what Step 5 measures. The sample tile arrives as one georeferenced file, so this step was skipped.
Step 2. Compute Normals
You must compute normals, vectors perpendicular to the surface, before generating a mesh, because the mesh uses them to decide which side of each polygon faces out. Raw point clouds typically lack this orientation data. Computing normals on the subsampled cloud takes six actions in CloudCompare.
- Select the subsampled point cloud.
- Go to Edit > Normals > Compute.
- Select the Surface approximation method that matches the geometry.
- Plane: The plane method fits flat surfaces such as walls and floors and tolerates noise, but it rounds off sharp edges and corners.
- Triangulation: The triangulation method keeps sharp edges but reacts badly to noise.
- Quadric: The quadric method fits curved architectural features such as vaults and arches.
- Set the Radius, the local neighborhood used to calculate each normal, to Auto or 5 to 10 times your subsample spacing (e.g., 0.05 to 0.1 m), since a larger radius smooths normals but may round off sharp corners.
- Set Orientation to “Minimum Spanning Tree” (MST) with a KNN (K-Nearest Neighbors) value of 10 to 20 so orientation stays consistent across the model.
- Click OK, and the point cloud changes appearance to show shading based on lighting direction.
On the sample tile, normals were computed with a 1.5 m radius and oriented toward +Z instead of with MST, because an airborne scanner looks down on the site, so the roofs and ground that hold most of its points face up toward the sensor.

Step 3. Generate a Mesh Using Poisson Surface Reconstruction
To generate a mesh using Poisson Surface Reconstruction, run the PoissonRecon plugin on the cloud with computed normals, and it returns a watertight mesh plus a density scalar field for trimming. A watertight mesh encloses a volume, which solid models and 3D prints need. Running PoissonRecon on the cloud with normals takes six actions.
- Select the point cloud that contains your computed normals in the DB Tree (left panel) so the plugin uses the correct input data.
- Open the Plugins menu and choose PoissonRecon.
- Set the Octree depth between 8 and 12, since higher values yield more detail but significantly increase processing time.
- Check “Output density as SF” so the software generates a scalar field you can use for trimming later.
- Raise Samples per node above its default of 1.5 when the cloud is noisy, since higher values produce a smoother surface.
- Click OK and wait a few minutes for the new mesh to appear in the DB Tree.
The checks to run on the new mesh and its density scalar field are listed below.
- Mesh display: The new mesh appears in the 3D view as a triangular surface, often in a default gray shade with basic shading.
- Density color map: Switch to the density SF in the Properties window (bottom left) under SF display params to apply a color map, and adjust the ramp through the histogram graph if you need a different scale.
- Red and yellow areas: Red and yellow mark high-density areas, where the data is most reliable and accurate.
- Blue and green areas: Blue and green mark low-density zones, often noise or extrapolated geometry that Step 4 removes.
- Failed run: A run that fails, usually from missing normals or insufficient RAM, shows an error message, and the fix is to recheck the normals and try a lower octree depth.
On the sample tile, the same subsampled cloud was meshed at three octree depths. The three runs compare as follows.
| Octree depth | Triangles | Run time |
|---|---|---|
| 6 | 18,108 | 0.1 s |
| 8 | 275,572 | 1.6 s |
| 10 | 275,796 | 2.2 s |
Depth 10 added only 224 triangles over depth 8, because the 0.5 m spacing from Step 1.3 had already capped the detail, so a higher depth cannot make up for a sparse cloud. The run times come from single-threaded runs and serve only as a comparison between depths.

Poisson Surface Reconstruction suits clouds with consistent normals. For rather flat clouds with Z as the vertical axis, such as terrain, CloudCompare also offers two 2.5D options that do not require normals.
Delaunay 2.5D, under Edit > Mesh > Delaunay 2.5D (XY plane), projects the points on the XY plane, triangulates them, and asks for a maximum edge length that removes the large triangles along the boundary. Rasterize, under Tools > Projection > Rasterize, converts the cloud into a 2.5D grid that exports as a mesh. Both keep one height for each XY position, so neither can represent overhangs or any surface that sits above another.
Steps 4 to 6 continue from the Poisson mesh and its density scalar field.
Step 4. Clean Up and Trim the Mesh in CloudCompare
To clean up and trim the mesh in CloudCompare, remove the extrapolated geometry that does not belong to the scanned object, using the density scalar field from Step 3 to find it. Trimming the reconstructed mesh takes six actions.
- Select the newly created mesh in the DB Tree.
- Set the ramp to Blue, Green, Yellow, and Red in the Color Scale section of the Properties panel.
- Drag the lower threshold slider until only the dense yellow and red regions remain visible in the viewport.
- Go to Edit > Scalar Fields > Filter by Value, using the current range from the SF display parameters so the filter matches exactly what you see on the screen.
- Click Split to generate two separate meshes, one with the kept polygons and one with the discarded noise.
- Delete the mesh containing the unwanted parts, and keep the clean version, such as “mesh.part”, for further processing.
On the sample tile, filtering out the 5% of vertices with the lowest density and cutting the mesh to the extent of the cloud removed 8.5% of the triangles and left 252,315.

Step 5. Check the Mesh Against the Point Cloud
You check the mesh against the point cloud by measuring the distance from every point to the mesh surface, because a mesh can look clean and still drift away from the scan wherever the points were sparse or noisy. Measuring the cloud-to-mesh distance in CloudCompare takes four actions.
- Select the filtered point cloud and the trimmed mesh in the DB Tree. With one cloud and one mesh selected, CloudCompare uses the mesh as the reference.
- Go to Tools > Distances > Cloud/Mesh Dist.
- Leave the octree level on automatic. A max distance speeds up the run, but points farther away than it get the max value instead of their true distance.
- Click Compute, then turn on the Color Scale of the compared cloud to see where the distances are largest.
On the sample tile, half of the 118,536 points sat within 2.0 cm of the mesh, 65.6% within 5 cm, and 88.7% within 25 cm, while the worst 5% lay more than 46.4 cm away. The deviation by point class on the sample block is shown below.
| Point class | Points | Median distance | 95th percentile |
|---|---|---|---|
| Buildings | 46,779 | 1.1 cm | 23.4 cm |
| Ground | 41,373 | 1.5 cm | 13.8 cm |
| High vegetation | 24,094 | 18.1 cm | 80.4 cm |
Roofs and ground had median distances of about 1 to 2 cm, while trees drifted most, so remove the vegetation class before Step 3 when the goal is a building model. These figures apply to airborne LiDAR at 8.6 points per square meter and are not an accuracy figure for an interior or terrestrial scan.

Step 6. Export from CloudCompare and Import to Blender for Further Editing
To export the mesh from CloudCompare and import it into Blender, save it as a PLY, STL, or OBJ file and load that file through Blender’s File > Import. Blender then takes over the sculpting, hole filling, decimation, and retopology. Exporting the mesh and importing it into Blender takes six actions.
- Select the final mesh in the DB Tree.
- Go to File > Save to export the object.
- Choose the file format for the next tool, .PLY to keep the vertex colors a Poisson mesh inherits from a colored cloud, .STL for 3D printing, or .OBJ when the target software requires it, since CloudCompare writes OBJ vertices without color.
- Open Blender and delete the default cube by selecting it, pressing X, and confirming Delete.
- Go to File > Import and select Wavefront (.obj), or the matching option for your format.
- Press Tab to switch to Edit Mode and work on the geometry directly.
On the sample tile, the trimmed mesh from Step 4 saved to 9.4 MB as PLY, 12.6 MB as binary STL, and 17.9 MB as OBJ. The Blender tools that refine an imported mesh are listed below.
- Sculpt Mode: Smooth out rough patches in the surface.
- Decimate Modifier: Reduce the polygon count when the mesh is too heavy for your downstream software.
- Fill with the F key: Select the open edges around a hole and press F to close it.
- Vertex colors to UV textures: Vertex colors import differently from standard image maps, so bake them to a UV texture before texturing.
- Retopology add-ons: Run a tool such as Quad Remesher when the model is intended for animation or game engines.
The video below shows a point cloud turned into a mesh inside the CloudCompare interface.
Not every scan goes from point cloud to mesh cleanly on the first pass.
Common Problems When Converting Point Clouds to 3D Models
The most common problems when converting point clouds to 3D models are noisy data, oversized files, misaligned scans, coordinate offsets, flipped normals, sparse density, and holes in the mesh. Each of the seven problems below pairs a cause with the step of the point cloud to 3D model workflow that fixes it.
- Noisy data: Reflections from glass, dust, and moving objects leave stray points that warp the surface. Run the SOR and noise filters from Step 1.2 before meshing, and on airborne scans expect trees to deviate most (Step 5).
- Oversized files: Poisson reconstruction on an unthinned scan can run a workstation out of RAM. Subsample first (Step 1.3), and when scans move between teams, split them into RCS files of 5 GB or less, the size we ask clients to send.
- Misaligned scans: Scans merged without registration leave doubled walls and layered floors in the mesh. Align them with point pairs and ICP (Step 1.4) before merging.
- Coordinate offsets: Georeferenced scans store coordinates in the hundreds of thousands of meters, and processing them at full size costs precision. Accept the Global Shift on import (Step 1.1).
- Flipped normals: Inconsistent normals make the mesh render patchy, with holes or inverted faces. Recompute normals with MST orientation (Step 2) and check the shading before you reconstruct.
- Sparse density: Point spacing caps the detail a mesh can hold, so a higher octree depth adds triangles without adding shape (Step 3). Subsample no coarser than the smallest feature you need to keep (Step 1.3).
- Holes in the mesh: Areas the scanner never reached leave gaps with no points, and Poisson bridges them with invented surface that density trimming (Step 4) removes again. Close the openings you need in Blender (Step 6).
Every fix above stays inside automated meshing, one of three methods alongside manual tracing in CAD or BIM software and AI-assisted platform conversion.
How Do You Convert a Point Cloud to a 3D Model?
You convert a point cloud to a 3D model through automated surface reconstruction (meshing), manual tracing in CAD or BIM software, or AI-assisted platform conversion, and the CloudCompare workflow is the first of these methods. The output decides the point cloud to 3D model workflow, with a mesh for visualization, a BIM model for as-built documentation, and simplified geometry for a digital twin. The three methods differ in what rebuilds the geometry: an algorithm, a modeler, or an AI-assisted platform.
- Automated Surface Reconstruction (Meshing): Automated surface reconstruction turns the points in a cloud into a continuous polygon mesh with algorithms such as Poisson Surface Reconstruction or Ball Pivoting. Meshing is the fastest method and suits terrain, organic shapes, and visualization, where slight smoothing is acceptable.
- Manual Tracing in CAD or BIM Software: Manual tracing in CAD or BIM software uses the point cloud as a measured reference while a modeler rebuilds each wall, floor, or pipe as clean geometry. Traced in Autodesk Revit BIM software, manual tracing is the only method of the three that produces a construction-ready BIM model, so buildings and plants that need as-built documentation are traced instead of meshed.
- AI-Assisted Platform Conversion: AI-assisted platform conversion segments a point cloud into recognizable objects and generates geometry from each segment automatically. Platforms such as Prevu3D suit large facilities and digital twins, but the simplified geometry still needs a modeler’s deviation check, and research on the point cloud foundation model has no production-validated result for construction yet.
A mesh stores shape only and cannot say what a wall is made of or which duct feeds which room, a limit it shares with the raw scan in the point cloud vs mesh comparison.

Which Software Converts a Point Cloud into a 3D Model?
Software that converts a point cloud into a 3D model ranges from free, open-source point cloud to mesh software such as CloudCompare, MeshLab, and Blender to commercial platforms such as Agisoft Metashape, Autodesk ReCap, Revit, AutoCAD, and Prevu3D. Each tool below fits a different stage, from cleaning a raw scan to tracing a BIM model.
- CloudCompare: CloudCompare is free and best for cleaning, subsampling, and measuring a point cloud before meshing it with Poisson.
- MeshLab: MeshLab is free and best for repairing and remeshing, with Ball Pivoting and Poisson filters.
- Blender: Blender is free and best for editing, smoothing, and texturing a mesh after reconstruction.
- Agisoft Metashape: Metashape builds textured meshes from photos or dense point clouds on a paid license.
- Autodesk ReCap: ReCap registers raw scans and indexes each point cloud file into RCP or RCS, the step that moves point cloud data to 3D model software such as Revit and AutoCAD.
- Revit and Archicad: Modelers trace the indexed cloud in Revit or Archicad into parametric BIM models in RVT or IFC, and a Revit point cloud stays a linked reference traced one level at a time.
- AutoCAD: AutoCAD is a paid tool best for as-built drawings and sections saved as DWG.
- Prevu3D: Prevu3D is a commercial AI-assisted platform best for facility-scale digital twins.
Can You Convert a Point Cloud to a 3D Model for Free?
Yes, you can convert a point cloud to a 3D model for free, because the open-source tools CloudCompare, MeshLab, and Blender cover import, cleanup, meshing, and export. The free route ends at the mesh for most jobs, since an RVT deliverable needs a commercial Revit license and the modeling skill to drive it.
Can You Convert a Point Cloud to a 3D Model in AutoCAD?
Partly, you can convert a point cloud to a 3D model in AutoCAD by tracing over the attached cloud, but AutoCAD does not reconstruct a surface from the points. Point cloud to CAD conversion in AutoCAD produces linework for as-built drawings, floor plans, or sections, and that linework needs a CAD to BIM conversion once wall types or materials are required.
The scan itself narrows these choices too, and LiDAR input changes them the most.
What Changes When You Convert a LiDAR Point Cloud to a 3D Model?
When you convert a LiDAR point cloud to a 3D model, the scanner type, the LAS class codes, and the point density decide which surfaces you can rebuild and how far the model can go. Each capture platform yields a different 3D point cloud model, and the sample tile in Steps 1 to 6 is airborne.
- Scanner type: Airborne scans capture roofs and terrain but few wall points, while terrestrial and mobile scans capture facades and interiors and need Fine registration across their setups first.
- LAS class codes: Classified LiDAR lets ground points (class 2) go to a terrain mesh and building points (class 6) go to BIM tracing, while 3D point cloud noise filtering cleans what the noise classes 7 and 18 miss.
- Point density: Point density fixes how much detail a model can carry, so a terrestrial scan supports LOD 300 and above, while mobile-scan data often caps a LiDAR to BIM model at LOD 300 and a sparse airborne cloud tops out lower.
Those three limits also decide whether one person can finish the conversion alone.
When Should You Outsource Instead of Meshing the Scan Yourself?
You should outsource point cloud conversion when the deliverable is an as-built BIM model, spans multiple disciplines, or runs against a hard deadline, and you should do it yourself when you only need a mesh from a small, clean scan. Scan faults also favor a provider, since a gap the scanner never reached needs another scan in point cloud modeling, not a better mesh. Five criteria separate a DIY job from an outsourced one: output, data size, scope, QC, and deadline.
| Criteria | DIY makes sense | Outsourcing makes sense |
|---|---|---|
| Output | Visual mesh | Parametric BIM model (RVT, IFC) |
| Data size | A single, clean scan on one workstation | Multi-scan projects across floors or buildings |
| Scope | One visual shell, no disciplines | Architecture, structure, and MEP |
| QC | Cloud-to-mesh distance check (Step 5) by the same person | Independent deviation check of every discipline against the cloud |
| Deadline | Flexible | Fixed handover dates |
Output and QC are the two criteria one person rarely covers alone, since BIM modeling with point clouds runs discipline by discipline and needs a second reviewer, and ViBIM’s delivery process is built around them.
How ViBIM Delivers BIM Models from Point Clouds
ViBIM delivers BIM models from point clouds in three phases, scoping the scan before a quote, modeling each discipline in Revit to the agreed LOD, and checking the model before handover. ViBIM’s commercial point cloud modeling services take RCP, RCS, or E57 scans and return RVT, IFC, or DWG files.

ViBIM’s six delivery commitments fall into three groups: quality, timing, and project terms.
- Two independent QC layers: Each model is checked for geometry, parameters, deviation from the cloud, missing elements, and data consistency.
- BIM Forum LOD and ISO 19650: Models are delivered from LOD 200 to LOD 500 and are compatible with ISO 19650.
- 99% on-time delivery: ViBIM has met the agreed deadline on 99% of its projects for clients in the UK, Canada, the USA, Australia, and the EU.
- Quotes within 12 to 24 hours: Each quote sets out the scope of work, timeline, and pricing.
- Dedicated project manager: One project manager runs each job, and typical projects take one to three weeks.
- Free trial project: A new client can run one project free to calibrate the QC standard before committing.
Send your point cloud or project brief to ViBIM to get a scoped quote, from a single floor to a full building under ViBIM’s Revit modeling outsourcing services. If the scan is not ready yet, site photos, existing 2D drawings, or LGS TrueView files are enough for a preliminary estimate.









