speckle-sharp/ConnectorGrasshopper
Alan Rynne e2a593acb2
fix(ci): Bump to net8.0 and drop unused net7.0 target for grasshopper (#3659)
* fix(ci): install net7.0 explicitly on CI

* test: Bump everything to net8 or drop

* test: Global.json points to net8 with `latestFeature`. This prevents using net9 accidentally

* fix: Typo in target framework

* fix: TargetFramework instead of plural

* fix: Use net8:0 image to build on mac

* Added deprecation warning to comments API

* reverted inputs change

* Removed inputs

---------

Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>
2024-11-27 17:59:34 +01:00
..
ConnectorGrasshopper6
ConnectorGrasshopper7
ConnectorGrasshopper8 fix(ci): Bump to net8.0 and drop unused net7.0 target for grasshopper (#3659) 2024-11-27 17:59:34 +01:00
ConnectorGrasshopperShared
ConnectorGrasshopperUtils fix(ci): Bump to net8.0 and drop unused net7.0 target for grasshopper (#3659) 2024-11-27 17:59:34 +01:00
ExampleFiles
ConnectorGrasshopper.sln
README.md

README.md

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:

📚 Speckle Docs website

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.