Grasshopper reference



Welcome to Human for Grasshopper!

Because humans are animals too!

Any similarity to my own name is, of course, a pure coincidence.

What does it do?

There are two sets of components with different functions:


Extends Grasshopper’s ability to create and reference geometry including lights, blocks, and text objects. Also enables access to information about the active Rhino document, pertaining to materials, layers, linetypes, and other settings.

Includes the following components:

(Those in bold are new components with this release.)

  • Object Creation
    • Bake Geometry with Attributes
    • Create Hatches
    • Create Justified 3d Text
    • Create Lights
    • Define Block
    • Place Blocks
    • Create Object Attributes
  • Display
    • Custom Display with Variable Lineweights
    • Custom Display with Bitmap Textures
    • Render Text to Screen
    • Render Mesh to Screen
    • Render Curve to Screen
    • Render Point to Screen
    • Screen-Oriented Text
    • Screen-Oriented Mesh
  • Document Information
    • Font Table
    • Material Table
    • Layer Table
    • Hatch Pattern Table
    • Linetype Table
  • Document Modifications
    • Create/Modify Layers
    • Create/Modify Materials
  • Miscellaneous
    • Document Units
    • Directory Contents
    • Delete Objects on Layer
    • Dynamic Item Selector
  • ​Reference
    • Dynamic Geometry Pipeline
    • Explode Hatches
    • Explode Blocks
    • Explode Blocks Recursively
    • Get Object Attributes
    • Light Properties
    • Sort Objects by Type
    • Text Object Info
    • Get Objects by Selection
    • Get Objects by Layer
  • Texture Mapping
    • Planar Mapping
    • Box Mapping
    • Spherical Mapping
    • Surface Mapping
    • Cylindrical Mapping
    • Custom Texture Mapping


This add-on includes a set of components to aid in the advanced manipulation of data tree structures.

Includes the following components:

  • Assign Paths
  • Graft by Data
  • Match Paths (this is pretty much the same as GH’s native “Unflatten” – but it came first so I’m leaving it in 😀 )
  • Path Description

See the images and reference files for a detailed explanation of the function of these components.

I’d also like to acknowledge the creators of Horster Reference, the first Grasshopper add-on to expose advanced reference functionality. These components definitely build on the work they have done, although they take a slightly different approach.


horsterReference tools make it easy to reference objects by type, layer and other attributes from Rhino to Grasshopper.

for now it consists of five components:

  • Reference by layer – gets the Guids of objects that are on specified layer.
  • Reference by type – gets the Guids of object of specified type.
  • Reference by attributes – allows the user to filter the objects in Rhino document depending on their name, type, layer and color
  • Read text objects – references all dots and annotation from Rhino document into Grasshopper. Returns the origin points and the strings.
  • *NEW* Read attributes – gets the name, layer, color, material and type from the objects ID.

horster tools were developed as part of BAD.Research program. this is the first release of the tool: i’ll be greatful for any feedback and suggestions.

  • in Grasshopper, choose File > Special Folders > Components folder. save the gha file there.
  • right-click the file > Properties > make sure there is no “blocked” text
  • restart Rhino and Grasshopper
  • *NEW* if you are downloading version 0.2 and you have previous version (it was called referenceEasy.gha) please remove it from your Components folder before installing – I messed something with Guid/Name relation.

i recommend starting with horsterReference example files.

‘Grasshopper’ as a term for a neophyte

What is the origin of using the word “grasshopper” as a term for a neophyte or trainee? The most reliable reference I have is Urban Dictionary, who claims that it is from a 1970’s television series called Kung Fu.

I would also be curious to know if this is a term which appears only in American English, or in other countries as well.

2 Answers 2

Kung Fu is indeed the source of this expression. Kung Fu made extensive use of flashbacks to the childhood of the protagonist, Caine, as he learned martial arts from his teacher Master Po, who called his young student Grasshopper as a term of affection. It is mostly used humorously, as a lighthearted comparison of the relationship between the speaker and their less experienced listener with that of wise Master Po and his inexperienced student.

The younger generation might be more likely to use the neologism padawan, which was used similarly in the Star Wars prequels as a name used by Jedi masters for their own young students.

Your Kung Fu reference is spot on.

Here’s a quote from Wikipedia concerning the sobriquet Grasshopper.

One of his first instructors was the blind master named Po. Po considered Caine his favorite pupil and behaved more like an elderly grandfather. Caine was given the nickname “Grasshopper” by Master Po. The reference was from an exchange where the still ignorant young Caine asked the old blind master how he could function without seeing. Po asked Caine to close his eyes and describe what he could hear. Caine explained that he could hear the water flowing in a nearby fountain and birds in a nearby cage. Po then asked if Caine could hear his own heartbeat or the grasshopper at his feet (Caine hadn’t noticed the insect until that moment). Incredulous, Caine asked Po, “Old man – how is it that you hear these things?” Po’s reply was, “Young man, how is it that you do not?” From that point on, Po affectionately called Caine “Grasshopper”.

I suppose that calling an apprentice might be found in any country that ran the Kung Fu series.

Grasshopper reference

Groundhog is a Grasshopper plugin, a set of reference models, and wiki exploring the applications of computational design in landscape architecture. Groundhog is currently in beta. The plugin and associated site will be updated with more features and information over the course of 2018.

Please visit for documentation and examples of how to use the plugin and for resources on computational approaches to landscape architectural design in general.

Documentation, Demos, and Reference Definitions

See the provided documentation and demo, example, and reference files at

Support, Bug Reports, and Feature Requests

Feedback and pull requests welcome; see file.

See the file located in the plugin folder.

To develop the plugin you will need a copy of Rhinoceros installed, and some knowledge working with C# code and the Rhinoceros/Grasshopper APIs.

Editing and compiling that code is best done in Visual Studio 2017. The community editions for Windows or macOS should both work. Upon first build it should fetch the required RhinoCommon, Grasshopper, and third-party references from NuGet (an internet connection is required).

You will need to add the build folder to your Grasshopper Folders once you have compiled the project. To do so use the GrasshopperDeveloperSettings command in Rhinoceros.

See the file located in the site folder.

This project is licensed under the GPL v3 License – see the LICENSE file for details.

Reference, CIA Grasshopper framework malware?

Will Symantec, Norton offer Protection from the New CIA Grasshopper framework malware?

Norton Security Suite

Re: Reference, CIA Grasshopper framework malware?

Re: Reference, CIA Grasshopper framework malware?

It sounds like this is a tool used by the CIA to target computers of individuals they are tracking. It sounds like the CIA programmers have tweaked malware so it will not be detected by AV programs. So given that information, it is unlikely that any AV companies have a block for it.

As long as you are not a target of the CIA, you have nothing to worry about.

Re: Reference, CIA Grasshopper framework malware?

Re: Reference, CIA Grasshopper framework malware?

Ahh. But can AV companies go against the CIA and NSA.

Do you really think that if they are after you, you can really hide.

Re: Reference, CIA Grasshopper framework malware?

Thanks for the reply

My concern is only that when the knowledge reaches the public domain it becomes a problem.

I receive the Homeland Security software update weekly. By the time its published it’s time to

patch software ASAP. That list is huge sometimes.

Re: Reference, CIA Grasshopper framework malware?

oh No, I am not saying that- but since they framework is out (publicly available) Symantec and other AV vendors would be able to review the information from Wikileaks and action appropriately. Symantec already made a good start with the information provided by wikileaks by mapping some of the attacks to NSA 🙂

They have also created signatures based on the information leaked so far (info on the same article) so my assumption is that they will continue evaluating the wikileaks info and action as appropriately

Search results


Rhino and Grasshopper > Maximilian February 27, 2019 18:41

Konstru uses two IDs in Grasshopper to identify elements:

Grasshopper ID: This is the GH components ID (and iteration) representing the actual component (eg. Create Beam) which created you Konstru element. This ID is always being set by Konstru and it helps us to identify your Geometry if it hasn’t been referenced from Rhino. Now this ID depends on the iteration of your component. If the order of the input geometry list changes, Konstru might have issues identifying your elements. And this is why there is another ID.

Rhino ID: If you reference your geometry from Rhino directly, Konstru uses the Rhino ID to identify your elements. If a Rhino ID is set, we don’t care about the GH ID anymore because its more reliable and refers to the actual geometry.

Set Rhino ID yourself: Now what if you create your geometry in GH (so you don’t have a reference) and you also won’t be able to keep your geometry in the same order when using lists? No worries, we’ve got you covered: There is a Set Rhino ID component allowing you to set the Rhino ID of your Konstru element. This way you can specify the elements Rhino ID yourself. Just keep in mind, IDs must be unique.

This image explains what we are talking about:
Red: Component >Purple: Geometry Input, if referenced geometry: equals Rhino ID.


Origin of grasshopper

Middle English grashoppere, extended with -er suffix (see -er) from greshoppe from Old English gærshoppe from gærs (see grass) + base of hoppian (see hop)

MLA Style

“grasshopper.” YourDictionary, n.d. Web. 08 July 2019. .

APA Style

grasshopper. (n.d.). Retrieved July 08th, 2019, from


  1. Any of numerous orthopteran insects, chiefly of the suborder Caelifera, characteristically having long, powerful hind legs adapted for jumping.
  2. A light, usually unarmed airplane used for liaison and scouting.
  3. A cocktail consisting of crème de menthe, crème de cacao, and cream.


MLA Style

“grasshopper.” YourDictionary, n.d. Web. 08 July 2019. .

APA Style

grasshopper. (n.d.). Retrieved July 08th, 2019, from

  1. (zoology) A herbivorousinsect of the order Orthoptera noted for its ability to jump long distances.
  2. A cocktail made with crème de menthe and optionally with creme de cacao.
  3. (figuratively) a young student in initial stages of training who has been chosen on account of their obvious talent
  4. In ordinary square or upright pianos of London make, the escapement lever or jack, so made that it can be taken out and replaced with the key.

Transitioning from the Grasshopper to the Grasshopper2

Frequently Asked Questions About Upgrading from the Grasshopper to the Grasshopper2

Is the Grasshopper being discontinued?

No, there are no plans to discontinue Grasshopper FireWire (GRAS-xx) models at this time. The new GigE Vision GS2-GE models are intended to give customers an alternative to the GRAS-xx to address issues such as cable length, as well as provide next-generation functionality such as opto-isolated general purpose I/O.

What other new hardware do I need to use the Grasshopper GS2-GE?

  • Cable—Category 5, 5e or 6 cables up to 100 meters in length can be used (a significant improvement in distance over the FireWire standard). A 5-meter Category 5e cable can be purchased directly from Point Grey (Part No. ACC-01-2100)
  • Interface Card—The camera will require a Gigabit Ethernet network interface card (NIC) with support for “jumbo packets” to run at full 1 Gbit/s transfer rates. We strongly recommend customers use PCI Express NICs with Intel Pro 1000 chipsets. This card can be purchased directly from Point Grey (Part No. ACC-01-1100). GigE network interface cards are also widely available at consumer electronics stores, or supported on board existing hardware.
  • Power Supply—Power must be provided through the HR25 8-pin GPIO interface. The required input voltage is 12-24 V DC. A compatible 12 V wall-mount power supply and wiring harness can be purchased directly from Point Grey (Part No. ACC-01-9006).

A tripod adapter is included with the Grasshopper2 at no extra charge.

Can I run the Grasshopper2 GS2-GE with my existing FlyCapture-based application?

FlyCapture version 2.1 or later is required to control the GS2-GE and acquire images. Earlier versions do not support the GigE Vision-specific functionality that the camera implements.

How easy will it be to migrate my FireWire-based application for Grasshopper to the Grasshopper2?

The Grasshopper is an IIDC-1394 (FireWire) camera, while the Grasshopper2 is a GigE Vision camera. However, the IIDC-based control and status registers in the camera firmware, which are accessed by Point Grey’s FlyCapture API, remain mostly the same between the Grasshopper and Grasshopper2. As a result, upgrading an application from the Grasshopper to the Grasshopper2 should be fairly straightforward. Among the factors to consider are differences between versions 1.31 and 1.32 of the IIDC-1394 standard, supported pixel formats and modes (Grasshopper2 supports Format_7 only), and network management requirements for GigE Vision cameras. These differences, and others, are outlined in the following sections of this application note. Additionally, the FlyCapture SDK includes a GigEGrabEx sample program to show developers the basics of getting started in grabbing images with a GigE camera.

Can I use a GenICam-compliant application with the Grasshopper2?

Yes. The camera is loaded with a GenICam-compliant XML device description file. For a list of supported features or to access the file, consult the Grasshopper2 Technical Reference.

How does performance of the GigE network compare to that of the FireWire bus?

Data throughput on the IIDC-1394b bus is 800 Mb/s, while on the GigE network it is 1000 Mb/s. In practice, there is little measurable difference in performance, as approximately 15% of the GigE bandwidth is reserved for communications control data. Performance differences may be more noticeable in terms of load on the host CPU. GigE Vision applications may consume more resources because the CPU must process both data packet handling and image processing tasks. The CPU in FireWire systems handles only image processing tasks because data packets are delivered directly to main memory using direct memory access (DMA). To reduce GigE packet load on the CPU, Point Grey provides an Image Filter Driver, which is installed and enabled by default as part of downloading and installing the FlyCapture SDK. This driver works by isolating GigE Vision Streaming Protocol (GVSP) packets, and is recommended for improved image streaming performance on Windows systems. (On Linux systems, GigE Vision cameras communicate directly with native Ubuntu drivers.)

How does bandwidth management differ between GigE and FireWire in multiple-camera configurations?

The FireWire bus provides dedicated bandwidth and guaranteed timing for data packets, which guarantees packet delivery, particularly on systems with multiple cameras on the bus. In contrast, the User Datagram Protocol (UDP) used by the GigE Vision standard provides no guaranteed transmission or fixed timing mechanism. Bandwidth must be managed by adjusting packet size and packet delay, based on desired resolution and frame rate. These parameters are configurable using Point Grey’s FlyCapture API or the FlyCap demo program. Additional information about GigE bandwidth management is available in the Grasshopper2 Technical Reference.

How do I enumerate the Grasshopper2 camera on the GigE network?

Point Grey’s FlyCapture SDK includes an easy-to-use graphical interface tool for configuring the IP address of the camera and interface card. The Point Grey GigE Configurator provides IP configuration options based on the DHCP protocol, a persistent IP, or a link-local address (LLA). The IP address can also be configured programmatically using the FlyCapture SDK.

Does the Grasshopper2 GS2-GE support automatic inter-camera synchronization?

Not at this time. However, like all Point Grey cameras, the Grasshopper2 provides a GPIO connector and trigger functionality, which allows the start of exposure to be synchronized between multiple cameras using an external electrical signal.

General Considerations

Other Reference Documentation

Other useful sources of information regarding specific features of the Applicable Product(s) include:

  • Grasshopper Getting Started Manual
  • Grasshopper2 Getting Started Manual
  • Grasshopper and Grasshopper2 Technical Reference Manuals

Testing Tools

To configure and test the information presented in this TAN:

  1. Connect the camera’s GPIO pins to an oscilloscope or external trigger source. By connecting the appropriate GPIO pins to an external trigger source or oscilloscope, you can observe the differences in general purpose input/output capability of the Applicable Product(s). Consult your camera’s Technical Reference or Getting Started manual for:
    1. GPIO connector pin layouts; and
    2. GPIO electrical characteristics
  1. Download the FlyCapture SDK. The SDK includes numerous example programs that demonstrate various camera features. Specific examples that relate to this TAN include CustomImageEx, AsyncTriggerExand GigEGrabEx.
  1. Access the camera’s register space. The easiest way to try this is using the FlyCap demo software included with the FlyCapture SDK. For register definitions and individual bit descriptions, please refer to the Point Grey Digital Camera Register Reference or your camera’s Technical Reference manual.

Detailed Comparison Between Grasshopper and Grasshopper2

The Grasshopper and Grasshopper2 share many of the same form factor and general mechanical properties.




Data transfer and camera control connectors

Two standard 9-pin IEEE-1394b connectors for data transfer, camera control and powering the camera

One RJ-45 Ethernet jack for data transfer and camera control (power must be provided via the GPIO)

Frame grabber requirements

IEEE-1394b PCI, PCIe or ExpressCard

Gigabit Ethernet network interface

Hirose HR25 8 pin connector

IR cut filter properties

The infrared cut-off filter used with color versions of the cameras is the same and has the same transmittance properties.

CCD sensor placement on PCB

The chip and lens holder mounting holes are centered relative to the four corner mounting holes.

Industry standard 44mm x 29mm x 58mm (excluding lens holder, 1394/GigE and GPIO connector)

Black zinc (casted) with black aluminum top and Point Grey logo

Approximately 85 g, depending on sensor (excluding optics)

Tripod mounting bracket

Secured by four (4) M2x2mm screws
Meets ISO and ASA standards
Included free of charge with every camera.

Three (3) M3x2.5mm holes on the bottom face
Four (4) M2x2mm holes on the bottom face (for mounting bracket)
Two (2) M2 holes on the top face

Removable glass / IR filter system

BW models: protective dust glass between sensor and optics
COL models: IR filter between sensor and optics
Glass / IR filter screwed into place to allow easy removal

Includes cable, 1394 interface card, software CD and Getting Started Manual.

Not available.
NIC, cable and power supply available for purchase separately.
Software and Getting Started Manual available for download.

GPIO Properties




Bi-directional input/output
Default direction: input
Default function: trigger
Drive strength: 10 mA at 30 V

Opto-isolated input
(+3.3 V to +30 V)
Direction: input
Default function: trigger in
Input delay time: 4 μs

Bi-directional input/output
Default direction: output
Drive strength: 10 mA at 30 V

Opto-isolated open collector output
(+3.3V to +30V)
Direction: output
Default function: strobe
Drive strength: 25 mA at 30 V

Bi-directional input/output
Default direction: output
Drive strength: 10 mA at 30 V

Bi-directional input/output
Default direction: output
Drive strength: 25 mA at 30 V

Bi-directional input/output
Default direction: input
Drive strength: 10 mA at 30 V

Bi-directional input/output
Default direction: input
Drive strength: 25 mA at 30 V

Ground pin for all pins

Ground pin for bi-directional IO, Vext, +3.3 V

Ground pin for all pins

Ground pin for opto-isolated IO pins

Power camera externally

Power external circuitry up to a total of 150 mA.

Other Hardware and Electronics




CCD imaging sensors

640×480 Kodak KAI-0340
648×488 Sony ICX414
1384×1032 Sony ICX267
1384×1036 Sony ICX285
1624×1224 Sony ICX274
2448×2048 Sony ICX625

1624×1224 Sony ICX274
2448×2048 Sony ICX625

Data transfer and camera control interface

2X 9-pin IEEE-1394b (800Mb/s)
Connector flush with case
Secure jack screw connector

1X RJ-45 Ethernet connector
(1000 Mb/s)
Connector flush with case
Secure jack screw connector

No Comments

Leave a Reply

Your e-mail will not be published. All fields are required.