Overview of the RV2 workflow and the user interface
The first tutorial session provides an overview of the RV2 workflow, the user interface and a step-by-step tutorial of a simple example, highlighting and describing the main features of RV2. This tutorial is intended to cover the main steps of the RV2 workflow with mostly default options and settings. Detailed options and parameters will be addressed more in depth in later tutorials.
What is covered in this tutorial session:
Organization and structure of the RV2 workflow; sequence of procedures and solvers
Overview of the RV2 user interface: the menu and the toolbar
A step-by-step tutorial of a simple example, highlighting the main features of RV2
The relationship between: the compression equilibrium shape, the thrust network or the "thrust diagram" (G); its planar projection (primal grid Γ, or the "form diagram"); and the reciprocal diagram (dual grid Γ*, or the "force diagram" ).
The workflow of RV2 is based on the theoretical framework of TNA, which can be broken down into 7 main steps.
A Pattern
describes the topology of the FormDiagram
. A Pattern
is a collection of vertices interconnected by lines or "edges". RV2 provides several methods for generating a Pattern
and various mechanisms to modify and refine its geometry.
In this step, additional information is added to the Pattern
, such as identification of the support vertices and refinement of the geometry of the unsupported boundaries.
Once the support vertices have been defined and the boudaries have been properly modified, the FormDiagram
can be created from the Pattern
.
Once the FormDiagram
has been successfully created, the ForceDiagram
can be created. In its initial state, the ForceDiagram
is the topological dual of the FormDiagram
; the two diagrams are not yet reciprocal.
In order for the FormDiagram
and the ForceDiagram
to be reciprocal, the edges of one diagram needs to be perpendicular to the corresponding edge in the other diagram. Horizontal equilibrium solver iteratively repositions the vertices of the FormDiagram
and/or ForceDiagram
until the perpendicularity criteria (within desired angle tolerance) is met.
Once the FormDiagram
and ForceDiagram
are reciprocal (in other words, in horizontal equilibrium), the geometry of the ThrustDiagram
can be computed. The ThrustDiagram
is equivalent to the FormDiagram
with the updated z coordinates of its vertices (therefore updated self-weight at each vertex).
Given a desired target height of the eventual ThrustDiagram
, vertical equilibrium solver iteratively re-scales the ThrustDiagram
in the z-axis, until the highest vertex of the ThrustDigram
lies at the desired target height.
Once the vertical equilibrium has been computed, the geometry of the ThrustDiagram can then be used to develop materialisation and fabrication strategies.
There are three ways to access the functions and features of RV2:
the Rhino command line (all funcionalities and features available)
UI: the RV2 dropdown menu (all funcionalities and features available)
UI: the RV2 toolbar (most funcionalities and features available)
Any of the three methods can be used to use RV2, and th interface of choice is simply up to the user's preference. For this workshop, the dropdown menu and the toolbar will primarily be used.
Simply start typing RV2_...
in the Rhino command line, and you should see a dropdown list of all the available RV2 commands.
The RV2 menu is organized in the sequential order (0, 1a, 1b... 6, from top to bottom) of the steps of the RV2 workflow. The RV2 menu includes all available functions and features of RV2.
The RV2 toolbar is organized in the sequential order (0, 1a, 1b... 6, from left to right) of the steps of the RV2 workflow. The RV2 toolbar includes most of the available functions and features of RV2. It is the "condensed" kit of parts for the entire RV2 workflow, and offers the user a quick access through the command line, to all the key features of RV2.
Skeleton is a new powerful feature of RV2 that enables fast and interactive generation of complex patterns. This example presents how to use the From Skeleton
feature to generate the topology of pattern.
Skeleton features in RV2 are part of the compas_skeleton package.
First, initialise the RV2 engine.
From Skeleton
takes a set of conencted lines as the input (not polylines). In Rhino, draw a network of connected lines, something like what is shown in the image below.
In the RhinoVAULT 2 drop down menu, select “Create Pattern”, then “From Skeleton.” Select the network of lines.
There are three main parameters of the skeleton that will define the overall shape of the pattern. For the first parameter, the user will need to interactively define how wide the pattern is going to be at the leaf vertices. Using the mouse, simply click at the location that is suitable for the size and shape of the skeleton.
For the second parameter, the user will need to interactively define how wide the pattern is going to be at the interior vertices.
For the third and the last parameter, the user will need to interactively define the inclination of the edges at the leaf vertices.
Once the three main parameters have been defined, the user can explore various other skeleton features, which can facilitate in refining the skeleton further. In this example, we will use just the Subdivide function, which automatically subdivides and smoothes the pattern. Subdivide function can be applied repeatedly. Merge function un-subdivides the pattern.
In this example, Subdivide function was applied twice.
Once the pattern has been successfully created, the boundary conditions need to be defined.
In the RhinoVAULT 2 drop down menu, select “Define Boundary Conditions”, then “Identify Supports.”
By using the vertex selection mode ByContinuousEdges, select the edges at the leaf vertices, which we will define as the supports of the vault (shown in red).
In certain applications, additional refinement and tweaking of the opening geometries (and relaxation) can improve the speed of the equilibrium algorithms later on in the workflow. However, Update Openings is not applied in this example.
Once the boundary conditions have been defined, the Pattern can now be converted into a FormDiagram. ThrustDiagram is also automatically generated (shown in magenta).
In the RhinoVAULT 2 drop down menu, select “Create FormDiagram.”
Once the FormDiagram has been created, the ForceDiagram can now be created.
In the RhinoVAULT 2 drop down menu, select “Create ForceDiagram.”
Once the FormDiagram and ForceDiagram have been created, the horizontal equilibrium algorithm perpendicular-ises either or both diagrams, which converts them from dual to reciprocal diagrams.
In the RhinoVAULT 2 drop down menu, select “Horizontal Equilibrium.”
With the FormDiagram and ForceDiagram now reciprocal, the coordinates of the ThrustDiagram can be iteratively computed based on a desired z-max (target height) value.
In the RhinoVAULT 2 drop down menu, select “Vertical Equilibrium.”
This first tutorial highlights and describes the main features of RV2. This tutorial is intended to be a “quick start” guide of the main steps and procedures of the RV2 workflow. Specific parameters and optional features will not be addressed in detail. Further information about each of the procedures, methods and various optional parameters involved in each of the steps will be presented and discussed later in the week.
This first step initiates the RV2 engine, imports all the relevant packages and activates compas_cloud
server. The startup window also provides various links to useful information, such as the online documentation, tutorials, tutorials and terms of use. By clicking “YES,” you acknowledge that you have read and understood the Terms and Conditions, and the Data Donation Agreement.
A Pattern
is a collection of lines that define the topology of the form diagram. In this step, the user can create a Pattern
from:
Rhino lines
Rhino mesh
Rhino NURBS surface (untrimmed)
skeleton
triangulation from boundary curves
quad mesh from boundary curves and point features
In this tutorial, we will use a simple orthogonal surface, which can be created through the Rhino command, “Rectangular plane: corner to corner.” By choosing two corners, create a planar surface that is a square in plan.
In the RhinoVAULT 2 drop down menu, select “Create pattern”, then “From Surface.” Select the the surface in the viewport.
This command will generate a Pattern
from the input surface, using the UV mapping of the surface. The user has the option to enter values for “U” and “V.” For this tutorial, we keep the U and V to their default values of 10.
RV2 provides various mechanisms for modifying the geometry of the pattern, such as moving vertices, changing attributes of vertices and edges, smooth and relax. These features will not be used in this tutorial.
Once a Pattern
object has been generated, the boundary conditions will need to be defined. In RV2, the boundary conditions include: 1) identifying the supports (vertices of the structure where reactions are allowed); 2) defining and updating the openings; and 3) loading parameters and conditions.
In the RhinoVAULT 2 drop down menu, select “Define Boundary Conditions”, then “Identify Supports.”
The command will provide two options, to select or unselect vertices to define them as supports or not. Click 'Select'.
In this tutorial, we use the mode ByContinuousEdges, and select one edge on the left boundary and on edge on the right boundary of the pattern. Once the two edges are selected, press Enter, then all the vertices along that boundary from corner to corner, will be automatically selected (supports are shown in red).
The second step of defining boundary conditions involves updating the geometry of the openings. In this tutorial, the two boundaries at the top and the bottom are the openings (the edges are on the boundary of the pattern but have no support vertices along them).
Because openings have no supports (i.e. reaction or external forces), they cannot be straight; openings need to curve inward towards the center of the pattern, so that horizontal equilibrium can be resolved.
In the RhinoVAULT 2 drop down menu, select “Define Boundary Conditions”, then “Update Openings.”
If there are straight openings found in the pattern, an automatic sag of 5% of the span of the opening will be imposed. Per opening, the user has the option to enter a desired amount of sag, as a percentage of the span of the opening.
In this tutorial, sag of 10% is applied to opening 1, and sag of 20% is applied to opening 0.
Once the boundary conditions have been defined, the Pattern
can now be converted into a FormDiagram
.
In the RhinoVAULT 2 drop down menu, select “Create FormDiagram.”
If the creation of FormDiagram
is successful, it will be displayed with green vertices and edges. The ThrustDiagram
is also automatically created (displayed in light green), the geometry of which is equivalent to the FormDiagram
at this initial, vertically un-equilibrated state.
Once the FormDiagram
has been created, the ForceDiagram
can now be created.
In the RhinoVAULT 2 drop down menu, select “Create ForceDiagram.”
The ForceDiagram
will be automatically drawn to the right (+x) of the FormDiagram
. The initial ForceDiagram
is the topological dual of the FormDiagram
. The two diagrams are not yet reciprocal, meaning that the corresponding edges in the diagrams are not perpendicular to the other.
When the diagrams are not yet reciprocal (in other words, not perpendicular-ised or “equilibrated”), the edges with angle deviations above the defined angle tolerance will be displayed. The dots displaying the angle deviations are visual cues for the user, indicating that horizontal equilibrium has not yet been resolved.
Once the FormDiagram
and ForceDiagram
have been created, the horizontal equilibrium algorithm perpendicular-ises either or both diagrams, which converts them from dual to reciprocal diagrams.
In the RhinoVAULT 2 drop down menu, select “Horizontal Equilibrium.”
Under “Alpha” option, the user will be able to select a value that determine which of the two diagrams will have more weight during the perpendicular-isation process. Default is “form100,” which only allows the ForceDiagram to update in its geometry. User can also enter the number of iterations. Default number of iterations is 100.
If horizontal equilibrium has been found, meaning that all the corresponding edges now have angle deviations that are below the defined angle tolerance, the two diagrams should no longer have any dots displaying the angle deviation values, as shown below.
With the FormDiagram
and ForceDiagram
now reciprocal, the coordinates of the ThrustDiagram
can be iteratively computed based on a desired z-max (target height) value.
In the RhinoVAULT 2 drop down menu, select “Vertical Equilibrium.”
The user can manually enter a desired value for the target height of the vault, and the number of iterations for the algorithm. Default number of iterations is 100.
If the vertical equilibrium is successfully computed and found, the new ThrustDiagram
will be displayed, now with updated z coordinates.
Under “Settings,” various global parameters and visualisations options can be modified.
There are several features that facilitate analysis and enhance visualisation.
In Settings > RV2 > show, checking "Forces" draws the edges of the ForceDiagram
with a color gradient from blue, green to red, based on its the length (the horizontal force in the corresponding edge of the ThrustDiagram
). The corresponding edges in the FormDiagram
are also displayed with the same color, which makes the two diagrams much more legible and discernible (blue means smaller horizontal force, red means greater horizontal force).
With “Display Pipes,” the edges of the ThrustDiagram
can be visualised with pipes, the radii of which are proportional to the internal forces.
During the RV2 workflow, there may have been unintended modifications to the geometry of the diagrams, such as accidentally moving the vertices. In such cases, running the RV2redraw
command will simply redraw the three diagrams withouth executing any command.
When a work session has ended, and the user wishes to start a new file/design, RV2clear_all
command will delete all existing diagrams in the work session.
During any stage of the RV2 workflow, the three diagrams can be saved as .rv2 files. These files can be opened in the future, and the user can resume working with existing diagrams and resuming work where the user left off during the last session.