Creating one curve from tangled lines circle

I’m designing balconies in Grasshopper by using circles to define their shape. I connect the circles with tangent lines, both inward and outward. This creates the lines between the circles, but what I want is a single continuous curve that combines both the tangent lines and the arcs of the circles to connect everything seamlessly.

So how can i combine all these lines and create arcs from the circle so it can be one curven (red line i drew)



Balconies.gh (19.6 KB)
Balconies.3dm (93.4 KB)

Looks like you didn’t internalize the points that locate the circles? Is there a Rhino file we need?

I don’t fully understand your description of the problem either, but those missing points might make the code more clear.

I added the rhino file, what i bake now are seperate tanget lines and circle, but i want it that it is one curve where everything is connected

This cheap and easy way uses Connect Curves, though it is far from ideal. Code is better organized though for a “proper” solution.


Balconies_2025Jan20a.gh (19.4 KB)

This is a “proper” solution:


Balconies_2025Jan20b.gh (23.5 KB)

I’ll try this definition too.
Balconies b.gh (31.0 KB)

Really thanks for your solution. Only when adding the last points the line isn’t continuous anymore. Do you know what is going on?


Balconies 2.3dm (100.1 KB)
Balconies_2025Jan20b.gh (29.3 KB)

To modify GH code successfully, one must understand it.

Do you see important differences between these images?

What I gave you:

What you gave me, after adding points:

The code I gave you has the same number of inputs (8) on both Merge components and the last point has a circle around it.

Your modified code has 18 inputs on the first Merge (circles) and 19 inputs on the second Merge. The last point has no circle, as expected by the code.

Try again :question:

In general, the copy/paste method resulting in 19 inputs on a Merge is discouraged, as it is not “The Grasshopper Way”. Better to use lists / data trees.

Also, when you modify GH, please rename the file.