Pairing original curve with offset the extrude

I see. Well, the sooner you merge your data into lists, the less component repetition you will have. It is how you go from something like this:

to something like this:

(I realize the two scripts produce different things and that your Python component relys on more than just radius and height parameters to generate the circles, but it’s the principle at play here that is the point.)

If you want the dynamicism of sliders you won’t be able to get around manually laying them down on the canvas and merging them, but here too you can optimize:

Graph Mapper definately is a friend in situations like this.

The main folly I see in your scripting is the design approach. You’re already thinking of the constructive elements and using them to determine form. It would be better to first develop an idealized envelope from which you then draw your system lines. This way, the circles that determine the envelope are divorced from the circles that later represent the constructive members of the object and allow you to do things like move a constructive rung to the height of a door lintel in hindsight.

That’s not too hard. It’s just list manipulation.
The script snippet below continues from the one above:

and dispatches the vertical system curves into two lists, one of which is shortened before being woven back into the other.

Pavilion_help6.gh (64.8 KB)