Easy Feature Request: Join Input Curves For _CurveThroughPolyline Command



This is simple but a game changer. I’m praying someone can slip this into the next service release.

On the _CurveThroughPolyline command, I’m asking for an option to _Join input curves. Currently, if you select two deg1 curves with 7 control points (deg1/7) and ask for a _ControlPoint deg3 curve, you get two deg3/7 curves. History is enabled for this command, so any changes to the parent deg1/7 curves are reflected in the deg3/7 children. Here is an example of the current functionality using deg1/3 curves that are quad mirrored:

The requested _Join option would take the two deg1/7 curves and look for coincidental endpoints. If one coincident is found it creates a single open deg3/13 curve. If two are found, it creates a single closed deg3/12 curve. If none are found, it works as normal.

This is the simplest way to achieve another useful history enabled curve symmetry tool. Here is the same deg1/3 control curve pictured above if the proposed _Join option existed. The edits to a single parent deg1/3 could then propagate through a number of children created by mirrors, arrays, etc. to update a single deg3/11 grandchild curve:

(Law) #2

Hey that would be awesome

(Pascal Golay) #3

@EricM, in case it helps for now, here’s a python that does what you suggest - no fancy options yet but that should be possible - this one (should) just make either interpolated or control point curve using polyline points, joining what it can if you ask.

CurveThroughPolyline_ex.py (4.1 KB)

! _-RunPythonScript "Full path to py file inside double quotes"

I think it should be possible to add the other options, ( degree, etc) if this is more or less on the right track.



Thanks pascal, but the whole point was to allow history to propagate.


I could use something like that as well.

(Cameron) #6

Yes! Please make this so!

(Pascal Golay) #7

Hm - for now, you can get part way there in a half baked kind of way using CrvThroughPt and moving the point objects with the polyline control points…

CrvthroughPt_History.3dm (53.9 KB)



I am using that, but you can’t insert points and it’s painful to maintain order/control the seam. Specifying the seam on a closed curve would also be helpful, but is secondary to just having a join option.

Pascal, all joins break history. I’m pretty sure you (McNeel) have good reasons for this. This seems like a simple, clean way to circumvent that complexity. I cannot tell you how much further I could extend the history tree, speed up workflows, and build truly reusable components.

(Ken Sanders63) #9

Yes, this feature would be handy!


This would be very handy.


I want this too, cuz Eric said he would beat me up if I didnt say so…

(joking)… its a really nice idea!


Looks helpful to me.


Looks like a great idea to me let’s hope they put in for us