If you are looking for examples on how to develop for Dynamo, take a look at these resources below:
These samples are Visual Studio templates that you can use to start your own project:
- ZeroTouchEssentials: Template for basic ZeroTouch nodes.
- HelloDynamo: Templates for basic NodeModel nodes and view customization.
- Basic NodeModel template: HelloNodeModel.cs
- Basic NodeModel view customization template: HelloGui.cs, HelloGuiNodeView.cs, Slider.xaml, Slider.xaml.cs
- DynamoSamples: Templates for ZeroTouch, custom UI, tests, and view extensions.
- UI samples
- Create a basic, custom UI node: CustomNodeModel.cs
- Create a drop-down menu: DropDown.cs
- Tests
- System tests: HelloDynamoSystemTests.cs
- ZeroTouch tests: HelloDynamoZeroTouchTests.cs
- ZeroTouch examples:
- Example ZeroTouch nodes, including one that implements
IGraphicItem
to affect geometry rendering: BasicExample.cs - Example ZeroTouch nodes for coloring geometry using
IRenderPackage
: ColorExample.cs
- Example ZeroTouch nodes, including one that implements
- View extension examples: An IViewExtension implementation that shows a modeless window when its MenuItem is clicked.
- UI samples
- NodeModelsEssentials: Templates for advanced Dynamo package development using NodeModel.
- Essential samples:
- Geometry samples:
- UI samples:
DynaText: A ZeroTouch library for creating text in Dynamo.
Third party developers have made significant and exciting contributions to the platform, many of which are open source as well. The following projects are exceptional examples of what can be done with Dynamo.
Ladybug is a Python library to load, analyze and modify EneregyPlus Weather files (epw).
https://github.com/ladybug-tools/ladybug
Honeybee is a Python library to create, run and visualize the results of daylight (RADIANCE) and energy analysis (EnergyPlus/OpenStudio).
https://github.com/ladybug-tools/honeybee
Bumblebee a plugin for Excel and Dynamo Interoperability (GPL).
https://github.com/ksobon/Bumblebee
Clockwork is a collection of custom nodes for Revit-related activities as well as other purposes such as list management, mathematical operations, string operations, geometric operations (mainly bounding boxes, meshes, planes, points, surfaces, UVs and vectors) and paneling.