*This article was written by Reid Penner*

## Boolean Operations in SolidWorks

At Sparta, we use SolidWorks CAD software for our design and development process. Because of the multitude of modeling options SolidWorks offers, and the variety of minds using the software, there is always multiple ways to model a single part in the software. In this post, we will take a look at a lesser-known feature in SolidWorks, and an example of how I have used it in the past. **WARNING:** This post gets somewhat technical, delving a bit into 3D modeling theory and operations. An understanding of basic Solidworks operations and capabilities is required.

SolidWorks is generally based in a modeling technique known as parametric feature-based modeling. This means that 3D geometry is created by adding or removing material with known parameters (length, width, height, density, etc.). Simply put, this generally means that geometry is created by drawing a 2D shape on a plane, then extending that shape into the 3^{rd} dimension, either adding or removing material in the process. This method is very easy to understand, and simple to implement.

However, parametric feature-based modeling is highly based in the initial known parameters, and the mathematical equations driving those parameters. As such, it often becomes difficult to create accurate geometry involving irrational values, or complex surface features. For example, because trigonometric functions (sine, cosine, tangent) mostly produce irrational numbers, there is often modeling issues where angles are involved, depending on how they are modeled. Probably most prevalent is the use of splines in SolidWorks. Due to their nature, splines in SolidWorks often create complex geometric features that are not easily handled.

Another lesser-known modeling method that is used in SolidWorks is known as constructive solid geometry. This means that 3D geometry is created by combining different shapes in 3 different ways: unions, where the shapes are melded together; intersections, where only the intersecting material of those shapes are used; and differences, where one shape is removed from the other. This method is a little more difficult to understand, as you don’t only need to think about the existing geometry, you also need to consider the geometry that isn’t there.

These two modeling methods sound very similar, and they are. However, it is the subtle differences between them that make them useful in different scenarios. For example, I was recently trying to cut a cable groove in a drum, and my first instinct is to perform a swept-cut feature, where the cut path is defined by a series of splines. This lead to a lot of problems with surfaces not lining up and created a lot of unnecessarily complex geometry. That in turn led to a lot of features in an attempt to correct issues, which cascades into display problems in Solidworks, issues with tool-paths in manufacturing, and increased time of production.

The solution was to model the drum and the cable (with relief) separately, then subtracting the cable from the drum with a boolean difference operation. This dropped the number of features in the part dramatically and simplified the surface. However, a downside is that because the final part is dependent on other initial parts, changes are not as simple to make if required. In this case, however, the benefits were well worth this initial complication.

So why couldn’t I just have performed the swept-cut feature to the cable path, with the cable profile as used in the cable model? That one I am not 100% sure about an answer. When I did attempt this, the surface geometry just didn’t work out. A problem with using modeling software is there are calculations going on in the background that make assumptions that you don’t know about. Giving up that bit of control is necessary when we start working with complex models, and boolean operations gives a different set of calculations that may make more correct assumptions.

Modeling parts for manufacture in 3D is quite often much closer to an art form than a science, simply due to the sheer number of options available, no matter what the software is. A constant balance between material properties, manufacturing capabilities, adjustability and re-usability of the part also complicates the process. And quite often, an efficient model of the part will translate into less time needed during manufacture and assembly, not to mention less strain on the software to display the models. Having a good understanding of the modeling techniques available is critical in that respect.

With that, hopefully even knowing about boolean operations might one day save some time and effort in your modeling experience.