Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

The information below is mainly intended for those who are interested in working with DynaShape's source code.
If you want to use DynaShape in Dynamo directly, visit the DynaShape Thread on Dynamo forum for how-to-install and other information.

How to build, package and install

Step 1: Clone source

Clone the source from GitHub and open in Visual Studio

Step 2: Deal with missing references

After open the source in Visual Studio, You will notice that many of the referenced dll files seem to be missing. However, the NuGet package manager will automatically restore these files the first time you build the codes. So you don't have to worry about them. The only exception is MeshToolkit. To get this file you need to first install the MeshToolkit package using the Dynamo Package Manager, you can then find the MeshToolkit.dll typically at %AppData%\Dynamo\Dynamo Core\2.x\packages\MeshToolkit\bin

Step 3: Build and package

Build the solution and you will get DynaShape.dll (along with DynaShape.xml) in the build output folder.

You can now assemble the DynaShape package folder according to the following structure:

(The files marked with * are included in the visual studio solution, under the "ManifestFiles" folder)

├── pkg.json *
└── bin
    ├── DynaShape.dll
    ├── DynaShape.xml
    └── DynaShape_DynamoCustomization.xml *
└── extra
    └── DynaShape_ViewExtensionDefinition.xml *

Very Important: Notice that there is an underscore character in the "_DynaShape" folder name as shown above. This is to ensure that Dynamo will load the DynaShape package alphabetically AFTER the MeshToolkit package, which is a MUST.

Step 4: Install the package into Dynamo

Once the DynaShape package folder has been assembled, you can "install" the package to Dynamo by to Dynamo-Main-Menu > Settings > Manage Node and Package Paths..., and add a path to the package folder.

Once the package has been installed, you can start playing with these Dynamo sample scripts to see how DynaShape works.

Contact Info


I would like to acknowledge the following people:

  • Ian Keough and the Dynamo development team, for the great visual programming tool.
  • The EPFL Computer Graphics Lab and Geometry Lab, for developing the important theoratical framework, which DynaShape is based on.
  • Daniel Piker, for playing a major role in popularizing physics and constraint-based digital form finding in the design community, mostly via his well-known plugin KangarooPhysics for Grasshopper. The highly positive response that KangarooPhysics receives from the community has inspired me to start DynaShape in hope to make similar computational design tools available to the Dynamo and BIM community.
  • Autodesk (particularly Phil Mueller and Matt Jezyk) for co-organizing and co-sponsoring AEC Hackathon Munich 2017, where DynaShape was born.


Open-source Dynamo plugin for constraint-based form finding, optimization and physics simulation







No releases published


No packages published