Archive for the ‘RhinoScripting’ Category

proyecto final, 1er año IE School of Architecture, Geometría Arquitectonica II

Thursday, August 6th, 2009

Estás Imagenes corresponden al trabajo de los alumnos de primer año de arquitectura de la IE School of Architecture en la sede de Segovia.

Students Works, First Year IE School of Architecture, Segovia.

Extracto del encargo:
…Este proyecto consistirá en hacer un análisis espacial y/o programático de una parte de la Universidad con el objetivo de identificar una falencia que pueda ser suplida con un proyecto arquitectónico.

Hoy en día la profesión de arquitecto no puede ser planteada de la misma manera como se hizo hace algunos años atrás. El arquitecto que pretenda ser competitivo en el mercado internacional actual debe ser capaz de auto gestionarse y auto encargarse proyectos para buscar nichos económicos que no hayan sido explotados hasta el momento.

Nuestra profesión nos otorga una poderosa herramienta que es la observación y nos aprovecháremos de ella para desarrollar un proyecto arquitectónico que busque suplir un carencia dentro del edificio de la universidad y proponer una solución innovadora mediante la programación como herramienta proyectual.

El segundo encargo será un trabajo en parejas.

estatement of assignment…

This project will consist in to make a spatial analysis and / or programmatic analysis of the university with the objective to identify failures or problems that can be solved by architectonical project.

The profession of the architecture cannot be seen in the same way like years before. The architect that pretends to be competitive in the actual international market or even in the local market must be capable of self-managed and self-assignments projects that seek economic targets have not been exploited.

Our profession is based on a powerful tool that is the observation. We will use it to develop an architectonical project to propose an innovative solution trough scripting like design tool.

The second assignment will be in pairs.

Para más detalle de los proyectos, contactar a los alumnos a través de la universidad
For more information about the projects, please contact the students through the University.

bravo-gonzalez_9
bravo-gonzalez_9
bravo-gonzalez_9
bravo-gonzalez_9
bravo-gonzalez_9
bravo-gonzalez_9
bravo-gonzalez_9
bravo-gonzalez_9
bravo-gonzalez_9

cardiel-bueno_8
cardiel-bueno_8
cardiel-bueno_8
cardiel-bueno_8
cardiel-bueno_8
cardiel-bueno_8
cardiel-bueno_8
cardiel-bueno_8

moreno-marina_8
moreno-marina_8
moreno-marina_8
moreno-marina_8
moreno-marina_8
moreno-marina_8
moreno-marina_8
moreno-marina_8
moreno-marina_8

proyecto final, 1er año IE School of Architecture, Geometría Arquitectonica II

Wednesday, August 5th, 2009

Entrega final del proyecto: Los alumnos deberán presentar 8 laminas A2. La presentación será oral con un máximo de 15 minutos por grupo.

Se deberá incluir análisis espacial, conceptos y el código que hizo posible el proyecto, secciones, plantas, elevaciones del proyecto, considerando materiales, espesores y principios estructurales. (Planimetría)
Además se deberán incluir renders, dibujos donde deberá aparecer reflejado el carácter o la intención de materialidad del proyecto. También deberán aparecer intenciones de la construcción, así como ensambles, fijaciones, tensores, pilares. Deberá aparecer como los alumnos se imaginan la construcción del proyecto, que técnicas utilizarían para poder concretar su fabricación, que tipo de tecnología necesitarían para desarrollar sus proyectos.

Lamina 1: análisis del espacio
Lamina 2: Referencias Biológicas y arquitectónicas.
Lamina 3: Concepto del Proyecto
Lamina 4: Plantas
Lamina 5: Elevaciones
Lamina 6: Secciones
Lamina 7: Renders y dibujos
Lamina 8: Construcción

Final submission: the students will be present 8 Panels A2. The presentation will be oral with 15 minutes per group.
The Students will be showing spatial analysis, concepts, and the code of the project. Sections, plants, views, considering materials, widths and structural principles (planimetry).

Also they will include renders, drawings showing the character of the intentions of the project. Furthermore they should demonstrate intentions of the construction, assemblies, connectors, tensors, pillars.

The students must be show how imagine the project, which techniques will use to build the projects, and which type of technology is necessary.

Lamina 1: space analysis
Lamina 2: Biological and architectonical references
Lamina 3: Concept of the Project
Lamina 4: Plants
Lamina 5: Views
Lamina 6: Sections
Lamina 7: Renders and Drawings
Lamina 8: Constructio

Para más detalle de los proyectos, contactar a los alumnos a través de la universidad
For more information about the projects, please contact the students through the University.

fernandez-gonzalez_8
fernandez-gonzalez_8
fernandez-gonzalez_8
fernandez-gonzalez_8
fernandez-gonzalez_8
fernandez-gonzalez_8
fernandez-gonzalez_8
fernandez-gonzalez_8

aragon-gusano_8
aragon-gusano_8
aragon-gusano_8
aragon-gusano_8
aragon-gusano_8
aragon-gusano_8
aragon-gusano_8
aragon-gusano_8

payo-merino_8
payo-merino_8
payo-merino_8
payo-merino_8
payo-merino_8
payo-merino_8
payo-merino_8
payo-merino_8
payo-merino_8

colaboration / flying surface

Friday, June 26th, 2009

This is a small colaboration with Mary ann busby, from chile.
the aim was generate surface from other surfaces, and create some kind movement.
the code works under recursion: analizing, generating and deleting every surface.
is very abstract and also is very simple how it’s works.

This movie requires Flash Player 9

Some Images from the complete generation, saving every “child”:

113

27

2-a-despues-del-crecimiento

35

r22

r12

r3-seccion-de-un-crecimiento

r21

And here the code:
some functions from Marius Watz:
Option Explicit
‘Script written by carlos de la b.
‘Script copyrighted by designemergente.org
‘Script version miércoles, 24 de junio de 2009 18:17:12

Call Main()
Sub Main()

‘//we need a Surface to grow and grow
Dim Idsrf
Idsrf = Rhino.GetObject(”sel srf”, 8)
If IsNull(Idsrf) Then Exit Sub

Call rec(Idsrf, 0)

End Sub

Function rec(Idsrf, counter) ‘//recursion under your own Risk!!!

‘domain of the curve
Dim Udom, Vdom
Udom = Rhino.SurfaceDomain(Idsrf, 0)
Vdom = Rhino.SurfaceDomain(Idsrf, 1)

‘parameters, divisions, counters and a point
Dim Up, Vp, divU, divV, i, j, k, pt, l
k = 0
divU = 6
divV = 6

Dim arrPoints(35)

For i = 0 To divU – 1
For j = 0 To divV – 1

Up = Udom(0) + i * ((Udom(1) – Udom(0)) / divU)
Vp = Vdom(0) + j * ((Vdom(1) – Vdom(0)) / divV)

pt = Rhino.SurfaceCurvature(Idsrf, Array(Up, Vp))

‘Randomize
‘ If 0.5 < rnd Then
‘ pt(1) = Rhino.VectorScale(pt(1), rnd * 5)
‘ l = Rhino.PointAdd(pt(1), pt(0))

‘ Else
l = Rhino.PointAdd(pt(1), pt(0))

‘ End If

arrPoints(k) = l
k = k + 1

Next
Next

Call Rhino.DeleteObject(IDsrf)
Dim n: n = Rhino.AddSrfPtGrid (Array(divU, divV), arrPoints)

Call Rhino.sleep(3000)

renderView()

Call rec(n, counter + 1)

End Function

‘ Render current viewport
Function renderView()’this function from Marius Watz, a very little modification by me.
Dim view,filename

view = Rhino.CurrentView
Rhino.Command “_-Render”
filename=getRenderFileName(”GrowSurface”)
Dim cmd : cmd=”_-SaveRenderWindowAs ” & Chr(34) & filename & Chr(34)
Rhino.Command cmd
Rhino.Command “_-CloseRenderWindow”
Rhino.Sleep(3000)
End Function

‘ Get auto-incremented filename
Function getRenderFileName(scriptName) ‘this function from Marius Watz
Dim index,done, doc, file, temp,imgNum

done=-1
index=0
Do While done=-1
doc=Rhino.WorkingFolder & “\” & scriptName & padStr(scriptName,index) & “.jpg”
file=Rhino.FindFile(doc)
If IsNull(file)=True Then
done=1
Else
index=index+1
End If
Loop

getRenderFileName=doc
End Function

Function padStr(prefix,val) ‘this function from Marius Watz
Dim l : l=Len(val)
If l<1 Then
padStr=”000″ & val
ElseIf l<2 Then
padStr=”00″ & val
ElseIf l<3 Then
padStr=”0″ & val
Else
padStr=”" & val
End If
End Function

Workshop RhinoScript at ETSAM(Madrid)

Monday, April 20th, 2009

The last week I have been teaching at ETSAM in Madrid, doing a RhinoScript Workshop in GIGA  Departamento de Ideación Gráfica. Most of the Participants are professors of the university with high levels of mathematics and geometry. The rest, students with high levels in scripting (VB and processing). The workshop lasted two days, we start with Data Types, Mathematical Operations, Conditionals, Loopings, Arrays, Functions and Advanced Functions, Curves Analisys, Surface Analysis, Generation of Surfaces by Parametric Equations (in the group we count with a mathematician), Fractals and Recursion.

The atmosphere during the workshoop was really cool!. I would personally like to thank: Carmen García Reig (Organization and invitation), Ismael García (Organization), Antonio Casas (the mathematician), Pablo Miranda Carpintero (I’m eager to see the programming in Sketch-up), Tomás Pineda (Images), Miguel Vidal, see his blog: arquitecturaprogramable.es

With no particular order, some images of the projects during the workshop.




Tomás Pineda:

tomas4

tomas3

tomas2

tomas1




Pablo Miranda

pablo4

pablo3

pablo2

pablo1




Miguel Vidal

miguel8

miguel7

miguel6

miguel5

miguel4

miguel3

miguel2

miguel1




Ismael García

ismael4

ismael3

ismael2

ismael1




Carmen García Reig

carmen3

carmen2

carmen9

carmen8

carmen7

carmen6

carmen5

carmen4

Seminario AGs – U.P.C.

Wednesday, December 17th, 2008

Después de todos estos meses trabajando para el doctorado, las diferentes colaboraciones para ACXT, concursos con amigos (casi nunca puedo decir que no), la preparación de mis clases para la universidad, El curso del FIB sobre Redes Neuronales y computación evolutiva me han dejado muy poco tiempo. Y cuando lo he tenido, lo he empleado en limpiar los platos. Creí ver una civilización que había desarrollado inteligencia, había dividido el lavaplatos y se preparaban para una guerra con migas de pan.

Hago este post, de un pequeño seminario para profesores de la UPC, sobre Algoritmos Genéticos. Todos ellos sabían programar desde hace mucho. Habían comenzado con Auto Lisp para Auto CAD y eran muy hábiles con Visual BASIC, obsesionados con las nubes de puntos y el apilamiento de bloques.
Todos locos de la investigación y la exploración.
El Seminario fue muy corto, pero tuvimos oportunidad de intercambiar muchas ideas y estrategias en resolución de algoritmos y en la optimización de diferentes problemas.

Un ejercicio muy interesante fue el ByteString Problem, que comenzamos usando la fuerza bruta para descifrar una cadena de N bytes. Para luego poder incorporar estrategias evolutivas y poder comparar las diferentes estrategias.

Todas las imagenes tomadas de la web: google / imagenes / “parámetro de búsqueda”.
excepto imagen 9, cuaderno de notas, autor
excepto imagen 10, esquema básico de los AGs, autor
excepto imagen 20, funciones del ByteString Problem, autor, curso de Luis Belanche
excepto imagen 21, print pantalla de un resultado de búsqueda por medio de mutacion, población y descendencia, se uso RhinoScript, aunque VB dio algunos problemas fueron solucionados.
Excepto Imagen 25, estrategia tomada de http://www.geocities.com/pretabbed/ags.htm