How to use Contact Sets in Fusion
- Brad Tallis
- Aug 7
- 5 min read
The rolling marble example I showed in last weeks video uses Contact Sets. This function checks to see when bodies or components contact each other. Drag the sphere across the floor and wall, and Fusion stops it when those selected bodies make contact.
Enable Contact Sets for Selected Bodies
Under the Assemble menu, Fusion provides Enable Contact Sets and Enable All Contact.
Enable All Contact constantly checks whether bodies touch or clash. This makes it computer intensive.
Enable Contact Sets gives you more control. You choose which bodies and components should interact instead of checking every possible contact.
After enabling Contact Sets, Fusion creates a Contact Sets folder. The folder includes No Contact and All Bodies Contact options. For a selected interaction, use Assemble > New Contact Set.
Create a Contact Set for the Rolling Sphere
The sphere example I show in the video starts with no contact setup, so the sphere sinks into the part.
Choose Assemble > New Contact Set. Select the bodies and components that should interfere, then confirm the selection. Fusion adds the new contact set under the Contact Sets folder.
Drag the sphere around the model. It moves freely until it reaches the base, then stops when it touches the body. Lift it and move it toward the left, and it stops when it reaches the wall.
The contact set checks the selected bodies during movement. When the sphere touches both the floor and the wall, the movement becomes slower. The sphere may also lift away from the floor while Fusion solves the contact.
Keep the Sphere on the Floor with a Tangent Constraint
Delete the contact set to return the model to no contact. Then choose Constrain Components > Tangent, using the last option.
Select the sphere and the surface. Fusion may place the sphere underneath the surface; if so, use Flip. The bottom of the sphere should now remain tangent to the floor.
With this tangent constraint in place, the sphere moves quickly and easily across the surface. You cannot lift it away from the floor.
Create a new contact set between the sphere body and the other body. The sphere can now move against the wall while staying on the floor. It also moves faster than it did without the tangent constraint.
Use constraints or joints to control the object's motion, then use Contact Sets to calculate how it interacts with other bodies.
Simulate a Latch with Constrain Components and Contact Sets
The latch motion and clearance test shows a case where a slider joint alone cannot describe the motion.
The latch has a slider joint, but it needs to rotate down through an opening and drop into a notch.
Use Constrain Components to keep the two cylinders lined up. The latch can now slide and rotate. Its motion acts like a slider joint and a revolute joint at the same time.
The constrained latch can still clash and intersect with the metal.
Enable Contact Sets and create a new contact set for the relevant latch bodies or components.
Fusion stops the latch when it touches the metal. Rotate the latch to see it rub along the edge. You can also see the gap at the back and check whether the design has enough room for the latch to rotate.
As the latch rotates farther, it starts to lock up because the opening is a bit too tight.
To change the design, select the face and use Press Pull. Move the face back by half a millimeter by entering -0.5. Make the same change on the other side.
Test the latch again. Slide it forward, begin the rotation, and drop it into the notch. The latch now rotates and engages much more easily. The first opening was too tight.
Contact Sets also show the amount of slop in the design. Push the latch all the way forward in the latch and measure from the latch to the wall. In this example, the distance is just under a millimeter.
The test also shows the latch's resting position. It does not sit horizontally when it rests inside the notch.
Set Vise Slider Joint Limits with Contact Sets
The vise limit measurement demonstrates how Contact Sets can provide exact values for joint limits.
The vise has a motion link with the handle. Its slider joint has no limits, so the parts intersect when you drag the vise in either direction.
This model has many faces, including the faces on the threads. Enable All Contact would take a long time to calculate here. Use Enable Contact Sets instead.
Create a new contact set between the vise body and the jaw that should define the stop. Drag the vise to the left until the two parts touch.
Open Assemble > Drive Joints and select the slider joint. The distance in this position is 1.219. Copy that value.
Edit the slider joint's limits and paste 1.219 into the maximum value. Then disable Contact Sets.
The vise can still clash on the other side, but it now stops at the maximum value in the measured direction. Because Fusion no longer calculates contact live, the movement is much faster.
To set the limit in the other direction, enable Contact Sets again and create another contact set. The first selected pair appears to interfere with another part first, so redo the contact set using the body that touches the brown part.
Drag the vise back until the parts touch. Open Drive Joints again and select the slider joint. The distance is -.809. Copy that value and paste it into the minimum joint limit.
Disable Contact Sets once more. The slider now stops at both ends and cannot move past the measured limits.
This is where Contact Sets are used most often: finding limit values for particular joints.
Use Motion Link and Contact Sets with Gears
Two gears can have no interaction set up between them. For this simple example, enable Contact Sets and then use Enable All Contact.
Fusion does not ask you to select bodies for Enable All Contact. Drag one gear, and Fusion calculates whether the gear faces touch or intersect.
View the gears from the top and zoom in. Rotate one gear to see the slop between the teeth. This can show how far one gear rotates before it physically engages the other gear. That information may help when designing something like a kinetic sculpture with many gears.
For normal gear movement, use a Motion Link. First disable the contact calculation. Then link the two revolute joints and reverse the motion. One gear has 24 teeth, and the other has 12 teeth. Enter 12 and 24 for the gear relationship.
The gears now rotate at the correct gear ratio, but they do not physically touch. Motion Link therefore cannot show the slop between the gears. Contact Sets can show that physical engagement, while Motion Link usually handles the gear movement.
Moving parts with Enable All Contact
The chain example uses individual links that do not intersect. The first link is locked in place, while the other links can move.
There are no joints that could be created for this setup, so use Enable All Contact. This option is math intensive, which means you need to move the links slowly.
Lift one link, and it engages the next link. Move it to the side, and it pulls on the next link. If you move too quickly, the links disengage.
Move slowly, and the links continue engaging with each other. The first stationary link stops the chain from moving farther. You can also grab and move any of the other links to see how they interact.
Use small movements to avoid losing the chain's position:
Move one link a little, then let go.
Move another link a little, then let go.
If the links disengage, use Undo to reverse one step.
If you try to move the whole chain at once and it disengages, Undo returns the model to the beginning. Sometimes a quick drag can reengage the links, but that result is not reliable.
This shows what can be accomplished using Contact Sets inside of Fusion.

Comments