Skip to content

Developer documentation

Philip Schulz edited this page Nov 17, 2022 · 14 revisions

Building from source

Dependencies

Rhino / Grasshopper (at least v6)

  • We need the RhinoCommon.dll and Grasshopper.dll

Hive.IO:

Setup (see the dedicated readme):

  • MSBuild (installed with Visual Studio, assumes v2019 Community)
  • NSIS
  • Solar model (the dll and gha are already deposited here in Hive, but the repo is where you could get the newest version)

Source code (hive)

Use setup\build.cmd to build everything and create the installer. It builds:

  • src\Hive.IO
  • creates setup\Setup_Hive.exe

Also, if new Hive.Core components are added, they need to be specified in the build.cmd

Wiki (hive.wiki)

The wiki is part of a separate repo called hive.wiki, as this is not part of the regular hive repo in GitHub.

Youu can either edit wiki pages on Github directly or locally by pushing changes to the hive.wiki repo. For the latter, keep in mind that there is only a master branch (so no pull requests) and you can commit directly there. Refer to the Github Docs for how to setup, organise pages, add/edit pages, etc.

Conduit

The code of the custom fork of Conduit which is used in Hive can be found on this BitBucket repository: https://bitbucket.org/architecture-building-systems/conduit-hive/src/master/

Setup

Clone the conduit-hive repository to the same parent directory as the hive repository, e.g. if your Hive source folder is located at /GitHub/hive, make sure its something like /GitHub/conduit-hive. Otherwise, the relative paths will not line up in the post-build events.

Building new Hive.ProvingGround.Conduit.gha

The post-build events of the Hive conduit project solution are setup to automatically copy the new .gha file to the hive/setup folder and to the Grasshopper/Library/Hive folder (basically installing the new version in Grasshopper) for quicker & easier development.

Main architecture

Where to find what

Visualizer and plots

  • overview of class hierarchy
  • how to add a new plot (hand drawn / OxyPlot)
Clone this wiki locally