## Requirements

- Dynamo Studio or Dynamo Revit, version 1.3 or newer
- MeshToolkit package, which should be installed using the package manager inside Dynamo. You can do this AFTER installing DynaShape, but Dynamo needs to be restarted afterward.

## Install

The simplest way is to use the installer in the link below.

https://rebrand.ly/ds1 (version 0.5.1.1)

If the installer does not work on your computer. You can try the manual set up method. Just go to the link above, then go to the Manual Setup folder to get the package, uncompress it, then copy the entire _DynaShape folder to the Dynamo custom package directory.

*WARNING: Do NOT install DynaShape from the package manager inside Dynamo. That is an early testing version and will not work at all!*

## Examples

These examples may be helpful to get you started: https://rebrand.ly/ds2

## FOR DEVELOPERS

DynaShape is a Dynamo package for constraint-based form finding, optimization and physics simulation. The core algorithm is based on ShapeUp (which is related to Projective Dynamics). This provides an important theoretical foundation by formally describing how different geometric constraints can be defined in a unified and extensible framework, how they can be solved/optimized simultaneously and under what conditions the solution can be guaranteed.

If you are also from the Grasshopper community and familiar with Daniel Pikerâ€™s Kangaroo, you will find many similar concepts, usages, and implementation details being borrowed in DynaShape. Kangaroo1 is the first tool of this kind found in direct-acyclic-graph parametric scripting environment. Kangaroo2 demonstrates how computing the equilibrium of physical forces can be achieved in the same manner as solving geometric constraints, and hence unifies the two seemingly different concepts into one workflow. Similar to Kangaroo2, the constraint-solving algorithm in DynaShape uses an alternative formulation based on vector lists, which is different from ShapeUpâ€™s original mathematical formulation. Practically this makes it much easier for users to implement custom goals and constraints.

The complete source code is available on GitHub

@john_pierson (Twitter @60secondrevit) made a quick video on how to build the package from the source code. Many thanks to him

(Warning: this video is for a much earlier version of DynaShape, so it is a bit out-of-date now and not every step showed will be relevant or correct)