Speckle for Dynamo
⚠️ IMPORTANT ⚠️
Speckle for Dynamo is out!
- Custom UserData
- Bugs and feature requests
- Building Speckle for Dynamo
- About Speckle
Speckle for Dynamo is currently made up by 7 components:
- I/O nodes:
- The Sender lets you send data to Speckle receivers.
- The Receiver lets you receive data from Speckle senders.
- The Streams lets you select a Stream ID from all the available streams on your account.
- UserData nodes:
- The UserData.Set lets you set a dictionary as custom properties to any geometry element.
- The UserData.Get returns a dictionary with previously custom properties set in a geometry, if any.
Speckle Accounts lets you manage your Speckle accounts and set the default account for new nodes, it can be accessed from: View > Speckle Accounts
UserData is a way of adding extra information/properties to any Dynamo Geometry, making use of their internal
Tag property. These custom properties are set using Dynamo dictionaries.
The SpeckleConverter accepts nested dictionaries to be sent, as well as any geometry that can be currently serialized.
Bugs and feature requests
Please submit a new issue!
The Receiver will often show a warning regarding
Dictionary.ByKeysValues operation failed. We are aware of that and are working with the Dynamo team to fix it. Nothing to worry about for the moment!
Building Speckle for Dynamo
- Visual Studio 2017
- .NET Framework 2.0+ installed (it might be missing on Windows 8/10)
The SpeckleDynamo repo is currently made up by the following projects:
- SpeckleCore - submodule
- SpeckleDynamo - main project with receiver and sender component
- SpeckleDynamoConverter - the converter logic, compiles into a dll that is loaded by SpeckleCore using reflection see Converter.cs
- SpeckleDynamoFunctions - custom Dynamo nodes implementing the NodeModels interface must be calling methods in a separate dll in order to return something (other than basic types). This project contains methods called by the Receiver
AstFactory.BuildFunctionCall. It also hosts ZeroTouch nodes for Set and Get UserData.
- SpecklePopup - login/registration popup, currently a clone of the one in the Rhino repo, to be added as a submodule
- SpeckleDynamoExtension - a Dynamo extension to add a
Speckleitem to the Dynamo menu bar, the sole scope of this is to let users set and change their default Speckle account, in the future more advanced functionalities could be added via the extension
- Clone/fork the repo
- Restore all Nuget package missing on the solution.
- If SpeckleCore hasn't been cloned, running
git submodule update --remoteon the command line should clone the submodule along.
- Set SpeckleDynamo as start project and rebuild all
- Post build events have already been set up to copy all required files into the Dynamo Core 2.0 folder.
- A start action has been set to launch Dynamo Sandbox 2.0.
- These can be changed in the .csproj file, but please don't set them from Visual Studio.
SpeckleDynamo references all other projects, debugging it you can debug the other projects as well.
Speckle reimagines the design process from the Internet up: an open source (MIT) initiative for developing an extensible Design & AEC data communication protocol and platform. Contributions are welcome - we can't build this alone!