How do you know if your spline is uptight?

Yeah, I know, it sounds like it could be the lead-in for a dirty joke. Unfortunately, it’s not. I was starting a brand new model at midnight on a Saturday. And I come across this. This is the kind of thing that can (and has) cost me money. Why SolidWorks allows this sort of situation is just incomprehensible.

Can you spot the error?

If you don’t know what’s happening in the software, you could be about to make a very costly mistake, right here in the beginning of your model. This is the 4th sketch in my new part, not even a surface feature created yet, and already, the model is effed. Can you tell me why?

Notice that each point around the spline has a Symmetric symbol on it. Now notice that the control polygon, shown in green, does not line up on the centerline. You could force things, by placing Horizontal constraints on the spline handles at the top and bottom, but you would still have the underlying problem, and it would be a little more difficult to see, but it would be the same problem.

Even with all the controls that you can control on the spline controlled, this spline may never be actually symmetrical, unless you know one little trick of splines in SolidWorks.

What is it? We’ve talked about it before here not too long ago.

It is the Relax Spline button at the bottom of the Spline PropertyManager.

Relax Spline. How do you know your spline is uptight? Well, one way is if you catch it doing something like what’s shown above. Another way is to just look in the PropertyManager and see if Relax Spline is active or grayed out. Of course that doesn’t mean it needs to be relaxed, it just means that it might need it.

How did it get this way? I just drew an open spline, dragged one end point to the other to close the loop, added a couple of spline points, then drew in the construction lines, applied horizontal relations to them, and then applied symmetrical relations, and noticed the spline didn’t line up. Showing either handles or the control polygon will reveal the problem.

The real problem is a thing called “parameterization”. When you draw a spline, or place a new spline point, the point lies at some percentage of the distance along the spline. So a point at the middle of the spline has a parameter of .5. When you adjust the spline by moving the point, especially if the point moves along the spline, the parameter changes, which in turn changes the shape of the spline. If you push a .5 point down to about the .25 position, the spline can get all kinked up in that area. Reparameterizing the spline means recalculating the positions of the points along the spline. SolidWorks calls this “relaxing” the spline.

With symmetrical splines, the points are at symmetrical locations, but they are not at symmetrical parameterizations. If one is at .1, its symmetrical mate should be at .9. SolidWorks does not show parameter locations of points. You can get the Face Curves PropertyManager to show position as a percent, which is the same as the parameter value, but it only does it for faces, not for curves or sketch splines.

I have to admit, I learned a bit about working with control polygons in our last discussion. But there are still times you can’t use control polygons, and have to use points or handles. For example, making a symmetrical spline can’t be done with the control polygon. You can’t make a spline tangent to horizontal at a point with the control polygon. On the plus side, though, using control polygon, you never get a spline that gets all kinked up.

SolidWorks in general has a real hard time with symmetrical splines. It’s even worse in 3D sketch splines, which I discovered on an earlier model today. Maybe we’ll take a look at how to set up symmetrical 3D splines one day.

SolidWorks should eliminate the need for the Relax Spline option. I can’t see any reason you would want to have an “unrelaxed” spline. To have a sketch entity which could have another shape regardless of having all your points and handles set up the same is frightening and has cost me personally thousands of dollars in real money.

63 Replies to “How do you know if your spline is uptight?”

  1. Wow, I never thought about the way SolidWorks treats splines before. When moving points around, the spline can get kinked up, or uptight and need relaxing. I’ve been using CorelDRAW for a long time and notice that moving spline points results in the same kinking of geometry. I would think SolidWorks would want to implement an auto-relax into splines in order to keep some consistency. Great article, Matt.

  2. if a beginning/ending segment of a control polygon is horizontal, the spline is tangent to the horizontal at that point.

    That is, the angle of the beginning/ending segment of the control polygon determines what angle the spline is tangent to

  3. @Dan Staples

    Dan, et al.

    I use tangency control on internal spline points all the time. Although most people use “all the time” as hyperbole, I am not. If I have an internal spline point, there is a rare chance that I haven’t controlled the tangency (unless it is a 3D spline).

    I learned spline sketching from Macromedia Freehand (and then Illustrator) where handle control is the main tool for defining all curves. I would consider it a significant deficiency for any sketcher that cannot do this.

    My biggest gripe with reparametrization is with closed loop splines with tangency controls on all internal points. I am often stuck with situations where changing one handle forces undesirable changes to the start/end point tangency that I do not want.

  4. @Rick McWilliams
    “What documentation…”

    Well, SolidWorks posted above that the Help files will now include user input and information. Who will verify this information and assure that it is correct?

    Once again, SolidWorks is relying on their customers to do their work. i.e. Test the software, Report Bugs and now Update the Help files. For free of course.

    Don’t forget to send in your yearly Subscription Maintenance check!

    Devon

  5. What does Solidworks loft feature do? It generates shapes that somewhat relate to the profiles, and mostly follows guide curves, makes tiny wrinkles here and there, sometimes makes spectacular abstract art shapes.

    What is loft supposed to do? Make a smoothly developed shape that exactly fits at the profiles, and exactly fits the guide curves, and has smoothly varying sections that resemble the profiles between the profiles. It will always shell because it is good smooth geometry. What does the documentation say? What documentation…

    A fine example of Solidworks splines is curve through points. Input points from a smooth airfoil, with continuous curvature, what you get is something with a curvature wiggle between every pair of points. If I wanted a polygon with rounded corners I would have drawn it. Turn off the curvature spines and call it good.

  6. @Dan Staples
    Dan, we’ve had a few throw-downs here. Here are the posts with 30 or more comments:

    GrabCAD = 72 http://www.dezignstuff.com/blog/?p=6986
    Surfacing Bible = 62 http://www.dezignstuff.com/blog/?page_id=618
    SOPA = 58 http://www.dezignstuff.com/blog/?p=6896
    Helena Dumps SW = 56 http://www.dezignstuff.com/blog/?p=853
    Uptight Splines = 56 http://www.dezignstuff.com/blog/?p=7033
    SW Lost Mojo = 52 http://www.dezignstuff.com/blog/?p=7033
    SW Subscription = 50 http://www.dezignstuff.com/blog/?p=305
    Ideal CAD = 45 http://www.dezignstuff.com/blog/?p=1088
    SE University = 43 http://www.dezignstuff.com/blog/?p=6998
    Features Influence Shape = 41 http://www.dezignstuff.com/blog/?p=1075
    Enovia vs Teamcenter = 40 http://www.dezignstuff.com/blog/?p=6497
    CAD Vendor Solves Problems = 40 http://www.dezignstuff.com/blog/?p=6689
    Cloud Terms and Conditions = 38 http://www.dezignstuff.com/blog/?p=6144
    Surfacing Top 10 = 38 http://www.dezignstuff.com/blog/?p=6852
    Autodesk TSplines = 37 http://www.dezignstuff.com/blog/?p=6760
    CAD Mouse = 37 http://www.dezignstuff.com/blog/?p=4510
    Autodesk Cloud = 34 http://www.dezignstuff.com/blog/?p=942
    Kill SW = 33 http://www.dezignstuff.com/blog/?p=1090
    Design your own CAD = 32 http://www.dezignstuff.com/blog/?p=6469
    Austin Omalley = 31 http://www.dezignstuff.com/blog/?p=1076
    Open Source CAD = 31 http://www.dezignstuff.com/blog/?p=6477
    Server Farm = 30 http://www.dezignstuff.com/blog/?p=992

    Of these, only the Uptight Splines and Features Influence Shape posts were directly related to software functionality. Ideal CAD, Design Your Own CAD, and Surfacing Top 10 were about wishing for something ideal. Helena, Mojo, SE Univ, Enovia v TC, CAD Vendor, were all or in part about Solid Edge. TSplines, Adesk Cloud, and Terms & Conditions were about Autodesk. Several were about cloud. GrabCAD and SOPA were about data sharing/theft.

    Here are the posts with the most views since mid-October 2011:

    Helena Dumps SW = 4429 http://www.dezignstuff.com/blog/?p=853
    What’s New SW 2012 = 4352 http://www.dezignstuff.com/blog/?p=673
    Austin Omalley = 3215 http://www.dezignstuff.com/blog/?p=1076
    Crowd Sourcing = 2973 http://www.dezignstuff.com/blog/?p=6428
    GrabCAD = 2857 http://www.dezignstuff.com/blog/?p=6986
    SolidProfessor Surfacing = 2438 http://www.dezignstuff.com/blog/?p=75
    Features Influence Shape = 2434 http://www.dezignstuff.com/blog/?p=1075
    Free SE Download = 2431 http://www.dezignstuff.com/blog/?p=1065
    Server Farm = 2431 http://www.dezignstuff.com/blog/?p=992
    Enovia vs Teamcenter = 2344 http://www.dezignstuff.com/blog/?p=6497
    Hirschtick Leaves = 2325 http://www.dezignstuff.com/blog/?p=1068
    SE Makes Noise = 2190 http://www.dezignstuff.com/blog/?p=6464
    Surfacing Bible = 2179 http://www.dezignstuff.com/blog/?page_id=618
    Propeller Challenge = 2167 http://www.dezignstuff.com/blog/?p=2023

    What do I take from the breakdown? There is more participation on emotional issues. People read about controversy and trendy issues. If I have a future in writing, it would be for the Howard Stern show.

  7. You get bonus points for waiting while we had another heated family squabble.
    Sorry our spline conversation got lost along the way. 😉
    Hopefully we get another opportunity to talk about SE for ID purposes again.

  8. Do I get a bonus for making the 55th comment on this topic? Matt, this surely must be one of the most commented threads of all time! What are some of Matt’s other greatest hits?

  9. @Kevin, how does looking at SE help notes justify that there is *no* SW documentation for an important functional change in splines? I’m tired of lame excuses and misdirected remedies. This happens over and over again and they never learn from it.
    Its not just the documentation either. Its the whole culture that accepts stupid management thinking and the half arsed results as normal. DS/SW cant go on turning in this stuff and think life will always go on the way it has. DS have several concurrent problems going on. One is the move to the cloud that is a major turn off for users and the other is the drift that has been going on inside SW for some time. Ideally SW would have had a bloody good rev up and blow out 5 years ago. Actually they are on the same trajectory here as they have been for a while. The difference is that we have passed ‘peak affection’ for SW and they are on the way down and I am sure they realise that themselves.
    I actually feel sorry for SW employees because no one is taking them in the right direction and they get left defending and trying to cover the consequences. It has to be said that how ever they function internally and arrive at these ‘solutions’ it just isn’t working and delivering whats needed in practice.
    If you are happy to chase notes that dont exist using another search engine good luck to you.

    BTW I think Matt has a genuine interest in finding out about SE as do a few of us. I am quite happy to learn about what they have to offer. It makes a welcome change to consider the potential of a program rather than battle what has all the appearances of being a lost cause.
    Probably we should get back on topic here or move on to the next.

  10. Neil have actually tried it? Moreover have you tried SoliDEdge help system? Let’s just say it makes SolidWorks one look spectacular. If what you want is Wikipedia text help then fine. It is no wonder they court Matt. They need him to write the book.

  11. @Mark,
    Adding another search facility for information that doesn’t exist is not a solution.
    It is a continuing let down and frustration for users to have a CAD company that just doent get it any more.
    The contrast couldnt be more obvious in this topic between a company like SE looking to move ahead and that wants a future and SW that doesn’t have the clues, can’t deliver and doesn’t have a future by choice.
    SW is a no-hoper husband looking for yet another chance. Hey guys, look at this blah blah is empty, sad and pathetic. Lets be honest Jim couldnt find his way out of a wet paper bag let alone help the cat. The old magic is gone and over. DS progressively screwed up and lost.
    Sorry to say the hope you speak of lays somewhere else than SW.

  12. Hey Guys,

    there is hope. go take a look at this thread:

    https://forum.solidworks.com/community/solidworks/help_and_training/blog/2012/02/06/related-solidworks-forum-content-feature-added-to-solidworks-web-help

    this is something that I’ve known about that has been in the works since we went online with our help system and I pinged Jim over the weekend – and as a result of that I think he’s letting the cat out of the bag a bit early. This is something that I’m very excited about: to be able to linked blog articles and knowledge base from the forum with online help search. I plan on posting a number of curve and surface blogs after SWW.

    Regards

    Mark

  13. SW need to understand they have to earn their money by delivering quality CAD. SW isn’t receiving welfare handouts from their customers. They need to get their sh*t together as a company and soon. Really Mark didn’t shed much light on the problem other than to mumble about hypothetical documentation changes. Users have heard about missing documentation too many times before. I think the days of being endlessly forgiving or understanding about ongoing poor performance at SW have gone. Mark obviously thinks he deserves special treatment when he shows up here to represent SW but as far as I am concerned the potential for flack comes with the job. No doubt that has come as a new experience to him given the esteem with which SW used to be regarded. Unfortunately being in a prominent position and not just a messenger boy he can expect to share in the company’s declining fortunes with a bit of sharp criticism on occasion.

  14. Jeff Mowry :
    Mark shows up and participates in a discussion shining light on a true problem—the only one from SolidWorks I can see—and is taking plenty of heat. If we’re really looking for a solution, might I suggest something? Go easy on the messenger. Of the many I’ve dealt with at SolidWorks, Mark is among the top.

    Well said Jeff. What is the point of this constant bickering and snide comments about all things SolidWorks, and people who work for SolidWorks?

  15. I’m lurking, but keenly aware of this conversation. Splines are an essential to me, and I don’t like dealing with all the unknown/random quirks that go along with them, but how else will you get curvaceous goodness? (Hint: not by a series of tangent arcs.)

    Fortunately most of this issue doesn’t apply to my models, since most every instance of symmetry is mirrored-body capable and I can obtain good curvature control across the mirror plane. In cases of sweeping along a path, however, symmetry on the spline level is make or break.

    Issues of these sorts have added significantly to my frustrations with SolidWorks in the last few releases. Mark shows up and participates in a discussion shining light on a true problem—the only one from SolidWorks I can see—and is taking plenty of heat. If we’re really looking for a solution, might I suggest something? Go easy on the messenger. Of the many I’ve dealt with at SolidWorks, Mark is among the top.

  16. matt :
    @Dan Staples Dan, my first try is always to make a completely smooth surface with no edge breaks in it. Using two splines instead of one leaves two unnecessary edges on the closed loop face you finish with. Anything else is a workaround, and adds breaks to faces.

    <

    Matt, as a variation to this workflow, you can consider doing the spline mirroring, but fit another spline on top of the 2 symmetric ones.

  17. Sometimes a reuild will rebuild a different “better” shape. Curves are nice if they were indeed on the surface and two curves projected on the same surface actually intersected.

  18. There is a certain over confidence, complacency or ‘attitude’ at SW these days isn’t there…

    …slip sliding away, slip sliding away, you know the nearer your destination, the more you slip sliding away..

  19. …and next is this boundary surface, where the curvature edge condition is clearly ignored…

    …and followed by a crash.

  20. While I’m at it, I might as well journal all the bugs I’m running into with this project. Here’s one where a projected curve previews correctly, but will only create a portion of the curve. It goes from one face, to another, and back to the first face. It will only show the first segment on the first face. If you only select the second face, it will show that section correctly, but if you select both faces, only the first segment (of a 3 segment curve) shows up. I’m going to have to use a workaround like extruding a surface up to the other surface, using the extruded surface edge as the curve.

    …Well, I tried the workaround using the extrude up to body end condition, and of course that didn’t work either, so I went to a 2nd level workaround which was extrude then trim. That did at least work. I have 3 similar features on this part. The first two worked, and this one didn’t.

  21. Actually I’m getting confused.
    So just to be clear Mark, this undocumented control poly behaviour started in SW2010, 2011 or 2012??
    but there is also a regression for points>polygon>points from 2007 in 2012?
    and Matt has found another bug to do with inserting spline points??

  22. Just to be an informed participant in this I tried Matt’s experiments for myself in SW2009sp5 and in both cases there is no problem. There is no need to relax the spline. There is no kinking. Go figure….
    I note that when you have the control poly on the spline exhibits the annoying preemptive curving Matt noted before but thats it. Its much less wayward without them on.

  23. Oh, here’s a good one. Just caught this tonight. Almost skipped it because there are so many things wrong with this model. I edited a spline, and another sketch went dangling. This kind of confused me, since there weren’t any of the usual problems that cause dangling sketches. So I tried to repair it by dragging the red handle, and no luck. Next I looked at the Display/Delete Relations PropMgr because you can use that to repair relations as well, but it won’t work. Then I notice that the original spline was listed as a Parabola. It was a 2 pt spline with the handle at one end tweaked to give it some shape.

    When I edited it, I tweaked the handle at the other end, and it was no longer a parabola, but now a spline, so the convert entities sketch went dangling. So now I have to delete it and recreate it. Wow, that’s efficient.

    I’ve seen this happen before when an arc is tilted at an angle and becomes an ellipse, but I’ve never seen a spline classified as a parabola.

    Maybe this is why SolidWorks is so resistant to adding a conic sketch entity. They think they already have one.

    Maybe $25k for NX would be money well spent if I didn’t have to make every model 3-4 times.

    parabola

  24. Yeah OK Mark this sounds like action but its complete BS.
    Lets cut through the fog/cloud and just say its something else that is missing and should have been done differently but SW aren’t going to do anything about it at this stage of the game. Right?
    And you guys wonder why customer relations are steadily going sour…
    Honestly these days I think I would rather talk to SE people about SW issues or how to make SE better.
    If you are going to hang around and represent SW can you please answer Matts question about how splines seem to have the same issue without the control poly.

  25. @matt
    Hi Matt, (yes I’m back – I usually don’t get to the forums and blogs till the end of my day – and I’m on the west coast)
    You are right; this kind of stuff should be better explain (explained at all) in our online help. I’ve been meaning to have a conversation with the doc folks and I see if I can get them to add some detailed info about this. In fact, the “vision” is that now that help is online that it should be much “richer” and more frequently updated.

    Mark

  26. Interesting to say the least. Especially that just showing the poly gives you different behavior than without. Good points Neil… what does happen if you send it to someone else that is set opposite of you? My guess would be that it doesn’t do anything unless you start changing the spline, and then it just affects how it behaves in conjunction with your edits.

    I also find it interesting that you take the time to add horizontal relations when you end up making them symmetric in the end anyway…. just something I picked out 🙂

  27. So….is he coming back??…
    What about the last case Matt showed with no control polys?

    Maybe Mark needs to discuss it with a committee of his peers, consult overseas developers, and then check in with the legal dept… followed by a call to DS management for approval for diverting a coder for a week, and another to accounting to get spending authorisation and an activity reference number.
    I am sure his life was simpler in the past.

    Probably they might like the concept of ‘latent tension’, and a turquoise coloured line to indicate it, but decide to do something completely different because they didnt think of it themselves (in which case a half arsed official solution could be more than several months in the making – SW2013?), or, do nothing because the documentation illustrator is just too busy doing cloud stuff to be bothered with out-of-cycle tweaks…
    Maybe using ‘turquoise’ is a serious problem for the UI people? A different shade then, Pearl Mystic Turquoise #32C6A6? Medium Aquamarine #66CDAA? Alternatively, Bleu de France #318CE7? not as distinctive from the regular spline blue but it’s PC and DS at the same time…perhaps make it fuzzy as well?…hmmmm…..

    Of course if they do tweak things it sets a dangerous precedent. Customers might expect refinements all the time and some of them might think back to the Freeze icon and wonder why that couldn’t change.

    …..I think I’ve been around too long…. 😉

  28. Mark is this explained properly in the documentation anywhere? This is the first time I was aware something different is going on when control polys are toggled. What happens when I send my file to someone else who does/doesn’t work with control polys enabled in the system options?- maybe they relax something accidentally or purposefully without realising it changed ever so slightlty, maybe critically/expensively
    How about a ‘global spline reparameterisation lock’ in the document options (with a warning/confirmation dialogue)….and perhaps draw a spline that has latent tension/kinkiness in another colour than blue, say turquoise?
    In Matts case when he started drawing the spline with the control poly enabled the different colour might have alerted him to the underlying condition.
    I am not sure how someone would be aware of these subtleties presently. Apparently this one had even Matt foxed and you might say he is an expert user.

  29. @Mark Biasotti
    What we need is stable geometry that can’t be double interpreted. This is why I don’t trust SolidWorks when they decide to add stuff to the software. There’s always some unbelievable caveat that seriously diminishes the usefulness of the feature. Like Freeze. Freeform. Fill. I guess we add splines to that list.

    You put the decision in the users hands, but really, how many users understand the consequences of doing something one way or the other? Really? I didn’t know it. I just know there is something wrong. It sounds like no one really understands it. You guys never document this stuff in a meaningful way, so how do you expect users to make informed decisions?

    Ok, so control polygon was off, we did the same routine, and the spline still needs to be relaxed. Are you saying this is not the way it works?

  30. Matt – that’s because you have (in your video) “Show control polygon on by default” in your system options, so regardless, when you build splines you’re going to be building them without automatically re-parameterizing – and yes they will kink. All I’m saying is that if you don’t have that option on (off by default) and you use the normal thru-point method, your spline interim points will not kink (until you do turn it on.)

    Second, in my email to you I explained that there is no technical way to automatically re-parameterized the spline when it is in control poly mode. Third, the need for having the relax spline button is that if we just switched back to auto re-parameterize when you turn off the control poly mode – that would be devastating for our users – because if in fact decided to do that, once they turned off the control poly the spline would reshape itself ever so slightly (because it must do so for re-parameterization) and I believe that would really irritate users after having spent so much time defining the shape – so in the end we put that decision in the user hands.

  31. You are still not acknowledging that splines can need reparameterization/relaxing by using only the through points, which is what my whole article is about.

  32. > but asked me not to share it

    Perhaps their lawyers are worried about a come back from users whose models might not be symmetric since 2007 and it cost someone….or maybe its simply too embarrassing to show a bug in public thinking of VARS…
    Why I am I fed up with SW the corporation? not picking on Mark here, just sayin’ 😉
    Never the less thanks to Matt for sharing this issue with fellow users.
    We are now aware of relaxing our splines.

  33. Matt – clarification for you readers – I did not say “If you combine them, you’re looking for trouble.” What I’m saying is that users that use “thru-point” (default) method, their interim spline points will never knot and they should be fine. If you choose to use Control Polygon method, and control the spline by the control polygon nodes then those users will be fine also, unless they decide to switch back to thru-point spline method. then the spline will not re-parameterize (starting in SW20??) and there is no way back to auto re-parametrizing. As far as “I guess that remains to be seen” I supplied you with the SR # and you will be notified when it is fixed.
    All the customers that I’ve met with over the years have a preference of using one or the other and therefore could be why this has not come up sooner. None-the-less we will get it fixed.

    P.S. (feel free to post exactly what I emailed you instead of paraphrasing what I communicated to you 🙂 )

    Mark

  34. A little update here. Mark Biasotti sent me a video, but asked me not to share it here. (???) Anyway, he showed that using a combination of control polygon and spline points will create kinks. I usually get kinks without using the polygon at all. Still not sure how that fits in.

    Mark says there are two kinds of spline math being controlled by through points and control polygon. If you combine them, you’re looking for trouble. Mark identified a regression from 2007 such that if you use points then polygon then points, currently SW does not automatically reparameterize, but it looks like it used to. Regression bugs get the highest priority. It might have meant more to me a year ago. Not sure if it will even be acted on now, even as a high priority bug. I guess that remains to be seen.

  35. Is there a SolidWorks macro that able to automatically relax all splines into all sketches of all fetchers of the part?

  36. @Neil
    We are certainly willing to add/change stuff that is important to win/keep customers. That, after all, is how one succeeds. My main point – using your hammer analogy – was just that if you have a hammer that is used infrequently and when used, you tend to hit yourself in the head with it (as per Matt’s original post) then, we need to think carefully about making said hammer. 😉 Though obviously I generally agree with your point about making sure we have the tools that the user perceives he needs.

  37. @Dan

    why is not possible to create a closed spline in Solid Edge ST3?

    When I start drawing a spline I can not connect the end with start of the spline.

  38. @Dan Staples
    Dan, I agree with Neil. It’s not so much that we absolutely specifically need to control the tangent at an interior point, but we do need to control the shape of the spline.

    One example would be whenever you draw a spline that goes over a line of symmetry. If you can’t control the spline, you’ll have to do some other workaround like splitting into multiple surfaces, or multiple splines.

    I wouldn’t want you to recreate the situation we have with SolidWorks now, where the splines have this “dark side” caused by sloppy math driven mainly by a pretty interface. If that’s the downside, then I personally could live without it. If you could do it by sketching a construction line, and making the line tangent to the spline, and giving other relations to the construction line, that might be acceptable. But yeah, I think it’s important to be able to control tangency/direction at interior spline points.

  39. @Dan,
    Well I suppose there is always a way around something or a way to make do….
    I don’t know, I guess I just want a comprehensive set of tools at my disposal rather than a pair of pliers that are heavy enough to use as a hammer on occasion. Having a hammer would probably just introduce the possibility of me causing other problems I know. I have experienced life changing moments armed with the battery drill and attachments I got for Xmas so people in my household will relate to what you are saying…. 🙁

    There are some things in SW I very rarely use but that doesn’t mean I want SW to be stripped down to just what is compelling.
    If you are into ID and come from SW to SE the emphasis on simplicity you talk of looks a little more like useful stuff is missing, which I am sure it is since ID hasn’t been SE’s focus.
    I would be somewhat disappointed if SE while possibly looking to pick up SW customers weren’t willing to augment or tune stuff to suit other types of user.
    Personally I like handles and the control/relations available. 😉
    If you guys don’t and won’t that’s fine. I don’t expect SE to become SW.

  40. Hi Matt, thanks for posting your video. I started to make a video for you but I’m going to hold off on it and have a chat with our sketch developer (he’s in UK) and get back to you tomorrow.

    Mark

  41. @Neil
    Control the tangency direction of a spline at a particular interior point –> I understand the theoretical need, but not a compelling use case. Who doesn’t want more control? — well I may or may not, if it causes me other problems. Can you show a real world example where you are sunk without the ability to control the tangent at an interior point on the curve? (We are not totally averse to adding it, but we try to keep things as simple as possible unless there is a compelling need for complexity).

  42. @Mark Biasotti
    Mark, I get the same sort of “goaltender” response from tech support, or I used to when I used to take problems to them. Your first responsibility seems to be to protect the software. Anyway, if you add the step of adding a spline point, the spline is kinked right away.

    You seem to be saying the exact opposite of what user’s experience is. If you use handles and spline points, you get kinked easily, but using the control polygon seems to avoid it. I’d love it if you could show the opposite. Anyway, I don’t have any use for “unrelaxed” splines. It should be removed.

  43. I am not sure why Dan is hanging out here but thanks for doing so.
    You know in the ten years I’ve used SW aside from Mark Biasotti going out of his way to provide some insights, often into things that either arent documented or poorly so, no one, at least that I remember, has shown any willingness to talk to users about what’s going on under the hood.
    This is refreshing to experience. I admit I am fed up with DS/SW at this point for a number of reasons.

    Anyway, Dan, you would be reluctant to have handles for SE splines then? SW users might like more control than just dimensioning between CV. How can I control the tangency direction at a point on the spline for instance using SE.

    Edit: well speak of the devil…. 😉 must have been poked in the ribs by someone…

  44. Hi Matt,

    Given your workflow in your paragraph “How did it get this way?” I can not reproduce your problem. Can you post a very short video showing this? – that would be helpful.
    I’m not sure if I’m misreading your statements or what but when you stated “On the plus side, though, using control polygon, you never get a spline that gets all kinked up” the opposite is actually true: when the spline is in control poly mode, we DO NOT re-parametrize the spline automatically or dynamically – this is one of the main reasons for having the relax spline button – is so the user can trigger parametrization manually. In fact, if you experiment with creating a thru-point spline (default) and then copy/paste that spline and put it into control poly mode. Now place a point on each and then experimenting with each, drag the point close to another existing interim point. the Control Poly spline will knot, but the default thru point spline will not – i.e. the spline point will smoothly slide right next to another one without knotting. (Caveat – relax the true-point spline first before trying to drag the point – think this is because you might have just copied it and then put the copy in Control poly mode.) It could be argued that we perhaps should have two different spline types (like many other modelers) but for better or worst, we combined the functionality of a thru-point spline with a Control Polygon spline.

    And also, I agree with Dan in that I would very rarely create a close-loop spline and create symmetry but would rather create two splines that are mirrored or symmetrical. But then again, at least in product design, I very rarely create symmetrical spline sketches because I’m building a symmetrical product – hence, I build only one-half and then mirror it toward the end of the tree.

    Regards

    Mark

  45. @matt
    There is no real equivalent in Solid Edge to the kinking issue. We chose to not do the “handle bars” internal to the spline like some other products have. The problem with handle bars, is that, although kinda cool, they do a fair amount of voodoo math under the covers to achieve the goal. This can lead to the kinking you experience and thus the need to relax the spline (get rid of the gook in it the handlebars inserted without your knowledge). This is not to say that you can’t get an inflection in a spline in SE, its just that its more of a user introduced thing, by putting the CVs in certain positions.

    There are tools in SE to both “Simplify” a spline within tolerance (automatically remove CVs, while fitting within a certain tolerance), delete edit points, and change the order of the spline to provide more or less control (more control is not always good — it means you can have more inflections etc).

  46. …hmm… you bring up a very good point.. this has been going on since at least ~SW2006?… maybe we need to send funds directly to the spline developer and get the spline coder laid!?
    …correction/update… that would be,… shag.

  47. @Kevin Quigley
    Our comments crossed in the ether. Yes, the “strip surface” method I was talking about is exactly the same as what you do. But if it is then a mirror you are going to do, going tangent to the strip is sufficient to enforce C2. It is not possible for a mirrored surface to be non-C2 if it is tangent across the midline (since by definition it is exactly the same radius just to the right and just to the left and right at the midline). So when you are enforcing C2 to the strip, you are actually forcing ZERO curvature at the midline (cuz the strip has zero curvature) whereas tangent would allow a more natural flow and still be C2 because its a mirror.

  48. @matt
    Yes. I am making relations to the CVs. You can even dimension to the CVs (and between CVs and Edit points if you like). I often make the first and second CV horizontal or vertical with each other to ensure C2 between mirrored curves across the centerline. (PS> been this way since 2003). Here is a quick vid (just nonsense mind you — not trying to accomplish anything particular — and of course the more you constrain, the more narrow the possible results):

    http://screencast.com/t/tFQRT7Mtw

    PS> True that having a sketch be C2 to another sketch does not guarantee a C2 surface adjoining the midline (but conversely NOT having it C2 guarantees the surface can never be C2). I use a projected helper strip surface and go tangent to it to guarantee C2 across the midline (recall that since its a mirror, tangent is sufficient to guarantee C2). True this can be avoided with a single closed spline, but I think its more stable in general because you don’t have to hang a bunch of individual controls within the spline.

  49. Dan I think that is open to interpretation. If you take a spline and mirror it across an axis, you don’t necessarily get any continuity at the seam. The only way to apply tangency at the seam is to either create a helper line, make it horizontal and apply a tangent constraint to that – or (as I tend to do) just apply the Make Horizontal constraint to the spline handle at that point. This will give you C1 across the seam (when mirrored) but not C2.

    What I tend to do is draw the curve at the seam, extrude a surface out, then use that surface edge as a boundary for a Boundary surface or fill feature – those tools give you C2 edge control – but – even then you are going C2 from a straight surface to a curved surface, so the resultant C2 surface will often have little bulges in it.

    To get rid of these, just trim out the centre area (so imagine a surface built from the centre, mirrored across the centre plane – trim a shape out so that you have a 4 sided hole in the centre area) then draw a curve on the centre line, then just rebuild the surface from one trimmed edge to the other, adding the centre curve as a profile.

    This is (typically) how the car guys do it (and I was taught that by a car guy). This really only matters on big surfaces where you can see even minor imperfections. On a typical small hand held product you will probably not notice it unless the surface is very highly polished.

  50. @Kevin Quigley
    Kevin, if you tend to use the control polygon, that doesn’t seem to create the situation where you need to relax the spline. But you can’t always avoid other methods.

    @Dan Staples
    Dan, my first try is always to make a completely smooth surface with no edge breaks in it. Using two splines instead of one leaves two unnecessary edges on the closed loop face you finish with. Anything else is a workaround, and adds breaks to faces.

    In answer to your question to Kevin, having a sketch be C2 is different from having a finished 3d feature be C2. I do the same thing from time to time. Cut out a patch I don’t like and remodel it with a Fill, or another boundary.

    In your video, are you making relations to CVs? Wow, I missed that before when I did my comparisons. If you can make relations between CVs within a spline, that’s a huge benefit. You can’t do that in SW. The only thing you can do in SW is add relations/dimensions the clunky handle arrows.

    @TOP
    Paul, I wouldn’t touch the internal continuity option, that can allow tight kinks in a spline.

    Tangent Driving is just an option that enables/disables the handles. You select which spline point (using the first box in the Parameters panel), and you can individually activate or deactivate handles on the spline.

  51. @Chris
    Here is a short video. I personally wouldn’t do a complete closed spline and try to make it symmetric within itself. I find that having two symmetric splines is the most productive way to do symmetric parts. But I do have two questions, one for Matt and one for Kevin, since they are both more expert than me.

    Matt –> Why not two symmetric splines — it seems a much more stable construct to me?
    Kevin –> You say you cut out across the boundary when more smoothness is required, but by definition, two symmetric splines are C2 and you can decide where you want the CV to lie along the horizontal to drive the amount of curvature. So what does the cutout and rebuild buy you?

    Here is a Video in Solid Edge. This is a very quick construct in Edge. I use this type of thing all the time — its good for quad symmetric as well.

    http://screencast.com/t/b3kl9XnP1

  52. Like every SolidWorks spline user I’ve come across this but I’ve also learned to work around it. The issues are not only applicable to SolidWorks though and there are a couple of things I have picked up over the years. I have attached SW2012 file containing two symmetrical splines

    [file]http://www.dezignstuff.com/blog/wp-content/uploads/2012/01/Spline-1.zip[/file]

    In this file the left spline is created with two symmetrical splines (one spline drawn, then mirrored). The two points touching the axis are constrained horizontal. This works pretty well 99% of the time and is the way I tend to do a lot of jobs except ones where the smoothness over the centre area is critical.

    In those situations I tend to cut out the centre area then rebuild with a Boundary surface so there is no centre seam as such.

    The right hand spline was created pretty much as you have suggested above – except I don’t use Horizontal constraints. I just draw the spline, close it up then select each “pair” of spline points and the centre line and apply a symmetric constraint. If you need to further define the form dimensionally or by constraining to other objects you can add dimensions to the spline points and/or apply tangent constraints to the spline and/or apply specific weights or angles to any of the spline points.

    Honestly, I never use relax spline. Not sure why, but I just don’t recall ever having any need to when you build splines as above.

  53. Matt,

    I noticed that if a spline handle is dimensioned in any way it turns on “Tangent Driving” and “Relax Spline” then doesn’t seem to do anything but “Maintain Internal Continuity” does have an effect. “Tangent Driving” changes the polygon handle locations.

    By dimensioning every handle with a length and angle and then turning off “Maintain Internal Continuity” I was able to achieve symmetry.

    Another way to check symmetry is to slap a coordinate system on where the centroid of the symmetrical spline should be, create a planar surface and use TOOLS/Section Properties. It will give a quantitative measure of how symmetric the spline actually is.

    I am on 2009.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.