Hi guys,
I’m brand new to Rhino and I’m trying to figure it out in a hurry. What I’m trying to do is simply combine two closed curves. The result would be almost the same as a group but the various shapes would actually be part of a single curve. It is not a boolean operation as the individual curves don’t overlap.
In CorelDraw the operation is called “combine”, in 3DMax it’s called “attach” if that helps at all.
I’m assuming you don’t mean Join… Where open curves touch end to end and can be joined into one. If not that, I don’t see how two closed curves that do not intersect can be combined into one…
–Mitch
Or perhaps its a loft
Sorry, I’m probably explaining this quite badly. If you had 2 or more circles next to each other and wanted them to be a single object so that a single offset command would work on all of them, that is what I’m trying to do. Almost exactly like grouping except the end result would be one curve instead of a collection of curves.
A loft as I understand it from other software is a 3D operation where a shape is extruded along a path, that is not what I’m referring to here.
Loft in Rhino is a shape created using two or more curves which do not intersect.
Trying to go fast by assuming that Rhino uses the same concepts, terminology and commands as other software will usually result in going slower.
How do two curves which do not intersect become one curve?
Hmmm … I don’t think that this ‘multi-curve’ object exist in Rhino.
Are you looking for something like this? --Mitch
Definitely not a loft. If you have a look at what this guy is doing at the 2:35 mark on this vid it shows exactly what I’m trying to do, except it’s obviously in Corel.
Mitch, offsetting multiple objects together was one of the reasons I was trying to combine curves so ya, that is quite helpful.
Yeah, Rhino does not have a “combine” function in that sense, you cannot make disjoint curves into one object, all you can do is group them.
There may be scripted solutions for what you want however. The script in the video is an old vb script that is semi-reliable (due to the fact that Rhino’s offset function is also only semi-reliable) and only offsets to the outside - but I am attaching it here anyway. If you want to single offset many individual closed curves inside or outside without necessarily doing the CurveBoolean combine part, the second (python) script should do what you want.
–Mitch
MultipleBooleanOffset.rvb (3.6 KB)
OffsetMultiClosedCrvsIO.py (4.5 KB)
Thanks for the help guys. I’m going to have to get used to doing things a bit differently to what I’m used to.
Thanks Mitch, much appreciated. That will be very useful.
You can right click to repeat a command, which will at least speed up your offsets of multiple curves since it can’t be done natively.
Or speed it up more by putting an asterisk in front of the command, which will auto repeat it. *Offset
ooh, that’s awesome, didn’t know about auto repeat, thanks!
As soon as i read the title of this i knew you were coming from coreldraw lol. I myself use coreldraw for all my 2d stuff. There isnt a finction in rhino like combine because its not necessary. The group command in rhino does pretty much what combine does in corel. It makes a relationship between those 2 or more curves.
Hi Croglet,
First of all it would be to know what you exactly want to do.
If you want to select all curves in one clic, put it on the same layer, right clic and “select objects”.
Vassez, I was just looking for a way to offset multiple curves simultaneously but between Mitch’s script and the other guys’ suggestions of right clicking and using asterisks etc. I’m good to go for now.
As jimc mentioned it isn’t even necessary to combine objects together, just a different way of doing things than what I’m used to.
One could use the intersect command and then trim unnecessary line segments. Littlebit labourous but workable
Maybe he wants to “group” the objects. (??).
you write: “you cannot make disjoint curves into one object”
I wonder if now, 8 years later, it be possible
to be super clear: I have two curves (say of degree 3) . each curve has control points (of course) . I want a curve which is the combination of the control points of the two curves . if I had to do it manually, I would show the control points of the two curves, then I would create a new curve using those exact control points . I’m wondering: is there a non-manual way of doing this?
the application is like this: suppose I’m making a rather complex 2D curve of a snake . my end goal is to have one curve object . but I want to start with the head separately, the body separately, and then put them together into one final curve
anybody have any hints or tips to do this kind of thing, anything better than simply creating a new curve using the control points of the separate curves? . (which, I admit, isn’t that big a deal, to do it manually like that)
Hi Raphael - no - it is hard to imagine, to me at any rate, how this could be handled reliably and get the result the usetr actually wants without more UI and complexity than just doing things by hand.
-Pascal