My goal was to make a parabolic shelter with a variable number of sides. Creating the grid for this was kind of challenging, however, so I first had to make a flat surface of a polygon and then use that as a mask to cut a polar grid into the correct shape. Once that was done, the rest went much smoother.
The main input for this project was the number of sides of the structure, but the radius and height are also adjustable. Additionally, the amount of ribs is scalable and the height of the lip that runs around the edge of the structure is adjustable. Lastly, the number of panels can be adjusted with the last slider.
These are the code blocks that I used to create the polygon surface that acted as a mask for the polar coordinate grid. The bottom set of blocks creates the polar grid and sets the height based on the equation of a parabola. The height of this parabola is adjustable using an input slider.
I also wanted the structure to have a lip around the outside so I added an offset to the edge points and created a curve along the edge so objects could be placed later.
Next, I used the points created earlier to fit polycurves and create the rib geometry. Lastly, I added adaptive panels to the structure. Originally I was planning on tiling the whole surface, however, I found it difficult to get panels at the triangular areas near the base of the structure. Instead of trying to fix this, I started messing with the panels and tried to make them have openings. This resulted in some of the panels disappearing and although I’m not totally sure why this happened, I think it turned out nice.
The entire script can be seen below: