Lu Tang

image

This design is meant to be a partial shelter with both sides opened which can be used either as a bus stop or just in the walkway. People who are walking or standing under this can avoid direct sunlight, although they still have natural lighting. The sine-curve shape surface as the roof of the structure are standing for sea waves.

To get started, I defined three curves which would be the bottom line, the top line, and the outside line of the structure. Each of them are controlling one of the parameters of the structure, including length, height, and width; those three parameters could all be adjusted through using the sliders in order to adjust the dimensions for the structure later.

image

The second step was to create points on defined curves; a slider may be used in order to justify the number of segments and the number of points in the curves.

image

The supporting ribs of the structure were defined by using adaptive components that were the 3 points tube shape elements. By simply connecting the three points located at the three defined curves that are at the same surface. The family type of the components could be easily changed by selecting different family types.

image

For the top two sine shape elements, I used new_h = ampl*Math.Sin(p.X*mult) to get the new height (z) value, then there will be two new sine-shape curves by using the original X and Y coordinates for the points located at the top and outside defined curve, and using the Z value that would be the sum of the old Z value and the new z value. The new z value can be easily changed by using the slider.

image

After creating the sine shape elements, two wave surfaces have been created by simply using the Surface.ByLoft function. After that, colors were assigned to these surfaces to make them more outstanding. In this step, first I was trying to used the ByGeometryColor function by using the wave surfaces and ByARBG as the inputs for geometry and color, but it did not work. Then I tried to use the BySurfaceColors function by using the wave surfaces and color ByARGB as the input, but unfortunately it didn’t work either. After looking at some examples and other’s questions, I decided to try to use the function GeometryColor.ByGeometryColor; This function required two inputs including geometry and color. The two wave surfaces created in the previous step were used for the geometry input, while the input for color was actually an image.

image