The goal is to create a freeform roof that will be used to cover a courtyard, in which there is a tree. The roof must adapt to the position of the tree. At the moment we do not exactly know where the tree will be placed. We need to be able to move the tree, and observe the changing roof form.
For more examples refer to the GenerativeComponents Documentation page.
To begin the model, select the point creation shortcut and place two Points in an axonometric view into the geometric model. One of these points will represent the tree also called the trigger point. The other point will (at the moment) represent the ‘spot’ base point or grid point for the roof within the courtyard.
We are going to create a Line between these points, in order to measure the distance between the tree and the sample roof base point.
We now want to create a vertical offset point above the base point of the roof. To do this we are going to create another Line, but this time based on the location of the base point (as its StartPoint) and in a vertical direction, with a Length equal to the first Line we created.
We now need to test the model we have created. We can exercise a model (in dynamics) by moving one of the input points and observing the resulting behavior of the model.
While we have established some sort of relationship, we might observe that the vertical Line becomes shorter the closer Point01 is to Point02. If the StartPoint of Line02 represents the base point of the roof, then EndPoint of Line02 represents the height of the roof. We want the roof to be higher, the closer it is to the tree (represented by point01). What we have is the inverse of the relationship we required. So to change this:
At the moment Point02 and Line02 represent a ‘sample’ point within the proposed courtyard. We now want to ‘replicate’ Point02 (and hence Line02) to represent the ‘grid’ of points within the courtyard
Finally we click Apply (and ‘fit’ the view).
We now need to exercise the model, but first we need to ‘tune’ the display.
We can now add a surface to represent the roof.
We can now exercise the complete model using the move command with point01.