Update to GH Graphic Programming Tool

We’ve developed a graphic programming tool for Revit, and decided it was time to update our Grasshopper Graphic Programming tool to work with similar spreadsheet formatting.  The biggest change that we made is to be more forgiving in how the spreadsheet is formatted.  The previous version required the spreadsheet to have certain columns present, markers to specify the start and end of data, and the definition would produce nothing if it came across a blank in the spreadsheet.  The new version requires only a column named Room Name to be present in the spreadsheet and will then start producing masses once data is entered in that column.  If the timer component is active in Grasshopper then the definition will dynamically update as information is entered into the spreadsheet.


Currently the definition is setup to search for columns named:

  • Department
  • Room Name
  • Room Type
  • Room Number
  • Program Area
  • Quantity
  • Length
  • Width
  • Height
  • Color

The column names are not case sensitive but spelling and spaces need to match.  Additional column names can be added by modifying the format program data cluster.  There are default values specified for all of the columns, and these values are used when no data is present.  If Program Area is provided then the square root of the area is used if there are no Length and Width columns.  If Length and Width are provided then these values will be used and the mass tag will show the Target Area (spreadsheet supplied value) versus the Actual area.  There is also now the ability to sort the masses based on column names.

We’re currently using the TTToolbox Addin for Grasshopper to Read the Excel data.  Other spreadsheet importers could be used but the data needs to be formatted into Columns as Paths. Take a look and let us know if you have any suggestions.  Happy Programming!

[download id = “32”]

Note: Make sure that the [Ws] input of the TTToolbox ReadExcel component is set to the appropriate sheet of the Excel file.



  • gador

    this is a great tool!

  • gador

    sorry i did enter before finishing my comment…
    for this definition do i need the latest version of GH and Rhino? I do have installed rhino 4sr8 with TTToolbox and rhino 5 but it´s giving me errors…
    thanks in any case!
    i´m so looking forward to use it

  • gador

    ok!, i installed rhino5 then latest GH with TTToolbox, so when i open then definition doesn’t have any errors but for some reason still doesn’t recognize the excel data sheet, i toggled few times to see if it could work… i added the file path as well to check if that could work but not…
    can anybody help me? thanks in any case and sorry for my stupidity, i’m pretty new with this…

  • Clemente

    Amazing, great work! Thanks for sharing 🙂

  • Mike

    I’m having issues getting the grasshopper file to read from the Excel spreadsheet. I have tried both defining the path and leaving the prompt blank, but still I get run time errors. I’m using Excel 2007 and Rhino 5 64-bit with all the required plug-ins (TTToolbox) and updates for Grasshopper. Any suggestions?

  • Gordon

    What versions of rhino, grasshopper and excel are you using? I cant seem to get grasshopper to link to the open excel file. Im getting error: 1. Solution exception:Could not load file or assembly ‘TToffice, Version=, Culture=neutral, PublicKeyToken=null’ or one of its dependencies. The system cannot find the file specified.

    Any ideas?

    • scrawford


      Do you have the TTToolbox add-on installed because that seems to be the issue with you error?

  • scrawford

    Not sure what the issue would be. I’m currently using the most recent version of GH and Rhino5 and am having no problems. I’ve seen cases on other machine where having the excel file open first made a difference. Another thing would be to bring up the radial menu in GH (hit the spacebar) and then click on the black triangle to recalculate the definition. The only other thing I can think of is that a cell might be active for editing in Excel which will prevent the definition from updating or calculating for the first time. Let us know if any of this helps.

  • scrawford

    I think we might’ve found the problem that some of you are experiencing. Make sure that the [Ws] input of the TTToolbox ReadExcel component is set to the appropriate sheet. Hope this helps.

  • bea.franko@googlemail.com

    testing your definition an error apears.
    it seems a component in the “columnFormattedData” cluster and then in “getColumn” dont work correct. in my case its the “EVAL” component.
    the sorting doesnt work an the number of rooms is wrong.
    could you help me please?
    thanks bea

  • Deny

    Fantastic! But when I opened both your grasshopper and the excel files, the ReadXL appears red, and it is said that there is an error:1. Solution exception: do not load the file oe the program “TToffice, Version=, Culture=neutral, PublicKeyToken=null” or one of its related options. the system would not find the files. Would you help me to solve this problem? Thank you Scrawford!

  • scrawford

    Bea, I’ve updated the definition file to correct the error that you were seeing. A few things were changed with the last update to Grasshopper but everything seems to be working now. Let me know if you still have problems with the definition.

  • Mia Kim

    some how I cannot download ‘Download 2013 Grasshopper Graphic Programming Definition, 112.21 kB’
    this file. Is it just me or is it working properly?

    Thank you!

  • Jonny Cosh

    For those ones having the excel.interop assembly runtime error, I also had it and this is what I did:
    Installed these components in MS Office —> http://es.tinypic.com/r/2m5xv7m/8
    Once you install those, you get the assembly written down in you “web.config” file.
    Close any open excel, gh and rhino windows, and run the whole thing again. It should work.

    Notes: You don’t need to reinstall the whole office suit, just add/change installation.
    I have Win7 x64, Rhino5 x64, and GH 1.0 (0.9.0072). TT Toolbox installed fine, following the instructions provided. And finally I had to upgrade one or two componentes of the definition since they were labeled as “old” by GH 1.0. Easy stuff. Everything running great now..

    Hope this helps someone.