Taking a Deep Dive into the Style Spline in SOLIDWORKS - Part 1

By now you've heard about Style Splines. If so, you’re probably wondering what makes it different from the spline that's already available, why it may be useful to you, and when you may want to use it. In this 3-part series, we'll be answering those questions.

First, the Style Spline isn't something new in the world of CAD. It’s an entity that has been around for a long time but is sometimes overlooked. It’s called a Bézier curve. This type of curve is commonly referred to as a “spline”, but it's a little different from the spline currently offered in SOLIDWORKS, which is classified as a B-Spline.

The math involved in calculating a Bézier curve uses a single polynomial called the Bernstein Polynomial.
Shows the Bernstein Polynomial Equation
The curve is defined by the position of control vertices, or "CV" as they’re commonly called. Together they form the control polygon, or “hull” of the curve. Along the curve, there are no through points on the current spline, so it's considered a “single span”. The degree of the curve, or the order of the underlying polynomial, depends on how many control points there are. The more control points, the higher the degree of the curve, and the more complex you can make its shape. By looking at the control polygon, the degree of the curve is always equal to the number of CVs minus 1.

Image of Style Spline - SOLIDWORKS - curve degree 4

B-Splines, on the other hand, use multiple polynomials to achieve their shape and are a generalization of multiple curves. Think of a B-Spline as a series of overlapping (or connected) curves. The regions in between each through point are called “spans”, so it is possible to have multiple spans. The user can also weigh the tangency and control the vector at each through point. These controls give a B-Spline the capability of making very complex curves very easily. If you show the control polygon on our B-Spline (Right-Click the spline -> Display Control Polygon), things aren’t as straightforward as the Bézier curve. The degree and number of generalized curves that make up the overall shape are not controlled by the user, but rather by an algorithm that adjusts depending on how much control the user requests of the curve (curvature constraints applied at the endpoints, spline handle manipulation at each through point).

Image of SOLIDWORKS Style Spline - curve degree = 3

Note that as you pull on spline handles and apply constraints at the endpoints, the control polygon adds new CVs. These new CVs accommodate the extra degrees of freedom the user is requesting. It can also allow the curve to get a little unruly. This added complexity can adversely affect the overall smoothness of the curve, introducing small deviations, bumps, and wrinkles that may not be immediately visible in the curve, but that can show up in the resulting geometry that uses the curve. If smoothness (aesthetics or ergonomics) is your goal, we want to keep the curve as simple as possible, adding complexity (more control) only when necessary.

 

Image of SOLIDWORKS Style Spline

 

Both curves have their advantages and disadvantages, and that’s what we’ll explain in Part 2 of the series. However, put simply, a Bézier curve is simpler than a B-spline. This diagram is a good visual of the curves that are available in SolidWorks, in order of increasing flexibility, as well as mathematical complexity.

Image of SOLIDWORKS Style Spline - different curves in SOLIDWORKS

So what does all this mean? The reason SolidWorks added the Style Spline is not to replace anything that we currently have, but to provide something better suited for certain jobs. As you can see, the math involved is easier than a B-Spline, but more complex than a conic. It's another tool in your toolbox, and the key is knowing when to use it and why.

Watch this space for Parts 2 and 3 of the series. Want to see the Style Spline in action? Here's a video - find more like this on our YouTube channel.

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.