How to meet control point curves?

I would like to pull red curves into green curves to have intersection points between them. Is that possible without using interpolate point curves and losing a single span? I don`t want to also increase degree. I think they should meet together without increasing degree of curves.


test_control_points.3dm (32.0 KB)

Edit: I’ve found also something like that which is related to my question: https://mcneel.myjetbrains.com/youtrack/issue/RH-40229 but I don’t know if it’s already implemented and I don`t know how to use it with history.

https://mcneel.myjetbrains.com/youtrack/issue/RH-40229 is about constraining control points, but your problem is not a direct manipulation of them.

Do the ends of the red curves need to be constrained G0 or G1? If neither, you can

  1. _ClosestPt with _Object between each red and green curve to obtain 8 points total.
  2. _Orient the red curves with _Scale=1D or 3D and picking the points (from # 1) on the red curves as the References and the points on the green curves as Targets.
1 Like

Thanks but I don`t get how can I use those commands with that task.

I would like to move the green curve from POS1 to POS2 and from POS3 to POS4 with remain positions of PT1 and PT2. If that degree wouldn’t allow on that then I would increase the degree. Single span too. This is an example only. I have a grid of curves that are close to each other but they don`t intersect. I would like to move them slightly to meet each other without heavy changes. After that, I will increase my degree to maintain continuity on ends without changing of intersections in the middle.

Edit: ScaleNU command almost does what I want but It remains positions only PT2 without holding PT1 (PT1 moves during scale). I know it will do only work for one point matching but I wanted to show what I’m trying to achieve.
scaleNU
The best would be for me to hold PT1 and PT2 and match the curve to both points without heavy changes and increasing degrees. Something like Pull loose but it won`t pull curve to curve.
The best would be of course not to move all control points only the closest one to not lose continuity where is possible.

_InterpCrv _Degree=5 _Knots=Uniform with up through 6 points will produce a degree-5 Bezier.

1 Like

I have not tried this method, but it may be feasible to loft the red curves and extend the surface using either UntrimAll command or ExtendSrf command. Once the surface is made, the green curve can be projected on the surface (using Project command).

By the way, your first post was so vague that it was impossible to respond to it.

1 Like

Thank you very much, Steve. Very nice. I haven`t known those parameters set together.

Thanks. It may be also a good way to achieve that. I will try.

I`ve found the command SoftEditCrv. It looks promising but I have a strange behavior of that command during picking up a base point.

Please look at it here:

softeditcrv.3dm (34.1 KB)

I pick the base point on the curve and it is in a different place the curve than I`m picking it.

Is that a bug of that command?

Based on experimenting with SoftEditCrv it uses the closest “edit point” to the base point selected by the user.

@davidcockey Is it a feature or a bug? I’m asking because I`ve created bug report thread with that: [bug] in SoftEditCrv during picking the base point

It is how the command was designed to work. From Help for SoftEditCrv: " * The selection point snaps to the closest edit point." Rhinoceros Help A bug usually means when code does not work as designed.

1 Like

Note that SoftEditCrv usually does not move a curve so that it passes directly through the selected location.

1 Like

Hello- HBar is designed to help in this type of situation but with this simple a curve it may not be possible to get more than one intersection to stay put.

-Pascal

1 Like

I never thought about using HBar for this purpose. I had been intending to ask for the same function to be implemented as a command.

If there are sufficient knots between the points on the curve then multiple intersections can be set using HBar.

In principal it is possible to set multiple intersections with less constraint than HBar has. The solution of a set of several simultaneous equations would be required, which apparently HBar does not do. (Number of equation to be solved is not more than the number of points to be matched.)

1 Like

Thanks a lot @pascal it was worth asking about it :slight_smile: I`ve never known that command. Awesome!!!