Grasshopper 3d
Encyclopedia
Grasshopper™ is a visual programming language developed by David Rutten at Robert McNeel & Associates. Grasshopper runs within the Rhinoceros 3D CAD application. Grasshopper is visual programming language. Programs are created by dragging components onto a canvas. The outputs to these components are then connected to the inputs of subsequent components. Grasshopper is used mainly to build generative algorithms. Many of Grasshoppers components create 3D geometry.A sample of grasshopper generated forms Programs may also contain other types of algorithms including numeric, textual,A list of functions to link to datastreams containing numbers and text information audio-visual and haptic applications.

"Popular among students and professionals, McNeel Associate’s Rhino modelling tool is endemic in the architectural design world. The new Grasshopper environment provides an intuitive way to explore designs without having to learn to script."

The first version of Grasshopper, called Explicit History at the time, was originally publicly released in September of 2007. It is currently in beta phase development and is offered as a free download without expiration date, although a licensed copy or un-expired trial of Rhinoceros 4.0 or higher is required to run the software.

Node based editor

The main interface for algorithm design in Grasshopper is the node-based editor. Data is passed from component to component via connecting wires which always connect an output grip with an input grip. Data can either be defined locally as a constant, or it can be imported from the Rhino document or a file on the computer. Data is always stored in parameters, which can either be free-floating or attached to a component as input and outputs objects.
In the image above we see three free-floating parameters that are hooked up to a subtraction component. The two yellow boxes on the left both define a set of numeric constants. The top-most panel contains four integers (6, 7, 8 and 12) while the bottom-most panel contains only a single value. These floating parameters supply the subtraction component with input data, which results in four output values (6-5=1, 7-5=2, 8-5=3 and 12-5=7). The same result can be achieved using textual expressions and an evaluator component. In this fashion Grasshopper allows users to combine both visual and textual programming within the same environment.

User Interface

Grasshopper features a fairly advanced GUI with a lot of features that are only rarely found in production software. It is not known however whether these elements improve or impede effective usage. The main window consist mainly of the component 'palettes' and the 'canvas', apart from standard Windows GUI elements such as the title bar, the menu and the status bar. Since Grasshopper is a plug-in to another windowed application, the layout of the main window is kept minimal. Below is a list of some of the more rare GUI elements.
GUI Element Description Image
MDI The multi-document-interface menu contains small preview images of the documents in question
Find The Find dialog provides both textual and spatial feedback regarding the search hits. Objects are highlighted on the canvas by a Metaball outline and little arrows on the dialog point towards the location in screen space of the associated component.
Prediction A Markov-chain database is maintained of all the add actions of the user. This enables Grasshopper to (eventually) predict with a reasonable level of accuracy which command(s) will be called upon next. These commands are placed in an easy access toolstrip on the canvas.
MRU The Most-Recently-Used menu maintains not just a large collection of previously used documents, but also checks each file for availability. Files which are no longer present on the system are shown greyed out. In addition, the history of the MRU is categorized into distinct period such as "Just Now", "Today", "Thursday" and "Last Week", making it much easier to find a needed document.
ZUI Some objects drawn on the canvas adjust their display based on the zoom-level. This results in a cleaner and faster view when zoomed out and useful additional information when zoomed in.
Color The default color picker supports and displays transparency.
Search The search function which is used to locate specific components and data types uses both exact and fuzzy comparisons. If the search result list contains too few hits, Levenshtein distance comparisons are added.

Sources

References
Further reading
  • K Lagios, J Niemasz and C F Reinhart, "Animated Building Performance Simulation (ABPS) - Linking Rhinoceros/Grasshopper with Radiance/Daysim", Accepted for Publication in the Proceedings of SimBuild 2010, New York City, August 2010 (full article).
  • J Niemasz, J Sargent, C F Reinhart, "Solar Zoning and Energy in Detached Residential Dwellings", Proceedings of SimAUD 2011, Boston, April 2011
  • Arturo Tedeschi, Architettura Parametrica - Introduzione a Grasshopper, II edizione, Le Penseur, Brienza 2010, ISBN 978-88-95315-08-9
  • Arturo Tedeschi, Parametric Architecture with Grasshopper, Le Penseur, Brienza 2011, ISBN 978-88-95315-10-2

External links


See also

  • Architecture
    Architecture
    Architecture is both the process and product of planning, designing and construction. Architectural works, in the material form of buildings, are often perceived as cultural and political symbols and as works of art...

  • Architectural engineering
    Architectural engineering
    Architectural engineering, also known as building engineering, is the application of engineering principles and technology to building design and construction...

  • Design computing
    Design computing
    Design Computing refers to an area of Design Studies that deals with furthering the understanding and the practice of design activities through the application and development of novel concepts and techniques in computing....

  • Comparison of CAD Software
    Comparison of CAD software
    This page compares computer-aided design software that engineers and architects use to create drawings for the fields of architecture, engineering and construction in terms of aspects that can be directly compared...

  • Visual programming language
    Visual programming language
    In computing, a visual programming language is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used...

  • Generative Design
    Generative Design
    Generative design is a design method in which the output – image, sound, architectural models, animation – is generated by a set of rules or an Algorithm, normally by using a computer program. Most generative design is based on parametric modeling...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK