To design this structure, I first started by creating three curves.

The first and second curves were two straight lines with a z value of 0. The length of the first curve could be adjusted, and the translation of the second curve could be chosen to adjust the width and depth of the structure. Lastly, the third curve was placed at the midpoint between the first and second curves.

Next, points were added to the third curve, and the number of points added could be adjusted.

Those points were then used to calculate and add a sin function. The number of waves and amplitude of the sin curve can be adjusted.

A list of the three curves was created and used to generate a surface.

A grid of points was defined on this surface, and the dimensions of the grid can be adjusted. The points were then arranged into groups of four.

The adaptive panels were then placed on the surface.

This same list of curves mentioned before was also used to create and group points for the placing of rib components. The number of ribs can be adjusted, and the resulting points were transposed to group them.

The adaptive rib components were then placed. The radius of the tubes can be adjusted using the code block.