## SW2009 to introduce disappointing version of equation-driven curves

Solidworks briefly published then pulled a PDF showing what was new in SWX 2009. Among the items listed was equation-driven curves.

This is a feature that is long overdue. SW’s current connect-the-dots-with-a-rusty-crayon curve-thru-points is not an acceptable substitute. I was excited to see they had finally introduced an equation-driven curve feature. That is, until I read the descriptioin…

According to that “what’s new” document, the equation-driven curve feature only allows a user to create 2D curves with functions *y=f(x)*. An improvement, but hardly close to where they need to go. Only works in two dimensions. Does not allow for higher degrees of “x”, as one would find in conics or common forms like wave washers or gear teeth.

SW needs to introduce parameterized curves: x=f(i), y=g(i), z=h(i) for i=0 to 1, like the rest of the grownups in math-land.

List of things *y=f(x)* curves can’t do:

- involutes (gear teeth)
- cardioids
- spirals around a path
- wave-washer outlines

Disappointing. Keep trying, SW. In another five years, you could catch up to where Pro/E was ten years ago.

## Spline Curvature and Geartrax

As promised, more *[yawn]* detail about spline curvature, involutes, and Geartrax. Part 1 of this subject is here.

As I wrote before, there are some errors in the involute spline generated by Geartrax. While the spline passes through all of the defining points, it meanders between these points, introducing minute error as it goes. This is due to the fact that the spline is only defined by its points, with no attention paid to tangency or curvature at any point.

Screen shot of spur gear sample from Geartrax’ web site. |
Curvature comb of Geartrax tooth profile. (Click image to view full size) |

### Curvature of an involute

The curvature profile of an involute with respect to its length is asymptotic. It is infinite (zero radius) at the root and approaches (but never reaches) zero as the length increases. The formula is c=1/sqrt(s), where c is curvature and s is length from the root. For details, see 2dcurves.com.

The problem with the Geartrax “involute” is that it does not follow this curvature profile. The curvature is zero at each end. Also, there are inflecctions in the curvature comb. The curvature should always get smaller as the length from the root increases. The Geartrax spline has regions where the curvature increases with distance. the image below shows the Geartrax spline with curvature comb along with a curve showing what the idealized curvature comb should look like.

### Is this a problem?

Probably not. It depends on how much detail you need in your involutes. If you are cutting gear teeth right from CAD data, you are copying the errors. If you are cutting gear teeth with hobs, the error would not be carried through. For most common uses, performance will not be noticeably affected in either case.

I did have one application where this could have been an issue. I was tasked to model a very large gear for a very large press. The gear was to be wire EDM cut right from CAD geometry. The gear was large enough that CAD geometry errors could possibly be detected. Being a former submariner, I appreciate large, quiet, smooth gears.

Still, I am disappointed. Involutes are nothing new, and the mathematics behind them are clear and well-established. Geartrax’ results are a bit ham-fisted when placed next to an ideal involute’s simple elegance.

### What you can learn

**The big lesson is that there is more to drawing splines than connecting the dots.** Many spline control problems are only made worse by adding more points. Controlling tangency and curvature at key points will go a long way toward creating a spline that suits your needs.

## Spline endpoints zero curvature on creation

There’s a yawner of a title for ya! Probably of little interest to most. I would wager that there are more who *should* be interested, if they knew what was good for them. Especially GearTrax users.

**Curvature** of a spline is the inverse of the radius of the spline at a given point. A curvature of zero equals infinite radius = straight. Certain geometry is sensitive to curvature. Curvature continuity is important for airfoils and cams. Involute curves used to define gear teeth are also curvature-sensitive.

### Curvature of SolidWorks Splines

One tool for evaluating the curvature of a spline is the *curvature comb*. The curvature comb shows a relative indication of a spline’s curvature. Where the comb’s “teeth” are long, the curvature is high. The comb tooth length decreases as curvature approaches zero. Inflection points are indicated where the comb switches sides.

An important phenomenon of SolidWorks splines is that they have zero curvature at their endpoints when they are initially created. The curvature will stay zero until the spline endpoints are altered somehow. Spline endpoints could be altered by moving, trimming, adding constrains, or manipulating control handles.

Spline with curvature comb. When open splines are first drawn in SolidWorks, they have zero curvature at their endpoints. |

### Involutes and Curvature

One case where curvature is important is when drawing an involute. An involute is the curve needed for gear teeth. It is graphically derived by unwrapping a string from a circle. There is also a mathematical formula.

One common method of drawing an involute is to draw a spline through a series of points, derived either mathematically or graphically. However, if one were to simply draw a spline through a set of points and walk away without further editing, that spline would have noticeable error. The endpoints of the spline would be straight (zero curvature).

**At no point in an involute is there zero curvature!** In fact, an involute has infinite curvature at its root. Forcing a spline to zero curvature at the involute root would immediately introduce error to the rest of the spline as it interpolates its path between defining point. The spline would wander inside and outside of the ideal involute path as it attempts to meet all of the defining points after starting with zero curvature. Additional error is also introduced by the zero-curvature end condition.

### …and GearTrax

After all these years, I finally took a look at GearTrax. This after seeing a post about gear design and having a moment of idleness and curiosity.

Of course, I downloaded some samples. I set about inspect the gear profile curvature. I was curious to see how the models were constructed, and what the involute looked like. I honestly expected that GearTrax would have dealt with this issue somehow. However…

*to be continued…*

1Comment