You are on page 1of 17

R

orkshop

series

Introduccin a Grasshopper
Julio 2010 GH Versin 0.6.0059

Captulo 1 Interface / Conocimientos Bsicos

Captulo 1 - Interface
La interfaz de trabajo de Grasshopper es bastante similar a otras aplicaciones de Windows. Sin embargo, al ser un editor

Interface: rea de trabajo


Menu principal

abiertos, etc.

Menu de componentes y parmetros

En el men de componentes y parmetros se enumeran por categoras todos los objetos de Grasshopper. Cada panel posee subpestaas que muestran un nmero limitado de artculos. Para acceder a todos los componentes/parmetros disponibles, haga clic en el botn negro en la parte inferior de cada panel.

Herramientas espacio de trabajo

Atajos para algunos comandos utilizados con frecuencia como zoom ampliar, mostrar / ocultar, encender/apagar componentes, botn de comando hornear, ect.

Lienzo

componente / parmetro, haga clic en el icono del componente / parmetro en el panel y ponerlo sobre el lienzo haciendo clic en alguna parte sobre lienzo. Una vez ingresado, puedes mover, borrar, copiar o pegar como lo haces en otras aplicaciones de Windows.

Barra de estado

Muestra informacin como los errores, avisos, etc.

Interfase: Objetos de Grasshopper


Los objetos de Grasshopper se dividen en dos categoras principales, componentes y parmetros, que sern explicados ms adelante en este tutorial. Sin embargo, antes de continuar, es importante entender cmo se estructuran los objetos de Grasshopper.

Estructura y tipos de objetos en Grasshopper


OPCIONES DE ENTRADA CLICK DERECHO PARA CAMBIAR OPCIONES ETIQUETA DE ENTRADA ENTRADA DESDE OTRO COMPONENTE OPCIONES DE SALIDA CLICK DERECHO PARA CAMBIAR OPCIONES CUERPO CLICK DERECHO PARA CAMBIAR OPCIONES ETIQUETA DE SALIDA SALIDA A OTROS COMPONENTES

ETIQUETA DE ENTRADA + OPCIONES DE ENTRADA + CUERPO + OPCIONES DE SALIDA + ETIQUETA DE SALIDA

ETIQUETA DE ENTRADA + CUERPO + ETIQUETA DE SALIDA

CUERPO + ETIQUETA DE ENTRADA + ETIQUETA DE SALIDA

ETIQUETA DE ENTRADA + OPCIONES DE ENTRADA + CUERPO

Los objetos de Grasshopper por lo general se pueden dividir en 5 partes diferentes; etiqueta de entrada, opcin de entrada, cuerpo, opcin de salida, etiqueta de salida. Sin embargo, depende de los tipos de objetos, algunos de ellos slo tienen 3 partes como se La 'ETIQUETA DE ENTRADA' es un objeto que recibe el aporte de los datos de salida de los dems. Si no est seguro de qu tipo de datos debe estar conectado a una etiqueta de entrada, usted puede comprobar la informacin de las herramientas situando el ratn en haciendo clic derecho sobre el objeto. Si desea cambiar el ajuste de un objeto, haga clic derecho sobre el cuerpo. "Opcin de salida" es similar a la "opcin de entrada, es donde se pueden cambiar algunos datos de salida. 'ETIQUETA DE SALIDA' es donde se almacenan los datos de salida para que podamos pasar a otros objetos Grasshopper.

Conexion de objetos
Para conectar la salida de datos a otros objetos de Grasshopper, haga clic en la burbuja blanca en la 'Etiqueta de Salida' y arrastre y
dirigir el raton soltar

click & mantener

Si desea tener una relacin mltiple, mantenga apretada la tecla shift mientras se conecta como se muestra a continuacin.

mantenga apretado el botonshift

Estado de objetos
Existen diferentes colores que indican el estado del objeto.

estado por defecto (sin datos)

vista previa encendida

objeto selecionado

vista previa apagada

estado por defecto (con datos)

objeto encendido

error

objeto apagado (sin procesar datos)

Conocimientos Basicos
Hay algunos conocimientos bsicos que usted debe entender antes de seguir.

Conocimientos Basicos: Sistemas de coordenadas


Grasshopper proporciona un par de sistemas de coordinadas diferentes, algunos de los cuales estn familiarizados con los usuarios de Rhino. A. XYZ (WORLD)
Z V U X Y

B. UVW (SUPERFICIE)
W (DIRECCION NORMAL DE LA SUPERFICIE)
(0,0,0)

C. L (CURVAS)
L = 0.0 L = 0.25

D. t (CURVAS)
t = 0.0 t = 12.5

L = 1.0 L = 0.75 LARGO CURVA = 1 (UNITARIA) t = 37.5

t = 50

LARGO CURVA = 50 (ESCALA REAL)

Conocimientos basicos: coincidencia de datos


La coincidencia de datos es uno de los conceptos clave de la mayora de las herramientas paramtricas. Ya que los objetos de Grasshopper procesan mltiples datos a partir de diferentes fuentes de entrada, tenemos que tener una lgica clara sobre la manera de comparar los datos. Por ejemplo, digamos que tenemos un objeto en Grasshopper que traza una lnea a partir de dos puntos de entrada como se muestra abajo.

Tambin podemos ingresar mltiples puntos para obtener varias lneas al mismo tiempo, como a continuacin.

Y si tenemos un nmero diferente de puntos para cada entrada? Esto puede causar problemas en la elaboracin de la ventana de opcin del componente, Grasshopper crear las lneas en base a la lista mas corta de sus entradas.

en base a la lista ms larga de sus entradas.

O podemos establecer la opcin de "Referencia cruzada" (cross reference) en la ventana de opciones, en caso de querer disponer de todos los datos posibles entre si.

Estructura de datos : (rbol / Rama / Lista / Item)


Grasshopper proporciona un estructura de datos multidimensional, que llamamos "rbol". Este "rbol" est compuesto por mltiples ramas. Las ramas pueden tener sub ramas. Slo las ramas de menor jerarqua pueden tener una 'lista'. Una lista es una matriz unidimensional que almacena los elementos enumerndolos en tems.

de abajo corresponden al nmero ndice del elemento.


(2) (2) (2) (1) (1) (1) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (1) (1) (1) (1) (1) (2) (1) (1) (1) (1)

(2) (2) (2) (2)

(2) (2) (2) (2) (1) (1) (1) (1) (2) (2) (2) (2)

(2) (2) (1) (1) (2) (1) (0) (0) {0:1} (0) {0:1} (2) (1)

(1) (1) (1) ( 2) ( 2) ( 2) (1) {0:2} (0) {0:2} (0) (0) (0)

{0:1}

{0:2} {0:2}

( 2)

(2) (0) (2) {0:1} (1) (2) {0:0} {0:0} (1) (1) {0:0} (0) (0) (2) (0) (1) {0:0} (0)

{0:3} {0:3} {0:3} {0:3}

(0) (0) (0) (1) (1) (2) (2) (1) (0) (2) (1) (2)

{0} {0} {0}

La Rama es representada como forma de nmeros separados por puntos y comas entre llaves. Los nmeros en parnteestas ramas se pueden unir como otra rama que se representa como {0}.
{0:3} {0:3} {0:3} {0:3} {0:2} {0:2} {0:2} {0:2} {0:1} {0:1} {0:1} {0:1} {0:0} {0:0} {0:0} {0:0}

(2) (2) (1) (1) (2) (1) (0) (0) {0:1} (0) {0:1} (2) (1)

(1) (1) (1) ( 2) ( 2) ( 2) {0:2} (0) {0:2} (1) (0) (0) (0)

{0:1}

{0:2} {0:2}

( 2)

(2) (0) (2) {0:1} (1) (2) {0:0} {0:0} (1) (1) {0:0} (0) (0) (2) (0) (1) {0:0} (0)

{0:3} {0:3} {0:3} {0:3}

(0) (0) (0) (1) (1) (2) (2) (1) (0) (2) (1) (2)

{0} {0} {0}

(2) (2) (1) (1) (2) (1) (0) (0) {0:1} (0) {0:1} (2) (1)

(1) (1) (1) ( 2) ( 2) ( 2) {0:2} (1) (0) {0:2} (0) (0) (0)

{0:1}

{0:2} {0:2}

( 2)

{0} {0} {0} {0}

(2) (0) (2) {0:1} (1) (2) {0:0} (1) {0:0} (1) {0:0} (0) (0) (2) (0) (1) {0:0} (0)

{0:3} {0:3} {0:3} {0:3}

(0) (0) (0) (1) (1) (2) (1) (2) (0) (2) (1) (2)

{0} {0} {0}

A continuacin se muestra un mapa completo de los datos de estructura de rbol con una rama principal, 4 sub ramas, las listas 4 y 12 tems.
{0:2}(2) {0:2}(2) {0:3}(1) {0:3}(1) {0:2}(2) {0:3}(2) {0:2}(1) {0:3}(1) {0:2}(1) {0:2}(1) {0:2}(2) {0:1}(1) {0:1}(1) {0:3}(1) {0:2}(1) {0:1}(1) {0:1}(1) {0:3}(2) {0:3}(2) {0:3}(2)

{0:3}(0) {0:3}(0) {0:3}(0) {0:2}(0) {0:2}(0) {0:3}(0) {0:2}(0)

{0:1}(2) {0:1}(2) {0:1}(2) {0:1}(2)

(2) (2) (1) (1) (2) (1) (0) (0) {0:1} (0) {0:1} (2) (1)
{0:0}(2) {0:0}(2) {0:0}(2) {0:0}(2)

(1) (1) (1) ( 2) ( 2) ( 2) (1) {0:2} (0) {0:2} (0) (0) (0)

{0:1}

{0:2} {0:2}

( 2)

{0:1}(0) {0:1}(0) {0:2}(0) {0:1}(0) {0:1}(0)

{0:0}(1) {0:0}(1) {0:0}(1) {0:0}(1)

(2) (0) (2) {0:1} (1) (2) {0:0} {0:0} (1) (1) {0:0} (0) (0) (2) (0) (1) {0:0} (0)

{0:3} {0:3} {0:3} {0:3}

(0) (0) (0) (1) (1) (2) (2) (1) (0) (2) (1) (2)

{0:0}(0) {0:0}(0) {0:0}(0) {0:0}(0)

{0} {0} {0}

Captulo 2 Parmetros/Componentes

Capitulo 2: Parmetros/Componentes Parmetros


Hay dos tipos de objetos importantes en Grasshopper; parmetros y componentes. Los parmetros son contenedores, que slo almacenan los datos ingresados en ellos. Los componentes ingresados en ellos.

Parmetros: Geometria / Primitivos

Grasshopper ofrece tres maneras diferentes de asignacin de datos a los parmetros, los datos referenciados desde Rhino, los datos referenciados desde Grasshopper, y la creacin de nuevos datos desde cero.

Datos referenciados desde Rhino


CURVA EN RHINO

PARAMETRO (curva) COMPONENTE (loft)

Algunos parmetros pueden funcionar como puentes de datos entre Rhino y Grasshodebemos hacer es obtener las curvas desde Rhino. Para asignar una curva de Rhino a Grasshopper, haga clic derecho en el parmetro curva de Grasshopper, seleccione set one curve en el men emergente, luego seleccione una curva de la ventana de Rhino y pulse Enter. Ahora la curva de Rhino ha sido ingresada a Grasshopper, y puesto que estn conectados el uno al otro, cuando movemos la curva en Rhino, podemos ver que la curva de Grasshopper le sigue.

Datos referenciados desde Grasshopper

CURVA DE GRASSHOPPER PARAMETRO (curva) COMPONENTE (loft)

La mayora de parmetros tambin pueden ser datos referenciados desde el mismo Grasshopper. Es como un puente interno entre los datos de Grasshopper.

Creacin de nuevos datos desde cero.

PARAMETRO (circulo)

COMPONENTE (loft)

Algunos parmetros no son capaces de obtener datos desde objetos de Rhino. Por ejemplo, el parmetro crculo no proporcionar la conexin con algn crculo de Rhino. En su lugar, tiene una opcin incorporada para dibujar un crculo directamente proporcionando el radio y el punto central. El parmetro crculo es completamente independiente de cualquier objeto de Rhino. Para hacer un crculo con el parmetro crculo, haga clic derecho sobre l, seleccione "set one circle" de la ventana emergente, a continuacin, dibuje un crculo en cualquier vista de Rhino.

Parmetros: Especial

Los parmetros especiales tratan de cmo controlar, manipular y representar datos, a diferencia de los parmetros puros.

Obtencin de nuevos datos de entrada


Son tiles para obtener nuevos datos, como el color personalizado, el valor numrico o valor booleano.

Genera un tipo diferente de datos de entrada del usuario. Por ejemplo, el parmetro Image Samplerproduce una serie de datos numricos a partir de un archivo de imagen de entrada, recogiendo los valores RGB de las coordenadas correspondientes.

Datos de referencia
La mayora de los parmetros especiales, tambin pueden ser referenciados desde datos de Grasshopper.

Componentes
A diferencia de los parmetros, los componentes por lo general generan acciones con los datos de entrada provenientes de parmetros o de otros componentes. Existen principalmente dos acciones que los componentes realizan; manipulacin de datos y la creacin de geometras. Por ejemplo, algunos componentes calculan operaciones de datos numricos, como suma, resta, multiplicacin o divisin. Mientras que algunos otros componentes generan nuevas geometras como la

Componentes: Lgicos

Los componentes lgicos tratan ms o menos sobre la manipulacin de datos en lugar de la creacin de geometras. Se dividen en cinco categoras diferentes; Boolen, List, Script, Sets y Tree. Los componentes Boolean (booleanas) proporcionan un control booleano corriente, como verdadero/falso. Los componentes List y Sets permiten manipular los datos de cualquier lista ingresada. Los datos de una lista existen en forma de una matriz bidimensional con los nmeros del ndice de cada elemento (referido a los datos de la estructura de rbol). Los componentes Tree (rbol) controlan los datos del rbol en s, en vez de, manipular individualmente cada elemento de la lista (ver tambin la seccin de datos del rbol). Los componentes Script permiten a los usuarios a crear funciones personalizadas, con lenguajes VB.net / C #.

Manejo de Listas (List / Sets)

Los componentes List/Sets permiten el manejo de los datos de las listas, una matriz bidimensional de elementos individuales. Cada elemento de la lista de datos tiene su propio nmero de ndice, partiendo desde el 0. Por ejemplo, digamos que tenemos 4 listas que constan de 3 items. Podemos extraer todos los segundos artculos de estas listas mediante el componente List Item. Tambin podemos eliminar todos los terceros artculos de las listas con el componente 'componente Cull List.

Manejo de estructura de rbol (Tree)

La mayora de los componentes de Tree se relacionan con la estructura de rbol en s. En el ejemplo siguiente se ilustra, como obtener el segundo item de cada lista, podemos hacer esto con el componente "List Item".
(0) (1) ( 2) (1) (0) (0) (1) ( 2)

(1) (0)

(2)

(2)

{0:1}

{0:2}
(0) (2) (1) (0)

{0:1}

{0:2}
(0)

(2) (1) (0)

{0:0}

{0:3}
(2)

(1)

{0:0}

{0:3}
(2)

(1)

{0}

{0}

2 ITEM = 1

Para obtener el 2 tem de cada lista, debemos ingresar el numero de ndice = 1, ya que Grasshopper enumera las listas partiendo de 0.

(1) (0)

(2)

(0)

(1) ( 2) (1) (0)

(2)

(0)

(1) ( 2)

{0:1}

{0:2}
(0) (2) (1) (0)

{0:1}

{0:2}
(0)

(2) (1) (0)

{0:0}

{0:3}
(2)

(1)

{0:0}

{0:3}
(2)

(1)

{0}
2nda rama = {0:1}

{0}

Para obtener la 2nda rama de la lista, debemos utilizar el componente Tree Branch, e ingresar el valor de tem = {0,1}.

Componentes: Escalares

Los componentes escalares calculan operaciones como suma, resta, multiplicacin y divisin. Tambin algunos de ellos ofrecen funciones integradas como Logaritmos, Seno, Mximos, etc. Tambin podemos encontrar algunas constantes tiles como Pi en este panel. Sin embargo, lo ms importante aqu es el panel Interval (intervalo).

Panel de Intervalos

los objetos que poseen sistemas de coordenadas pueden ser vistos como dominios o intervalos. Por ahora, Grasshopper proporciona hasta dos dimensiones de dominio. Las curvas pueden ser vistas como un objeto unidimensional mediante tratadas como un dominio de dos dimensiones con valores en U y V. dos dimensiones; U: 0 ~ 10 / V: 0 ~ 8. Si separamos cada dominio en dominios de dos subsistemas como U: 0 ~ 5,5 ~ 10 y V:

UD

A OM

IN :

0~

10 O UD 0~

MA

IN :

0~

10

5~

10

0~ DO M V AI N :0 ~8 DO

4 M AI N

:0

~8

4~

Componentes: Vectores

Los componentes vectoriales crean y controlan vectores, puntos y planos. Esto puede sonar extrao, porque un punto no tiene magnitud o sentido, como si los tiene un vector. Sin embargo, Grasshopper reconoce un punto como un vector, precilo que nos permite utilizar un plano como un sub sistema de coordenadas.
Z Z

SUBSISTEMA DE COORDENADAS (4,2,3) PUNTO (4,2,3)

Z X

Y X Y X Y

Componentes: Curvas

Los componentes de Curvas se dividen en tres categoras; Anlisis / Divisin, Primitivas / Spline, y Utilidades, para crear diferentes tipos de curva a partir de datos de entrada. Los componentes de Anlisis/Divisin nos permiten obtener puntos

Curvas Primitivas / Spline

Los componentes Primitivo / Spline crean curvas en base a ciertos puntos determinados por el usuario. Por ejemplo, con el

Anlisis / Divisin

Los componentes de Anlisis / Divisin generan puntos o planos como el producto de anlisis/divisin de ciertas curvas. Por ejemplo, mediante el ingreso de una curva de entrada y un nmero dado, podemos conseguir puntos equidistantes a lo largo de la curva.

Utilidades

Los componentes Util (Utilidades) nos permiten generar algunas operaciones especiales en las curvas. Por ejemplo, podemos invertir el sentido de una curva, mediante el componente Flip Curve ".

Forma Libre / Primitivos

Anlisis

Utilidades

Componentes: Intersecciones

Los componentes de Intersecciones se dividen en cuatro categoras; Booleanas, Matemticas, Fsicas y Regin. Los componentes de intersecciones booleanas generan operaciones booleanas entre curvas planas cerradas, as como tambin entre Breps. Los componentes de intersecciones Matemticas / Fsicas permiten generar puntos o curvas entre geometras donde se cruzan entre s. Los componentes de Regin permiten recortar o dividir las curvas con cualquier otra geometra.

Booleanas

Los componentes de intersecciones Booleanas son ms o menos igual que los comandos de trazado compuesto de Adobe Illustrator, como unin, interseccin y resta (diferencia). Estos slo funcionan con curvas planas cerradas o Breps cerradas.

Matemticas / Fsicas

Los componentes de intersecciones Matemticas y Fsicas son bsicamente iguales en que permiten obtener geometras de interseccin, tales como curvas o puntos. Sin embargo, el clculo de la interseccin fsica se basa en las caractersticas ejemplo, hay una lnea y un cilindro, y se interceptan en un punto. Fsicamente hablando, se encuentran en el punto A. Sin -

sin lnea imaginaria.

con lnea imaginaria.

ticamente

INTERSECCION FISICA

INTERSECCION MATEMATICA

Region

Los componentes de intersecciones por Regin dividen / eliminan las curvas interceptadas con Breps o curvas cerradas.

Componentes: Xform

Los componentes de XForm se dividen en tres categoras; Afn, Euclidiana y Morph. Estos componentes generan transformaciones o deformaciones en las geometras dadas. Los componentes de Afn / Euclidiana permiten transformaciones bsicas como escalar, rotar o mover geometras. Morph, literalmente, permite deformar las geometras.

Afn / Euclidiana

-ra de los softwares de modelacin. Por lo general, necesitan puntos de referencia o vectores para generar sus operaciones en 3D.

Morph

Morph es una de las ms poderosas herramientas de transformacin / deformacin en Grasshopper. Por ejemplo, se puede familiarizado con el concepto de paneles de herramientas de Rhino, podrs ver que la mayora de componentes Morph son bastante similares.