SOLIDWORKS: Making Subassemblies Flexible

SOLIDWORKS: Making Subassemblies Flexible
Posted in: Mechanical Design
March 1, 2018

Subassemblies are an excellent method for both organizing design assets and improving assembly performance in SOLIDWORKS. Simply put, a subassembly is an assembly within an assembly, and they’re used very regularly by design professionals. But what happens when motion is required in a subassembly? If you’ve ever worked with subassemblies, you’ve likely found that by default, subassemblies do not allow for motion between their respective components, and can only move as a group (this improves system performance as SOLIDWORKS is required to perform fewer calculations). Fortunately, this is fixed in only a couple clicks by making the subassembly flexible, as I’ll demonstrate using the dump truck assembly shown below:

Honka Dump Truck Assembly

Figure 1 – Honka Dump Truck Assembly

The goal for this assembly is to add a telescoping hydraulic cylinder to lift the bed of the truck and dump the gravel. As you’d expect, this requires motion to be available within the cylinder subassembly, shown below in the closed and open positions:

Hydraulic Cylinder Subassembly Motion

Figure 2 – Hydraulic Cylinder Subassembly Motion

When inserting a subassembly, SOLIDWORKS uses the position that the subassembly was last saved in (or current position, if the subassembly is open). In this case, the cylinder is extended, and once mated, it cannot move from the position shown below:

Hydraulic Cylinder Added-No Motion Available

Figure 3 – Hydraulic Cylinder Added (No Motion Available)

In order to show the subassembly motion in all its glory, simply right click the subassembly in the FeatureManager Design Tree and choose Component Properties from the context menu. From here, under Solve As, select Flexible. You should also have a shortcut icon in the context menu (shown below in green) to make the subassembly flexible directly.

Context and Component Properties Menus

Figure 4 – Context and Component Properties Menus

That’s all there is to it! The subassembly will now have full motion available as seen below, and the options from here are endless. For example, the animations in this blog were created using a Mate Controller feature on the flexible Hydraulic Cylinder subassembly. Be warned, however – flexible subassemblies have the potential to slow down system performance significantly, especially for large subassemblies with many moving components, and should be used with discretion. Additionally, subassemblies must be resolved in order to make them flexible (lightweight mode cannot be used).

Animated Motion of Truck Bed

Figure 5 – Animated Motion of Truck Bed

Did you learn something from this article? Let us know in the comments and make sure to check out our other blogs for more helpful tips and tricks. For more information, request a SOLIDWORKS 3D CAD quote or contact us at Hawk Ridge Systems today. Thanks for reading!


March 1, 2018
Did you like this post?
August 5, 2019
I have this doubt. After making the sub-assembly flexible and moving the sub-assembly (i.e extending the cylinder in this case) when I make it rigid, it goes to the initial condition when it was rigid before... Are there any possibilities where I can freeze the current position of the flexible sub-assembly after moving ( eg. extending the cylinder) when I make it rigid back again?
Jacob Ames
August 5, 2019
Hi John! When a subassembly is set back to rigid after having been made flexible, it returns to the orientation it was in when it was initially inserted. To overcome this, add a mate to the subassembly by editing it while in flexible mode to secure it in position, then toggle back to rigid mode. At this point, the added mate can be deleted and a new "home position" will have been set for the subassembly. Configurations may also be leveraged for multiple positions, if needed.

Please to comment.

Don't have an account?