Formacion Grasshopper NoLogos

March 19, 2018 | Author: Worm Stein | Category: Design, Curve, Color, Function (Mathematics), Geometry


Comments



Description

INSTITUTO ARNAIZDISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER PROFESOR ADOLFO NADAL SERRANO MÓDULO DE DISEÑO PARAMÉTRICO EXPLÍCITO INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. ARCHITECT - ARCHI [O] LOGICS Los problemas de diseño no pueden ser resueltos sin la ayuda de un computador, siendo la maquina un complemento y no un substituto del talento creativo, la computadora mientras no pueda inventar, puede explorar relaciones muy rápida y sistemáticamente de acuerdo a reglas preestablecidas. El computador funciona como una extensión natural de la habilidad analítica del hombre. Chermayeff, Community and Privacy (1963:166) 1. OBJETIVOS DEL CURSO Los objetivos del curso son, por un lado, conseguir la familiaridad del alumno con sistemas y software de modelado tridimensional, y, por otro, la introducción de metodologías innovadoras de diseño por medio de plataformas integradas diseño paramétrico explícito. El CAD no es una tecnología estática, y que, una vez aplicada, proporciona todas sus posibilidades a los equipos de diseño de forma definitiva. Sus capacidades van evolucionando con el tiempo, al mismo ritmo que los equipos se hacen más potentes y se abaratan, permitiendo que los desarrolladores de aplicaciones incorporen nuevas características y funcionalidades a sus productos. De este modo, estos continuos avances permiten conceptualizar mejor los diseños, estimular y predecir el comportamiento de nuevas soluciones, realizar estimaciones de costes y compartir diseños con clientes y empresas del sector. Además, es posible hacer numerosas simulaciones virtuales de instancias de diseño desde fases muy iniciales de proyecto. En definitiva, hemos de responder de manera efectiva y eficiente a las tendencias del sector mediante un pensamiento creativo: - A través de la simplificación de las tareas no críticas, tales como las tradicionales de diseño y dibujo (muros, ventanas, pilares, escaleras,...). - El diseño en tres dimensiones debe ser una obviedad. Esto implica obtener grandes mejoras de productividad y calidad a través del diseño espacial. - La automatización de procesos generativos de forma. - La posibilidad de testar numerosas instancias formales respondiendo automáticamente a parámetros cambiantes. 2. PLANIFICACIÓN Y MÓDULOS 2.1. Módulo básico El módulo básico trata de conseguir el dominio básico de la herramienta en dibujo 3D, diseño tridimensional, y la creación de listados de propiedades de objetos y elementos constructivos, así como creacición de listados. El módulo constará de 18 horas lectivas distribuidas durante 6 semanas de la siguiente manera: a. Bloque 1: Introducción a la interfaz y diseño 2D - Día 1 (20 de junio, 1.5 horas): Introducción a la interfaz y navegación. - Día 2 (21 de junio, 1.5 horas): Introducción a modelado y vistas. Trabajo y modificación de un modelo existente (I), cotas, muros. Paleta de propiedades y “Edit Type”. - Día 3 (27 de junio, 1.5 horas): Introducción a modelado y vistas. Trabajo y modificación de un modelo existente (II), grupos, herramientas copiar, mover, rotar, alinear, matriz. [Mobiliario y grupos si procede] - Día 4 (28 de junio, 1.5 horas): Introducción al diseño esquemático de masas. Importación de archivos de croquis, uso de planos de referencia. Introducción a listados. - Día 5 (4 de julio, 1.5 horas): Diseño esquemático de masas (II). Modificación de geometría en 3D, asignaciones de niveles, plantas de masa y plantas reales. Ajuste interactivo de volumetrías y presentación básica de listados. b. Bloque 2: introducción a modelado tridimensional y visualización - Días 6-8 (5, 11 y 12 de julio, 4.5 horas): Muros: tipos. Muros básicos y muros cortina. Delimitación asociativa de espacios y habiitaciones. Edifición de huecos, edición de perfiles y muros curvos. Trabajo con muros cortina: perfiles, paneles y jerarquía. Comienzo de trabajo de proyecto personal. - Día 9 (18 de julio, 1.5 horas): Suelos, techos, cubiertas (I) - Día 10 (19 de julio, 1.5 horas): Suelos, techos, cubiertas (II). Aplicación de cubiertas y suelos al modelado de una vivienda como proyecto personal. [ 2 ] INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. ARCHITECT - ARCHI [O] LOGICS - Día 11 (25 de julio, 1.5 horas): Elementos de circulación: escaleras, rampas (I) - Día 12 (26 de julio, 1.5 horas): Elementos de circulación: escaleras, rampas (II) - Extra: · edición de familias 2D y 3D [3 horas] · preparación de documentación gráfica [1.5 horas] · renderizado y animaciones [1.5 horas] [ 3 ] INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. ARCHITECT - ARCHI [O] LOGICS INTERFAZ DE GRASSHOPPER [ 4 ] [ 5 ] de izquierda a derecha: · Geometry: contenedores para asociar o referenciar puntos. a su vez.Params. Esta barra muestra los diferentes comandos agrupados en pestañas de la siguiente manera: . Sets. · Barra de menú: Permite acceder a los comandos.ARCHI [O] LOGICS I. que agrupan funciones (contenedores) de uso semejante. INTERFAZ DE GRASSHOPPER 1. strings y otro tipo de datos primitivos · Input: sliders. Mesh. Surface. las opciones y la ayuda. muestra las opciones de contenedores (“comandos”) displonibles agrupadas por subtipos. lo que ayuda a su localización de manera más sencilla. Vector. Barras de menús Las barras se clasifican según tipos. que contiene los siguientes subgrupos. · Contenedores y widgets: en función del tipo seleccionado (Params. La pantalla de Grasshopper Grasshopper divide la pantalla en áreas que proporcionan información o solicitan la introducción de datos. vectores. · Primitive: booleanas. Maths. PanelingTools). Interfaz de Grasshopper] 2. Intersect. [ 6 ] . panels (informativos) · Util: utilidades extra como gráficas y otras. Dichos contenedores. Asimismo se muetra el tipo genérico de previsualización de objetos (ninguno. están clasificados según subcategorías. números.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. Curve. contando con numerosas ventanas interactivas y contextuales que cambian en función del elemento seleccionado o el comando en ejecución. Título de definición Pestañas de menú Pestañas tipo de contendores Contenedores y widgets Menú general guardado/vista Modo de previsualización Markov widget Brújula Versión [Fig 1. y otra geometría sencilla desde el modelo. · Área gráfica: Muestra la definición actual de Grasshopper asociada al modelo. shaded) · Barra de estado: Muestra el autoguardado y la versión de Grasshopper. ARCHITECT . wireframe. Transform. así como otras ayudas al mismo (brújula). Subgrupo Geometry dentro del tipo Params mostrando todas las posibles funciones (contenedores)] . · Trig: trigonometría. ARCHITECT . y scripts en varios lenguajes de programación.Sets: referente a elementos de información y estructuras de datos.ARCHI [O] LOGICS .Vector: · Color · Field · Grid · Plane: importante para la definición de figuras en planos de trabajo diferentes al z=0 · Point: operaciones con puntos · Vector: operaciones con vectores . desdelíneas hasta círculos y arcos · Spline · Util: equivalente a las herramientas de edición de curvas en rhino [ 7 ] . coseno y otras conocidas funciones y relaciones trigonométricas · Util: utilidades [Fig 2. incluye seno. · List: gestión de listas de información.Maths: incluye herramientas de análisis matemático. expresiones.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. contiene herrramientas para definir funciones. · Domain: operaciones con dominios · Matrix: matrices · Operators: operadores lógicos y sencillos · Polynomials: funciones matemáticas básicas · Script: muy importante. fundamentales en diseño generativo y paramétrico.Curve: · Analysis · Division · Primitive: creación de todo tipo de curvas primitivas. fundamental · Sequence: especialmente importantes las referentes a eliminación de datos (Cull) · Sets · Strings · Tree . Navegación en Grasshopper La navegación en Grasshopper es muy sencilla e intuitiva. Puedes hacer zoom/pan con el botón central del ratón y el botón derecho. Por esta razón.Convertir la geometría previsualizada en pobjetos reales mediante el comando “Bake” 1. Esto permite explorar en poco tiempo numerosas variaciones de diseño a partir de unas condiciones iniciales determinadas.. . volumen.Mesh: · Analysis · Primitive · Triangulation · Util.Botón izquierdo: selección [ 8 ] . .ARCHI [O] LOGICS . · Freeform: creación de superficies de forma libre · Primitive: cilindros. conos.Utilizar dicha geometría mediante referenciación en Grasshopper . curvatura.Barra espaciadora: muestra menú contextual .Transform · Afine · Euclidean · Morph · Util .Intersect: · Mathematical · Physical · Region (BREPs. Boundary Representations) · Shape . dependiente del tipo de objeto o componente que pretendas usar. es decir.. NAVEGANDO Y WORKFLOW DE TRABAJO DE GRASSHOPPER El workflow de Grasshopper está inevitablemente unido a Rhinoceros.Pestañas agragadas por plugins o extensiones: Paneling Tools y otros. los pasos a seguir son: . cada una de las herramientas tiene una serie de opciones que Grasshopper muestra de manera contextual. querrás comenzar modelando algo muy sencillo en rhinoceros para posteriormente explorar posibilidades de diseño por medio de Grasshopper. y otros · Util: . ARCHITECT .Modificar o ampliar la geometría en la definición (previsualización) .INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. una definición de Grasshopper siempre estará asociada a un objeto o grupo de objetos de rhino. Así pues. En la mayoría de los casos. De esta manera. En el caso de Paneling Tools podrás encontrar los siguientes grupos: · Curve · Grid · Grid Attractors · Grid utility · Panel 2D · Panel 3D · Panel Utility · Utility II.Surface: · Analysis: área.Crear geometría base en rhinoceros . y a los objetos de éste. sin los cuales no tendría sentido. respectivamente. Una vez que lo hayas abierto.Sliders: controlan dinámicamente valores numéricos [ 9 ] . Abrir y preparar el archivo Abre el archivo en menú File>Open Document o directamente en el icono situado en la esquina superior izquierda del Canvas. es razonable pensar que eres un usuario avanzado de Rhino. Interfaz de Grasshopper mostrando componentes] 2. III. ARCHITECT .Doble click: menú contextual de búsqueda de contenedores 2. Contenedor asociado a geometría Contenedor tipo función Nombre de grupo Conexión 1 Conexión 2 Slider Área de grupo [Fig 3.Componentes tipo función. Estas líneas son rectángulos redondeados en sus esquinas de diferentes tamaños y a diferentes alturas. por lo que no se explicará aquí en ningún caso ninguna metodología referente a Rhino). Crearemos entonces una serie de objetos en rhinoceros que asociaremos explícitamente en grasshopper para su definición y modificación. Workflow De manera genérica. Tipos y estructura de componentes En principio. Encontrarás tres líneas. con input/s) y output(s) que no necesariamente han de coincidir en número (de alguno de los tipos y subtipos mencionados anteriormente). . hay varios tipos básicos de contenedores en Grasshopper . Abre ahora Grasshopper (es muy recomendable disponer de dos monitores simultáneamente para poder visualizar las modificaciones en el modelo provocadas en Grasshopper) y el archivo del tutorial. INICIACIÓN AL WORKFLOW DE GRASSHOPPER: COMPONENTES Y ASOCIACIÓN DE GEOMETRÍA Abre el archivo del tutorial en Rhino (si estás usando Grasshopper. A partir de dichos objetos podremos modificar su geometría. Los contenedores son funciones y las conexiones muestran las relaciones entre ellos. Asegúrate de tener la última versión del plugin instalada en tu ordenador. deberías ver una serie de “pilas” o contenedores interconectados por líneas. abriremos las definiciones de Grasshopper mediante el comando _grasshopper en rhinoceros.Panels: Notas o displays de información .Alt+Ctrl + Botón Izq: muestra la localización de un contenedor dentro de las barras de menús . o crear geometría nueva de manera completamente interactiva.ARCHI [O] LOGICS .INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. 1. La razón de los mismos es crear un contexto a partir del cual modelar un estadio de fútbol absolutamente paramétrico.Componentes asociados a geometría básica del modelo (geometry o primitive) . podrás controlar los distintos inputs y outputs de manera directa. · La geometría en rojo es geometría creada en Grasshopper pero no activa (es decir. En función del estado de los componentes. además de los genéricos ya explicados. Letra C. Marcado con la letra A en la figura 5. ARCHITECT . Letras B y E. no unas una curva a un lugar donde se supone que debe haber un texto). sé consciente de la consistencia de información (es decir. Display de información Los componentes albergan información de diferentes tipos. · Sobre los paneles. · Conexión entre componentes. que el componente que la ha creado no está seleccionado en ese momento) · La geometría en color verde es geometría seleccionada · La geometría que se muestra en azul es aquélla que está siendo seleccionada actualmente por el usuario.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. Letra F. serán dobles para listas de datos. ésto te permitirá editar el tipo de número que contiene. · Color naranja: parámetro correcto que precisa de una referencia de geometría o de datos. los puntos se representan como cruces para diferenciarlos de los puntos de Rhino. nos centraremos básicamente en los comportamientos básicos de los mismos: a. Por favor. Para conectar componentes. Así. Edición Todos los componentes muestran un menú de edición contextual si pulsas sobre ellos con el botón derecho. así como sus valores máximos y mínimos. Comparación de geometría en rhino y grasshopper] b. Éstos indican posibles problemas con el componente o los datos. podrás seleccionar directamente si quieres relacionar el componente a uno o varios elementos del modelo. Geometría inicial Geometría final Rhino Grasshopper Puntos Curvas Puntos seleccionados [Fig 4. Es posible que dicho color implique la presencia de Avisos o Warnings. numérica. Letra D. Las conexiones pueden tener varios tipos de displays en función del tipo de datos que contengan. así como el color de los mismos · Sobre las funciones. sencillamente arrastra el ratón desde el punto blanco del output de uno al input correspondiente del siguiente. con referencia activa a geometría de modelo). te permitirá controlar qué y cómo se muestra la información. los avisos no tienen que ser corregidos necesariamente. · Sobre los componentes de asociación de geometría. Esto es. podrás encontrar alguna de las siguientes situaciones: · Color negro: parámetro con contenido (es decir. pero funcionan a pesar de ello. En el caso de contener geometría. · Color rojo: un componente con errores (posiblemente input inconsistente). · Color verde: un componente seleccionado o activo (la geometría en la ventana de rhino también se mostrará verde). bien geométrica. [ 10 ] . Así.ARCHI [O] LOGICS Por la simplicidad de los componentes. · Color gris: componente normal y en funcionamiento. en función de si es geometría propia de Rhino o creada dentro del entorno de Grasshopper. ésta se previsualiza de diferentes modos en la ventana de rhino. · Sobre los sliders. Letra G. alfabética o de otra índole. ARCHITECT .INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. Fuente: Grasshopper Premier 2nd edition. Casos de componentes en función de su estado. También puedes pulsar sobre dicha conexión con el botón derecho y seleccionar la opción correspondiente. Verás que se crea una previsualización con una flecha que indica qué inputs/outputs has relacionado. Gestión de input y output La conexión de componentes se realiza mediante “dragging” o arrastre del puntero del ratón entre los diferentes componentes. sitúa el cursor sobre el semicírculo blanco correspondiente a la salida de un componente y arrastralo hasta la entrada correspondiente del siguiente componente. LIFT Architects] Nombre Input Output Conexión in Conexión out Conexión in Conexión out Conexión in Conexión out Procesamiento de datos Nueva conexión [Fig 6. sencillamente pulsa el botón control y selecciona qué conexión quieres eliminar. Divide: ejemplo de un componente función con todos sus elementos] c. haz zoom hasta que aparezcan. Edición avanzada mediante zoom-in Algunos componentes muestran controles avanzados. Puedes añadir múltiples entradas manteniendo pulsado el botón shift. d. Algunos de ellos pueden incluir: · Modificación del número de inputs y outputs.ARCHI [O] LOGICS [Fig 5. Para acceder a ellos. Para ello. Para eliminar una conexión. · Alineación de texto y otras configuraciones de visualización [ 11 ] . Como cualquier otro componenete.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. sino unas ondas que representan la conexión inalámbrica a distancia.0. los receptores han desaparecido para ser adaptados (absorbidos. En versiones más recientes de Grasshopper.ARCHI [O] LOGICS [Fig 7. De este modo. Fuente: Grasshopper Premier 2nd edition. se podía conectar el receptor a tantos otros inputs como necesites. De esta manera. LIFT Architects] 3.6. Configuración de la conexión para visualización inalámbrica] [ 12 ] . en vez de usar un emisor. Esto ocurría porque los receptores mostraban la conexión únicamente cuando estaban seleccionados. Receptores inalámbricos Hasta Grasshopper 0. realmente) en el modo de visualizacion de las conexiones. puedes configurar la visualización de la conexión de un determinado input para que no muestre un cable. se tenía también la capacidad de transmitir información inalámbrica mediante el uso de receptores. que podían encontrarse en la subcategoría especial dentro de la categoría/etiqueta de Parámetros. ARCHITECT . tal y como puedes ver en la figura 8. si bien dicha configuración por defecto podía cambiarse a “always” o “never”. Menú contextual habitual. Pulsa el botón derecho sobre el componente y selecciona el tipo de visualización “Wire Display”. [Fig 8. se realizaba la conexión normalmente para después ver cómo desaparecía automáticamente. ARCHITECT .ARCHI [O] LOGICS [ 13 ] .INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. ARCHITECT .ARCHI [O] LOGICS MODELADO PARAMÉTRICO DE UN EDIFICIO: VECTORES.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. CURVAS Y SUPERFICIES [ 14 ] . [ 15 ] . por ejemplo. pulsa con el botón derecho sobre el componente y selecciona la opción “Set One Curve”. la curva inferior se usará más adelante para definir el tamaño del campo y la superior para la geometría de la cubierta. Para hacer esto. Ya que lo primero que vamos a hacer es asociar geometría existente en el modelo a la definición de Grasshopper. [ 16 ] .El resultado final será el modelo paramétrico de un estadio en el cual podrán controlarse: · Altura de graderíos · Forma y disposición de la cubierta · Cantidad de componentes en cubierta · Triangulación y huecos 2. DESCRIPCIÓN DEL PROYECTO 1.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. “CrvMid” y “CrvUp” para definir las curvas inferior. y deberás asociar geometría al mismo. Estas curvas van a servir para crear los graderíos y la cubierta. Punto de partida: curvas base en rhinoceros Dibuja tres rectángulos con “vértices redondeados” en Rhino. respectivamente. necesitamos unos contenedores (en forma de componentes) que puedan albergar dicha información. Una vez hayas esto tendrás el componente en el lienzo. ARCHITECT . A continuación selecciona la primera de las curvas. dado el carácter paramétrico que el modelo irá adquiriendo. . Puedes usar. “CrvDown”. Dichos rectángulos serán la base de nuestro edificio y se corresponden vagamente con los perímetros interiores del graderío de un estadio. Configuración de la conexión para visualización inalámbrica] Abre ahora Grasshopper desde la ventana de Rhino mediante el commando “_Grasshopper”. Nombra los componentes de manera clara y concisa para entender perfectamente el contenido de las mismas. Objetivo El objetivo del proyecto es mostrar de manera sencilla y eficaz el modo de trabajo con grasshopper mediante un ejemplo que crece en complejidad y trata con geometría preexistente para posteriormente modificarla y añadir componentes de manera progresiva. Ve a Params>Geometry y selecciona “Crv”. Haz click sobre cualquier punto del lienzo para situar el componente vacío o arrastra el icono. Aunque en la figura 1 se han incluido las dimensiones. éstas son relativamente irrelevantes. Curva superior: CrvUp Curva media: CrvMed Curva inferior: CrvDown [Fig 9. Verás que aparece el plug-in con la ventana vacía. media y superior.Se tratan los siguientes tipos de geometría: · Puntos y vectores · Curvas · Superficies simples .ARCHI [O] LOGICS I. Asimismo. se necesitan los siguientes inputs: . (4) chamfer.Curva base para desplazar (“Base Curve”. (0) none. Crear la superficie del campo a partir de la curva inferior Para crear la superficie del campo de juego vamos a utilizar la herramienta “offset”. Tomaremos como base la curva inferior CrvDown y haremos un offset hacia dentro (con distancia negativa. en Params>Input>Slider. en función de nuestros intereses. y c. Offset inputs] Para nuestro caso. mediante la edición de propiedades. ARCHITECT . [ 17 ] . para definir un desplazamiento de curva “offset”. podremos crear las superficies correspondientes al anillo exterior y al campo. offset: curves>util>offset. Como hemos dicho. P): el plano sobre el cual se realiza el desplazamiento. (3) smooth. Ajusta el Slider Offset Dist hasta que pueda contener números negativos menores que 1 y Offset Type a otro que contenga números naturales de 0 a 4. su nombre y tipo hasta que concuerden con lo que necesitamos. al tener como partida una curva cerrada). D): una distancia que puede ser variable. Deberías tener un esquema parecido al de la figura 11. Slider Panel Base Plane Offset distance Corner type Base Curve Result Curve [Fig 11. Crear las curvas por desplazamiento: [Fig 10.Plano base de desplazamiento (“Base Plane”.Tipo de esquina (“Corner Type”. puedes crear dos sliders. En este sentido podemos parametrizar ya la curva desplazada. (1) sharp. C): con diferentes opciones. Offset en Curves>Utils] Ve a la pestaña de curvas. a. Conecta los sliders correspondientes al componente y la curva a su input. por defecto el World XYZ . .ARCHI [O] LOGICS 3. C): en este caso CrvDown .Distancia de desplazamiento (“Offset Distance”. Cuando tengamos la nueva curva. que crea curvas desplazadas desde la original a una distancia determinada. (2) round.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. selecciona utilidades y dentro de ellas. y cambiar. que se describen en los apartados b. de dos maneras diferentes. INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. Superficies mediante curvas planas Una vez hayas obtenido la curva desplazada. [Fig 13.ARCHI [O] LOGICS Base Curves Timeliner Result Surface(s) [Fig 12. el programa cree dos superficies. 12). lee el siguiente apartado. ARCHITECT . c. de manera que sirva como base a una eventual pista de atletismo perimetral o semejante. Sets>Tree>Flatten Tree] [ 18 ] . Sí. puedes sustraer la interior de la exterior para obtener la superficie del anillo. para después elegir la superficie intersección de las dos. Así que conecta las dos curvas (CrvDown y su desplazamiento) al componente para obtener la superficie resultante del anillo. Para crear una superficie a partir de curvas planas ve a Surface>Freeform>Planar Srf (Fig. Para ello. Superficies mediante booleana o intersección de BREPs En el caso que hayas obtenido dos superficies independientes. Si es el caso.Set o conjunto de curvas de borde. has de separar los resultados e intersectarlos. eso es todo. procedemos a crear una superficie mediante curvas planas. siempre que hayas obtenido dos superficies del componente planar. La idea es crear una superficie entre ambas. Para crear una superficie plana necesitarás los siguientes inputs: . mediante una operación muy semejante a una diferencia booleana. si las dos curvas no están en el mismo plano exactamente. Es posible que. Menu Planar Srf y el componente con sus inputs/outputs] b. Sitúa el componente de diferencia de Breps.Ve a Sets>Tree>Flatten Tree (o haz doble click sobre el lienzo y busca el componente en el menú emergente) . de modo muy esquemático. Definición] 4. en Intersect>Shape>Solid Difference. gracias al componente “Item”. . crearemos una serie de divisiones en dichas curvas.ARCHI [O] LOGICS Crea en el lienzo una definición parecida a la que se muestra en la figura 14. podemos crear la diferencia entre ellos.Crea las superficies planas . para lo cual usaremos la curva media “CrvMed” y la superior “CrvUp”. Asocia ambas superficies en el componente (uno en cada input) para obtener el resultado deseado. podemos crear las superficies de los graderíos. Para ello.0}-0 pase a {0}-0. con entradas del tipo {0}-0 y {0. para luego separar los elementos de la misma en dos elementos. podremos contar el número de asientos. A continuación crearemos los graderíos del estadio. . al componente principal del Loft). por lo que es precisa una aclaración básica al respecto. como un componente aislado. a los que vamos a “alimentar” con índices diferentes. Para aclarar cómo funcionan las listas dedicaremos posteriormente un capítulo al respecto. para este caso concreto.1. El comando Loft toma como inputs un conjunto de curvas y una serie de opciones (que se conectan. Creación básica de los graderíos y loft de superficies Ya hemos creado las superficies del campo. dos componentes iguales. Por un lado.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. de manera que la lista.Una vez separados los componentes. en función de estos índices obtendremos elementos diferentes (en este caso una u otra superficie). podemos separar sus elementos en sendos componentes. seleccionaremos cada uno de ellos independientemente. La gestión de datos de Grasshopper es una de las características más importantes del uso del mismo.Una vez hayas “aplanado” la lista que contiene las superficies.Asocia el output del componente de las superficies planas al input del componente flatten. Asimismo. En este caso lo que vamos a hacer es crear unas superficies planas. . ARCHITECT . Crea. recogerlas en la lista del output y “aplanar” esta lista (más información sobre listas en el apartado dedicado al respecto). los cuales van a sustraerse para obtener la intersección. que selecciona un elemento de la lista a partir de su índice (es decir. a partir del identificador del mismo). para obtener una visión tridimensional más clara del conjunto. CREATE SURFACE DIFERENCE List item (select) List item (select) CREATE PLANAR SURFACES Sliders Offset Planar Srf List Index List Flatten (list) Cull (list item) Index (list item) Difference (Surfaces) Crv Down [Fig 14. que irá variando según creemos más o menos subdivisiones en las curvas. Por otro lado. [ 19 ] . y líneas que nos permitar previsualizar la posición de los asientos en el gradería. Curve Params CREATE SEAT DIVISIONS Divide Line Contours Base plan X axis Y axis Z axis Divide by length Sphere Expression (radius) Distance Normal Base Plane Input Surface CREATE SEAT SURFACES CREATE SEAT “WIDGETS” [Fig 15. es decir. Ve a Curve>Primitive>Line.Introducir la proporción de asientos en vertical (es decir.Introducir la proporción de asientos en horizontal u ocupación por asiento (es decir. simplemente. Siguiendo esta lógica sería posible controlar la forma y tamaño del estadio siguiendo una lógica inversa. asocia las curvas inferior y media a componentes de división independientes. de manera que resulten en listas independientes de puntos. Por el momento.Dividir en los “kinks” o esquinas. que podríamos asemejar a las “columnas” donde se situarían los asientos en el graderío. unas esferas que situaremos en el centro de los asientos. es decir. y conecta la salida del primer componente de división como primer input de la línea y la salida del segundo componente de la división como segundo input. [ 20 ] . Puedes ver la definición en la figura 15. en un caso supuesto. Para ello selecciona el comando Curve>Division>Divide Curve. el número de filas) . posteriormente podremos sustituirlos por cualquier forma o bloque deseado (esto no se incluye en el presente manual). Dichos widgets serán.ARCHI [O] LOGICS a. Una vez hayamos dividido las curvas. En este caso.Introducir el número de asientos deseados . el número de columnas o la distancia entre asientos) La figura 16 muestra. Crea un slider con números naturales que puedes conectar a ambos inputs de los componentes de división. El componente necesita los siguientes inputs: . a partir de la capacidad deseada del mismo: .Curva a dividir . crearemos unos widgets a modo de indicaciones de su situación. de manera que nos aseguraremos dividir las curvas en el mismo número de segmentos. Verás cómo se crean las líneas que albergarían. en esta fase del proyecto. cada uno de los asientos del graderío. Creando las subdivisiones de los asientos en el graderío En primer lugar. podremos crear líneas entre los puntos resultantes de cada una de ellas. Definición para crear subdivisiones de asientos] Podrás apreciar la subdivisión de los asientos entre las dos curvas inferior y superior.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. divide las curvas base. tratamos con una división en forma de rejilla.Número de segmentos . La idea es poder controlar tanto la subdivisión en altura como a lo largo de las columnas. ARCHITECT . tal como ves en la figura 16. donde teóricamente irían situados los asientos de los graderíos. De esta forma es posible no únicamente controlar la geometría de los graderíos como también conocer la capacidad del etadio de manera dinámica. tanto las divisiones que hemos creado para las curvas inferior y media como las líneas que las unen. Puedes ver un ejemplo de cómo realizarlo en la definición de la figura 15.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. Puedes crear la superficie de tránsito. que podemos llamar. Superficies del graderío diferenciadas por una zona intermedia (resolución de previsualización baja)] [ 21 ] . ARCHITECT . respectivamente. si bien trataremos este caso con más detalle en el siguiente capítulo. Para crear los graderíos usaremos una vez más el comando (componente) loft. es posible que se precise de una zona intermedia de tránsito entre ambos graderíos. Subdivisiones del graderío en sus sucesivas etapas] b. con las propiedades por defecto. en este caso las parejas inferior-media y media-superior.ARCHI [O] LOGICS Curve Division 1 Curve Division 2 Stand Lines Closeup of stand subdivisions [Fig 16. Como es de suponer. usando el comando Loft o PlanarSrf a partir de las dos curvas intermedias. CrvMed2. una vez más. El resultado de aplicar el comando será. Upper surface Lower surface CrvUp CrvMed2 (offset) CrvMed CrvDown [Fig 17. a partir de ahora. Como ya sabes. por lo que se puede pensar en independizar algo más estas dos superficies. el comando loft toma una serie de curvas como input. como es evidente. Superficies base de los graderíos (versión simplificada) Parte de la definición de la figura 15 incluye la creación de superficies para la definición más detallada de la geometría del estadio (superficies inclinadas) y su posterior aplicación para crear los graderíos reales (escalonados). dos superficies donde localizar los graderíos inferior y superior. podemos “duplicar” la curva intermedia mediante un offset y crear la superficie correspondiente al graderío superior con dicha curva. Para hacer el modelo más realista. De este modo obtendríamos un modelo más apropiado y ligeramente más completo y complejo. ARCHITECT .ARCHI [O] LOGICS [ 22 ] . Definición para la creación de la superficie base de la cubierta con los grupos necesarios] OBTAIN NEW LINES Crv mid2 Crv up2 Area CREATE SURFACE INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS.Crv mid Crv up Vector X Y Z Input geometry Transformation vector CREATE BASE LINES Move CREATE SKYLIGHT CURVE Input geometry Crv in Fit Plane Non-U Scale Center Curve ScaleFactor Base Plane ScaleFactors MODIFY SKYLIGHT CURVE Area Centroid Scale Uniform [Fig 18. A continuación se describirán las dos formas de escalar. Observa con detenimiento la definición de la figura 18. En ella encontrarás los siguientes pasos: . debes “alimentarlo” con la siguiente información: . lo que permite controlar su posición sobre el estadio · Escalado uniforme o no uniforme de la misma. Para utilizar el componente. una vez más. el estadio precisa una cubierta que enfatice su valor geométrico y arquitectónico.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. la forma de la superficie final de la cubierta. como su nombre indica.Creación de la curva del hueco de la cubierta mediante sucesivas transformaciones.Geometría a escalar (independientemente del tipo) [Fig 20. [Fig 19. ARCHITECT . tal como sigue: · Desplazamiento mediante el comando Move.ARCHI [O] LOGICS 5. . para controlar la forma definitiva y apertura del hueco de cubierta. Puedes encontrar el componente en Transform>Affine>Scale/ScaleNU o tecleando scale en el menú emergente cuando haces doble click. Como resultado se obtienen las curvas llamadas Crv mid2 y Crv up 2 . un offset de la recién obtenida CrvUp2. . Menú de Scale y ScaleNU] a. por lo que se realiza un offset hacia afuera para controlar dichas líneas. un objeto geométrico con el mismo factor de escala en las tres dimensiones del espacio. El primer paso a seguir es la definición de las líneas de base que van a conformar. a la postre.Modificación de la curva del hueco de cubierta (CrvIn). Utilización de escalado uniforme El escalado uniforme escala. CrvUp2 y CrvIn. Surface>Analysis>Area] [ 23 ] . Para la creación de dicha línea se realiza.Obtención de nuevas líneas de definición de la cubierta a partir de las existentes (la cubierta se entiende separada de los graderíos.Creación de la superficie a partir de las curvas Crv Mid 2. Cubierta: modificación de curvas y loft A continuación. un punto base a posteriori. Este componente precisa únicamente de un input geométrico válido. y de manera un tanto extraña. y factores de escala] b.ARCHI [O] LOGICS . Finalmente crea un slider que contenga valores ente 0. en el centro de área (centroide) de la curva en cuestión. Y. un comando que funciona con superficies. . ARCHITECT . podemos probar el No Uniforme. Conecta de nuevo CrvIn como input. Escalado uniforme y escalado no uniforme] [Fig 22. Prueba a modificar los valores de los sliders para ver cómo la curva va cambiando simultáneamente si escala y su colocación. un plano de transformación. Una manera relativamente eficiente es hallar por un lado el centroide. de manera automática. Encuentra el componente en Vector>Plane>Plane Fit o introduciendo una búsqueda en el menú contextual que aparece al hazer doble click en el lienzo. y usarlo como base para definir un base por tres puntos. Z. y usa el output C (centroide) como input para el escalado. y BREPs (Boundary REPresentations) en general y del que podrás obtener tanto el área del objeto como su centroide. automáticamente. en lugar de un punto base. La principal diferencia estriba en que el no uniforme precisa 3 inputs que definan cada uno de los factores de escala para las respectivas transformaciones en X. el centro de la curva. buscaremos crear un plano cuyo centro esté en el centro de la misma. movimiento.Factor de escala: en nuestro caso siempre menor que 1 y mayor que 0.Crea un plano base: En este caso.1 y 1 para controlar el factor de escala. dividir la curva en un numero suficiente de segmentos (mínimo 3) y tratar de averiguar un plano que pase por todos ellos. Conecta la curva interior CrvIn al componente de escalado en G (geometry input). . que es igual para X. Asimismo. Como queremos escalar la curva CrvIn. Para hallar el centroide de la curva. sencillamente. Y. que usaremos como punto base para escalar. una vez más. lo que nos servirá de investigación a nivel ilustrativo. [ 24 ] . y Z. para evitar problemas con geometría imposible. Opciones de superficie en función de los distintos parámetros de offset. Otra manera más sencilla sería. [Fig 21. Podemos hacer esto de diferentes maneras. Esto va a hacer que tengamos que diseñar un método específico para poder crear un plano donde queremos. necesitamos que el plano base de escalado se sitúe.Centro de escalado: preferiblemente. emplea el comando Area descrito anteriormente. del que extrae. Escalado no uniforme Una vez familiarizados con el escalado uniforme. curvas. el escalado no uniforme toma. Para obtener el centro de la curva usa Surface>Analysis>Area. Exactamente esto se consigue usando el componente PlFit.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS.1. PlaneFit en Vector>Plane>PlaneFit] . Crv centroid NON UNIFORM SCALE Scale Factors Plane on (0. que es el centroide de la curva base.0) Translate Plane to Curve Centroid Curve Base Plane X Y Z Non-uniformly scale Curve [Fig 24. Puedes ver un close-up en la figura 24.ARCHI [O] LOGICS [Fig 23. Y. para comprobar cómo varía la forma de la misma. Para ello.Modifica el plano base: Verás que el plano base se ha creado basado en (0.0) pero con la orientación correcta. ya que aún no se ha creado. el plano base modificado. y tres valores de X. halla el centroide de la curva con el componente Surface>Analysis>Area. que ya hemos usado anteriormente.0. Obtendrás algo parecido a la figura 22 sin ver la superficie.0. Alimenta el componente Scale NU con la curva. ARCHITECT . Z. .INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. Todo lo que necesitas hacer es desplazar o trasladar el plano base a su posición correcta. Non Uniform Scale] [ 25 ] . y utiliza su output C (centro) como input T (vector de desplazamiento) del componente Move.Finaliza el comando Scale NU: Ya se puede concluir el escalado no uniforme de la curva. incluyendo: . deberíamos tener un estadio paramétrico simple (realmente. Esto creará las geometría que falta. lo que permite conocer más a fondo cómo describe Grasshopper las superficies (si eres usuario de RhinoScript o avanzado de Rhino. ARCHITECT . una muy simple volumetría) semejante al de la figura 25. CrvUp2.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. [Fig 25. hemos creado de forma sencilla e intuitiva las superficies más importantes de que consta el estadio. completaremos el edificio con más detalles de graderío y con una serie de huecos en la cubierta y su estructura. Loft Finalmente. A este nivel.Graderío .Cubierta A partir de ahora. ya sabrás los conceptos básicos) y algunos elementos interesantes para modificar los conjuntos numéricos. une CrvMid2.Campo . y obtendrás como resultado la cubierta. Hasta ahora. Parametric Stadium .ARCHI [O] LOGICS c.nivel básico] [ 26 ] . y CrvIn en un componente Flatten para posteriormente usar el componente Loft. ARCHITECT .ARCHI [O] LOGICS [ 27 ] .INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. ARCHITECT .ARCHI [O] LOGICS MODELADO PARAMÉTRICO AVANZADO: SUPERFICIES Y MODIFICADORES [ 28 ] .INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. [ 29 ] . excede ampliamente el foco de nuestro manual por el momento. el uso de algoritmos recursivos no es el fuerte de Grasshopper (para esto es mejor que programes) y sería precisar entrar en componentes de scripting para poder hacerlo. DESCRIPCIÓN DE SUPERFICIES EN GRASSHOPPER 1. por lo que incrementamos el número de piezas del terreno de manera muy rápida. si quisiéramos subdividir el campo en pequeñas superficies. Ahora. a partir de los llamados dominios en U y V (que corresponderían al ancho y largo del campo dentro de unos valores máximos determinados). Sin embargo. ARCHITECT . Topología Básicamente. De la misma manera describimos la posición de cualquier punto en una superficie en Rhino y Grasshopper.Una superficie base. De nuevo. El componente SubSrf Encuentra el componente SubSurface en Surface>Util>Isotrim. Es importante recalcar que el dominio debe ser bidimensional. por lo que podríamos. Crearemos dicho dominio modificando el original de la superficie mediante el componente dominio. realizar el mismo proceso de manera recursiva para cada una de las parcelas. dado el carácter asimismo bidimensional del objeto base de la geometría. [ 30 ] . que podemos denominar U y V. Además. el comportamiento de Grasshopper en cuanto a subdivisiones es exactamente el mismo. podrías localizarte en función de tu posición con respecto a la banda (ancho) y la línea de portería (largo). a dividir . Imagina que estás en un campo de fútbol y te mueves por él. Por favor. El número de rectángulos sería el resultado de multiplicar el número de segmentos de uno por el número de segmentos del otro.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. que veremos a continuación. [Fig 26. Para lograr tener subsuperficies tenemos que subdividir cada uno de los dominios por un número de segmentos y aplicar dicha división a la superficie original. si esta fuera nuestra intención. las superficies se tratan en Grasshopper como entes bidimensionales. Isotrim Menu] El componente IsoTrim precisa de los siguientes inputs: . Conociendo las coordenadas de una de las esquinas del campo.Un dominio bidimensional que sirva para realizar la división. a pesar del nombre del componente. valdría con dividir tanto el ancho como el largo en una serie de segmentos y trazar los correspondientes rectángulos. fíjate que el nombre del comando no es SubSrf. cada una de las parcelas se denomina Subsuperficie. Cada una de las parcelas o subsuperficies se comporta en sí misma como una superficie. Esto se debe a que las subsuperficies se obtienen haciendo recortes (“trims”) a partir de isolíneas (“iso”) de la superficie. 2. teóricamente.ARCHI [O] LOGICS I. siempre dentro de los límites (dominios) del campo. por tanto susceptibles de ser descritas en función de dos términos. U0: valor mínimo del dominio en la dirección U (base para el dominio. el componente devuelve únicamente 2 conjuntos de valores: . el componente devuelve un set de 4 números. [ 31 ] .U: dominio en la dirección U.V1: valor máximo del dominio en la dirección V (final del dominio en la otra dirección). para luego poder “recrear” otro dominio modificado a partir de los valores que queramos de U y V. II.V0: valor mínimo del dominio en la dirección V (base para el otro dominio).V: dominio en la dirección V. Lo que vamos a hacer es subdividir la superficie original que hemos creado en el capítulo anterior en un número determinado de subdivisiones (que podrá controlarse paramétricamente) para luego modificar cada una de esas subsuperficies a nuestro antojo. Verás que hay dos componentes que se llaman igual (como ves en la figura 27). En el primer caso. en otras palabras). dado un máximo y un mínimo. . UNA CUBIERTA COMPLEJA 1. por ejemplo. Por defecto. . Componentes SubSurface (IsoTrim) y Domain] 3. La base de la cubierta: superficie y subsuperficies La idea de la cubierta es sencilla: ser el repositorio de la representatividad del edificio.ARCHI [O] LOGICS Input domain (modified) Input geometry (surface) Input domain (surface) U0 (min U) U1 (max U) V0 (min V) V1 (max V) U domain V domain SubSrf (Isotrim) Domain to 2 subdomains Domain to 4 numbers [Fig 27. correspondiente a los siguientes valores: . creando patrones más o menos definidos o más o menos complejos. realizan la misma operación devolviendo resultados ligeramente diferentes. Esto es. Por defecto.U1: valor máximo del dominio en la dirección U (final del dominio en esta dirección). ARCHITECT . En el segundo caso. . 0. . El componente Domain Puedes encontrar los componentes de dominio en Mats>Domain>Domain2 Components. sin que necesariamente haya de ser un patrón homogéneo con distancias iguales. La ventaja que ofrece obtener los cuatro valores es que somos más libres de “jugar” con ellos. podemos crear tantos valores intermedios como queramos y siguiendo el patrón deseado. 0.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. · Con el botón derecho puedes seleccionar el tipo de gráfico que quieras (edita el componente).Creación del dominios bidimensional a partir de los valores U0 y V0 iniciales y los obtenidos de los rangos para U y V. Componentes Domain. 0.Obtener subsuperficies a partir de la superficie base y el dominio modificado a. 1.ARCHI [O] LOGICS El proceso será el siguiente: .3. .5. duplica el resultado para U y V). 0.1. Modificar el dominio de la superficie base y crear las subsuperficies Esta es realmente la parte más interesante de nuestra actuación por el momento.0 to 1. es posible que quieras hacer esto de manera más explícita usando un parámetro superficie que esté conectado inalámbricamente a dicha superficie. hemos de combinar los dominios lineales que vamos a crear independientemente en [ 32 ] .9.2.0) Number of steps for V domain division Range Graph [Fig 28. 0. Context menu (15 values for input = 14) Domain (by default from 0. Como habrás imaginado.8. Éstos servirán para definir cuántas divisiones tendrán los rangos que asignaremos a U y V.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. Range y Graph] · Finalmente crea unas gráficas en Params>Input>Graph Mapper y conecta el output del rango a cada una de ellas de manera independiente (es decir. Para ello. crea un conjunto de valores ente 0 y 1 con 10 pasos intermedios: 0. . ARCHITECT . · Ve a Math>Domain>Domain2 Components (el último de la lista) y añade el componente al lienzo de la definición. Estos componentes crean un conjunto de valores entre dos dados con un número de pasos (por ejemplo. que hemos denominado U y V. . 0. Usar la superficie generada como base Si bien puedes enganchar directamente la superficie resultante del loft al componente de subdivisión.0. 0.Modificar el dominio de la misma .Usar la superficie generada como base . que se describen a continuación: .7.0). · A continuación crea dos componentes Range (Rango). para ganar claridad en la definición. 0. 0. 0. que encontrarás en Sets>Sequence>Range.4.Ajuste de las gráficas en función de los criterios de diseño deseados. prueba varios tipos y observa el resultado.Obtención del dominio original con los valores máximo y mínimo para la creación de un rango entre ellos. Para superficies nos interesa tener un rango de valores combinado para las dos direcciones principales de la misma.Asignación de un rango de divisiones independientes para los dominios U y V mediante gráficas · Crea dos sliders con números naturales. La figura 29 explica perfectamente los pasos a seguir.6. conecta los sliders que has creado a dichos componentes y verás que el rango resulta en n+1 valores a partir de un slider de n valores. 0. b. Roof Triangulation] Get list APPLY DOMAIN Order list Srf4Pt Create Domain Length Cull 2D Dom [Fig 29. Subdivide Surface con rangos y modificadores de gráficas] Points on Flatten New surface point list point lists 4 items each Shift list List Shift by 1 V DOMAIN U DOMAIN Multiply by max Range Maximum value V1 Graph Subdivisions Range modifiers Range domain (default 0 to 1.ARCHI [O] LOGICS .0) Number of values Exp-type graph RANGE DOMAIN INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. min vals = 0) Surface divide Subdivisions in U\V directions uv parameters Normal vectors [Fig 30. ARCHITECT .[ 33 ] Number of subdivisions *keep 1 List of subsurfaces Original surface’s domain (need max values. Recuerda que.0 para el primer triángulo y 0. el primer punto y el último han de coincidir. · La lista estará entonces ordenada y podemos proceder a ordenar los puntos para los triángulos. Esto es todo lo que necesitas para triangular cualquier superficie. y 3. Así.0 to 0. al combinarlos. · Crea el dominio a partir de las dos listas. y D. De igual modo . Conecta la original a A y la recién creada (“Shifted List”) a B. por ejemplo. La primera lista es el rango que acabamos de obtener de la multiplicación.186 to 0. Recuerda que hemos creado triángulos a partir de superficies de cuatro puntos.1. como queremos tener 4 puntos en cada elemento de la lista. A continuación obtendremos los componentes siguiendo el protocolo que se indica: [ 34 ] . corresponden a los 0. y 2 por un lado. 3. Sigue los pasos a continuación: · Conecta el resultado de la gráfica al input B de un componente de multiplicación (encuéntralo en Math>Operators>Multiplication). De esta manera. es más sencillo de lo que parece a simple vista.166. para poder tener. 2. 3. si los puntos son. 0 para el segundo. Si te fijas. Los puntos B y C necesitan retocarse mediante un “Shift” para que correspondan a los puntos 1 y 2 (o segundo y tercero de las listas). que crea sublistas a partir de una lista inicial dividiéndola cada n componentes.Utilización del componente SDivide (Surface>Util>Divide Surface) para la obtención de los puntos sobre la superficie. encuéntralo en Sets>List>Shift List) y asigna el integer 1 a la entrada S.Crear una lista ordenada de puntos: · Conecta el resultado del flatten a un componente de Partition. Una vez hayamos triangulado extraeremos las aristas de las superficies y procederemos a modificar la superficie para que sea más compleja. las subsuperficies correspondientes. 0. Para evitar errores. obtendremos tantas listas como elementos teníamos entre 4 (o lo que es lo mismo. B. 3.Conecta finalmente el dominio creado al componente SubSrf para obtener. B. Los pasos que debes seguir son los siguientes: . De este modo.1086. 1. · Asigna el índice del último item de la lista a CullN y ya tienes la lista preparada para ser usada por el 2D Domain (que encontrarás en Math>Domain>Domain2 -“create a 2D Domain from 2 linear domains”). para que la superficie o polilínea correspondiente esté cerrada. el mismo número que subsuperficies). y 0..Asignación de este conjunto de dominios 2D al componente de subsuperficie para que cree el número de subdivisiones apropiado. utiliza un componente Shift (recuerda. o creear superficie a partir de 4 puntos. Verás que el último item de la lista contiene un intervalo no válido. Puedes ver la definición detallada de estos últimos pasos en la figura 31. 2. siempre más estables a nivel geométrico. 2. usaremos el componente Srf4Pt. el 0. C. y 3 por otro. En nuestro caso. ARCHITECT . 1. Como resultado obtendrás un rango ente 0. para lo que necesitamos dos listas. ya los extremos del mismo coinciden.Ordenar los puntos para crear la triangulación: · Sigue exactamente los pasos que encuentras en la figura 30. Puedes ver la definición exacta en la figura 30. por lo que deberemos alimentar los puntos de la siguiente manera: 0. una lista del tipo 0. La segunda debe contener los mismos valores desplazados. de la superficie original. 1. 2. C. 2. . .ARCHI [O] LOGICS uno sólo. De lo que se trata es de poder identificar cada uno de los puntos y de introducirlos en el orden correcto. Lo que necesitamos ahora es extraer los 4 puntos de los vértices de las subsuperficies creadas para crear una triangulación. los inputs del primer componente A. que corresponden a diferentes puntos de la superficie. Esto lo hacemos de esta manera para disponer de superficies “cerradas”. Conecta el máximo del dominio U o V en el input A. Usar los triángulos para crear componentes. por lo que es recomendable “aplanarla” con el componente Sets>List>Flatten List y proceder a ordenarla a nuestro gusto.. y 0.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. lo que puedes conseguir mediante el comando CullN. Usar subsuperficies para popular un modelo con componentes de diseño. los puntos A. podemos crear 2 triángulos con los puntos 0. y 3. 2. Para ello. has de eliminar este último item de la lista. Al crear superficies en dichos triángulos.0 y el máximo que has introducido en el parámetro A. Verás que la lista que resulta de dicho componente es un poco confusa. y D del segundo componente corresponden a 0. crearemos una partición cada 4 elementos. verás que los inputs A y D (primer y último punto) del componente Srf4Pt son iguales. Vamos a usar ahora cada una de estas (sub)superficies para popular la original con componentes. y corresponden al punto “0” (primer punto de cada item de las listas). . .2. · A continuación hemos de crear un dominio lineal. ARCHI [O] LOGICS . min vals = 0) Value range (0.0) Shift list Shifted list [Fig 31. Creación del dominio bidimensional] Max domain value Range from 0.[ 35 ] Graph values (from 0.0 to 1.0) Original surface’s domain (need max values.0 to 1.0 to max domain value) List Domain Linear domain 1 Linear domain 2 Index of last item in list 2D domain Culled Domain List *erased last interval INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. ARCHITECT .0 to max domain value Shift list by 1 Result (range from 0. al que asignaremos tanto las curvas obtenidas inicialmente de “Join” como las que acabamos de crear mediante “Fillet” (o el método que hayas estimado oportuno). incluyendo: . o tamaño de la lista). tres aristas por cada rectángulo). sigue los pasos que ya conoces: . barras. Para crear la superficie entre las curvas. Escalar el borde para obtener el hueco interior del componente Como en ocasiones interiores.La posición relativa de las piezas.Obtén el centroide de masas de la curva exterior .Unir los bordes duplicados para crear un triángulo . e. lo que también podría generar un error). o cualquier otro parámetro que ayude a que tu diseño sea más inteligente.Extruir la superficie como sólido con una superficie deseada a. Extruir la superficie Extruir la superficie requiere que definamos una serie de parámetros: . Duplicando los bordes Usa el comando “Edges”. Como resultado obtendrás una lista de curvas que a continuación hemos de tratar para obtener triángulos cerrados. o cualquier otro tipo de configuración. podemos escalar cada una de las curvas obtenidas de manera uniforme para crear huecos en nuestros componentes que nos sirvan para simular una estructura de celosía tridimenional. Es decir.Crear una superficie entre ambos . . Usa Flatten sobre ella para obtener una lista unidimensional con todos los bordes.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. el vector director de la extrusión (que nos dará la dirección. pero en orden. b. También puedes utilizar cualquier otro tipo de factores externos a la geometría (que veremos más adelante) o internos a ella. todos los bordes están indeferenciados en la nueva lista. A continuación une dichas aristas conectando el output C del comando Partition con el input C del Join. y factor de escala al componente Scale Puedes además introducir variantes de diseño mediante la modificación de estas curvasvariando su geometría de diferentes maneras.Crea un slider para el factor de escala que varíe entre algo más de 0 y algo menos de 1 (0 podría dar error y 1 dejaría la curva sin modificar. y al haber sido las primeras escaladas uniformemente (lo que nos garantiza que son coplanares). Unir los bordes duplicados Para unir los bordes.El ángulo con la vertical.Escalar o crear un offset hacia dentro del triángulo para crear otro interior .Duplicar los bordes de las superficies . En el ejemplo verás que lo hemos hecho con la pareja de listas de superficies obtenidas de la triangulación. Al “alisar” la lista. Para ello. que extrae las líneas de borde (las aristas) de un objeto BREP cualquiera. ARCHITECT . Obtendrás un conjunto de sublistas (tantas como triángulos) que contienen cada una los tes bordes que necesitamos.Otras que puedas pensar. centroides. Deberías obtener una lista con exactamente el triple de objetos de la lista inicial (es decir.Su grado . por lo que podemos formar sublistas de 3 elementos que correspondan a cada uno de los 3 bordes de cada triángulo. hemos utilizado el comando fillet con un slider para modificar las curvas interiores. toma la lista de “Naked Edges” de los resultados del comando “Edges” anterior. tales como . c. podemos emplear el comando “Planar”.La curvatura de la superficie original (a menor curvatura mayores esfuerzos). . Obtendrás la lista de curvas unidas y cerradas.En primer lugar. Po- [ 36 ] . .Conecta las curvas. En este caso.La inclusión de fillets para redondear los bordes . el sentido y la magnitud de la misma).ARCHI [O] LOGICS . d. usa el comando “Partition” de lista con la resultante del Flatten e introduce un valor de 3 en el input S (Size of List. Crear una superficie entre ambos Una vez más estamos recurriendo a partes y componentes que ya nos son conocidos. Para ello. cada grupo de tres bordes consecutivos pertenece a un mismo triángulo. [ 37 ] Edges Bezier-type graph Non manifold Edges Naked Edges Interior Edges Graph modifiers OBTAIN JOINED EDGES .ARCHI [O] LOGICS . Creación del dominio bidimensional] Obtain curve centroid CREATE INNER CURVE uv Parameters CALCULATE EXTRUSION OPTIONS Extrude INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS.CLOSED LOOPS Down-scale curve (obtain inner curve) Srf Closest Point Create in-between planar surface OFFSET COMPONENTS [Fig 32. ARCHITECT . y hallar sus coordenadas en espacio UV (R2). usa el comando Surface>Analysis>Surface Closest Point (Surface CP). Verás que el componente tiene dos inputs.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. Evaluate Surface Menu] El comando “Eval” (Surface>Analysis>Evaluate Surface) toma una superficie. que corresponden al punto de referencia P y a la superficie base S. Sin embargo. Surface CP Menu] Para ello. Los outputs que genera son los siguientes: · P: Closest Point o punto más cercano sobre la superficie · uvP: coordenadas UV del punto. y puesto que estamos tratando con vectores. lo más sencillo es calcular el punto más cercano de la superficie al centroide de masas de cada uno de nuestros componentes. Para ello. [Fig 33. ARCHITECT .v) y devuelve lo siguiente: [ 38 ] . necesitamos las coordenadas del punto en R2 para posteriormente evaluar la superficie con estos parámetros y obtener la normal a la superficie en cada punto.ARCHI [O] LOGICS demos obtenerlo directamente evaluando la superficie en un punto dado. una pareja de coordenadas (u. el output que necesitamos · D: distancia ente el punto seleccionado y la superficie de referencia Podríamos pensar que lo que necesitamos es el punto más cercano. [Fig 34. Para crear las líneas de contorno usaremos el componente Intersect>Mathematical>Contour. así que no vamos a detenernos en ello.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. Para escalar un vector usa el comando “Amplitude”. Por defecto. con la dimensión por defecto (1 unidad) o modificada por medio de algún tipo de escala o factor. siguiendo la configuración base de la superficie que hemos generado originariamente. Puedes ver una descripción diagramática de la definición en la figura 36 a continuación. De este modo. Modelo acabado con cubierta] III. 1. . es posible crear automáticamente los asientos o graderíos en función de su altura. deberías tener un modelo semejante al de la figura 35 [Fig 35. Ya hemos empleado sliders para escalar geometría en ocasiones anteriores. Si hasta ahora éste lo habíamos representado únicamente con una superficie inclinada. el vector es unitario. Para ello crearemos una serie de curvas de contorno con unos intervalos definidos (1 metro. El mecanismo del componente es extremadamente sencillo y necesitas únicamente el vector base y el factor de escala. · Frame: en ese punto. · Normal: el vector normal a la superficie en dicho punto. devuelve el plano tangente a la superficie. extraemos la normal que usaremos como base a la extrusión. ARCHITECT . PERFECCIONANDO EL GRADERÍO Probemos a continuación a perfeccionar el graderío. Crear las líneas de contorno. por ejemplo). Este proceso se puede repetir tantas veces como tramos diferentes de galería tengamos. las extruiremos para crear un segundo grupo.z) en las coordenadas u y v dadas. que explicamos a continuación: [ 39 ] . de manera que únicamente lo explicaremos y diseñaremos una vez.En segundo lugar. y uniremos mediante superficies las del primer y segundo grupo. que encontrarás en Vector>Vector>Amplitude. debemos definir la dimensión de la extrusión. Arrastra el componente al lienzo y verás que precisa de una gran cantidad de inputs.y.ARCHI [O] LOGICS · Punto: el punto (coordenadas x. En esta etapa. . Input geometry (surface) 1 Loft Original (previsualización) Contours from Loft Surface 2 Moved contours 3 Vertical offset lines (move) Contour Lines Final geometry (loft between contour and moved curves) 4 Final loft surface [Fig 36. Mueve las líneas de contorno hacia arriba la misma distancia que hayas usado para crear los mismos contornos. Verás que en la última fase se hace preciso ordenar las listas de las curvas con las que tratamos para su correcta aceptación por el comando Loft.N (Normal): dirección normal al desplazamiento del plano de contorno. El plano base el más bajo posible. · Plane: el plano base de la curva que hallamos partir del centroide. de manera que la primera línea copiada coincida en altura con la segunda del contorno. ARCHITECT . pero podemos trabajar con 1 unidad (es decir. . Define los inputs del componente Contour con los siguientes valores: · Shape: el loft original. El vector será vertical inicialmente. Define el plano con el origen en el centroide de masas de la curva (ya calculado previamente).S (Shape): malla o BREP de base. Como ves. cuando vayamos a crear la nueva superficie.ARCHI [O] LOGICS . Conecta dichos componentes al input del plano. Esta distancia la controlaremos por un slider. por tanto lo hallaremos con el componente del área de la curva base (la del campo) .P (Plane): plano base para comenzar los contornos. · Normal: un eje vertical y hacia arriba. la superficie con la que hemos trabajado hasta ahora. Éstos serán perpendiculares al vector. Los ejes puedes extraerlos de Vector>Vector>UnitX y Vector>Vector>UnitY. La superficie del loft inicial.D (Distancia): distancia de salto entre plano y plano para los contornos. es decir. pero para comenzar puede ser 1 unidad. los contornos estarán separados entre sí 1 metro en vertical) 2. Este extremos lo explicaremos más adelante con cautela.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. el vector Z · Distancia: en este caso crearemos un slider. Copia las líneas de contorno Este paso es muy sencillo. el eje X universal y el eje Y universal. [ 40 ] . Proceso de modelado del graderío] Observa la definición de la figura 37 para comprender el proceso completo. deberemos estudiar cuidadosamente cómo ordenamos las listas de curvas. ARCHITECT . Creación de las curvas de contorno y el loft definitivo para los graderíos] Contour Distance Loft surface Base Plane Normal vector Distance Vertical vector (horizontal planes) Contour MOVE CONTOUR LINES LOFT WEAVED CURVE LIST INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS.ARCHI [O] LOGICS .[ 41 ] Normal Plane Vector Origin X Axis vector Y Axis vector Input curves CREATE CONTOUR LINES Contour Weaving pattern List1 List2 [Fig 37. Definición del patrón de weave] Haz click con el botón derecho sobre el componente para abrir el panel contextual. Ordena las listas de curvas Para crear el loft. ten en cuenta el orden en el que vamos a introducir las curvas. que encuentras en Sets>List>Weave. [ 42 ] . y que podrás pasar directamente al comando loft. Una vez hayas hecho esto con las listas. Éste debería ser el siguiente: . Al llegar al final de la definición del patrón.Modificar las aperturas de los huecos en función de factores intrínsecos al objeto. . Estos corresponden a la lista 0 y a la lista 1.ARCHI [O] LOGICS 3..Segunda curva contorno. define los siguientes: 0. te permite definir un patrón de “hilado” ente dos listas. Como ves. lo que implicaría un cambio radical del modelo. dentro de la opción “Set Multiple Integers”.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. obtendrás un única lista “refundida” de las dos anteriores. De esta manera. deberemos definir cuántos elementos y en qué orden (de cada lista) se van a introducir (aunque es el comportamiento por defecto del componente hacer uno a uno).Introducir atractores para generar variabilidad externa a la definición geométrica.Primera curva movida (lista 2) . . En este caso. [Fig 38.Primera curva de contorno (lista 1) . por lo que se hace imprescindible el uso de Weave. e intenta crear tantos parámetros como sean necesarios para tener un control apropiado sobre el modelo. y que por tanto es muy mejorable.Ver posibilidades de scripting para fabricación. En el input P. el componente analizará las listas y cogerá el primer elemento de la primera y luego el primer elemento de la segunda. Repite esta operación con tantos tramos de graderíos tengas. volverá a hacer los mismo con el siguiente elemento de las lista hasta que las dos listas se acaben. El resultado debería ser como el de la fase 4 de la figura 36.. hemos de combinar los elementos de las listas uno a uno. Este componente. ARCHITECT .1. Algunas opciones serían: . y en ése orden los insertrará en la nueva lista. Recuerda que la definición correspondiente a este modelo es una definición simplificada. ARCHI [O] LOGICS [ 43 ] . ARCHITECT .INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. ARCHI [O] LOGICS CREACIÓN DE GEOMETRÍAS LIBRES COMPLEJAS CON CRITERIOS ESTÉTICOS [ 44 ] .INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. ARCHITECT . [ 45 ] . Verás que hay una serie de puntos y líneas. sin embargo. Por otro lado. Trabajaremos con una superficie sencilla a la que aplicaremos un algoritmo de triangulación y posteriores modificaciones para generar volumen en componentes.ARCHI [O] LOGICS I. En nuestro caso. Breve descripción del algoritmo Imagina que tienes un mapa de una ciudad en donde haya una cantidad n determinada de repetidores móviles. pueden asemejarse a limitaciones geométricas. aplicaremos además esta solución al espacio bidimensional de una superficie. o sencillamente cuestiones estéticas y de voluntad de diseño. en gris las celdas o espacios contenedores] [ 46 ] . Dichos controles son externos a la volumetría propia del edificio o modelo y pueden considerarse modificadores del mismo. II. y se resuelve matemáticamente mediante una ecuación de tipo n*(log n) para permutar varios algoritmos. La resolución de este particionado zonal de un territorio definido se dispersa mediante el diagrama de Voronoi. De este modo. 2. Como puedes observar. al igual que la solución plana que estamos tratando en el ejemplo. todo lo que necesitamos es un conjunto de puntos y un espacio o marco que los contenga. el Voronoi puede resolverse además por medio de teoremas geométricos como la triangulación Delaunay. De este modo. De este modo. se crean paquetes o zonas que corresponden a cada uno de los puntos dentro de un espacio finito y limitado. Topología Esta parte del manual se centra en generación de geometría compleja y su modificación a partir de controles externos interactivos.. modificaremos la geometría ya creada con una serie de atractores. mientras que los grises corresponden a las celdas que aquéllos definen. condicionantes que influyen en el comportamiento del mismo. Posteriormente. no vamos a entrar en el algoritmo en tanta profundidad. Voronoi en plano. o un vector una dirección de apertura de lamas o semejante. un punto puede significar un rayo de luz. OBJETIVO 1. TRABAJAR CON EL ALGORITMO VORONOI SOBRE DIFERENTES SUPERFICIES 1. Puedes ver un gráfico resuelto con el algoritmo en la figura 39. Un teléfono localizado en cualquier punto de la ciudad trata siempre de conectar con los postes más cercanos. vistas. soleamiento. en el caso anterior. por ejemplo.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. [Fig 39. Descripción del marco proyectual Debes haber manejado Grasshopper con cierta soltura antes de comenzar a modelar este tipo de geometrías. ARCHITECT . Los puntos más oscuros corresponden a los puntos de los repetidores. en donde cada una de ellas tenga exactamente la cobertura de uno y sólo uno de esos repetidores y se encuentre lo más cerca posible del mismo sin que exista ningún otro repetidor más cercano. ya que éstas pueden definirse en espacio R2. por lo que la ciudad se divide en zonas. Usaremos el valor de dichos números para calcular otros aleatorios que pertenezcan a dicho dominio. Aplicando el algoritmo en Grasshopper (método I) En este primer caso vamos a trabajar con el algoritmo de una mare muy específica: dibujaremos el algoritmo en 2D. los cuales. hallaremos primero el dominio de la superficie. en este caso. basta con emplear de manera adecuada los componentes existentes. De nuevo. ARCHITECT . Para la superficie puedes crear una desde el principio en Rhino o seleccionar. Otra opción es.ARCHI [O] LOGICS 2. Como en la mayoría de los casos. sin lugar a duda. S) para la generación del número aleatorio. la crearemos directamente dentro de la interfaz de Grasshopper mediante la “población” de una superficie. La nube de puntos. la cubierta del estadio que acabamos de diseñar en el apartado anterior.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. Como probablemente sepas. Así pues: · Halla el dominio de la superficie mediante el comando Domain. para combinarlos en parejas que resulten finalmente en parámetros U y V. son rangos de números que oscilan ente 0 y uno superior. por ejemplo.Componente Domain2Components] · Genera números aleatorios mediante el comando Sets>Sequence>Random. En cualquiera de los casos.Para crear una distribución aleatoria de puntos sobre una superficie. Asegúrate de que tanto uno como otro componente generen el mismo número de [ 47 ] . la cantidad de números aleatorios a generar (N). por lo que no es necesario que intentes crearlo tú. el comando precisa una superficie u objeto con un dominio bidimensional y lo descompone en sus subdominios U y V. Encuentra el componente en Maths>Domain>Domain2 Components. Crea dos contenedores separados para U y V. calcularemos la interesección ente la solución Voronoi y nuestra superficie. si bien se podría intentar controlar manualmente. y conéctalos de forma independiente. y luego encontraremos (dentro de dichos rangos o dominios) tantos números aleatorios como necesitemos. a su vez. . En función del tipo de superficie que tengas. [Fig 40. ya existe un componente que resuelve Voronoi en Grasshopper. y crearemos una malla a partir de dicha intersección. este componente precisa un dominio para el rango numérico (R). crearemos la solución tridimensional a partir de la caja contenedora de lasuperficie base. mapear la solución bidimensional plana directamente sobre una superficie. es posible que quieras usar uno u otro métodos. a. También estudiaremos esta opción. todo lo que necesitamos es una superficie y una nube de puntos. Crea el setup para la solución Voronoi Recuerda. y una semilla (Seed. ARCHITECT . Definición de Voronoi para crear una malla a partir de una distribución de nube de puntos sobre una superficie (mostrando dos opciones)] OBTAIN BBOX INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS.ARCHI [O] LOGICS [ 48 ] .Reduce rnd Populate Domain OPTION 2 OPTION 1 1 3 2 1 3 Randomize 4 Srf 3D Vor 4 2 Remove duplicated data strt pt 1 (n-1)th mesh A resulting mesh *single face nth mesh D 3 Average to obtain scale center original segment Obtain vertices on surface Evaluate Voronoi Intersect RND SRF POPULATION U domain V domain BASE GEOMETRY ORDER POINTS B 2 4 3 2 1 C 1 3 2 4 Meshes Join Vertices from segments Face order Mesh list (quads) resulting mesh *all faces vertex order *in QUAD scaled segment 4 end pt Shift lists Other segment’s end/start points Segment’s end/start points CREATE MESH [Fig 41. Combinación para su uso por el comando Eval] [Fig 43. · Una vez genrados los valores aleatorios.Obteniendo los valores aleatorios para U y V. que crea un vector (esto es.ARCHI [O] LOGICS valores y finalmente establece valores diferentes para las semillas de ambos componentes (por ejemplo. obtendrás la geometría en sí.Menu Vector>Vector>VectorXYZ] · Conecta el output del componente VectorXYZ (Vec) al input uv del componente Surface>Analysis>Evaluate Surface para obtener los puntos correspondientes a las coordenadas (u. 0 y 1). Sin embargo. En este caso. ARCHITECT . y 0). el Vector XYZ. una tríada de valores) a partir de tres componentes o valores por separado (para los que utilizaremos el rango obtenido para U. U Amount random numbers V [Fig 42. lo haremos utilizando un a priori extraño componente al efecto. Esto puede hacerse de múltiples maneras. [ 49 ] .v) dadas por los números aleatorios. el rango obtenido para V. para demostrar la flexibilidad de los componentes de Grasshopper.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. debemos combinarlos en un único valor del dominio. INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. lo que le dará un entorno limitado de trabajo. Es conveniente recordar que en este caso lo haremos por medio de la intersección del cálculo de la solución Vornoi 3D con la superficie de la cubierta. de conocer a fondo el algoritmo. que encuentras a continuación. La solución se computará automáticamente.ARCHI [O] LOGICS b. Calcula la solución Voronoi Una vez hemos construido los puntos sobre la superficie con el dominio dado. [Fig 44. sino de poder usar las herramientas necesarias para trabajar con el diseño que más nos convenga en cada momento. Intersección] [ 50 ] . y deberá tener un aspecto semjante al de la figura 44. De todas maneras. como hemos dicho. podemos proceder al cálculo de la solución Voronoi tridimensional que nos servirá para fijar la geometría final sobre la cubierta. no se trata. ARCHITECT . · Conecta los puntos recién obtenidos al input P del componente Mesh>Triangulation>Voronoi 3D. Solución. 3D Voronoi: BBox. tal como puedes ver en la figura 41. · Conecta la caja opcional del Bounding Box de la superficie al input B (Boundary) del componente Voronoi 3D. de manera que queden como una lista única. o algún tipo de parámetro en función del área de cada zona. Dichas mallas tendrán únicamente una cara. ya que vienen ordenados por polígonos o áreas. Con los puntos inicial (0) y final del segmento original (1) e inicial (2) y final (3) del segmento escalado definiremos dicha cara.Finalmente. y los puntos sobre la superficie. por un lado. el orden en el que introduzcamos las mallas iniciales es totalmente indiferente.Hecho esto. por ejemplo. . Crea la malla A continuación deberemos descomponer la geometría en segmentos. tal como puedes ver en la figura 41 de páginas anteriores. podermos unirlas todas en una única malla.Escalaremos los vértices ordenadamente usando como centro el centro de masas de los polígonos. usaremos el componente Maths>Util>Average para hallar la media de las coordenadas de todos los puntos. De este modo. Verás que realmente es en el componente Mesh>Primitive>Mesh Quad donde se ordenan dichos puntos. Emplea el factor de escala que estimes oportuno. conecta los vértices al componente Merge. .Para descomponer la geometría en segmentos. vamos a emplear directamente los vértices sobre la superficie. puedes unir todas las mallas en una única con el comando MeshJoin que encontrarás en Mesh>Util. Ten la precaución de unificar las normales de la malla antes de intentar modificarla. emplea el componente Explode. los segmentos de la intersección. correspondiendo la siguiente distribución: · A: 0 · B: 1 · C: 3 · D: 2 De manera que queden correctamente ordenados. [Fig 45. extruirla. Estos 4 puntos definirán los vértices de las mallas. . o llevar a cabo cualquier otra operación sobre ella.ARCHI [O] LOGICS c. En este caso.Escalados los vértices hemos de ordenarlos de manera que generen una cara. Si así lo precisas. Para ello.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. asocia los vértices y el output del componente Quad al componente Mesh. ARCHITECT . que serán todas quads (a posteriori puede triangularse la malla). tal como puedes ver si conectas el output a un panel de texto. para posteriormente escalar dichos segmentos y obtener así 4 puntos: el punto inicial y final de cada uno de ellos. De esta manera obtendremos. y una vez hemos creado cada una de las mallas. . . ya que en el último paso las uniremos en una única malla. Solución de la malla para el Voronoi obtenido] [ 51 ] . que se encarga de crear mallas independientes en función de los vértices dados y el orden en que se leen. Así pues. y ya que estamos tratando con puntos. cuyas caras serán cada una de las mallas que hemos creado hasta el momento. extruido una distancia determinada. En este caso. y trata de aplicar una imprompta personal que aleje el diseño de la estándar y directa aplicación de funciones predefinidas. ARCHITECT . Posibles extensiones Para terminar. [Fig 46. Puedes obtener resultados semejarntes al de la figura 46. Malla modificada] [ 52 ] .ARCHI [O] LOGICS d. explora un poco más allá las posibilidades que ofrece el software. se han unificado todas las normales de la malla.INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. Intenta crear tus propios efectos. y aplicado el comando Smooth con un valor de suavizado de 2. puedes probar a extender el ejercicio probando alguna de las siguientes variantes: · Escalar los huecos en función de algún parámetro geométrico · Refinar la malla una vez creada · Extrusionar la malla para obtener diferentes efectos · Aplicar el comando smooth sobre la malla terminada (y extruida) para crar un efecto de suavidad · Crea huecos curvos a partir de los vértices En definitiva. INSTITUTO ARNAIZ DISEÑO PARAMÉTRICO EXPLÍCITO CON GRASSHOPPER ADOLFO NADAL SERRANO MAS. ARCHITECT .ARCHI [O] LOGICS [ 53 ] . Documents Similar To Formacion Grasshopper NoLogosSkip carouselcarousel previouscarousel nextLos Codigos de La Etica de La IngenieriaSistemas de Manufactrura Unidad 1Syllabus, Materiales IndustrialesDiseño de IngenieríaPractica # 2 Higiene y Seguridad IndustrialCD-2126.pdfGUIA FUNDAMENTOS DE DISEÑODiseño en Ingeniería ACOFI (1)Cimbras_DisenoDiseño industrial TECsuperficies.pptArquisur n07 High SingleRoderick - Análisis Antropológico de Los Interiores de Las ViviendasDiseño ParametricoGrasshopper Workshop at Cornell Woojsung Com[1]IntroducciónPropuesta Metodológica Para Aumentar La Eficiencia en La Captura de Los Elementos Altimétricos Necesarios en La Elaboración Del Modelo Digital de Elevación7c Aplicadas Al DWBonsiepelas7Producto y Proyecto Tecnológico10 Reglas Básicas Para Juzgar Un DiseñoManual~1PROGRAMACION CURRICULAR SRprte linea de tiempoEnvelope Theorem 9217ActividadesCentralU2.rtf.docxParametros de Diseno y MetodosIdentificación de Recursos Digitales de Visualización para la Aplicación de un Modelo de Evaluación en el TallerSugerencia Cap 3TUTORIA N.-2 Iluminacion Parte 1More From Worm SteinSkip carouselcarousel previouscarousel nextThe Art of Slap for Bass - Brian Emmel.pdfPaper Engineering for Pop-Up Books and CardsPlantillas y AccesoriosWood Joints in Classical Japanese ArchitectureAnatomia de La MaderaWoodwork Joints 1917Ejercicios para la enseñanza de la Lectura Musical en el Aula de PreescolarJuegos Para Trabajar La Motricidad FinaArduino Notebookv6Andrew Loomis - Creative IllustrationPaper Engineering for Pop-Up Books and CardsPython Para TodosAndrew Loomis - Creative IllustrationCartoon Animation Preston Blair Manual Programacion ArduinoFooter MenuBack To TopAboutAbout ScribdPressOur blogJoin our team!Contact UsJoin todayInvite FriendsGiftsLegalTermsPrivacyCopyrightSupportHelp / FAQAccessibilityPurchase helpAdChoicesPublishersSocial MediaCopyright © 2018 Scribd Inc. .Browse Books.Site Directory.Site Language: English中文EspañolالعربيةPortuguês日本語DeutschFrançaisTurkceРусский языкTiếng việtJęzyk polskiBahasa indonesiaSign up to vote on this titleUsefulNot usefulYou're Reading a Free PreviewDownloadClose DialogAre you sure?This action might not be possible to undo. Are you sure you want to continue?CANCELOK
Copyright © 2024 DOKUMEN.SITE Inc.