You are currently reviewing an older revision of this page.
This example is becoming a more complicated again and it
will not be discussed at the same level of detail as the previous ones assuming
some familiarity with GenerativeComponents at this point. If you are not
familiar with GenerativeComponents yet start with the previous examples first.
We start with setting up a new empty .gct file roofexample02.gct as usual.
For more examples refer to the GenerativeComponents Documentation page.
This time we build a landscape surface to support and
adjust our bridge design.
Create a BSplineSurface.ByPoles using 12
ControlPoints ideally in a grid of 3x4. In one direction at least 4 are
advisable to be able to adjust the surface not just to concave and convex
settings but also s-curved cross sections for more interesting conditions for
Once the surface is created, add support Points just
like in the previous example but this time they will be placed onto the surface
to follow it when the landscape changes. We can do so by creating Point.ByUVParameterOnSurface.
or better just using the point shortcut holding down the ctrl key and snapping to
the surface. Once the points are placed one recognizes that they are not
necessarily coplanar in their pairs. So we need to create an offset point each
for the pairs to compensate for this condition. The offset point will have its
origin in one of the points of the pair and its X and Y value set to 0 and its
Ztranslation value set to the Ztranslation value of the other point in the
pair. That way those two points are always level and we can connect them with
the support line.
Then we can place the familiar CoordinateSystem onto the
respective Lines to use their XDirection as the direction for creating the
tangent lines for the bridge curve connecting the two supports. For a detailed
explanation of this step see the example before.
Now to construct a pylon to support this bridge through
a cable fan we need to create some sort of placeholder of a structurally
determined position. We can work with an approximation of the center of gravity
for now using a Series of points along the curve of the bridge and then using
the centroid position of all the points in the set.
This gives us the upper most point for the pylon
direction. To get the point on the landscape we can try to project the mid
point of the bridge curve line onto the BSplineSurface.
Now we can connect the two points and derive the
direction from the line. Using the direction we can create a Line by
StartPointDirectionandLength to project upwards beyond the direction line to
create the highpoint of the pylon. The length factor depends on many factors of
course, but for now let’s choose it to be half the length of the bridge curve.
To get the fan of lines we can connect the end point of
the pylon with the set of points along the curve.
Creating the roadway was accomplished by creating a
BSplineSurface using the sweep update method.
Next we adjust the pylon settings so it is easy to add
more pylons while the distribution adapts. We accomplish this by creating
BSplineCurve segments each with its own pylon construct and cable point array.
This way when adding more curve segments along the original BSplineCurve the
number of pylons also increases.
Switching back to a single pylon now with an improved
landscape rendition. Here it is nicely viewable how the pylon leans against the
A close up view.
Setting the number of pylons to 6 in the same context.
Super imposing several settings onto the same image.