Collision Detection
The Collision Detection tool identifies and visualizes intersecting regions between two surface objects. This analysis is essential for assembly verification, interference checking, and ensuring components fit together properly without unwanted overlaps.
Overview
Collision detection examines two surfaces and identifies triangles that intersect or come within a specified tolerance of each other. The results are displayed by highlighting the colliding triangles, providing immediate visual feedback about interference locations.
Common applications include:
- Assembly verification: Checking that parts fit together without interference
- Clearance analysis: Verifying minimum gaps between components
- Design validation: Ensuring modeled parts don't overlap unintentionally
- Motion analysis: Checking for collisions during simulated movement
- Quality control: Identifying manufacturing deviations that cause interference
Accessing the Tool
Navigate to the Surface ribbon tab and locate Collision Detection in the Analyze section. At least two surface objects must be present in the workspace to use this tool.
Surface Selection
Input 1
Select the first surface for collision testing from the dropdown menu. All available surface objects in the project are listed.
Input 2
Select the second surface for collision testing. This should be different from Input 1 to detect collisions between distinct objects.
Note: While you can technically select the same surface for both inputs to detect self-intersections, the tool is primarily designed for inter-object collision detection. Use the Diagnostics and Fixes tool for dedicated self-intersection analysis.
Parameters
Tolerance
The tolerance parameter (in mm) controls the sensitivity of the collision detection:
| Tolerance | Behavior |
|---|---|
| 0.0 | Only actual geometric intersections are detected |
| Small positive | Detects near-misses where surfaces come close but don't touch |
| Larger values | Increases the collision envelope; more triangles may be flagged |
Default value: 1.5 mm
When to use different tolerances:
- Tight tolerance (0.0 - 0.5 mm): Precision assembly, exact interference detection
- Medium tolerance (0.5 - 2.0 mm): General assembly checking with manufacturing tolerances
- Larger tolerance (2.0+ mm): Clearance verification, safety margin checking
Visualization
When collisions are detected, the intersecting triangles are highlighted on both surfaces:
- Colliding regions: Displayed with a distinct highlight color
- Non-colliding regions: Displayed with normal surface rendering
This visual feedback allows you to:
- Quickly locate interference areas
- Assess the extent of collisions
- Identify specific problematic regions
Click Update to recalculate collision detection after changing parameters or modifying surface positions.
Practical Applications
Assembly Fit Verification
Before manufacturing or 3D printing assembly components:
- Position both parts in their assembled configuration
- Select each part as Input 1 and Input 2
- Set tolerance based on manufacturing precision
- Run collision detection
- Highlighted regions indicate design conflicts
Clearance Analysis
To verify minimum clearances between parts:
- Set tolerance to the required minimum clearance
- Run collision detection
- Any highlighted regions violate the clearance requirement
- Adjust designs until no collisions are detected at the specified tolerance
Iterative Design Refinement
During design iteration:
- Run collision detection after each design change
- Use the visual feedback to guide modifications
- Repeat until all interferences are resolved
- Document final clearance verification
Motion Path Analysis
For parts that move relative to each other:
- Position parts at various points along the motion path
- Run collision detection at each position
- Identify any positions where interference occurs
- Modify designs to ensure clearance throughout the motion range
Technical Considerations
Algorithm
The collision detection uses spatial acceleration structures (typically bounding volume hierarchies) to efficiently test triangle pairs for intersection. The algorithm:
- Builds spatial index for each surface
- Identifies potentially colliding triangle pairs using broad-phase testing
- Performs precise triangle-triangle intersection tests
- Expands collision detection by tolerance margin
Tolerance Implementation
The tolerance creates an expanded collision envelope:
- Triangles are tested as if they were slightly larger by the tolerance amount
- This catches near-misses and provides a safety margin
- Higher tolerances increase computation but catch more potential issues
Performance
Collision detection performance depends on:
- Surface complexity: More triangles require more tests
- Spatial proximity: Nearby surfaces require more detailed testing
- Tolerance value: Larger tolerances may increase detected pairs
For complex surfaces, initial detection may take several seconds. Subsequent updates are often faster due to caching.
Limitations
- Static analysis: The tool checks current positions only; it doesn't analyze motion
- Triangle-level: Results are at triangle granularity, not sub-triangle precision
- Binary result: Triangles are either colliding or not; penetration depth is not reported
Workflow Recommendations
Systematic Assembly Checking
For assemblies with multiple parts:
- Check pairs of adjacent parts systematically
- Document collision-free results
- Address any detected collisions before proceeding
- Re-verify after design changes
Tolerance Selection Strategy
- Start with zero tolerance to detect actual intersections
- If none found, increase tolerance to check clearances
- Use tolerance values matching manufacturing tolerances
- Document the tolerance used for traceability
Resolving Detected Collisions
When collisions are detected:
- Identify the collision location from the visualization
- Determine which part should be modified
- Use editing tools (Cut, Boolean, etc.) to resolve
- Re-run collision detection to verify resolution
Common Issues and Solutions
| Issue | Likely Cause | Solution |
|---|---|---|
| No collisions detected | Parts don't actually intersect | Verify part positions; reduce tolerance if checking clearances |
| Too many collisions | Tolerance too high | Reduce tolerance value |
| Detection is slow | Very complex surfaces | Reduce mesh complexity if possible |
| Same triangles always highlighted | Static collision | Parts need to be repositioned or redesigned |
| Unexpected collision regions | Tolerance expanding collision envelope | Reduce tolerance for precise intersection detection |