One of the mantras I’ve adopted in my time with the SolidWorks product is “be careful of what you ask for”. Sometimes the answer is to simply remove the functionality you complain about. Or maybe create a whole new set of problems to make you forget about the old problems. Their answer has rarely been either trouble free, or something I had imagined/hoped for. I like the “Show Flat Tree View”. So far that hasn’t had any unintended consequences.
But “the Conic” has been for some users the holy grail of “stuff other CAD programs have”. I personally have never worked with conics. People claim they are great, and in concept I can see some of the value, but in practice, they just seem to be an endless font of excuses.
SolidWorks 2013 added the conic sketch entity to the toolset. Literally the first thing I tested after sketching one was if you could then connect it to a spline and add a curvature continuity relation between them. In beta and prerelease, it turned out that you couldn’t. To me, a sketch entity that is supposed to enhance smoothness without the ability to assign c2 is nearly pointless.
But then I did some searching, and it turned out that you also couldn’t make c2 relations to partial ellipses or parabolas. We never cried about parabolas because parabolas sucked so bad when they were introduced that they were an embarrassment. After some time, the parabola got partially fixed, although I have to say I don’t remember when that was. The work flow to draw a parabola still includes placing 4 points, and still starts with a point that isn’t on the curve, and ends with the two end points. Surely there’s something better than that.
Come SW2013 and now we’ve got the ability to draw the sacred “conic”. They did at least figure out to make the two endpoints the first stages of the workflow, thanks for that. 2013 sp2 reportedly added the functionality I felt was missing, so I got all excited. It turns out they also added the ability to make splines c2 to partial ellipses and parabolas. But the excitement was short lived. It turns out you can make a c2 relation between a conic and a spline if they are both in the same sketch, or if the conic is in a closed sketch and the spline is in the active sketch. But you can’t make c2 between a conic and anything else if the “anything else” is outside the sketch, or is a dead entity like a converted entity. One of two things will happen if you try to create a situation that it won’t support. One possibility is that the relation will just go “unsolvable”. Red. Overdefined. Another option is that SolidWorks will simply ignore it altogether. It won’t add the relation, but it won’t fail either.
In the end, you only have a couple situations when the new conic sketch entity is worth using, and that’s when you sketch spline-conic-spline within a single sketch, or when you just draw a conic and make a surface from it, then build on that later with other features. But a conic is meant to function almost like a fillet, and you never draw the fillet before you draw the lines on either side.
This is why the limitations of a function are almost more important than knowing what it will do.
There may be a reason conics were not implemented in SolidWorks for so long. There may actually be GOOD reasons. The problem is no one (who actually knows) has taken the time to communicate with users. This is one of the underlying complaints I have about the software. Convincing people who are fans of conic sketch entities from other programs would undoubtedly be difficult. But SolidWorks to me has if nothing else, been an adventure of discovery. I’ve had to piece everything I’ve learned together from little bits, and from reverse engineering. Lots of things make sense when they are explained. Maybe what I’ve really learned is how loosely a CAD program is tied together. There are very few people who actually know how things work, and those people may not even work for the company that develops the software.
The math for conic sections is simple enough.
Circle: x^2 + y^2 = r^2
ellipse: (x/a)^2 + (y/b)^2 = 1
hyperbola: x^2/a^2 – y^2/b^2 = 1
straight line: y=mx+b
The math is high school math. LOTS of us who use this software have had LOTS of math after high school math, and would understand stuff like this if it was explained somewhere. The slope of the tangent of a conic curve at its end point is easy to figure out from first derivative, which is easy for all these. The curvature at the end of the curve is also easy to figure out for a second order equation, as second derivative. But there has to be a single equation for the whole set of conic entities.
In the Cartesian coordinate system, the graph of a quadratic equation in two variables is always a conic section – though it may be degenerate, and all conic sections arise in this way. The equation will be of the form
But we need something with a rho-like single variable in it.
At another link,
given three control points, a, b, and c, and a parameter Lambda, the parametric equation for a conic is given as a (1-t)^2 + b \Lambda 2t(1-t) + c t^2 eta(t) = ------------------------------------- (1-t)^2 + \Lambda 2t(1-t) + t^2
Anyway, I’m sure its doable. So many other things are really difficult, but most of this is understandable. If this is just plain wrong, please someone explain why.
I’ve created a lot of stuff without the conic in the past, and I have the feeling I’ll create a fair amount of stuff without the conic in the future. If they can’t create a conic sketch entity that can get c2 without limitations, I don’t think I’ll find a whole lot of use for it. They might have saved themselves the trouble of working on it if they had just talked to users. I really don’t need what was delivered. It will be another curiosity in the dust bin like the parabola.