There are currently 2 packages included in the toolkit, each focusing on enabling specific types of workflows:
- SpacePlanning Toolkit
- Massing Toolkit
Space Planning Toolkit
The toolkits are not yet available on the Dynamo Package Manager. You can install them manually by following the instructions under the Alternative installation methods section at the end of this document.
Using the toolkits
This repository has quite a few sample files provided to help you get started with each of the toolkits.
It is highly recommed starting with the samples as they contain detailed notes and instructions on how to use each of the nodes. Feel free to open an issue or submit a PR if you'd like to see further some documentation added here.
There are 11 sample Dynamo graphs included with the SpacePlanningToolkit package, all made to work with Dynamo
You can find the samples in this repository's
samples folder folder, as well as and in the
extra folder of the package you download using the Dynamo Package Manager, typically found here :
The samples shows a simple example of how each node in the toolkit works. Some of the samples will have a Revit version (marked with (RVT)), and some also have a version setup to be used with Refinery (marked with (RefineryVersion)) :
Sample 1 - AllNodes
Index graph showing all available nodes in the GenerativeToolkit packages.
Sample 2 - GenerativeToolkit_Binpacking2D
The sample folder contains 3 different graphs showing different ways to use the Binpacking2D nodes. The binpacking 2D nodes requriers 3 inputs, a list of rectangles to pack, a single Rectangle to pack into and a placement method. There are 3 different placement methods in the package:
- Best Shortest Side Fits - Will pack the rectangle into the free area where it minimizes the length of the areas shortest side.
- Best Longest Side Fits - Will pack the rectangle into the free area where it minimizes the length of the areas longest side.
- Best Area Fits - Will pack the rectangle into the free area where the remaining area after the placement is minimized.
There are 3 different sample workflows in the sample folder:
- GenerativeToolkit_Binpacking2DTest_BAF show the result of packing rectangles with the Best Area Fits placement method, and different ways of sorting the rectangles to pack.
- GenerativeToolkit_Binpacking2DTest_BLSF show the result of packing rectangles with the Best Long Side Fits placement method, and different ways of sorting the rectangles to pack.
- GenerativeToolkit_Binpacking2DTest_BSSF show the result of packing rectangles with the Best Short Side Fits placement method, and different ways of sorting the rectangles to pack.
Sample 3 - GenerativeToolkit_Binpacking3DTest
This sample shows how the Binpacking3D node works. The node requires a Bin as a Cuboid and a list of Items also as Cuboids. The node will take the items and pack as many as possible into the Bin Cuboid. The sample displays the final pack and will also show which items has been packed (green cuboids) and which items hasn't (red cuboids).
Sample 4 - GenerativeToolkit_SurfaceDivisionTest
The SurfaceDivision node will take any Surface and divided it based on U and V parameters.
Sample 5 - GenerativeToolkit_GeometricMedianTest
The GeometricMedian node takes a list of sample point and finds the point that minimizes the distance to all other points. In the sample file 5 different examples are shown.
Sample 6 - GenerativeToolkit_IsovistFromPointTest
The Isovist.FromPoint node takes a boundary polygon, internal polygons and a origin point and calculates the visible area from that point.
Sample 7 - GenerativeToolkit_OpenessTest
The Openess node takes a boundary polygon, obstacle polygons and a Surface and calculates how much of the surface perimeter is enclosed by a obstacle.
The sample folder contains 2 versions of this sample, a Sandbox version and a Revit version.
Sample 8 - GenerativeToolkit_ShortestPath
The Shortest Path node will calculate the path between two points with the minimum distance.
Sample 9 - GenerativeToolkit_ViewsToOutsideTest
Views to Outside will calculate in precentage how much views to outside there is from a origin point. Views to outside is represented by line segments.
The sample folder contains 3 versions of this sample, a Sandbox version, a Revit version and a version set up to be used in Refinery.
Sample 10 - GenerativeToolkit_VisiblePointsTest
Visible Points calculates the amount of visible points from a origin point. The points can represent what ever you want them to be, it could be "how much of this space (represented by points) is visible form this point" or "How many other desks (represented with points) are visible from this point".
The sample folder contains 2 versions of this sample, a Sandbox version and a version set up to be used in Refinery.
Sample 11 - GenerativeToolkit_DistinctColorsTest
The ContrastyColorRange node returns a given amount of colors in a random order which all are visually distinct from each other. The maximum colors that can be created right now is 19.
The GenerativeToolkit is organized in 4 categories, based on their use in a Generative Design process :
Generate: In this category you can find nodes to help generate design options.
Analyse: The designs generated in the previous step can now be measured, or analyzed on how well they achieve goals defined by the designer. This category contains nodes to help with that.
Rank: Based on the results of the analysis, design options can be ordered or ranked. This category has nodes for that.
Explore: In Explore, nodes that helps visualize result are placed.
Alternative installation methods
If you prefer to install one of the more experimental/work-in-progress builds, you can still follow the instructions below.
- Download the latest release from the Releases page
- unzip the downloaded file, we recommend using 7zip
- once unzipped, double-check that all
.dllfiles in the package's
binfolder have been unblocked
- copy the package folder to the location of your Dynamo packages :
%appdata%\Dynamo\Dynamo Core\2\packagesfor Dynamo Sandbox, replacing
2with your version of Dynamo
%appdata%\Dynamo\Dynamo Revit\2\packagesfor Dynamo for Revit, replacing
2with your version of Dynamo
- start Dynamo, the package should now be listed as in the library and in Dynamo's
This project requires the following applications or libraries be installed :
Dynamo : version 2.1 or later
.NET : version 4.7 or later
Please note the project has no dependency to Revit and its APIs, so it will happily run in Dynamo Sandbox or Dynamo Studio.
Contributing & code of conduct
Please read CONTRIBUTING.md for details on how to contribute to this package.
Also note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
This project is licensed under the Apache 2.0 License - see the LICENSE FILE for details.
This project uses the third-party packages listed below, whose licenses are available in the docs folder as per their MIT license requirements.
We do our best comply with all license conditions and restrictions, so please let us know if you have any questions or spot anything out of order.