Skip to content

Commit

Permalink
GITBOOK-38: splitting up modify functions
Browse files Browse the repository at this point in the history
  • Loading branch information
juney-lee authored and gitbook-bot committed Nov 10, 2024
1 parent 26c4d8d commit 1a8dd4a
Show file tree
Hide file tree
Showing 7 changed files with 51 additions and 41 deletions.
4 changes: 3 additions & 1 deletion gitbook/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@
* [4. Force diagram](manual/equilibrium.md)
* [5. Horizontal equilibrium](manual/horizontal-equilibrium.md)
* [6. Vertical equilibrium](manual/fitting.md)
* [7. Modify diagrams](manual/supports.md)
* [7a. Modify FormDiagram](manual/supports.md)
* [7b. Modify ForceDiagram](manual/supports-1.md)
* [7c. Modify ThrustDiagram](manual/supports-2.md)
* [8. Settings](manual/settings.md)
* [9. Utilities](manual/9.-utilities.md)

Expand Down
4 changes: 0 additions & 4 deletions gitbook/manual/9.-utilities.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
---
hidden: true
---

# 9. Utilities

## Undo
Expand Down
23 changes: 19 additions & 4 deletions gitbook/manual/fitting.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,31 @@
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| <img src="../.gitbook/assets/RV_vertical-eq.svg" alt="" data-size="original"> | <p><strong>Rhino command name</strong></p><p><code>RV_tna_vertical</code></p> | <p><strong>source file</strong></p><p><a href="../../plugin/RV_tna_vertical.py"><code>RV_tna_vertical.py</code></a></p> |

## Target Height
Description.



In RhinoVAULT, the `ThrustDiagram` representing the thrust network, is an instance of the `FormDiagram`, with the only difference being the $$z$$ coordinates. A `ThrustDiagram` is simply an alternate visualisation of the `FormDiagram` with updated $$z$$ coordinates. When a `FormDiagram` is successfully created, the `ThrustDiagram` is automatically created.&#x20;

A `ThrustDiagram` is represented by the mesh datastructure.&#x20;

***

## Algorithm Parameter

### Target Height

Once the Form and Force Diagrams have been created and horizontal equilibrium has been established through parallelisation, the distribution of horizontal forces in the system is fixed. The actual magnitude of the horizontal forces depends on a _scale factor_ and will determine the _target height_ of the final thrust diagram. A higher scale factor results in higher horizontal forces and therefore a shallower three-dimensional shape. Vice versa, a lower scale factor results in lower horizontal thrust and thus a deeper solution.

The meaning of the scale factor and the magnitude of horizontal forces is related to the magnitude of the loads, which in turn are related to the self-weight of the resulting three-dimensional geometry. Rather than asking you to "guess" the scale factor to get the three-dimensional shape you want, RhinoVAULT will determine the scale for you based on the desired height of the final solution. The default value for the target height is 25% of the length of the diagonal of the bounding box of the Form Diagram (essentially of the bounding box of the footprint of your shell). This value tends to produce well-proportioned geometries.

***

## Thrust Diagram
Note on height...






In RhinoVAULT, the `ThrustDiagram` representing the thrust network, is an instance of the `FormDiagram`, with the only difference being the $$z$$ coordinates. A `ThrustDiagram` is simply an alternate visualisation of the `FormDiagram` with updated $$z$$ coordinates. When a `FormDiagram` is successfully created, the `ThrustDiagram` is automatically created.&#x20;

A `ThrustDiagram` is represented by the mesh datastructure.&#x20;
25 changes: 12 additions & 13 deletions gitbook/manual/horizontal-equilibrium.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,7 @@ This function geometrically reconfigures the the edges of the ForceDiagram, such

***

## Deviation Angles





***

## Sub functions
## Algorithm Parameters

### Alpha

Expand All @@ -34,8 +26,6 @@ $$

Note that using `alpha` efficiently requires a bit of practice and experience. Since the Form Diagram defines the intended layout of horizontal forces and RV2 has many tools for designing force layouts that provide a good starting point for form finding explorations, it is usually a good idea to start with `alpha = 100`. However, once you have the horizontal equilibrium under control, playing around with lower `alpha` values can have a significant influence on finding nicely balanced force distributions.

***

### Iterations

Computing horizontal equilibrium is an iterative process. The default number of iterations is `100`. For sensible force layouts, this value should go a long way. However, there are many cases in which more iterations are required. For example, if the Form Diagram has multiple open/unsupported edges, and especially if those edges have a low "sag" value, more iterations will typically be required to reduce all angle deviations between corresponding edges to less than 5 degrees.
Expand All @@ -44,10 +34,19 @@ Computing horizontal equilibrium is quite fast. Therefore, don't hesitate to set

Furthermore, resolving all angle deviations is not an absolute requirement, and is in many cases unnecessary. For example, the angle deviations between very short edges tend to be quite persistent as they are dominated by edges with (much) longer lengths during the calculation process. Since short edges in the Force Diagram also represent (relatively) small horizontal forces, these deviations can often be ignored.

***

### Refreshrate

The iterations of the horizontal equilibrium calculation process is dynamically visualised. The rate at which the diagrams are updated is controlled by the refreshrate. The default value is `10`, which means that the diagrams are updated every 10 iterations.

For large diagrams the dynamic visualisation slows down the calculations a little bit. In these cases, and/or for high numbers of iterations (`> 1000`), it is therefore advisable to set the refreshrate to a higher value. For example, if the number of iterations is `1000`, then a refresh rate of `100` seems more appropriate.



***

## Deviation Angles





10 changes: 10 additions & 0 deletions gitbook/manual/supports-1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# 7b. Modify ForceDiagram

| | | |
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| <img src="../.gitbook/assets/RV_ForceDiagram-modify (1).svg" alt="" data-size="original"> | <p><strong>Rhino command name</strong></p><p><code>RV_force_modify</code></p> | <p><strong>source file</strong></p><p><a href="../../plugin/RV_force_modify.py"><code>RV_force_modify.py</code></a></p> |





6 changes: 6 additions & 0 deletions gitbook/manual/supports-2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# 7c. Modify ThrustDiagram

| | | |
| -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| <img src="../.gitbook/assets/RV_ThrustDiagram-modify.svg" alt="" data-size="original"> | <p><strong>Rhino command name</strong></p><p><code>RV_thrust_modify</code></p> | <p><strong>source file</strong></p><p><a href="../../plugin/RV_thrust_modify.py"><code>RV_thrust_modify.py</code></a></p> |

20 changes: 1 addition & 19 deletions gitbook/manual/supports.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,12 @@
# 7. Modify diagrams

## 7a. Modify FormDiagram
# 7a. Modify FormDiagram

| | | |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| <img src="../.gitbook/assets/RV_FormDiagram-modify (1).svg" alt="" data-size="original"> | <p><strong>Rhino command name</strong></p><p><code>RV_form_modify</code></p> | <p><strong>source file</strong></p><p><a href="../../plugin/RV_form_modify.py"><code>RV_form_modify.py</code></a></p> |



***

## 7b. Modify Forcediagram

| | | |
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| <img src="../.gitbook/assets/RV_ForceDiagram-modify (1).svg" alt="" data-size="original"> | <p><strong>Rhino command name</strong></p><p><code>RV_force_modify</code></p> | <p><strong>source file</strong></p><p><a href="../../plugin/RV_force_modify.py"><code>RV_force_modify.py</code></a></p> |





***

## 7c. Modify ThrustDiagram

| | | |
| -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| <img src="../.gitbook/assets/RV_ThrustDiagram-modify.svg" alt="" data-size="original"> | <p><strong>Rhino command name</strong></p><p><code>RV_thrust_modify</code></p> | <p><strong>source file</strong></p><p><a href="../../plugin/RV_thrust_modify.py"><code>RV_thrust_modify.py</code></a></p> |

0 comments on commit 1a8dd4a

Please sign in to comment.