Parametric architecture how to make arc triangular section arches

good evening

I am a student working on the deployable structure. I would like to use the same joining technique (arc triangular section arches) to create a pavilion of different shapes in the shape of a triangle or square if it forms a dome. I am a beginner in rhino (grasshopper), I can not do the design of this structure.Is what someone could help me dear member

Looking forward to you, you are my last chance for my project,

Thank you

Well …

That’s very easy via code but I guess that this “option” is a no-no for you. So you should wait for some other good Samaritan to solve that one (the LBS part, that is) via native GH components.

BUT … the fabric concept is wrong since it yields a shading shape that (a) covers a very small percentage of the footprint (so what’s the purpose of doing it?) PLUS (b) is “linear” in U (or V). In order to achieve a real-life tensile membrane like this one you should use the one point up the next down rule otherwise you would apply colossal forces to stabilize the membrane with absolutely no reason. This would affect the sizes of the LBS members/nodes/anchor plates etc etc. Solving (“relaxing”) a similar properly anchored up-down membrane is done via (a) a well defined mesh (b) a Physics Engine (i.e. Kangaroo2 [ the best GH add-on by 1M miles] available for GH by a certain Daniel P). Get the thing and try to get familiar with what it does - there’s some simple tensile mebrane examples available as well in the demos included.

BTW: In membranes and K2 ALWAYS separate the clothed edges from the naked ones and apply different spring values - as we do in real-life membrane designs. Google: tensile membrane anchor plates images … and study various contemporary proper anchoring plate designs > see the 2 mysterious cables going “along” the perimeter from plate to plate ?.

BTW: Not 100% the same with your goal … but since it’s a kind of “linear” solution is more or less 100% the same with regard the up-down anchoring policy:

Before Kangaroo2 (mesh is flat to the ground, all cables [and other things] waiting for the salvation):

After Daniel:



sorry but I did not understand anything, but the goal is not to copy the same but to do the coding of a single triangular arc section.
did you want me to do a single coding of a triangular arc section.

Well … the goal in this thing of yours is to provide shading. Period.

If the means for that are wrong (the membrane that DICTATES the truss topology) why bother talking? Or how to create a truss (an arc shaped collection of tubes) without knowing what it serves OR what it should serve?

Most notably when the whole thing is a folding one meaning that we must apply the minimum forces to the fabric for obvious reasons.

If you still can’t get the gist of what I’m saying … well … blame Karma.

Other than that: IF no good Samaritan can provide a no-code definition … I’ll provide one (but taking into account a real-life membrane approach).

here is the idea that I have in mind to do on a grasshopper
I made the prototype, I could send you by mail, if you wanted.

I also made the 1/10 scale model of a single-arc triangular section
it just misses the gransshoper coding

Well … I can’t see many good Samaritans around (insofar).

Thus get this: (123.3 KB)

  1. This is from an existing project (a WIP one) minus a zillion details (and lot’s of code lines with regard nested instance definitions and other things). Nodes are idealized (but that’s not an issue at all). Tubes are also idealized (in real-life the ends are conic in order to avoid clash issues).
  2. The scope of the thing is to air-transport (Sikorsky CH-54) it as a pre-assembled entity into some very unfriendly place (some desert) and then do the rest as fast as possible. Thus the truss is not a pack-end-go thingy.
  3. It uses rigid members (the while ones outlined as Polyline(s)) in order to withstand the serious tensile membrane forces required … otherwise > Armageddon on sight.
  4. Obviously … er … you must give something for that rigid goal: thus a kind of foldable inside each other tubes are used meaning that the X members are variable in total length … but they are made only from 2 pairs of tubes (1 for the sides, 1 for the bottom).

Obviously this is NOT a great help for you since is 100% code. In fact it’s not help at all … but it can guide you into some realistic thinking (I do hope).


here is the prototypes here, it does not help me much tubes.

OK, I’ll make a rect tube option … but by inspecting the PDF … well … do a small test:

Go to some windy beach, find a friend who does windsurfing and ask him to hold the sail in an upright position (fully closed in). Now the sail could be anything between 4 to 9 m2 … so just imagine 10++ (or 100++) times that size and start realizing the forces involved with membranes (plus the ones required for achieving the shape). That said the mast is a 50-100% carbon very expensive tube that can handle BIG forces: what chances have your wood sticks? (not to mention your nodes/joins)

All that having membranes in mind and not some sort of fabric that … well … if is this the case why bother doing it? It would be a very short lived thingy (gone with the wind etc etc).

Finally, place the wind wires with the natural rope. And attach to type anchors


  1. This sort of membrane is not worthy being relaxed with K2 because is “flat”" in U (or V) meaning that you never listen eh? (expected from a student … but this mentality would cause you serious issues in the future).
  2. Since you pass forces (in the transverse sence) from cables to trusses to membranes to trusses … to cables … IF you don’t use a rigid member (as the while triangles in V1) … don’t bother to make/rig the thing at all. It would collapse sooner or later. If someone advised you to do a thing exactly - more or less - like this > just change advisor (ASAP).
  3. Trusses MUST point their noses UP in order to attach the up anchor point (as explained above) as a pair to/with the previous membrane UP point.

BUT … well … I’ll do a last shot: I’ll provide the correct layout concept (following any rail curve) soon: then either take it OR may the Force be with you.

BTW: NEVER use K2 to do a folding simulation on similar things … you’ll see the reason in the future layout concept that would be quite close to the actual design mentioned.

Finally indeed: here’s a thing that closely emulates the real-thing logic. The rigid sections truss concept is the same as in V1 (with regard the rigid members (whites)) but … let’s say that this C# is canibalized from the - internal - original def … er … with a far more legant way. Note: since a spine is used (that can have any shape) the extensive topological checks for the solution validity are removed (they are strictly internal, so use a “good” spine for the truss deployment).

That said the X members would be (later on) “like” the real ones that have nothing to do with tubes (nor with your wooden sticks, truth to be said).

V2A is only the layout (does 1% of the job).

Later on (if we are remotely on the same trajectories) V2B would do the real X sliding members (you would be surprised a bit) using items (either 2D or 3D) that are made/defined ONCE and then placed (as instance definitions, meaning real-time responce no matter the complexity) many times using Plane to Plane transformations (kinda what the Orient does) and V2C would do the ideal mesh plus the var/steady cables for the K2 relaxed membrane task. (118.6 KB)

1 Like


triangular section (14.8 KB)

This had TR unset (meaning 0 meaning no tubes at all as Pipes).

Other than that this Def was just an indication with regard the need for variable X members (in order to have a steady cross section (white) in order to avoid a truss braking into pieces) and by no means a real-life solution (even Academic). The real-life one would being exposed in V2B. Reason is that in fact you can’t have a steady pivot per X pair: you need an oval hole that allows the members to rotate (when folding/unfolding) PLUS sligthly “slide” each other: meaning a sliding joint (into the oval hole). But you would be able to do these even using wood (ONLY for a small scale model, that is) and some basic things that model shops sell.

I would strongly suggest to use V2A and get the gist of DataTrees. Without a total knowledge of these things … it’s impossible to do anything in GH (native components, code, hybrid … makes no difference since a DataTree is the core of the core of all structured things). That said a DataTree is a kind of Dictionary of Lists where a List is the “standard” way to sample enumerable items.