How to attach lines/curves to object like flowchart tool

I’m wondering if it is possible to ‘attach’ or ‘hook’ the endpoints of a line to another object. I’d like to use Rhino to do some basic block diagrams and wiring diagrams. As I drag the boxes and shapes around, I’d like the lines (wires/cables/logic) to stretch or move with it leaving both ends connected to the original points.

Is there any way to do this?

HI @aeromorrison. As an example… If you have a circle with lines(wires) emanating from it in various directions- Just switch on control points (F10) for the lines and select the circle and the control points from the lines which lie on the circle. Then drag the circle and the selected control points together. The opposite ends of the lines will stay where they are whilst the inner ends will move with the circle. (F11) to switch off control points. -Michael VS

You can use the Near osnap to get curve control points stuck onto another curve. Is that something like what you want? You can also intersect curves and use each to trim or split the other. The Connect and Extend commands may also help,


This is helpful. I tried it and it seems to work similar to how I was hoping. It is a little tricky to get the right set of objects selected, though.

The OnCrv osnap (See Help) might also be useful here.


Yes. I have no problem with snapping and osnaps. I was primarily concerned with how to get snapped lines/curves to stay attached to another object that is getting dragged around or moved. This is really common when developing something like block diagram or flowchart.

Thank you!

Group may help - it allows multiple objects that need to stay together to be selected as one object. Works on top level objects, not control points. Ultimately, Grasshopper might be the way yo go for this stuff, but it might take some working out -


In the image shown, if you turn on the line grips, then window select the shape and the attached grip, then you can ‘move’ or drag the shape and grip together.

This seems the best method as also highlighted (in words) by @mvyess.

Excuse me @mvyess , didn’t read your post properly.

FWIW, a similar method can be used to drag dimensions with objects.