Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
Curvature handles on spline points
There is the Curvature constraint since OS 1.98 (20190618 - https://forum.onshape.com/discussion/11865/improvements-to-onshape-june-18th-2019/p1). I hoped to get a wish fulfilled, namely: curvature handles on other than end points of a spline. What I like to do is changing the tangency of any point of existing splines.
I tried to add the new curvature constraint to a third spline point between the end points. As expected that did not work. Then I splitted the spline on that point and added the curvature constraint over there. That did not work either.
So the question is now: how to add curvature handles to any spline point of an existing spline to tweak that spline?Best Answers
-
@tim_hess427 @Henk_de_V agreed it would at least be nice to be able to split a spline in order to get two splines end to end with handles. Currently, you need some amount of forethought if that is what you want. In my experience, to get truly smooth curves you should not have any internal spline points at all, which would lean you towards creating multiple splines end to end in order to get the shape you want. When you create a spline in systems like SolidWorks, what they are doing in the background is in fact creating multiple end to end splines so that you can get handles on the "internal points". Please create an IR. Perhaps Mr. Spline himself (@paul_chastell) might want to chime in to give a more technically correct answer.
Senior Director, Technical Services, EMEA5 -
Not quite Neil @NeilCooke but I believe the results are equivalent to doing that. OK, hold onto your hat and I hope I don't hit some character limit.
What we provide in the Onshape sketcher are interpolated splines where the user can see points on the spline and can see tangent handles at the ends. Underlying that spline is a B-spline which has control points and knots and all that good stuff. The control points are invisible to the users. What Onshape does is add enough, but only just enough, such that if you constrain all the visible points/handles the spline is fully defined with no 'slop'. That's why if I make a three point spline and constrain its end points, the handle end points and the middle point it turns black, it is fully defined.
If I now want to change the slope at the middle point, well I can't, not without removing some of those other constraints, like the tangencies at the ends. If I emulate a handle by adding a line and constraining it to the middle point and adding tangency then you can see the line is fully defined also. If I then make the line horizontal the sketch goes over-defined.

What other CAD systems (I believe) do when you add handles internally is add extra control points to increase the freedom of the spline, rather than join two separate splines together, although you can achieve the same results both ways. That's certainly what Onshape will do when it adds internal handles, which it will at some point. In the case above I can add a spline point, to introduce more freedom and now the tangency is controllable, although adding a point adds 2 degrees-of-freedom and the tangency removes 1 so we have one spare degree of freedom, i.e. that new point can move (along a curve). If we added handles the result would be somewhat different (better).
In truth, if I wanted to control the shape of the spline I wouldn't even add the tangency specifically at that point. Adding tangency between the line and spline NOT at the point gives Onshape more freedom.
I can even apply a similar approach to internal points using circles and curvature, rather than lines and tangency. Like this example. Curvature soaks up more degrees of freedom than tangency and I wouldn't use these as fake drag handles but they could be used to constrain curvature if that is an important design parameter. We have more to do with splines in the sketch and you will see more from Onshape in the future.
The two points I am trying to make with all these words are 1) you can control the internal shape of splines but you may well need to add extra points to give the spline the freedom to satisfy all the requirements, 2) we will provide internal handles at some point to make splines more easily controllable.Paul Chastell
TVP, Onshape Labs9
Answers
-
I don't believe you can, you'd need to join a bunch of individual new entities together.Owen S.Business Systems and Configuration Controller
HWM-Water Ltd0 -
The way to do it is to create two splines end to end rather than trying to split an existing one.

Senior Director, Technical Services, EMEA1 -
@NeilCooke - Is there a reason for not having control handles on non-end points? I've wanted to use this functionality in the past as well, and this seems like a tedious work-around. So, I'm curious if there's some technical reason for this or if this "work-around" is actually the better approach for some other reason I"m not considering.1
-
The problem is that I have existing splines which are defined by the points of a line plan of a boat. https://cad.onshape.com/documents/65f43343a31e4fdbdd4b0a16/w/7abae95f0e3b34d1da4650cb/e/1d9fe5a32a43bc2bda5e6de7
Your solution assumes that during sketching you know where the splines have to be curvature constrained, but as you can see that does not work for me because the imperfections only appear as the whole ship hull is ready. To get a proper hull I need the curvature handles only at some specific spline points.
Also because of the (earlier) absence of them I paused the modelling of the boat design. By using the new curvature constraint with your work-around I can continue now but I need to replace the improper spline by two or more separate splines and see how that works out, which is awkward. Always having curvature handles at spline points (e.g. FS360) or afterward adding (and removing) them at specific points would be much more comfortable, flexible and efficient.
0 -
@tim_hess427 @Henk_de_V agreed it would at least be nice to be able to split a spline in order to get two splines end to end with handles. Currently, you need some amount of forethought if that is what you want. In my experience, to get truly smooth curves you should not have any internal spline points at all, which would lean you towards creating multiple splines end to end in order to get the shape you want. When you create a spline in systems like SolidWorks, what they are doing in the background is in fact creating multiple end to end splines so that you can get handles on the "internal points". Please create an IR. Perhaps Mr. Spline himself (@paul_chastell) might want to chime in to give a more technically correct answer.
Senior Director, Technical Services, EMEA5 -
Not quite Neil @NeilCooke but I believe the results are equivalent to doing that. OK, hold onto your hat and I hope I don't hit some character limit.
What we provide in the Onshape sketcher are interpolated splines where the user can see points on the spline and can see tangent handles at the ends. Underlying that spline is a B-spline which has control points and knots and all that good stuff. The control points are invisible to the users. What Onshape does is add enough, but only just enough, such that if you constrain all the visible points/handles the spline is fully defined with no 'slop'. That's why if I make a three point spline and constrain its end points, the handle end points and the middle point it turns black, it is fully defined.
If I now want to change the slope at the middle point, well I can't, not without removing some of those other constraints, like the tangencies at the ends. If I emulate a handle by adding a line and constraining it to the middle point and adding tangency then you can see the line is fully defined also. If I then make the line horizontal the sketch goes over-defined.

What other CAD systems (I believe) do when you add handles internally is add extra control points to increase the freedom of the spline, rather than join two separate splines together, although you can achieve the same results both ways. That's certainly what Onshape will do when it adds internal handles, which it will at some point. In the case above I can add a spline point, to introduce more freedom and now the tangency is controllable, although adding a point adds 2 degrees-of-freedom and the tangency removes 1 so we have one spare degree of freedom, i.e. that new point can move (along a curve). If we added handles the result would be somewhat different (better).
In truth, if I wanted to control the shape of the spline I wouldn't even add the tangency specifically at that point. Adding tangency between the line and spline NOT at the point gives Onshape more freedom.
I can even apply a similar approach to internal points using circles and curvature, rather than lines and tangency. Like this example. Curvature soaks up more degrees of freedom than tangency and I wouldn't use these as fake drag handles but they could be used to constrain curvature if that is an important design parameter. We have more to do with splines in the sketch and you will see more from Onshape in the future.
The two points I am trying to make with all these words are 1) you can control the internal shape of splines but you may well need to add extra points to give the spline the freedom to satisfy all the requirements, 2) we will provide internal handles at some point to make splines more easily controllable.Paul Chastell
TVP, Onshape Labs9 -
@paul_chastell - Thank you very much for your very extensive explanation. I've learned a lot of that.
As long as the internal handles are not provided I can use or the coupled two point splines idea of @NeilCooke or (for existing splines) your control system with extra entities .
But of course I'm looking forward the moment the internal handles will become available.
@NeilCooke - When creating an IR for that I found an existing one:
https://forum.onshape.com/discussion/9096/handles-on-all-spline-points0 -
-
I've tried at length to do curved stuff in OS, and it's not really built for it at this point. OS is superb at rectilinear stuff, but as soon as you enter the world of curves, you end up with problems, limitations, workarounds and the like, which can be a cute challenge for your talents, but leaves a lot to be desired. Even if you manage to define your shapes within spec to your requirements, your problems are only just starting if you need to later edit the shape of a curved item.
I'm not sure why, but the OS team doesn't seem very focused on improving the curve abilities of the product - the real world is mostly curves. Many curved items in this world simply are not parametrically defined, and any attempt to do so imposes severe limitations on the further development of the product after the initial definition. Same thing applies to meshed surfaces.
The new match curvature constraint is a big move forward in developing and manipulating spline shapes, but it needs to go further, and thanks to Paul above for the suggested techniques which do help. But it needs to go further and be streamlined.
I have tried at length to draw smooth flowing boat hulls on OS, but have given up for now. I really hope they get this stuff implemented in a useful way in the foreseeable future, because OS deserves to be successful. IMO It is such a well thought out product, apart from this area. I have total respect for the brains behind the product. I expect in the fullness of time they will provide something which will yet again leave us all smiling as to the elegance, simplicity and ability of the solution.1 -
SledDriver said:[...] I have tried at length to draw smooth flowing boat hulls on OS, but have given up for now. [...]
@SledDriver,@Henk_de_V said:
[...] Also because of the (earlier) absence of them I paused the modelling of the boat design. [...]
Remarkable such a common experience.
0 -
It's been two years and this is still missing? Seriously annoying. It seems the OS development team have chosen the apple approach of, no you're doing it wrong, as opposed to admitting they're missing functionality. Really disappointing.
0 -
I mean, of course there's additional functionality I want, but for what it's worth, I think they're doing a great job of setting priorities and only launching things they have taken the time to implement thoughtfully.gda_cto said:It's been two years and this is still missing? Seriously annoying. It seems the OS development team have chosen the apple approach of, no you're doing it wrong, as opposed to admitting they're missing functionality. Really disappointing.2




