I have recently been asked how StructuralDesigner3D compares with Kangaroo3D, so I thought it would be interesting to share a comparison from three different perspectives:
1. Structural Possibilities
2. Workflow
3. Numerical Analysis
Before going into the comparison, I would like to acknowledge the important contribution of Daniel Piker and Kangaroo3D to the Grasshopper ecosystem.
1. Structural Possibilities
The first important distinction is the scope of the two tools.
StructuralDesigner3D is currently a more specialised tool, focused on structural form-finding. At this stage, it allows the generation of:
• Funicular structures
• Tensile structures
• Pneumatic structures
Kangaroo, in contrast, is a much more comprehensive and general-purpose physics-based tool. Its framework allows users to simulate and combine a much wider range of physical phenomena, constraints and interactions.
This difference in scope is important when interpreting the comparison: the two tools overlap in some structural applications, but they are not equivalent in terms of the range of phenomena they can model.
2. Workflow
The second difference concerns how the user interacts with the tools.
Kangaroo operates within the Grasshopper environment and provides a highly flexible framework in which users can combine different goals, constraints and physical behaviours through visual programming.This approach offers considerable freedom and makes it possible to develop highly customised workflows.
StructuralDesigner3D takes a different approach.The aim is to provide Dynamic Relaxation directly within Rhino, using predefined commands, without requiring the user to construct a Grasshopper definition and offering a more direct workflow for specific structural form-finding. For example, creating a funicular structure in Kangaroo typically involves setting up and connecting 20 to 30 components within Grasshopper, whereas in StructuralDesigner3D the same process starts by simply selecting the FunicularStructure command and following a step-by-step workflow directly in Rhino.
Another difference is the way structural properties are assigned. In StructuralDesigner3D, physical properties can be assigned directly to selected structural elements in the Rhino model. This allows the user to interact with the structural model directly, while avoiding the need to manage equivalent information through Grasshopper data structures.
You just need to select, adjust, and simulate. It’s very simple!
For this structure, StructuralDesigner3D was used through a single command — FunicularStructure. This command provides an interactive editing loop where gravity, elasticity and masses can be adjusted, supports can be redefined or moved, new lines can be added, existing lines removed, and previous operations undone. Once the form-finding process is complete, the resulting structure can also be saved together with its associated metadata in JSON format, preserving the information required to continue or reproduce the workflow.
3. Numerical Analysis
The third part of the comparison concerns the numerical results.
To investigate how closely the two implementations converge towards equivalent geometries, I compared equivalent structures generated using StructuralDesigner3D and Kangaroo3D.
The resulting node positions were compared using three metrics:
• Maximum Deviation
• Mean Absolute Deviation
• Root Mean Square Error (RMSE)
| Test Case | Nodes | Max. Deviation | Mean Abs. Deviation | RMSE |
|---|---|---|---|---|
| Catenary (10 × 10 m) | 10 | 7.92 mm | 2.90 mm | 5.59 mm |
| Funicular Shell (10 × 10 × 10 m) | 100 | 4.22 mm | 0.90 mm | 3.36 mm |
| Tension Structure (10 × 10 × 10 m) | 100 | 0.20 mm | 0.09 mm | 0.103 mm |
| Pneumatic Structure (D = 10 m, H = 1.5 m) | 100 | 48.93 mm | 15.42 mm | 17.85 mm |
Overall, the two implementations produced closely matching equilibrium geometries. Some differences are expected, particularly because the two implementations have their own numerical procedures, rounding and convergence criteria.
The largest maximum deviation occurred in the pneumatic structure, at 48.93 mm. Even in this case, the deviation corresponds to less than 0.5% of the structure’s 10 m diameter.
Final thoughts
Kangaroo and StructuralDesigner3D offer different approaches to Dynamic Relaxation.
Kangaroo provides greater flexibility and a much broader range of physical simulations, while StructuralDesigner3D focuses on a more direct, simple and accessible workflow for structural form-finding within Rhino.
For me, the value of StructuralDesigner3D is not in trying to replace the flexibility of Kangaroo, but in providing an alternative workflow that makes Dynamic Relaxation more accessible to users who want to focus on the structural problem rather than on constructing the computational model.
