Examining Conic Curves and Surfaces, with Rick McWilliams
Below is an email I’ve received from Rick McWilliams which I’ve edited a bit on the topic of Conic Surfaces. I don’t have guest bloggers very frequently, but when I run into people with great content and willing to share, I take advantage of the situation.
I have found conic surfaces very useful for precision flowing shapes.
The swoopy shape to the right is an example of an aerodynamic feature. The concept begins with a profile view (pink), and a plan view (yellow). The plan view is an airfoil shape. The profile has a top edge, and a curve for the widest point. I project the widest point curve (green) onto the airfoil plan curve (yellow) to get a curve that is the edge. The conic surface needs a spine which is in general a line. Conics are all planar curves and the plane of the conics is normal to the spine.
You can select the controlling features by clicking on screen or in the feature tree. Start with spine, then select the top profile. We want the surface to be normal to the front plane at the top profile. Choose the widest point curve, and select normal to top plane. Set rho to taste, I usually start with 0.6. The surface preview is most reliable. You can always make changes later. It makes a very smooth shape.
Rho is the squareness for conic, and translates into the squareness of the surface. In theory at 1.0 it is a dead sharp corner, 0.8 is a very modern squarish corner, 0.6 is most useful for airplane fuselages, 0.4 looks like an ellipse, and 0.1 is a slanted ellipse section that tends toward a line between the end points.
I would expect boundary surface to do the same thing given the edge curves and a conic section. SW does rather well at rho less than 0.6. Above that value, the butt cracks become visible. Also the boundary surface does not maintain the desired edge slope. there will be trouble making other surfaces match.
This swoopy shape has two singularity (degenerate) points. It is rather asking for trouble. The nose has been adjusted to have the edge curves meet perpendicular to the spine. The tail is less difficult but it produces very high curvature as the edge curves meet at a shallow angle to the spine.
[matt] This is where I’d like to jump in. There are two things I’d do differently here. The first is that I’d use an extruded reference surface on the Front plane identified above as a guide for the tangency across the mirror plane when making a SW Boundary surface. If the GW surface can be made without that, that’s great. The reference surface would help control what Rick identifies as the “edge slope” – tangency direction at the edge. The second thing I’d do is that I wouldn’t make a surface with two degenerate points unless there was absolutely no other way. Even Rick acknowledges that its asking for trouble. I would look to find a way to “overbuild” the surface, then trim it back with one of the curves (probably the green one) identified by Rick above.
I recognize the problems that Rick is talking about, and these are the methods I use to get around them in SolidWorks.[/matt]
I have made the top of the grip a trapezoidal plan, building half of it at once. The actual shape is created by conic curves. I tweaked the rho to get a shape that I liked.
The grip is defined very directly. A profile view constructed in splines and conics. The wide point curve is a projection from a front view and a curve in the profile view.
The grip cap is made from a conic surface with a straight line spine. Both ends have singularities but they initially seem to work. It knits into a solid without trouble. Some buttons and holes are added.
Now GW gets to really show off. Conic surfaces will match other conic surfaces perfectly when mirrored. The spine direction, points, slopes must match. This will require the spine to be a curve that is normal to the cap plane, and normal to the bottom edge. A circle will do the job. The edge slope must match. I will use the follow curve form of the edge slope definition. I use GW to make an offset copy of the edge curve. [matt- offsetting and mirroring curves are things SW cannot do] This curve is then used as a convert entity in a 3D sketch, and I trim it so that I can add a little spline segment that makes the final twist at the top.
The conic surface must end with a rho that matches the top, and begin at the bottom with something more rounded. I select a linear taper rho.
Mirror the conic surfaces, cap off the top and bottom and knit into a solid. Let SW round the bottom. Add a button and a hole. Add some surface textures.
It looks pretty good. It will be easy to sharpen or round corners by changing the appropriate rho. No hogbacks or butt cracks.
[matt] I’m gonna jump in again. It’s interesting the way the conic surface handles this. It creates the end cap surface and the rounds on the sides at the same time. I personally would do this a little differently. I would create all the faces of the stick first, then create the rounds. I can’t find fault with the product of the conic surface, and the fact that it makes rounds at the same time as a face is attractive.
But turning on Verification On Rebuild causes the mirror to fail (with the knit surfaces option turned ON, it’s ok with if OFF). Leaving the Knit setting off, a Knit feature fails with the “self-intersecting geometry” error. It shows no gaps for Gap Control to ignore.
I’m a little unsure what to think of geometry that won’t work with Verification turned ON, but when it has degeneracies and won’t work with Verification, I think it’s something I’d steer clear of.
So I trimmed out the degenerate points and it still would not knit with Verification turned ON, so I turned to the Check utility. When you run Tools, Check on the part, you can see wiggles in the UV lines, and a general fault. You might be able to get away with using geometry with this kind of error, but it would be expensive to have to rework this because a machinist can’t make a tool path on that face.
Without Verification, the part does shell at 0.050″, and even at 0.080″ with a warning. It fails at 0.12″.
This is intentional, but the top conic surface does not connect smoothly with the rest of the model. It is much easier to make a top cap with rounded sides if it doesn’t connect. The way I would do this would be to make the top cap and the side faces, and then round/blend between them using either face fillets with hold lines or closed loop Boundary surfaces. Rick did say he would let SolidWorks round the bottom, so he would probably apply a small fillet feature to that sharp edge.
I believe the limitations on the conic itself prevent it from being used as a real blend to existing geometry, so you will always have a question about order when modeling this kind of stuff.
In the end, I still like GeometryWorks, and I do think it adds value and does some things better than SolidWorks, I would just encourage you to be careful about degeneracies, maybe using the tricks with Fill surfaces to get rid of them. GeometryWorks has developed their own geometry kernel for the limited functions that they provide, which allows them to get different results than SolidWorks. They appeared eager to stay away from just duplicating existing SolidWorks functionality.
[/matt]
Those surfaces look very clean. Is it still well behaved when the spine isn’t straight? I don’t think we have established yet whether c3 works properly at all?…
I seem to remember years ago it was common practice that people wouldnt mirror their surfaces exactly because they wouldnt end up being normal to the plane. Maybe this is an old problem rediscovered, still examining it here might bring about some fine tuning for the next release. I guess Mark will be quietly taking notes. He was quick to say PowerSurfacing would get curvature combs. Good one Mark 😉 Thanks for the guest contribution Rick 🙂
Conic surfaces work very well for aerodynamic shapes. It is best to have no more than one singular point on a surface. The mid line curve is usually shared by the top and bottom fuselage shape surfaces. It is interesting that it is not visually important to have continuous curvature at the mid line.
I did not give SW boundary surface much direction without adjacent extruded surfaces at the bottom and sides for the swoopy shape. The little butt crack feature in the mirror plane would hide better but not disappear. I think that all swoopy boundary surfaces in SW will have a butt crack or hogback defect that will show when mirrored. Adding more bends in the profile can generate multiple defects of this kind.