algorithmic modeling for Rhino



gHowl is a set of components which extend Grasshopper's ability to communicate and exchange information with other applications and physical devices.

Location: In Between
Members: 725
Latest Activity: 7 hours ago

Download the latest set of gHowl components:

gHowl_r50 and example files


Check out the gHowl videos page where you can see how people have been using gHowl.

Our users have connected Rhino and Grasshopper to various protocols, platforms, and softwares including:



Open Office






Google Earth



Pure Data










UDP Components now have the ability to send and receive to a Multicast group.  To send or receive to a Multicast group, make sure you use the IP Range of -

OSC functionality is provided by the Bespoke OSC Library by Paul Varcholik.

Network Source
- Tests the connection of your machine to a network.

UDP Send - Allows the sending of UDP messages over the network.  Also allows the sending of OSC messages to OSC enabled software and hardware devices. (Deleting this component in 0.7.0057 crashes GH / Rhino)

UDP Receive - Allows the sending and receiving of UDP messages.  Also allows the reception of OSC messages and bundles (from Reactivision for example).(Deleting this component in 0.7.0057 crashes GH / Rhino)

OSC Channel - This component allows the storage of a single OSC Channel.  Change the component's nickname to store that address' data.

OSC Dispatch - This component allows the storage of data from multiple OSC addresses.

The spreadsheet components leverage the OpenXML engine.  You must have OpenXMLSDKV2.msi installed in order for these components to work.  These components read and write *.xlsx files.  Supports numerical values and strings.

Spreadsheet Reader - Retrieves spreadsheet data from a file stored on your computer.

Spreadsheet Writer - Allows you to write a spreadsheet file.

These components retrieve xml data from local and web sources (such as RSS feeds).

Pachube - Retrieves data from a Pachube feed.  Must have a valid Pachube API. (Deleting this component after making a connection in 0.7.0057 crashes GH / Rhino)

Pachube Update - Allows you to update a Pachube Feed.  The component has variable inputs to enable streaming to various datastreams.  Must have a valid Pachube API.

XML Parser - This component parses an XML file stored on your computer or on the web.

XML Writer - Writes out XML




These components aid in the mapping and conversion of coordinates from GPS enabled devices to XYZ coordinates.

Format GEO - Takes NMEA formatted GPS coordinates and converts them to Decimal Degrees.

XYZ -> GEO - Maps XYZ coordinates in Rhino/Grasshopper to Longitude, Latitude, and Altitude.

GPS -> GEO - Maps Longitude, Latitude, and Altitude coordinates to XYZ

Elevation Service - This component returns the elevation at the coordinates you supply as inputs.  It queries the Google Elevations API to do this.  There are some limitations on usage, so be warned.



KML Exporter - Exports points, curves, and meshes to a KML File.  Breps should be meshed before exporting.  Brep support will be added soon.  Object attributes such as color, transparency, line width, line color, etc will be added soon.

KML Attributes - Adds Fill Color, Line Color, and Line Width to Exported KML Objects.

Discussion Forum

GDI Error while importing from gHowl???

Dear All,while importing a 2D point array from Processing, I get this message displayed from the gHowl components "a generic error occurred in GDI+" (please see the attached image)Actually the data…Continue

Started by Omar Helmy Apr 6.

Osc receiving data size 5 Replies

Hi Luis, thanks for sharing such great tool. I've got an issue with sending data from processing through osc. Its a huge string that its sopouse to be sent in real time and i'm already been…Continue

Started by Javier Armando Figueroa Escobar. Last reply by Omar Helmy Apr 6.

Latest Version Download Location 4 Replies

I used gHowl for over a year and loved it. I'm on a new computer and need to re-download gHowl for the first time in a while. I was looking for the newest version and want to confirm where it is.On…Continue

Started by Michael Makris. Last reply by Luis Fraguada Mar 8.

.gpx imports through gHowl and Elk 1 Reply

I posted a tutorial on how to position .gpx info in GH through gHowl's Xml Parser and positioning tools.  Enjoy!

Tags: geo-positioning, geo-locating, Elk, gHowl, gpx

Started by Alex Webb. Last reply by Luis Fraguada Feb 13.

Comment Wall


You need to be a member of gHowl to add comments!

Comment by Luis Fraguada on December 19, 2011 at 2:17am

gHowl is designed to not need / use timers.  Each time a timer fires, the solution is recomputed and this can significantly slow things down depending on what you are doing. 

How are you storing the toggle values?  Which OSC components are you using?  If you store the toggle in the OSC channel component, what happens, do you still loose the information?  Does the component return a null value or does it go to 0? 

Comment by Peter Liebsch on December 18, 2011 at 9:20pm


Hi Luis,

Great tool. Thanks for making it accessible!

I just have a question. I run a GH file where I get data from OSC iPad app in via gHowl as well as sensor data from an Arduino via FireFly.

The OSC are just simple horizontal sliders.

The problem I'm facing is that additional toggle items in OSC, which write only 0 or 1, don't get through properly. They do without problems as long as the timer on the FireFly is off. I also can write to the OSC app via gHowl to turn LEDs on or off.

As soon the FireFly timer is back on the toggle get lost in 8 of 10 attempts. The sliders still get through correct.

Any idea if this is because of a timing problem between gHowl and FireFly? I played around with different GH timer settings but that didn’t change much.



Comment by Luis Fraguada on November 22, 2011 at 12:02pm

Hello Jeremy,

I have not tried with such a large file.  I would need to have a file like that in order to debug and come up with a better way to parse the data.



Comment by Jeremy Bamberger on November 19, 2011 at 2:08pm

Hi Luis et al,


I am working with Ben Golder's Python script to read in shapefiles from GIS. I have the entire land use map (by parcel, ~150,000 polygons) of San Francisco and coordinated with the SF Assessor/Recorder's office to getting 10 years worth of property valuations (excel docs, again ~150,000 rows of data).


I've been trying to get gHowl to read in this large excel file. I've been dividing the data in half until GH stops freezing and landed at around 5,000 rows of data. Can gHowl do better?


I can probably script a method to parse the existing excel files then merge them back in GH, but that would be less than ideal (10 years x 40 separate files = 400 excel docs!).


Any ideas? Is there a more efficient manner to perhaps grab a csv file?




Jeremy Bamberger

Comment by Luis Fraguada on November 10, 2011 at 5:27pm

Hello Igor,

Not clear on what the issue is.  What is it you are expecting to get?



Comment by Igor Mitric on November 7, 2011 at 6:59pm

Hi Luis,

Thanks for everything! I really do not want to be annoying.

I followed your instructions:

 I divide PictureFrame as Surface into number of points. I pluged this points into XZY – GEO Node, also one reference point to in order to get elevations data. Then I decomposed points and made them again with new Z lengths. Build a IntCrv and loft it. Works fine.

Now, I culled the lowest point in a list (with sort list) . Put a XY Plane trough, duplicate it with Series and specific number 2.0 and intersect this planes with lofted surface, in order to get isohypsen. Works also fine.  

I am just not sure, that with this way , intersection,  I get really thing!?

City is Graz (AU)

Thanks a lot one more time !


Comment by Luis Fraguada on November 6, 2011 at 5:18am

What I do is to bring in a screenshot from Google Earth through the picture frame command in Rhino, I scale it according to the scale indicated (to 1:1) then I pick a point in XYZ which I can easily look up in google earth, such as a sharp corner.  I bring in the xyz to gh, and I write in a panel its corresponding {lon,lat,0}.  You can then use the XYZ>GEO component to convert any points you draw or generate in Rhino / GH from XYZ coordinates to {lon,lat,alt} coordinates.  You can now feed these into the elevation component.

Comment by Igor Mitric on November 5, 2011 at 8:33pm

Or to draw a GPS route with

and use that for coordinates and terrains line...

I will try this one..

Still if you have some cleaner way, I am open :)


Comment by Igor Mitric on November 5, 2011 at 8:27pm

Thanks for that!

How do you get a list of a points (coordinates), do you manually draw them on google earth map with placemaker, than read a coordinate and then assign them in a GH?

I hope not :)

I manage on this way, following your explanation somewhere in forum, to send a model in to google earth.


Comment by Luis Fraguada on November 4, 2011 at 9:51am

Hello Igor,

The Elevation Service needs you to provide a coordinate like this:


*notice the brackets, it is formatted like a GH point.

Longitude and latitude are in decimal degrees.  The component returns the elevation at that point.  Let me know if you need any more information.


Members (725)



Search Grasshopper


  • Add Photos
  • View All

© 2014   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service