algorithmic modeling for Rhino

Bumblebee Release 1.01

What is it?
Bumblebee is a set of user objects which connect Microsoft Excel and Grasshopper.
The current component set allows for not just the transfer of data back and forth between GH and XL but gives the Grasshopper user access to many of excels analytic tools and graphic settings. The concept is to create a series of components which allow for variable levels of engagement with Excel, for simply transferring a large set of data between the programs at high speeds, to creating a highly graphically coordinated charts and data sets.
The components fall under several categories and each component is designed to perform a single type of operation, allowing them to be interchanged as a projects workflow demands, or used in combination with other plugins which access excel. An example of this is the conditional formatting and chart components, which use data already in excel to run their processes, requiring at a minimum that the user just activate them in grasshopper.
The components are built on the Microsoft Excel Interop method and are written primarily in VB nodes, available a series of user objects that can easily be modified and loaded back into the larger user object collection. This is so future updates are easy to integrate, but also so that users can feel free to modify, improve and re-upload any components back to the Bumblebee group.

How do I Install & Use it:

Download: Rhinoceros 5

Download the Latest: Grasshopper 3d

Download: Microsoft Excel 

Download: Bumblebee User Objects

Because Bumblebee is a collection of user objects, it does not have a gha or installer, rather the user files contained in the downloadable zip folder can simply be copied into your local grasshopper user objects folder which can found by going under grasshoppers File > Special Folders > User Objects. (see: )

Once the files have been copied to this location a new Bumblebee tab should appear in the ribbon. Open a new session of Microsoft Excel and you should be able to start using the components.

Why User Objects?

Bumblebee is composed of user objects rather than a gha file for the simple reason that it makes the components easy to open, customize, and save back to the user object set. The hope is that the current release is easy enough to understand that anyone who is interested can open up any component, change its behavior, make it more efficient, create additional functionality, replace it with a better method, etc. and repost the component back to the group.

Why so Many Components?

The current set of components are broken out to try to balance on one side removing overlap of functionality in formatting between different operations, example font formatting, which is used or several components while on the other creating components with identical core functionality but varied amounts of inputs, example chart and chart adv. This allows the use of a smaller more compact component to simply create a chart and reduce canvas clutter, or a more robust component to take a higher degree of control of formatting options. This is also done to open the discussion up about what the preference in later updates would be. Additionally, by breaking the different steps of the process out, such as conditional formatting being a separate component from the data out component.

The idea is not to limit the use of these components to just the bumblebee toolset. If a better component for transferring data is available in another plugin, the conditional formatting component could still be used to graphically manipulate this data so long a certain givens are provided.
This idea extends to the level of engagement with any component’s options as well. The components are designed to function with the minimal amount of inputs required to complete an action. Meaning that the data out component for example will work if only the data and _stream inputs are activated, while all the other inputs, formatting, origin, direction, etc. are blank, as these provide more specificity, but are not required to stream the data. This allows for very simple engagement with the components to get a result with the optional ability to add further detail as desired. Again, the hope in this is that many more custom components, meeting specific tasks can and will be developed to interface with existing data and formatting components.


XL Live component is not yet fully functional but is in alpha development. It is included to outline the basic strategy so please feel free to improve. Best practice currently is to activate once then switch back to false. Alternately the timer component can be used.

This will be updated as soon as a better solution is reached

Future Development Laundry List:

- Revise and replace LIVE component

- Macro transfer component

- Cell expression editor, creating a simple to access component to pass excel native expressions to cells.

- Series Charts, using fastpoint, fastline, etc. to rapidly create charts for large datasets

Credits and special thanks:
Beta testing and advisement via. Woods Bagot: Matthew Stephenson, Peter Vanhage

Introducing the Interop Service: Damian Alomar

Introducing range transfer: Xiaoming

Introducing event listeners: Ben Howes

Conditional Formatting: Rick Rothstein 

General Excel VBA: Chip Pearson





  • Add Photos
  • View All

© 2020   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service