Drawing multicurve

Is it possbile in Rhino to instantly draw a curve that will be offseted on the left and right side by an given value?
Basicly like an road axis (middle curve) and on the left and right side youll have road edges.
I know I could do this using offseting command. But any chance of doing this on the fly?

_Offset works well.
And you can turn on the toolbar that contains the icon that corresponds to the command, or copy/paste the icon into your standard toolbar. Is that what you mean by ‘on the fly’ ?

Or you can set up an alias for the X key - that would be even more flighty.

Im not talking aboth drawing a curve and then offseting it to the left and to the right…I want to have something like ina Autocad thats called multiline.
You draw an central like and two lines offseted to the left and to the right , all at the same time

what would you need that for?

you could turn on history draw 2 points from that line then offset it then use ContinueCurve on the initial. every time you stop the command it will update the offset then restart the curve anytime. maybe its scriptable to see immediate feedback without having to stop the draw command. by the way this method works also on mirrored curves.

maybe @Helvetosaur has something or knows something?

This sound interesting.
So i need to draw points first, then curve between two points…

ehm no, just in case that might have been misleading. you start drawing either a polyline or a curve, 2 points will be enough, you can of course draw more. then you offset the curve. after that you use the command ContinueCurve and proceed drawing. every time you end ContinueCurve it will update the offsets due to history enabled. you can also change the curve or polyline afterwards bending them or even taking points out or adding them, the offsets or mirrors will be updated.

here a short video

1 Like

This seems promising!
Any chance that when you move the CP of the line…all “side lines” move together?

that is what i have actually also explained above, so yes thats possible.

upssss, my mistake. Sorry.
What aboth adding fillets and recording them also?

fillets seem to work either which is cool didnt know myself, but hey before you ask another bunch of those questions, go and give it a spin and try it for yourself :smile: i am sure you might discover even more possibilities. but just as a side not, not all is possible with history you have to experiment what works, maybe its also written in the docs which commands are history enabled and the version 6 has a few more commands enabled. i am only running 5.

How did you make fillets work?
I get strange results. When I use fillet on my central curve I get aditional CP.
Can you change the radius of the fillets ?

i dont get more than the regular 2nd degree arc cp´s.

changing the filet dimension is not possible afaik. at least not in R5. there is a command ModifyRadius but that only works on an exploded arc (and circles of course) and will not keep the continuity towards the rest of the lines/curves then. but one way to modify that would be to select both cp´s on the curve here marked yellow then use Scale2D and start in the 3rd (the outer) cp.


I understand you.
What I wanted to do is to have an fillet between two curves wich would remain parametric. Also while changing the position of the curves (direction towards its intersection) the fillet would update dinamicaly.

At that point, you should take a look at Grasshopper:

Parametric-MultiCrv.gh (13.8 KB)

to be fair you still can do some fancy tricks with history which visually let you play with your geometry. this is compared to grasshopper of course just toying around. if you need all parameters to be available there is no way around that.

otherwise things like below are still possible. here i created a sweep with the circle copy-oriented to the line. as you say fillets are not possible to implement keeping the 1st degree lines changeable as easy as before. if you want to stick to this method you may have to fillet later. if you need outlines of that you can use MeshOutline if you have straight pipes or Silhouette if you have curves fillets and need nurbs.

This seems impressive!
Is it possible that you can have control over every single fillet point?
Egsample at point 1 - I want radius of 5cm, at point 2- I want radius of 4cm, at point 3- I want radius of 8cm…Basicly on every point of your polyline where it changes direction you have an option of entering an value for fillet radius wich can be updated any time.

That should be possible, yes. With many points, the definition might be hard to keep track of - so that would take a bit of organization.

Lets say that you have around 6-8 of these point where lines changes its direction.
How hard would it be to program this in grasshopper?

Attached is a fast definition for 8 points.
I’m sure that someone who knows what they are doing in Grasshopper would be able to simplify this, but it gets the job done… (@HS_Kim?)
Parametric-MultiCrv-v2.gh (28.9 KB)