Turning Large CAD Assemblies
into Real-Time 3D Visualizations
PiXYZ Software | Cédric Rousteau & Axel Jacquet
UNLOCK CAD DATA FOR
REAL-TIME 3D EXPERIENCES
First-class algorithms for automatic CAD/DCC data treatment
What is PiXYZ?
polygon model
scan metadata
nurbs data
VR
Training, Simulation,
Product Viz, …
AR
Process Validation,
product viz,
marketing
MOBILE
Entertainment
Marketing, Sales,
Product Viz,…
WEB
Entertainment
Marketing, Sales,
Product Viz,…
GAME & VFX
Entertainment,
Simulations,
Visualization,…
ANY
DEVICE
ANY
USECASE
VRED to Unity workflow example
LINK
Why is it a challenge to bring CAD assemblies
in real-time 3D experiences?
EXACT MATHEMATICAL GEOMETRIES
BOUNDERY REPRESENTATIONS
DESIGN PRODUCT STRUCTURE
METADATA
SIMPLIFIED HIERARCHY | ASSEMBLY
OPTIMIZED MESH
REAL-TIME ANIMATION
PRODUCT MODELING
INFORMATION PHYSICS PROPERTY
MATERIALS
LARGE ASSEMBLIES
MATERIALS | UVs
• Many file formats
CAD Import
JT
STEP
IGES
IFC
CAD Import
• Complex and heavy product structure
Root
Rear Right
Wheel
Rear Left
Wheel
Rear Axle
Right Wheel
Left Wheel
Axle
Wheel
Front Right
Wheel
Front Left
Wheel
Front Axle
• B-Rep Topology structure
• 20 curve types
• 22 surface types
CAD Import
1. Geometric optimization
2. Scene tree optimization
3. Meshes beautification
4. LODs
Autodesk Alias to real-time 3D use case
NURBS
CAD Data
Alias Model Analysis
Scene Tree
• Hierarchy levels
• Number of parts
• Naming
• Instances
• Empty nodes
• Variants
• Pivot points
BRep / Mesh Information
Material Information
Metadata
Geometric optimization
Scene tree optimization
Mesh beautification
LOD
Step 1/11
Repairing CAD surfaces
Inner free boundaries should be repaired (meaning stitched) prior to tessellation to create a beautiful, watertight mesh
Repair CAD
Repair CAD algorithm
• Sew face boundaries
No CAD repair prior to tessellation = Gaps in the meshes
Repair CAD algorithm
• Sew face boundaries
• Remove duplicated faces
No CAD repair prior to tessellation = non-manifold edges / duplicated polygons / Z-fighting
Repair CAD algorithm
• Sew face boundaries
• Remove duplicated faces
• Optimize loops
Without loop optimization With loop optimization
Step 2/11
Tessellation
Generate mesh well balanced between quality and density
1 875 352 tris
Tessellation algorithm
• Driven by criteria
• Max Sag
Sag = 0,1mm
Sag = 0,2mm
Radius=100mm Radius=50mm
Tessellation algorithm
• Driven by criteria
• Max Sag
• Max Angle
Angle = 10°
Radius=100mm Radius=50mm
Angle = 20°
Tessellation algorithm
• Driven by criteria
• Max Sag
• Max Angle
• Max Length
Length = 10mm
Radius=100mm Radius=50mm
Length = 30mm
∞
5
2
10
Tessellation algorithm
• Driven by criteria (Sag, Angle, Length)
• Based on fast and robust CAD modeler
Tessellation algorithm
• Driven by criteria (Sag, Angle, Length)
• Based on fast and robust CAD modeler
• Alignment of vertices over surfaces
Without alignment With alignment
Step 3/11
Repair Meshes
Repair Mesh algorithm
• Repair connectivity
• Merge coincident vertices
Repair Mesh algorithm
• Repair connectivity
• Merge coincident vertices
• Sew mesh boundaries
Repair Mesh algorithm
• Repair connectivity
• Merge coincident vertices
• Sew mesh boundaries
Repair Mesh algorithm
• Repair connectivity
• Merge coincident vertices
• Sew mesh boundaries
• Orient consistently
• Propagation
Repair Mesh algorithm
• Repair connectivity
• Merge coincident vertices
• Sew mesh boundaries
• Orient consistently
• Propagation
• Split Môbius strips
Step 4/11
Fix faces orientation
Smart Orient algorithm
Smart Hidden Removal
Remove hidden entities (parts, patches, polygons) using cavities automatic identification
Geometric optimization
Scene tree optimization
Mesh beautification
LOD
Step 5/11
Optimize scene tree
Step 6/11
Adjust pivot points of moving parts
Geometric optimization
Scene tree optimization
Mesh beautification
LOD
Step 7/11
Generate UVs & Assign material names
UV Generation
• From CAD Faces
• Surface parameterization
• Uniform parameterization
• By projection
o Box
o Spherical
o Cylindrical
• Automatic unwrap (beta)
→ Find the best lines to cut the mesh
→ Control angle and area deformation
Repack UV
Geometric optimization
Scene tree optimization
Mesh beautification
LODs
Step 8/11
Export LOD 0
1 875 352 tris
Step 9/11
Decimate with quality control for LOD 1
1 875 352 tris 914 905 tris
LOD0
LOD1
Decimation Algorithms
• Quality driven
o Vertex removal
o Maximum deviation
o Normal distorsion control
o UV Distorsion control
With normal control
Without normal control
Decimation Algorithms
• Polygon target
o Edge collapse
o Quadric Error Metric
o Mesh attributes preserved
100 000
10 000
1 000
Step 10/11
Decimate with polygon target for LOD 2
148 494 tris
Step 11/11
Shadow & Physics proxy meshes
5 504 tris
Proxy Generation
Proxy Mesh Voxelize Marching Cube
Baked Proxy Generation
Baked PBR maps
Original Model
40k triangles
3 materials
2 meshes
Baked Model
8k triangles
1 material
1 mesh
Import in Unity…
Mesh
Metadata
Product Structure
Material Assignment
via Rule Engine
*.pxz file
Credits: Unity Technologies
… and create great Real-time experiences
Credits: Unity Technologies
LINK
CAD DATA
CATIA, SIEMENS NX,
ALIAS, …
MESH &
3D SCAN
METADATA
COLOR, MATERIAL,
TEXTURE, NAME
PLM
DATA
Data Prep automation
What’s next?
Machine Learning
Thank you

Turning large CAD assemblies into real-time 3D visualizations- Unite Copenhagen 2019