Skip to content

arup-group/SpeckleRhino

Repository files navigation

alt text

SpeckleRhino

This repository contains various projects for building Speckle Clients for Rhino and Grasshopper.
While SpeckleCore (the .net speckle sdk) is now coming with nuget, SpeckleView (the frontend ui) needs to be included as submodules.

Build status

Download

The latest build is here. Be sure to check out the getting started guide to get up to speed with some basics.

Building Speckle for Rhino

Speckle for Rhino is developed with Visual Studio 2017.

In order to debug/build Speckle for Rhino:

  1. Fork and/or clone this repository.

  2. Navigate in the local folder and run git submodule update --init to bring in the SpeckleView submodule

  3. Navigate to the SpeckleView directory and run npm install from a console. This will install all dependencies for the SpeckleView project.

  4. Run npm run build in the SpeckleView folder to generate the dist.js file.

  5. Run npm run dev to build the UI and start a local server. Test it: in a browser, navigate to http://localhost:9090. You should see the SpeckleView UI.

  6. Open SpeckleRhino.sln from the repository root.

  7. Build the solution, it will:

    • get the right version of nuget references (RhinoCommon, SpeckleCore..)
    • create a ~/SpekleRhino/Debug folder containing the plugin to install
  8. Start debugging either SpeckleRhino or SpeckleGrasshopper

    Rhino Plugin

    1. Drag&Drop ~/SpekleRhino/Debug/SpeckleWinR6.rhp into Rhino canvas.
    2. Test the installation typing command SpeklePanel > Show

    Grasshopper plugin

    1. Open Grasshopper
    2. Drag&Drop ~/SpekleRhino/Debug/SpeckleGrasshopper.gha into Grasshopper canvas.

Creating a Release

Go the 'Releases' page of Github and create a new one. For this repo ensure the version ends with -cx e.g. v1.2.3-cx to ensure that the tags we create do not clash with the main project.

After the Release is created it will kick off the CI / CD process, which will then upload the correct files into the Release.

Common Issues

  1. If during the installation of the rhp file you get a "SpeckleKits" missing folder (see #119). Please manually create it in %localappdata%/SpeckleKits.
  2. By default, Speckle does not come with an object model. To actually be able to convert to and from Rhino when building/debugging, please clone and build the SpeckleCoreGeometry repository and copy all .dlls inside %localappdata%/SpeckleKits

License

MIT