generative modeling for Rhino
firstly, i would like to thank you all for such great support on this site. i have learned a lot over the last few years of dabbling with grasshopper thank to you guys (however, i'm still technically a uber newbie)
i am currently working on this mosque project and it requires me to create an inner leaf of a double curved roof structure that is composed of little semi/quarter domes (sadly i don't know what they are called). like this:
bits on the right is the horrible state of what the definition is trying to do now.
i started off fumbling around and am now at a stage where i could move a single rebuilt isocurve (so that it can have as many kinks as i want) up and down or move the set of triangles (in pic) up along the z axis. i also grabbed the sort points definition from somewhere on this site and found that the triangle lines (which are single lines grabbed from the manual sequence) sorted themselves into a 0,1,0,1,0,1,0... sequence.
the manual process goes through this sequence:
extract isocurves from surface as different intervals
squish lines with surface into flat plane
manually draw triangles that connect between intervals
squishback to get coordinates
redraw line(s) between triangles
redraw triangles (both done so that they connect)
rebuild the triangles into 3 control points
move each isocurve interval + middle control point of connecting triangle sides up by an amount
repeat sequence for different rows of isocurves, so that it creates a tiered effect
repeat surface from 3 curves command until hands go sore.
i could live with manually doing the first 7 steps, but moving the middle control points as well as the surface from 3 curves command takes quite a lot of time, especially if i wanted something more dense and intricate.
the end result is meant to sort of evoke this but on a doubly curved surface.
if anyone could provide some advice as to how to automate any of the processes (ideally all of them!) i would be eternally grateful.
i have attached the rhino and ghx files here (v4)(0.8)