Posts tagged ‘TTToolbox’

CORE studio has released an updated version of TT Toolbox for Grasshopper containing a new plugin called Colibri.


Colibri is Spanish for hummingbird. Logo by Colibri contributor Olivier Dambron.

Colibri allows Grasshopper users to easily turn their Grasshopper definitions into Design Explorer – compatible design spaces.  Run Colibri in Grasshopper, upload to Google Drive, and voila: your design space in Design Explorer!

Colibri is an open source project that was started at the 2016 AEC Technology Hackathon in New York, which CORE studio hosted late last year.  It was designed and prototyped over the course of 27 hours during the hackathon by a team of dedicated hackers (most of whom work for TT!).  CORE studio forked the project after the hackathon, and we’ve been improving and testing Colibri over the past few weeks in anticipation of this release.

The project’s goal is simple: make it easy to generate Design Explorer-compatible data sets in Grasshopper. This has been possible to do for some time now of course, but it was super painful to set up and was generally quite error-prone.  Users would rely on Ladybug’s ‘Fly’ component or our ‘Brute Force’ component to iterate over some sliders in their grasshopper definition, and use a bunch of data recorders and an Excel Writer to create a data.csv file in the right format.  Images and Spectacles models were up to the user to generate, name, and link into the .csv file properly.  Because Fly and Brute Force hit every step on every slider, users’ sliders often had to be edited to fine tune the size and resolution of the design space.  If all of that sounds like complete nonsense (or if it makes sense but sounds painful), we are with you, and that’s precisely why we built Colibri.  It should be easy to jump into Design Explorer!

The Colibri workflow is divided into two stages, Iteration and  Aggregation.  Colibri provides a component for each stage, the Iterator and the Aggregator.


Colibri Iterator

The Iterator component loops over connected sliders and drives your grasshopper definition, much like Galapagos does when it’s running. Unlike Ladybug’s ‘Fly’ component or our old ‘Brute Force’ component (all of which, more or less, share the same code base by the way – these tools are all based on this post from David Rutten), Colibri’s Iterator component allows users to specify how many steps to take along each slider.  This is subtle, but important: it allows users to keep the size of their design space under control, and to specify granularity selectively along each input vector within the design space – all without editing the actual sliders in Grasshopper.


Colibri Aggregator

While the Iterator is iterating away upstream, the Aggregator component collects all of the data that Design Explorer needs from your Grasshopper definition. It gathers the inputs from the Iterator, the outputs (performance metrics) from your grasshopper definition, and takes care of generating images, naming images and Spectacles files, and writing all of that data into a data.csv file.

Another application for the Aggregator is to record optimization runs with Galapagos or Octopus. By connecting the ‘Colibri Inputs’ component to the same sliders that Galapagos / Octopus is driving, the Aggregator is able to record every iteration during an optimization run.  This workflow allows designers to navigate within the focused design spaces that those algorithms produce using Design Explorer.  Instead of reinstating one iteration at a time in Grasshopper, groups of iterations that fit a set of specific performance criteria (something like ‘show me all iterations that are highly performant and that have a bay spacing greater than X and a floor height smaller than Y’, for example) can easily be identified using Design Explorer.

The YouTube video above demonstrates how to get started with Colibri, and you can download the plugin from Food4Rhino.  Please let us know what you think!  We sincerely hope you’ll enjoy working with Colibri and Design Explorer.

Written by: Benjamin Howes


The Brute Force component, now included in TT Toolbox (release 1.4 and newer), provides an alternative means of running optimization routines in your Grasshopper workflows. Optimization is used loosely here, as this tool is not using an algorithm to find the most optimal combination of sliders, but instead it solves ALL possible combinations of sliders that are connected to the input S. This component and method help to provide a means of looking at design space where you either want to see all possible permutations, or the total possible number of iterations is not so large that it warrants running the study in Galapagos or another optimization algorithm.


Brute Force Grasshopper setup, with Listener component (all TT Toolbox components shown in orange).

We have found this tool to work wonderfully when synced with our Galapagos Listener component (possibly hinting at a name change there). The setup above allows you to run through all of the possible combinations of sliders “u” and “v” while also recording the corresponding numeric fitness value. The Listener component will store these values after the Brute Force component is done solving so that you may then use those values to determine the good, bad and everything in between.


Brute Force Grasshopper setup utilizing the Write to Excel component (all TT Toolbox components shown in orange).

Taking that one step further, you may then write those values to Excel. This gives you a reliable location to save the variable combinations and their fitness values. These values may then be brought back into Grasshopper for sorting based on fitness values enabling you to reconstruct your definition to view not only the single best performing set of input variables, but also letting you reconstruct the top 5, 10, 15 or more.

Being able to investigate a number of strong performers opens the door to seeing a variety of good options, which may have merit outside of what was solved in the fitness function. Here is a short video of this workflow in action solving a façade paneling system for the fewest total number of panels, where all fit within a 5ft x 10ft sheet.

1 Comment

The CORE studio team is pleased to announce the newest release of our Grasshopper plug-in, TT Toolbox.  We’ve been busy improving our existing toolset, and have added some exciting new functionality in this release.  The Toolbox can be downloaded from our Food4Rhino page, and comments, requests, bug reports, etc. can be posted on our Grasshopper group page.

The most significant change is a re-write of the ‘Write To Excel’ components, which can stream Grasshopper data into Microsoft Excel spreadsheets with very low latency.  The video below demonstrates the updated writing functionality, including the ability to apply conditional formatting of the Grasshopper data in Excel.

We’d like to thank the early users of our first TT Toolbox release for their enthusiasm and feedback about the tools.  We were able to incorporate a few ideas that were suggested by these users (the ability to either clear an entire worksheet in excel before writing data, or overwrite only the destination cells – leaving the original sheet formatting intact, for example), as well as a few improvements that were requested in-house (Nick Mundell’s need to open, write, save, close existing excel files – in a loop with an animated slider – led us to developing the options to open, save and close Excel files).

Please keep the great feedback coming!

We want to share another useful set of Grasshopper components with you which we frequently use in-house. They contain the following functions:

  1. Remove Duplicate Points
  2. Remove Duplicate Lines
  3. Get Geometry Names from Rhino Geometry
  4. Retrieve a tree branch
  5. Retrieve a tree item
  6. Sort Points by Direction
  7. Sort Lines by Direction
  8. Data Brancher


  1. In the attached zip file, you will find three directories. To use them, follow the steps below:
    Copy the ‘Libraries_TT_Tools’ directory to your Grasshopper components folder ( C:\Users\<userName>\AppData\Roaming\Grasshopper\Libraries)
  2. Copy the ‘UserObjects_TT_Tools’ directory to your Grasshopper UserObjects folder ( C:\Users\<userName>\AppData\Roaming\Grasshopper\UserObjects)
  3. Open the Rhino file and the Grasshopper file from the ‘SampleFiles_TT_Tools’ to see some examples of how to use these components.

Please email us if you’re interested in trying out the tool.