Skip to content

Latest commit

 

History

History

ConnectorGrasshopper

Connector Grasshopper

Twitter Follow Community forum users website docs

Introduction

This repo holds Speckle's Grasshopper Connector and it is currently released as ⚠ BETA ⚠, please use at your own risk!

The connector is structured in 1 c# project:

  • ConnectorGrasshopper: contains the grasshopper component nodes and parameters.

Documentation

Comprehensive developer and user documentation can be found in our:

Developing & Debugging

We encourage everyone interested to debug / hack / contribute / give feedback to this project.

Requirements

  • Rhino 6 or above (we're currently testing with 6.28)
  • 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.

Dependencies

All dependencies exist either on this repo (such as Core, Objects, etc...) or are installed via NuGet.

Worth mentioning is the use of our own asyncronous grasshopper component, which you can find here:

We also make use of the following dotnet tools in this project:

These are declared on the manifest file .config/dotnet-tools.json. To install them in your computer just run the following command on your terminal:

dotnet tools restore

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:

  • the Solution builds fine in your IDE

  • you IDE is set to start the correct version of Rhino on Debug

    Screenshot 2020-10-29 at 11 32 51
  • your Post-Build event is set up correctly to rename the project .dll to .gha.

    Screenshot 2020-10-29 at 11 32 45

The first time you run Rhino after having built the project, you need to add the bin\ folder in the GrasshopperConnector project to the Library Folders in the Grasshopper Developer Settings. To do that, follow these steps.

  • Execute the command GrasshopperDeveloperSettings in Rhino.

    Screenshot 2020-10-29 at 11 03 15
  • Click on the Add folder button.

    Screenshot 2020-10-29 at 11 03 29
  • Click on the ... button on the new empty line that appeared below.

    Screenshot 2020-10-29 at 11 03 41
  • Select the bin\ folder in your project and click ok.

    Screenshot 2020-10-29 at 11 02 43
  • In order to hit breakpoints in your code, it's important to deactivate the option Memory load assemblies using COFF byte arrays.

    Screenshot 2020-10-29 at 11 04 06

And voila', once you start Grasshopper, the Speckle 2 tab should now appear along any other Grasshopper plugins you may have installed.

Screenshot 2020-10-29 at 11 08 03

If Grasshopper was already running, you may need to restart Rhino for the Speckle plugin to load.

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.