Armadillo Vault
This example will show how to generate a simplified version of the ThrustDiagram
of the Armadillo Vault. This example will show how to:
Create a (quad mesh)
Pattern
from featuresRelax
Pattern
Create and move new anchor vertices ("drop downs") in the
ThrustDiagram
1. Pattern
1a. Create pattern
From Features
uses trimmed or untrimmed surface as input. Open the file below, and select the trimmed surface as input in Create Pattern
> From Features
.
The first optional parameter will ask for any additional points on the surface to be defined as point features or singularities. This parameter will be skipped in this example. Press Enter to skip.
The second optional parameter is the desired target length for the Patten
. This value is the approximate target length for all edges of the Pattern
. For this example, the default target length of 1 is used. Press Enter to accept the default value of 1 and proceed.
The third and last optional feature will ask for the number of iterations for constrained Laplacian smoothing of the Pattern. The default number of iterations is 10. For this example, 30 iterations are used. Primary purpose of Laplacian smoothing in this step is to more evenly distribute the vertices along the boundaries.
1b. Modify pattern
Once the initial Pattern
has been generated, further modifications such as relaxation can be applied. In this example, the Pattern
will be relaxed with all of the boundary vertices fixed. Go to Modify Pattern
> Vertices Attributes
, then AllBoundaryVertices
. In the pop-up window, set the attribute 'is_fixed'
to True
. The fixed vertices now should be displayed in blue.
With all the boundary vertices fixed, go to Modify Pattern
then Relax
. The Pattern
should now be relaxed. Pattern
relaxation is based on the force density method (FDM), with force density of 1 set to all of the edges. The primary purpose of Pattern
relaxation is to reorient the edges of the Pattern
based on force information, rather than geometric information (such as Laplacian or centroidal smoothing where the repositioning of the vertices are based on the coordinates of neighboring vertices). By relaxing the Pattern
based on forces, the Pattern
will already be in a good, equilibrated starting geometry which will be helpful during later stages of form finding.
After relaxation, unfix all the vertices of the pattern by following the instructions in the previous step Unfixing of the vertices can be done (or not even necessary, if they are intended to be used as anchors) during any point before the creation of the FormDiagram
. However, for clarity of the procedures of the main workflow steps, all vertices are explicitly unfixed in this step.
Comparing pattern refinements
Left - Pattern from feature with target length 1, without smoothing or relaxation
Middle - Pattern from feature with target length 1, and 30 iterations of constrained Laplacian smoothing (notice the more evenly distributed vertices along the boundaries)
Right - Pattern From Feature with target length 1, 30 iterations of constrained Laplacian smoothing and relaxation with all boundary vertices fixed (notice the much smoother continuous edges).
2. Define boundary conditions
Identify Supports
In order to define the supports of the vault, go to Define Boundary Conditions
> Identify Supports
> Select
. Choose ByContinuousEdges
, then select one of the edges on each of the three curving-out boundaries of the Pattern
as shown below. Once Enter is pressed, all the vertices along the continuous edges of the selected edges will be defined as supports, which are now shown in red.
Update Boundaries
Update Boundaries
provides a controlled and automated relaxation of each of the unsupported boundaries independently from one another using the force density method. In this example, the relaxation was intentionally done during the Modify Pattern
step with a specific attention to the boundaries and interior holes. So Update Boundaries
is skipped in this example.
3 + 4. Create form and force diagrams
5. Horizontal equilibrium
Once the FormDiagram
and ForceDiagram
have been successfully created, Horizontal Equilibrium
can be run.
Even after several hundred iterations, the angle deviations may still be high and decrease slowly, which are typically due to very short edges in the ForceDiagram
. One way to help the algorithm, is to increase the minimum length constraint on all of the edges of the ForceDiagram
. Go to Modify Force Diagram
> EdgesAttributes
> All
, then set the attribute lmin
to 0.3. Run Horizontal Equilibrium
again, and there should be an immediate improvement.
If the angle deviations are still high, another way to help the two diagram reach horizontal equilibrium is to relax the FormDiagram
. Unlike the Pattern
relaxation (where every edge was assigned force density of 1), every edge of the FormDiagram now has different force densities, since the magnitude of the forces (or the edges of the ForceDiagram
) are not the same. Relaxing the FormDiagram
after few hundred iterations of Horizontal Equilibrium
will use the current force densities. Go to Modify Form Diagram
> Relax
, then there should be a very slight change and smoothing of the FormDiagram.
After relaxing the FormDiagram
, horizontal equilibrium should be found within a couple of hundred iterations.
6. Vertical equilibrium
Once horizontal equilibrium has been found, run Vertical Equilibrium with a target height of 7.5 to obtain the result below.
7. Modify Diagram
In order to convert some of the vertices on the interior holes to new anchors, go to Modify Thrust Diagram
> Vertices Attributes
, then select the vertices shown below and set the attribute is_anchor
to True
.
By using Move Supports
in Modify Thrust Diagram
, supports of the ThrustDiagram
can be moved along the z axis. One by one, select the new anchors and move it to the level of the form diagram (z=0).
Once the new anchors have been moved down, run Vertical Equilibrium
again with target height of 7.5, and you should see a new ThrustDiagram
that resembles the Armadillo Vault.
Result
Last updated