Problem: I do not know of any simple proceedure in Rhino to edit a curve so that a point on the curve goes through an arbitrary point.
Requested solution:
A curve can be edited by selecting and moving a point on the curve. The point can be anywhere on the curve. When the selected point is moved to a new location the curve changes so that it continues to go through the selected point at its new location.
The structure of the curve remains unchanged (curve degree, knot vector, number of knots, number of control points, no additional multi-knots).
Oscillations/wiggles are not introduced.
The portion of the curve which changes is as local as possible to the selected point, with the position of only one or two control points being altered.
The parameter value of the selected point is unchanged after it is moved.
For multi-span curves a portion of the curve will usually not be altered.
An algorithm which satisfies this request will be described in a subsequent post.
A visual mockup with the green point representing the location on the curve which is moved. The resulting movement of two control points is shown.
if i understood that correct, the command you are looking for is called HBar, it will introduce a temporary handle editing point and will let you pick any arbitrary point on a curve to locate it exactly where you want without changing the structure of the curve.
there is also SoftEditCrv which works similar, though the target point will not be exact and somehow acts like a temporary control point rather, so HBar is i guess really what you would like.
Me neither, and also I’ve fogotten that they exist.
The Help panel reveals where they sit in the UI:
HBar:
toolbar Point Edit > Handle Bar Editor
menu Edit > Control Points > Handle Bar Editor
SoftEditCrv:
toolbar Move or Transform
menu Curve > CurveEditTools > Soft Edit
Who would have guessed them there…
This brings us to the ‘problem’ that Rhino is so rich on commands, it’s sometimes hard to find the right one (although there’s a command for pretty much everything).
In other words, it takes some time/energy to dig in and find it.
What can be done? RTFM? Watch more tutorials? That, too, maybe.
O.t.
How about adding better context sensitive toolbars?
Archicad does it that way. There are zero editing toolbars you can dock in the UI, like in Rhino. Only when an object is selected does a context toolbar pop up (called a pet palette) which only shows the handful of tools that would work in this case.
That’s a bit extreme maybe, but it works.
Just for inspiration.
HBar does what I want. I had forgotten about it, and it does not appear in any related Help files.
HBar works fundamentally differently than using edit points, which affect the entire length of the curve and almost always introduce oscillations/waves.
yes, i also would have suspected it to be under curve/curve edit tools, also FixedLengthCrvEdit is nowhere to be found at all. i basically found this command looking for solutions somewhere in the deep depth of the internet space much rather. one of the least know commands i assume.
it took me a while to figure out that Hbar is in fact the tool for editing a HandleCurve whose command is HandleCurve, looking for anything with Handle does of course not reveal HBar, i remember somebody thankfully telling me about it many years back, the confusion is spread, you can find occasional topics with people asking how to edit these points actually. i personally would also rename the editor, or just put it under HandleCurve alltogether to simplify commands.
simplifying commands could be done in a similar way for quite a few, i suggested this some time ago, but as established as all the commands are in their current state i doubt that will happen in this century still.
so i am not sure i understand, its not what you are looking for then? any tool will change the length of the curve while editing also changing edit points, only FixedLengthCrvEdit would allow you to awkwardly change the shape of the curve keeping the length.
The HandleCurve command in Rhino creates a polycurve, with each curve of single span degree 3 curves. It is not a separate object type, just a polycurve. At the conclusion of the HandleCurve command Rhino does not know how the object was created (other than the Undo stack). Anything which works on polycurves works on the results of HandleCurve.
HBar works on any curve or polycurve.
HBar is what I was looking for.
My comment about edit points was to describe how modifying a curve using edit points gives fundamentally different results than using HBar. “affect the entire length of the curve” meant that when using edit points the entire curve always changes shape, not that the length of the curve changes. In contrast for a curve with sufficient number of spans HBar does not change the shape of the entire curve, only a portion of it. (The number of spans HBar affects depends on the degree of the curve and the position of the location where the curve was selected.)