Skip to main content

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.

Two overlapping surfaces with the colliding triangles highlighted in red

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:

ToleranceBehavior
0.0Only actual geometric intersections are detected
Small positiveDetects near-misses where surfaces come close but don't touch
Larger valuesIncreases 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

Results​

Click Update to run the check. Both inputs must be different objects; asking for a surface against itself is refused.

The intersecting triangles are highlighted on both surfaces, so the interference is located as well as detected, and the status bar reports Number of collided triangles for the run. That count is the quickest way to tell whether an adjustment is helping: rerun after each change and watch it fall.

If nothing collides, no triangles are highlighted and no count is reported.

Update recalculates with the current tolerance, so it must be clicked again after changing the tolerance or after moving either surface with Transform or Interactive Transform.

Practical Applications​

Assembly Fit Verification​

Before manufacturing or 3D printing assembly components:

  1. Position both parts in their assembled configuration
  2. Select each part as Input 1 and Input 2
  3. Set tolerance based on manufacturing precision
  4. Run collision detection
  5. Highlighted regions indicate design conflicts

Clearance Analysis​

To verify minimum clearances between parts:

  1. Set tolerance to the required minimum clearance
  2. Run collision detection
  3. Any highlighted regions violate the clearance requirement
  4. Adjust designs until no collisions are detected at the specified tolerance

Iterative Design Refinement​

During design iteration:

  1. Run collision detection after each design change
  2. Use the visual feedback to guide modifications
  3. Repeat until all interferences are resolved
  4. Document final clearance verification

Motion Path Analysis​

For parts that move relative to each other:

  1. Position parts at various points along the motion path
  2. Run collision detection at each position
  3. Identify any positions where interference occurs
  4. 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:

  1. Builds spatial index for each surface
  2. Identifies potentially colliding triangle pairs using broad-phase testing
  3. Performs precise triangle-triangle intersection tests
  4. 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:

  1. Check pairs of adjacent parts systematically
  2. Document collision-free results
  3. Address any detected collisions before proceeding
  4. Re-verify after design changes

Tolerance Selection Strategy​

  1. Start with zero tolerance to detect actual intersections
  2. If none found, increase tolerance to check clearances
  3. Use tolerance values matching manufacturing tolerances
  4. Document the tolerance used for traceability

Resolving Detected Collisions​

When collisions are detected:

  1. Identify the collision location from the visualization
  2. Determine which part should be modified
  3. Use editing tools (Cut, Boolean, etc.) to resolve
  4. Re-run collision detection to verify resolution

Operation Log​

No scripting method detects collisions, so the Operation Log is where a run is kept. Each Update is listed with the two surfaces it compared, the contact tolerance it used, and how many triangles collided in each surface. The highlighted triangles are display, so the entry carries no undo step and offers no Python call.

Common Issues and Solutions​

IssueLikely CauseSolution
No collisions detectedParts don't actually intersectVerify part positions; reduce tolerance if checking clearances
Too many collisionsTolerance too highReduce tolerance value
Detection is slowVery complex surfacesReduce mesh complexity if possible
Same triangles always highlightedStatic collisionParts need to be repositioned or redesigned
Unexpected collision regionsTolerance expanding collision envelopeReduce tolerance for precise intersection detection