algorithmic modeling for Rhino
A new update to the Excel-Grasshopper Suite is available for download at:
Version 0-05 has introduced two major changes in addition to a few general cleanups of the interface and internal workflow.
The first major update is a "LIVE" component now allows for updates in excel to be registered in grasshopper in real time without the need for a timer component in grasshopper.
The second major update is the output of excel formatting back intro grasshopper via the "read XL" components, meaning formatting data, colors, text size, etc. can now be brought into the grasshopper workspace and edited in excel.
Additional corrections include
- correction with a few errors in the A and B outputs of the stream to XL components.
- use of the "screenupdating" boolean inside of excel as a replacement for the creation of a new worksheet to speed up incremental changes.
LIVE component and inputs
The component is based on the technique established by Damian Alomar (Liquid Tectonics). Essentially what the component does is bottle up the grasshopper/ excel/ rhino interaction in to one simple boolean switch. By automating the creation of the macro inside of excel through VBA it removes the need to manually place the macro in excel each time. The component works as follows. It produces a hidden point via rhinoscript inside of rhino and passes the point's GUID into a macro which is automatically placed into an open session of excel in the ThisWorkbook macro slot. If the "activate" boolean input is set to true then the GUID will be passed though the "A" output. Whenever a changed is made in excel, the macro will run and first disable rhino's redraw then unhide the point, then the "setpt" command will run in rhino and move the point to (0,0,0) and then hide the point and re enable redraw in rhino. If the "A" output of the Live component is plugged into a grasshopper "Geometry" component, this movement will trigger an update to the "Geometry" components reference. If this "Geometry" component is then plugged into a "_LIVE" input of the custom "Read XL" components, then movement of the point will trigger grasshopper to regenerate any nodes connected downstream from the "Geometry" component.
This method is designed to minimize interference with the grasshopper workflow and try to make the gymnastics required to make all 3 platforms register changes as seamless as possible. Since the primary components an excel macro and a rhino point are not directly related to either grasshopper or the sheet, the component can always be switched to false then back to true to reactivate the link without altering either the grasshopper structure of the excel sheets contents.
However, because this method hides many of its actions, it does come with a few "user beware" points.
-MACROS MUST BE ENABLED in the current Excel workbook for the component to work.
instructions on enabling macros can be found at:
- This component clears an overwrites all Text contained in the top most excel sheet's associated "ThisWorkbook" Macro Microsoft Excel Object.
- The A output of the "LIVE" component, must be plugged into a grasshopper "Geometry" component before being plugged into the "_LIVE" input of the custom "Read XL" components to work.
-The macro uses the "enableRedraw" rhino script command to increase the speed of the workflow, if the command is broken before completion, there is the possibility for the enable redraw to be disable screen updates
-The macro creates a hidden point in rhino. Each time the user switches the "activate" boolean of the live component to true, a new point is generated. To delete these points, simply type "show" in the command line editor of rhino and delete the points, they will be at the world origin (0,0,0)