Home » How To Do Collision Detection in SolidWorks?

Whenever you are working in SolidWorks you should always make sure that your components are not overlapping and that there is no interference between them. Also, for flexible assemblies, you should make sure that your moving components are not colliding with each other and that there are necessary tolerances and space for parts to move freely. You can perform a visual check and try to find if there is any collision or overlapping between components but most of the time you will probably not notice that. Complex or large assemblies make it hard, even impossible sometimes to detect these interferences.

So, Solidworks provides you with 2 tools that you can use to easily check if there is an interference. One of them is Interference Detection and the other is called Collision Detection. Interference Detection is a very powerful tool to find out if there is an overlapping between components or if components are coincident when there should be a tolerance gap. But since it is a static tool, it can’t be used to find interferences between moving components.

To help with the drawbacks of the Interference Detection tool, a Collision Detection tool is provided. With the help of this tool, you can detect collisions with other components when moving or rotating a component. This tool can detect collisions within the entire assembly or for a selected group of components.

Also, Physical Dynamics is an option that allows you to see the motion of assembly components in a realistic way. With Physical Dynamics enabled, when you drag a component, the component applies a force to other components that it touches and moves the other components in a realistic way (if they are free to move). But we will discuss this tool another time.

In this tutorial, we are going to know how much gun up-down movement we can achieve in this given assembly using the Collision Detection Tool.

1. Click Move Component or Rotate Component present in the Assembly toolbar.

2. In the PropertyManager, under Options, select Collision Detection.

Under Check between, select:

  • All Components: This option will detect the collision if the component you are moving touches any other component in the whole assembly.
  • These Components: This option will only detect collisions between the selected components. If the component you are moving touches any of the selected components, the collision will be detected. Collisions with items that are not selected will be ignored. Select all the components that you want for the collision tool to check and then click Resume Drag.

Check the Stop at collision option to stop the motion of the component when it touches any other entity.

We recommend you keep it checked because if you move a component too fast over an interfering area, the software may not be able to show you those interferences in time. This option makes sure that the component is not going through other components. When working on slow systems or on complex assemblies, this option becomes a necessity because SolidWorks responsiveness is greatly reduced in these cases. 

Select Dragged part only to check for collisions with only the components that you are moving. When unchecked, the components that you are moving along with any other components that move because of mates with the selected components, are checked for collisions.

5. Under Advanced Options, select:

  • Select Highlight Faces to highlight the faces of the components that are touching each another.
  • Select Sound to make the computer beep when a collision is detected.
  • With the Ignore Complex Surfaces option checked the collisions are only detected on simple surfaces (such as planar, cylindrical, conical, spherical, etc.) and complex surfaces are neglected. This option is useful if your system is slow as checking collisions against complex surfaces is a computationally heavy task.

6. Move or rotate the component to detect collisions.

Notice how the Gun Barrel stops moving as soon as a collision is detected.