Sending Data from Grasshopper to Excel
This quick tutorial shows how you can link a Grasshopper model with an Excel Sheet.
I have a secret suspicion that the world is a simulation running inside a workbook, in an Excel file somewhere. Imagine what the power at your disposal if you combine Grasshopper - the leading parametric design software for AEC - with the power of Excel. The sky's the limit!
Prerequisites
To follow along with this tutorial, you will need to register with Speckle and install the required connectors 🔌. It takes less than 3 minutes!
For a comprehensive overview of these connectors, check our docs 📚!
The Model
For this tutorial, let's pretend we're modelling a façade in Grasshopper. That's something you might find yourself doing quite often! Of course, at one point you'll find yourself needing to produce some sort of report/bill of materials/schedule/quantity take-off/what-not-bim-level-8 thing of the whole thing.
Which reminds me, here's how the façade looks like:
Sample File
Want to follow along? You can download the sample Grasshopper file from here.
Note: to send data, you will need to paste in a link to a stream you have access to. As well, base geometry is internalised in the definition, so no need for a Rhino file!
Last word of caution: the defintion is a little bit different than the screenshots below, but it serves the point!
Structuring Data
It helps having the data nicely structured from Grasshopper already before pulling it into Excel. Let's assume we're interested right now in several properties:
- the panel's unique id, so we can reference things back and forth
- the number of segments, so we can determine the manufacturing technique
- the centre point of the panel
Of course, you can as many metadata properties to your geometry as you wish.
Sending Data
This is the easy part: just plug in the newly created objects in a sender, add the stream url of choice, and press the Send button!
Leaner Data
If you want to really ignore the geometry, it's probably best to curate the information you need into a new Speckle Object. This will dramatically increase the speed with which you can receive things in Excel too!
Receiving In Excel
Not familiar with the Speckle Connector for Excel? Read our getting started guide right here!
The important part is that in Excel we don't really care about the geometry much. That's why, when prompted to select the fields we want to receive in our workbook, we'll ignore anything we don't care about.
After you click Receive, expand the data view until you reach the actual list of objects (why it's so deeply nested in Grasshopper is a matter of internal debate still at Speckle...). Click the "download" arrow next to it.
Once loading is done, you will be asked to select the fields you actually want to receive inside your Excel workbook. These fields will become the "column headers"!
Once you've selected the fields, click receive - and voila, after a little loading bar, you should have all the info on all the panels in your workbook.
Receiving Updates
Saving the best part of using Speckle for last 😎 When using Speckle, you're basically creating a "live link" between your Grasshopper model and the Excel workbook you've just received the data in.
If we would modify the design in Grasshopper and sent that data to Speckle, you might notice a little pop-up in the Speckle Connector for Excel letting you know that an update is there!
Clicking receive again will keep track of where in your workbook you've actually "baked" the rows, and update them accordingly.
Conclusion
We hope you enjoyed this tutorial and found it useful!
Speckle is an Open Source project and we really ❤️ feedback, so if you have any questions, comments, critiques, or praises please let us know on our community forum.
Subscribe to Speckle News
Stay updated on the amazing tools coming from the talented Speckle community.