Student Material 001: Mesh Processing and Export Quick Reference Guide
Material ID: U11M3-MAT-001
Purpose: Quick reference for mesh processing operations, file formats, and reverse engineering workflow
Mesh Processing Pipeline (Correct Order)
| Step |
Operation |
Tool (MeshLab) |
Purpose |
| 1 |
Import point cloud |
File > Import Mesh |
Load raw scan data |
| 2 |
Compute normals |
Filters > Normals > Compute Normals for Point Sets |
Required for mesh reconstruction |
| 3 |
Orient normals |
Filters > Normals > Re-Orient All Normals Coherently |
Ensure consistent inside/outside |
| 4 |
Remove outliers |
Filters > Cleaning > Remove Isolated Pieces |
Delete floating noise points |
| 5 |
Reconstruct mesh |
Filters > Remeshing > Screened Poisson |
Generate triangulated surface |
| 6 |
Trim phantom geometry |
Select + Delete |
Remove Poisson artifacts outside object |
| 7 |
Smooth |
Filters > Smoothing > Taubin Smooth |
Reduce scan noise (BEFORE decimation) |
| 8 |
Fill holes |
Filters > Remeshing > Close Holes |
Create watertight surface |
| 9 |
Decimate |
Filters > Remeshing > Quadric Edge Collapse |
Reduce triangle count |
| 10 |
Repair |
Filters > Cleaning > Remove Duplicates, Non-Manifold |
Fix topology errors |
| 11 |
Verify |
Filters > Quality > Compute Topological Measures |
Confirm watertight, manifold |
| 12 |
Export |
File > Export Mesh As |
Save in target format |
Reconstruction Algorithm Comparison
| Parameter |
Screened Poisson |
Ball Pivoting |
| Input requirement |
Points + normals |
Points (normals optional) |
| Output |
Watertight closed surface |
Open surface with holes |
| Sharp edges |
Tends to smooth/round |
Preserves better |
| Gap handling |
Fills gaps (may fabricate geometry) |
Leaves gaps as holes |
| Key parameter |
Octree Depth (8-12) |
Ball Radius (1.5-2x point spacing) |
| Best for |
Organic shapes, full coverage scans |
Mechanical parts, partial scans |
| Software |
MeshLab, CloudCompare |
MeshLab |
Smoothing Algorithm Comparison
| Algorithm |
Shrinkage |
Feature Preservation |
When to Use |
| Laplacian |
High (shrinks model) |
Poor |
Quick noise removal; small corrections |
| Taubin (Lambda-Mu) |
Minimal (volume-preserving) |
Good |
Default choice for scan data |
| HC Laplacian |
Low |
Good |
Alternative to Taubin; better for thin features |
| Bilateral |
Minimal |
Excellent (edge-aware) |
When sharp edges must be preserved |
Recommended Taubin settings for scan data: Lambda 0.5, Mu -0.53, Steps 5-20 (start low, increase if needed)
Decimation Targets by Application
| Application |
Target Triangle Count |
Typical Reduction |
Quality Priority |
| Full-color SLA/PolyJet print |
1M–5M |
0–50% |
Maximum detail |
| FDM functional part |
100K–500K |
90–98% |
Dimensional accuracy |
| Web/AR viewer |
10K–100K |
98–99.8% |
Visual appearance |
| Game engine asset |
5K–50K |
99–99.9% |
Performance |
| Archival reference |
Keep original |
0% |
Preservation |
Mesh Quality Checklist (Pre-Export)
| Check |
Tool |
Pass Criteria |
| Boundary edges |
Topological Measures |
0 (watertight) |
| Non-manifold edges |
Topological Measures |
0 |
| Non-manifold vertices |
Topological Measures |
0 |
| Degenerate faces |
Cleaning filters |
0 zero-area faces |
| Normal orientation |
Visual (backface culling) |
All normals point outward |
| Self-intersections |
Mesh Boolean check |
None |
| Critical dimensions |
Measuring tool |
Within ±0.2 mm of physical object |
| Triangle count |
Status bar |
Appropriate for application |
| Format |
Extension |
Geometry |
Color |
Texture |
Normals |
Notes |
| STL Binary |
.stl |
Triangles |
No |
No |
Face only |
Universal 3D print format; compact |
| STL ASCII |
.stl |
Triangles |
No |
No |
Face only |
Human-readable; 5-10x larger than binary |
| OBJ |
.obj + .mtl + .jpg |
Triangles/Quads |
Via MTL |
UV mapped |
Per-vertex |
Best for textured models; multi-file |
| PLY Binary |
.ply |
Triangles/Points |
Per-vertex |
No |
Per-vertex |
Best for scan data archival; single file |
| PLY ASCII |
.ply |
Triangles/Points |
Per-vertex |
No |
Per-vertex |
Readable; larger than binary |
| 3MF |
.3mf |
Triangles |
Per-vertex/texture |
Embedded |
Per-face |
Modern print format; color + materials |
| STEP |
.step/.stp |
NURBS/B-Rep |
No |
No |
Implicit |
CAD interchange; requires reverse engineering |
| IGES |
.igs/.iges |
NURBS/B-Rep |
No |
No |
Implicit |
Legacy CAD interchange |
File Size Estimation
| Format |
Approximate Size per 100K Triangles |
| STL Binary |
5 MB |
| STL ASCII |
25-30 MB |
| OBJ (geometry only) |
8-10 MB |
| OBJ + 4K texture |
8-10 MB + 5-15 MB texture |
| PLY Binary (XYZ + color) |
6-8 MB |
| 3MF (compressed) |
3-5 MB |
Reverse Engineering Workflow Summary
Scan Mesh (STL/OBJ/PLY)
|
v
Import into CAD (Fusion 360, SolidWorks, Geomagic)
|
v
Align to Coordinate System (define reference planes/axes)
|
v
Extract Cross-Sections (slice mesh at key locations)
|
v
Measure Key Dimensions (lengths, diameters, angles, radii)
|
v
Fit Geometric Primitives (planes, cylinders, spheres, cones)
|
v
Build Parametric Sketches (with dimensions + constraints)
|
v
Create CAD Features (extrude, revolve, sweep, loft, fillet)
|
v
Deviation Analysis (compare CAD model to scan mesh)
|
v
Export as STEP (parametric model for manufacturing/editing)
Common Processing Mistakes and Fixes
| Mistake |
Consequence |
Fix |
| Decimating before smoothing |
Amplified feature loss |
Always smooth first, then decimate |
| Over-smoothing |
Sharp edges rounded; model shrinks |
Use Taubin (volume-preserving); fewer iterations |
| Filling holes in critical areas |
Fabricated geometry at important features |
Re-scan instead of filling; document filled areas |
| Not archiving original data |
Cannot recover full-resolution scan |
Save original PLY before any processing |
| Wrong units on export |
Model prints at wrong scale |
Verify mm; check first layer in slicer preview |
| Overwriting original file |
Permanent data loss |
Always Save As to new filename |
| Ignoring non-manifold edges |
Slicer errors; failed prints |
Run repair before export; verify topology |
| Excessive Poisson depth |
Millions of unnecessary triangles; slow processing |
Start at depth 8; increase only if needed |
MeshLab Keyboard Shortcuts
| Action |
Shortcut |
| Rotate view |
Left-click drag |
| Pan |
Middle-click drag |
| Zoom |
Scroll wheel |
| Select faces |
Ctrl + Left-click drag (rectangle) |
| Delete selected |
Delete key |
| Undo |
Ctrl + Z |
| Toggle wireframe |
Shift + F2 |
| Toggle flat/smooth shading |
Shift + F4 |
| Show backfaces |
Render > Show BackFaces |
| Measure |
Point-to-point measuring tool (toolbar) |
Last Updated: 2026-03-19