Add Control Point Distribute Feature

I’d like to put in a feature request (based on an earlier question I posted) that either adds a new feature ptDistribute - that provides the same feature as the standard distribute function, but in this case distributes the location of control points for a set of say curves in x, y, z planes. or adds this function to the standard distribute command. Is this the right forum for this?

1 Like

Hello- can you please post a file that has an example - or two- of the starting and ending locations of the points?

-Pascal

Does this help?

1 Like

What was the input? A single curve or multiple curves?

As you can see in my attached screenshot, the command should not be limited by the ‘ownership’ of the control point i.e. the Distribute Y use case is a number of control points on a single curve, the distribute X is across a number control points across a number of curves.

I did two examples of the distribute X, when one would just be an even (default) distribution and the other example where the distribute X may include an entered “Gap” value

Another option would be to add a distribute sub-command to SetPt, but rather than overloading the SetPt command, I think it makes more sense for it to be a new DistributePt command (basically copying the command structure of the standard ‘distribute’ command. I guess just allowing the standard ‘distribute’ command to act on points as well as objects would work too.

Another nice feature would then to be able to distribute the points along a path described by another curve i.e.

So, basically, make Distribure work on control points… correct? For now, exteracting the points, running Distribute, and then moving the control points to the points wouild be the workaround - maybe that is what you are doing. Scale1D will also help in some cases.

-Pascal

Correct, but extracting the points then running curves through (now aligned and distributed ) points for say a few hundred/thousand curves, that then need to be turned into pipes (think drawing a data center cable routing guide) is a non starter

After distributing the points, select the points and use ControlThroughPt with CurveType=Interpolated to create the new curve.
https://docs.mcneel.com/rhino/7/help/en-us/index.htm#commands/curvethroughpt.htm

TweenCurves may be a way to create sets of curves such as in the first illustration:
https://docs.mcneel.com/rhino/7/help/en-us/index.htm#commands/tweencurves.htm

As I said, for a couple of curves all that works (except for the Tween suggestion as this assumes the start and end of curves is the same/uniform, which in the example I just gave isn’t/won’t be the case) - in the specific example I’m working on has more than 10,000 curves I need to work with…

Hi Phil -

Added to the list as RH-70352 Distribute: Allow control points / vertices as input
-wim

3 Likes

Thanks!!

Thanks, this is super helpful. I`ve read that is already done. Will it be in the newest 8 WIP?

Hi Marcin -

It’s in the current in-house build, so, yes, it will.
-wim

1 Like

Hey Wim

Again greatly appreciate the feature being added. (Obviously a longer term request) One of the things I think we could do now is to have the notion of distributing along a curve. Let’s assume I have a set of curves whose last control point (at one end) need to be equally distributed along a path described by another curve, a really simple example might be a Arc, where other curve end points are distributed from the beginning to the end of the arc, giving us a fan or peacock feather result, assuming the other end of the curves points are all in the same x,y,z coordinates.) i.e.

BTW, any idea when the WIP might be released?

Best regards

Phil

1 Like

As I think about it, I guess this is the opposite to ‘a curve thought points’ i.e. this is ‘points along a curve’ :slight_smile: Obviously my diagram (above) would only be true if I had concentric arcs that each set of points along the ‘fans’ curves were distributed along, but I think you get the idea. If I think of designing an undulating roof of a building, now I just need to draw the front and back elevations of the roof, and all the ‘rafters’ can be drawn along those two profiles incredibly quickly… After all, Christmas is coming and I’ve tried to be good this year :wink:

1 Like

+1 I also will wait for Christmas time and I hope to see something like that in future. An example is maybe not the best but the asked feature is huge and super helpful.

I think that feature would be super useful in tricks like that where you have to move points over the curve to match it.
This screen is from that super tutorial:

yep, that example and my roof example are basically the same idea

1 Like