From TOI-Pedia
Related Tutorials

Extension:DynamicPageList (DPL), version 2.02 : Warning: No results.

Level: Beginner.

What is Speckle?

Speckle - Interoperability between different software

Speckle is a platform that enables the exchange of data between different team members and different software in the base of objects and not of files. This means that there is no need to exchange and import large files containing all the details of one project each time, but only the relevant data can be sent and directly be placed in alignment to the overall model.

In this regard, Speckle can easily serve the needs of a collaborative workflow inside a large team. Not only the exchange of data becomes faster and easily accessible to all the team members, but also the compatibility between the different software is facilitated. This derives from the fact that Speckle can be linked with various software, related to design (such as Rhino, Grasshopper, Revit or Dynamo), structural (such as TEKLA structures), 3D graphics (such as Blender or Unreal Engine) and software for geographic & infrastructure data (such as QGIS & Bentley).

Main Principles

Speckle structure - Main principles

Data exchange inside Speckle is based on the use of some main features:

Streams It is the main structure in Speckle. It contains a selection of data (objects or whole model) which are shared among the team members. Each stream is assigned a unique ID upon its creation in order to be easily tracked down and can be accompanied with a small description in order to understand quickly what it contains.

Branches They are substructures inside a stream and, thus, they serve to analyze the main group of geometries into smaller element lists. Each stream can contain several branches and each branch can also be further analyzed into sub-branches.

In this regard, the file organization and the data exchange are facilitated since the specific parts of the model which have undergone changes each time can easily be detected.

Commits They store all the versions of data exchange that have been held through each stream or branch, serving, thus, as a repository of all the phases in the 3D model. In this regard, it saves in terms of storage space since it prevents from keeping in the computer a large track of files for each project alteration.

Important to note: Commits are automatically created upon sending data through a branch, sub-branch or a stream.

How to get started

In order to access Speckle, each team member needs to create an account on the Speckle platform. You can register through: https://speckle.xyz/.

Speckle Web App interface

You can use the same link every time you want to be directed to the Speckle web app. From there, you can have an overview of your streams branches and respective commits, and view the data that each one contains in a 3D viewer. Moreover, you can get access to the full list of tutorials, documentation and the community forum where you can place your questions.

Download the Speckle Connectors

In order to be able to send & receive data from each software, you should download its relevant Speckle connector(plugin). It is recommended to, firstly, download the Speckle Desktop Manager where you can connect your account and have an overview of all the connectors available and links to directly download and install them.

You can download the installation file for Speckle Desktop manager in:


(Speckle Releases » Recommended installation » Speckle Manager)

Important to note: In the same link, you can also directly download the different connectors for each software (Manual installation). However, in the case of Grasshopper, Dynamo, Blender, PowerBI & QGIS connectors, it is necessary that the Speckle Desktop Manager is installed in your device so that you are logged in to your Speckle account.

You can find more detailed information about installing/uninstalling, using the Speckle Desktop Manager & downloading the different connectors in:


How to organize

Collaborative workflow structure

Collaborative workflow platforms are particularly useful in the case of large projects when different disciplines are involved, such as the projects held through the MEGA course. Τhe way of organizing the structure of this workflow is a crucial factor that will define the ease or difficulty in the data exchange.

Regarding Speckle, it is recommended to use one general stream per team so that every time the model is stored as a whole in one place. Inside this stream, you can create different branches and sub branches in order to analyze the general collection of data into smaller element lists. In this regard, the changes in the model would be easily tracked down in the respective commits.

Important to note:

1. In general, it is useful to structure the streams & branches in a way that reflects the structuring of the layers (Rhino) or worksets (Revit) in the main model file. This will allow for easier browsing, sending/receiving of data and updating the model.

2. There is no limit in the number of branches and sub branches that you can create. The overall structure should follow the needs of each different project, e.g. the branches can be related to the different parts of the model, such as the volumes and the floors or they can be referring to each different discipline, such as architecture or structural.

3. Make sure that you include a small description every time you send data, since it will enable you to easily identify the commit which you want to refer to every time. You can also quickly check the data that is included in each commit using the 3d viewer of the Speckle Web app.

4. In Speckle, the data is shared in the cloud. This means that there is not one common central model where everybody is working, but, on the contrary, every team member is responsible to preserve a local copy of the model in his/her computer and update the changes on it each time. Thus, it is highly important that all the team members have the same axis origin as a reference in their files, since any divergence can cause errors in the alignment while sending & receiving the objects.


You can find a more detailed explanation on how to use Speckle in the following tutorials:

Personal tools