README.md
Connector Dynamo
Introduction
This repo holds Speckle's Dynamo Connector and it is currently released as ⚠ ALPHA ⚠, please use at your own risk!
The connector is structured in 3 c# projects:
- ConnectorDynamo: contains the NodeModel nodes
- ConnectorDynamoExtension: contains a Dynamo extension, currently doesn't do much but it's scaffolded
- ConnectorDynamoFunctions: contains the ZeroTouch nodes and functions invoked by the NodeModel nodes
Documentation
Comprehensive developer and user documentation can be found in our:
📚 Speckle Docs website
Developing & Debugging
We encourage everyone interested to debug / hack /contribute / give feedback to this project.
Requirements
- Dynamo 2.1 or above (we're currently testing with 2.7+)
- A Speckle Server running (more on this below)
- Speckle Manager (more on this below)
Getting Started 🏁
Following instructions on how to get started debugging and contributing to this connector.
Server
In order to test Speckle in all its glory you'll need a server running, you can run a local one by simply following these instructions:
If you're facing any errors make sure Postgress and Redis are up and running.
Accounts
The connector itself doesn't have features to manage your Speckle accounts, this functionality has been delegated to the Speckle Manager desktop app.
You can install an alpha version of it from: https://speckle-releases.ams3.digitaloceanspaces.com/manager/SpeckleManager%20Setup.exe
After installing it, you can use it to add/create an account on the Server.
Debugging
After setting up dependencies, server and accounts you're good to go. Just make sure of the following:
ConnectorDynamo.csproj
is set as start project- the Solution builds fine in your IDE
- you IDE is set to start the correct version of Dynamo or Revit on Debug
The first time you run Dynamo after having built the project, you need to add the dist
folder to the list of Dynamo's Package paths:
- Click on
Settings
>Manage Node and Package Paths...
- Add the
dist
folder in yourrepo folder\ConnectorDynamo\ConnectorDynamo\dist
And voila', the Speckle packages should now show in the library:
Dynamo Sandbox
You don't need to run Revit to debug Dynamo, you can just use the Sandbox version.
How to use
Using this connector is pretty much similar to using the 1.x one, but there are a few key differences. Below a visual guide of the main features.
Accounts
Selection
Use the "Account.Select" node to switch accounts.
Default account
If you only add one account in the Manager, that will also be your default account. If you have multiple accounts, you can switch default account using the Manager.
Some nodes accept an optional "account" input, if not provided the default account will be used.
Streams
Creating a stream 🌊
Can be done with the "Create" node or from the web.
NOTE: the "Create" node is one use only, it disables itself after clicking the button.
Using an existing stream
You can retrieve a previously created stream or streams in 2 ways.
By URL
Using Stream.List
Sending & Receiving 📩
Sending and receiving is pretty straightforward.
- each time you send something, a new "Commit" is created with the data sent
- sending is manual only (need to click on the button)
- receiving is manual by default and can be toggle to automatic
- if passing a stream url containing a commit Id to the receiver, it will be pulling only that commit and no other updates to that stream
- most geometry and data types are supported a part from surfaces and polysurfaces
- an optional "branchName" can be passed on to send to / receive from a specific branch on the stream
- the branch has to exist
- if receiving a specific commit the branch input is ignored
- an optional "message" can be passed to the sender, this is the commit message
Viewing Streams 🕶
The Dynamo UI, doesn't let us copy text (c'mon Dynamo team), so we have made a node to let you open and view streams online.
- if using a stream pointing to a specific commit, the commit page will be opened
Questions and Feedback 💬
Hey, this is an alpha release, I'm sure you'll have plenty of feedback, and we want to hear all about it! Get in touch with us on the forum!
Contributing
Please make sure you read the contribution guidelines for an overview of the best practices we try to follow.
Community
The Speckle Community hangs out on the forum, do join and introduce yourself & feel free to ask us questions!
License
Unless otherwise described, the code in this repository is licensed under the Apache-2.0 License. Please note that some modules, extensions or code herein might be otherwise licensed. This is indicated either in the root of the containing folder under a different license file, or in the respective file's header. If you have any questions, don't hesitate to get in touch with us via email.