AR0026-speckle

From TOI-Pedia

Introduction Speckle

Speckle is ideal for communicating Rhino and Grasshopper data between the different design partners, including the one working on Revit. It allows the user to stream Rhino and Grasshopper data to a central server where the design partners can download them. Because the data is streamed, the data is constantly updated on the server. The Speckle plugin works in Rhino, Grasshopper and Revit (through Dynamo), where it has additional functionality. This consists of adding a variety of data to an object, which can be read by the receiver of the object.

Speckle1.jpg

Speckle Installation

You can install speckle on your system by downloading the file from below link.

https://github.com/speckleworks/SpeckleInstaller/releases/tag/1.8.15

Run ‘speckle.exe’ and select full installation. It will install Speckle server for Rhino, Grasshopper and Dynamo. Followed by the installation you will need to make an account for the Speckle server. The instructions for creating account are shown below.

Speckle in Rhino

In Rhino the use of Speckle is limited to the transfer of geometry data to the Speckle server, while in grasshopper you can send additional data. If in a design team some designers are working on the structure, others on the cladding and others on the whole design, the data will also be distributed between the partners. Speckle will allow you to send and receive data to and from your design partners. For using Speckle you need an account.


Making an account

Speckle account1 .jpg

In the right menu, you will find beside the layers and materials the Speckle tab. If you don't have yet an account it will ask you to make one. This account will give you access to the server and allows you to communicate with your design partners. For the URL use this address: https://hestia.speckle.works/api/v1






Speckle accountlogin2 .jpg

With the e-mail address you can now log into the server and start sending and receiving data.

Sending data in Rhino

Speckleinlog4 .jpg
Speckleinlog5 .jpg

With the account made it will be possible to send and receive data in Rhino. In this case a set of columns are made and will be send to the server. The following steps are needed:

  • Fill in the account name
  • Define the name of the stream, so it can easily be recognized by the person who will download this stream.
  • Select the objects you want to stream to the server


If you want to edit the stream by adding or deleting data then use the arrow in the menu to open the option of changing the content of the stream. You will have to update the stream after changing the content.

Speckleinlog7 .jpg

Receiving data in Rhino

Speckleinlog9 .jpg
Speckleinlog10 .jpg

It is possible to open a specific stream of a sender or the whole stream of the sender. It is also possible to use multiple receivers from different senders or specific streams from a same sender.

The geometry will be displayed in Rhino. However it won't be editable. Any update from the sender will trigger a response with the question if you want to update the stream.

To edit the geometry you need to bake it. Keep in mind that the link with the stream will be severed and updates won't take place anymore.

Speckle in Grasshopper

Specklegrass1 .jpg

The options of speckle in Grasshopper are more extensive. Besides the option of sending and receiving of grasshopper data, there are options of linking non formal data to a formal object. This can be very useful in communicating certain non formal properties of the object which might be,for example , related to costs, material used, embedded energy etc.

Data like this is especially useful when working in design teams where the various disciplines need to exchange data which is useful for the the various disciplines. This option is related to BIM. BIM stands for Building Information Modelling and is a method of efficiently handeling and organizing design data from various disciplines in a common design space.





Sending data from Grasshopper

Specklegrass2 .jpg

To send data to the Speckle server you need an account. When you click the icon of Send, a menu opens asking for an account or to make a new account. This works similar to the Rhino option for making an account as explained in the text above this segment.










Specklegrass3a .jpg

The component has several inputs. These can be extended to more then 3. Each input will be read in the receiving component. Give the stream a relevant name so to make the selection of the streams more easy. The generated ID number is essential for the receiving party to fill in their receiving component. That makes sure the receiving component receives the correct stream.








Specklegrass4 .jpg

The ID can be copied to the clipboard in the settings of the component.





Receiving data from Grasshopper


Specklegrass5 .jpg
Specklegrass6 .jpg

Receiving data in grasshopper is similar to receiving data in Rhino. The following steps will have to be taken:


  • Select the correct account in the menu which opens when the receiver component is added to the grasshopper work field.
  • Copy the ID number from the sender to the receiver.



The receiver will now mirror the input of the sender.

Managing data streams in Grasshopper


Specklegrass7 .jpg


  • A list of available accounts will be produced with the Account component. A project can have multiple accounts running.
  • A further refinement is the option of producing a list of streams related to that account.



User Data Utility


The User Data Utility options allows you to couple a wide range and amount of data to an object. This functionality is very useful in a BIM environment.




Connecting object with data

Specklegrass8 .jpg

There are several options to build this data and extract it. It can be a simple list or a composition of lists in a tree structure.

The most straight forward option is to use:

  • Create Custom User Data - and add the information which you want to couple to the object
  • Use the Set User Data to couple the data to the object.
  • Send the object and data





Extracting data from object

Specklegrass9 .jpg

The most straight forward option is to use:

  • Use the Get User Data - this will extract the data from the object
  • Use the Expand User Data to read the data attached to the object.





Extracting data of the object


Specklegrass10 .jpg

Any description of the geometry can be extracted from the object. This is information about the geometry of the object.


To access the data:

  • Use the Expand Object component to extract the data of the geometry.








Specklegrass13 .jpg

If you want to extract only the texture coordinates of a mesh then you can use the Get Mesh Texture Coordinates. This will generate a set of coordinates based on an U.V.W Object coordinate system.

Serializing an object


Specklegrass11 .jpg

Serializer converts the object in to a string which is suitable for data storage and communication. It also will make a Speckle object of the Rhino geometry. The string data could be for example be imported into Excel.








Specklegrass12 .jpg

The Deserializer can convert the Speckle geometry back into Rhino geometry













Speckle in Dynamo

Speckle-Dynamo.jpg

Speckle in Dynamo works like the one in grasshopper. It is also containing the same components to send and receive the objects. The option to add Custom User Data is also available in Dynamo. After the installation, you would be able to see the icons on the left of Dynamo.

Speckle Sender
Speckle-Sender.jpeg



Speckle Receiver
Speckle-Reciever.jpeg



On clicking the components, you can send the geometry data by the same method as mentioned in the grasshopper section. The more information on how to use Speckle for Dynamo is compiled in the below link –

https://speckle.systems/docs/clients/dynamo/basics

Interoperability between Revit and Rhino

Speckle-GH.jpeg
Test123.jpeg

Speckle also allows you to transfer the geometrical data from Rhino interface to Revit interface and vice versa. This can be done through Grasshopper and Dynamo interface. The below link shows detailed documentation of how this can be achieved –

https://github.com/speckleworks/SpeckleDynamo


One example is shown in the following pictures where data of floors and core is transferred from Grasshopper to Dynamo.

Personal tools
Actions
Navigation
Tools