Managing Complex Parametric Relationships in SOLIDWORKS

One of the best things about SOLIDWORKS is the way it handles parametric models. Its geometric constraint-based sketching is quick and intuitive to use. It also works well with complex geometric arrangements that can often fail in other CAD software—even the much more expensive kind used in large aerospace and automotive companies.

This is easy to keep track of when all the relationships are either within a single sketch or referencing the origin/primary reference planes (front, top and right views). However, when sketches start to reference each other, it can start to get more difficult to trace issues and make updates to the model. Where things can start getting really complicated is when parts reference geometry at the assembly level.

This article will look at how to maintain clarity and control in these complex models, with many parametric relationships between components within a large assembly.

By referencing parts and features to each other, design intent can be expressed more efficiently. For example, one part driving another to ensure they fit together or align with each other. This is more convenient and easier to update than trying to ensure that the dimensions of separate parts tie up with each other.

Consider a simple example where a hold for a grub screw must be aligned to a shaft. Instead of dimensioning the position of the hole for the grub screw, it references the position of the hole for the shaft.

One of the first things you can do to make it easier to understand relationships is to name sketches and dimensions. Giving things meaningful names makes it much easier to follow what’s going on in the model. You can also choose to display the names of sketch dimensions by clicking the D1 option in the Hide/Show Items menu.

Being able to easily see the relationships between features in a model is important. In SOLIDWORKS, these can be viewed in the feature manager tree by turning on Dynamic Reference Visualization. Hovering over a feature then makes arrows appear, indicating which features are its parents and which are its children.

To turn on this visualization, simply right click the top level of the feature manager tree and select the two icons, one to view parents and one to view children. Where the reference is to a feature in another file, the arrow will extend beyond the top of the tree, with a note indicating the file which is being referenced. This note will also say “out of context” which is not an indication of an error but simply that the referenced feature isn’t visible in the tree. For these external references, it is also possible to lock or break the reference by first clicking the blue circle.

While this visualization shows where features and sketches reference each other, it doesn’t specify the actual geometric relationships between individual entities. For that level of detail, within sketches, SOLIDWORKS uses the Display/Delete Relations PropertyManager. This is accessed while editing a sketch by clicking the icon on the sketch tab of the command manager.

It opens in the PropertyManager with a list of all the relations in the sketch, both geometric relations and dimensions. The list of relations can be filtered either by clicking on a dimension of feature on the model or by using the drop-down menu within the PropertyManager. When you select one of the dimensions in the list, the referenced entities are highlighted in the model even if they are hidden. The typically two entities which are related to each other are also displayed in the Entities box of the PropertyManager.

Confusingly, these are not named according to the name that’s seen in the feature tree. However, selecting an entity here will display its actual name in the Entity box below.

When sketches and features directly reference entities in other parts, this can get very difficult to keep track of. An assembly that has many different parts, all referencing each other, is a recipe for disaster. A much better way to handle this is to define all the shared geometry in layout sketches, all of which are contained in a single master part or assembly file.

SOLIDWORKS has a way of making this even easier to manage by bringing any layout sketches referenced by a particular part as derived sketches. Although the assembly may seem the obvious place for layout sketches, using a master part to contain them has some advantages. It allows you to work on the assembly-level layout without having the assembly open. When you make a change to layout sketches this can cause multiple parts to rebuild. Rebuilding an assembly that contains all these parts will therefore be much slower than simply rebuilding the sketches in the master part.

In my recent mechanism synthesis for a folding bicycle article, the layout sketches defining the mechanism were in a master part. I used an optimization script to try thousands of different configurations. Doing this with an assembly of parts that all need to update would have been far too slow with the optimization taking weeks of compute time.

All the geometry in a derived sketch is fixed; it has no dimensions or relations between its entities. It behaves as a rigid block that updates when the sketch it was derived from updates. The only relations that can be added to a derived sketch are those used to define the position and orientation of the derived sketch within the part or assembly where it is created.

To create a derived sketch, select the sketch you want to copy and a plane to locate it on, and then choose Insert > Derived Sketch. Both the original sketch and the location plane must be in the same assembly.

To create the derived sketch in a part of sub-assembly, it must be in Edit in Context. With the derived sketch in a part, each reference to a sketch entity can be traced within the part, which is much easier to follow. Using a derived sketch can reduce a large number of difficult-to-trace references between files to a single easily understood one.

When using derived sketches, SOLIDWORKS automatically marks them as “derived” in the feature manager tree. If you give the derived sketch the same name as the sketch from which it is derived, this makes it extremely easy to understand how the part references the master part or assembly. Since all the layout sketches should be contained in a single master part or assembly, it’s very easy to follow.

Managing complex parametric models with many assembly level references can be very challenging. However, you will find it much easier if you follow good practices by using clear naming conventions, dynamic reference visualization, the sketch reference manager and derived sketches.

Recent Articles

Related Stories

Enews Subscribe