Dynamo is a visual programming tool that aims to be accessible to both non-programmers and programmers alike. It gives users the ability to visually script behavior, define custom pieces of logic, and script using various textual programming languages.
Get Dynamo
Looking to learn or download Dynamo? Check out dynamobim.org!
Develop
Create a Node Library for Dynamo
If you're interested in developing a Node library for Dynamo, the easiest place to start is by browsing the DynamoSamples.
These samples use the Dynamo NuGet packages which can be installed using the NuGet package manager in Visual Studio.
Documentation of the Dynamo API via Fuget.org with a searchable index of public API calls for core functionality in the dynamo nuget packages. WIP.
note: link may change in the near future.
The API Changes document explains changes made to the Dynamo API with every version.
You can learn more about developing libraries for Dynamo on the Dynamo wiki or the Developer page.
Build Dynamo from Source
You will need the following to build Dynamo master
branch:
- Microsoft Visual Studio 2017
- Microsoft .NET Framework 4.7.
- GitHub for Windows
- Microsoft DirectX (install from %GitHub%\Dynamo\tools\install\Extra\DirectX\DXSETUP.exe)
If you are working on legacy branches, you need to install legacy .Net Framework archives here.
Directions for building Dynamo on other platforms (e.g. Linux or OS X) can be found here.
Find more about how to build Dynamo at our wiki.
Contribute
Dynamo is an open-source project and would be nothing without its community. You can make suggestions or track and submit bugs via Github issues. You can submit your own code to the Dynamo project via a Github pull request.
Releases
See the Release Notes.
Instrumentation
Dynamo contains an instrumentation system that anonymously reports usage data to the Dynamo team. This data will be used to enhance the usability of the product. Aggregated summaries of the data will be shared back with the Dynamo community.
An example of the data communicated is:
"DateTime: 2013-08-22 19:17:21, AppIdent: Dynamo, Tag: Heartbeat-Uptime-s, Data: MTMxMjQxLjY3MzAyMDg=, Priority: Info, SessionID: 3fd39f21-1c3f-4cf3-8cdd-f46ca5dde636, UserID: 2ac95f29-a912-49a8-8fb5-e2d287683d94"
The Data is Base64 encoded. For example, the data field above ('MTMxMjQxLjY3MzAyMDg=') decodes to: '131241.6730208' This represents the number of seconds that the instance of Dynamo has been running.
The UserID is randomly generated when the application is first run. The SessionID is randomly generated each time Dynamo is opened.
License
Dynamo is licensed under the Apache License. Dynamo also uses a number of third party libraries, some with different licenses. You can find more information here.