CNC – Discretización de superficie (v.2)

Haciendo click aquí podeis descargar una nueva versión, más simple, del script para discretizar superficies en una serie de vigas, que colgamos la semana pasada. Esta versión hace las vigas en las direcciones X e Y, por lo que teneis que orientar la superficie de acuerdo a estas condiciones para obtener el resultado más adecuado a lo que busquéis.

Workshops Processing/PureData/Arduino. MUA

Estos días se están celebrando en el MUA workshops de Processing, Pure Data y Arduino. Aquí tenéis el LINK a la web creada para los talleres con tutoriales, ejemplos y enlaces relacionados.

Prospectus Proyectos Arquitectónicos 2008/09

Ya tenemos disponible el PDf del Prospectus de este año, con todos los programas de curso de todos los talleres.  Este es el LINK, pero paciencia, son 63Mb y tarda un poco.

FICOD 2008

Aquí tenéis la información para el próximo congreso FICOD 2008, organizado por CAMPUS PARTY. Será en Madrid la semana próxima, del 25 al 27 de noviembre. Información del programa y acreditaciones en la web del congreso. Que lo disfrutéis!

LAC – Presentación

El Laboratorio de Arquitectura y Computación [LAC] es una propuesta conjunta del Área de Proyectos Arquitectónicos y del Área de Expresión Gráfica en la Arquitectura, ambas pertenecientes al Departamento de Expresión Gráfica y Cartografía de la Escuela Politécnica Superior de la Universidad de Alicante. El [LAC] se quiere constituir como una plataforma estable para la investigación en el ámbito de la cultura digital asociada a la Arquitectura y a la producción industrial.

Introducción:
Durante la última década el desarrollo y la popularización de medios informáticos y la combinación de tecnología, arte y ciencia ha abierto un inmenso campo de trabajo en torno a lo digital. Instituciones como el MIT media laboratory, el ZKM, el Institute for the Unstable Media, el Medialab Prado, manifestaciones y eventos artísticos como Ars electrónica o SonarMática, proyectos como SENSEable City Laboratory, premios internacionales como el Vida 10.0 sobre arte y vida artificial de la Fundación Telefónica, son sólo una muestra de la masiva presencia de la investigación digital en los foros más innovadores de la cultura contemporánea.
Por otra parte, la incorporación plena de los instrumentos digitales a la producción industrial ha propiciado grandes avances, sobre todo en cuanto al perfeccionamiento de las herramientas de diseño paramétrico y algorítmico, del CAD (computer-aided design)- CAM (computer-aided manufacturing) y de los dispositivos de teledetección, posicionamiento y sistemas de información geográfica.
El impacto que la tecnología digital está ejerciendo sobre la cultura contemporánea y en particular sobre la arquitectura, hacen que el aprendizaje y el conocimiento especializado de estos medios sea un paso obligado en la formación cada vez más multidisciplinar y transversal de los arquitectos.
Es por ello que la Universidad de Alicante, en su responsabilidad de participar en este tipo de fenómenos contemporáneos, quiere manifestar a través de esta propuesta su interés por este campo emergente de experimentación e investigación contemporánea.
El Laboratorio de Arquitectura y Computación [LAC], se propone por tanto como un observatorio atento a todas las innovaciones y contribuciones en el campo de la investigación digital, un centro documental y una plataforma de participación en eventos relacionados con las computadoras e Internet aplicados a la investigación arquitectónica.
Seguir leyendo: LAC – Presentación >>

Suavizar políneas

Este es el Script para suavizar polilíneas:

Option Explicit
‘Script para suavizar polilíneas y hacer un offset de las mismas
Call SuavizarPolilineas()
Sub SuavizarPolilineas()
Dim arrCrvs,strCrv, arrPoints,arrPoint
Dim K,i,arrNPt,hh,kk, Offset, Degree
arrCrvs = Rhino.GetObjects(“Select curves”, 4)
Offset = Rhino.GetReal(“Offset?”)
Degree = Rhino.GetReal(“Degree?”,3,1,100)
If IsNull(arrCrvs) Then Exit Sub
ReDim arrCC(UBound(arrCrvs))
hh=0
For Each strCrv In arrCrvs
If Rhino.IsPolyline(strCrv) Then
arrPoints = Rhino.PolylineVertices(strCrv)
If IsArray(arrPoints) Then
k=UBound(arrPoints)
kk=(k+1)*2-2
ReDim arrNPt(kk)
Dim nn : nn=0
For i=1 To kk Step 2
arrNPt(i) = Array((arrPoints(nn)(0)+arrPoints(nn+1)(0))/2, (arrPoints(nn)(1)+arrPoints(nn+1)(1))/2, (arrPoints(nn)(2)+arrPoints(nn+1)(2))/2 )
nn=nn+1
Next
nn=0
For i=0 To kk Step 2
arrNPt(i) = arrPoints(nn)
nn=nn+1
Next
arrCC(hh) = Rhino.AddCurve (arrNPt ,Degree)
Dim arrCentro : arrCentro = Rhino.CurveAreaCentroid(arrCC(hh))
Call Rhino.OffsetCurve(arrCC(hh), arrCentro(0), Offset)
hh=hh+1
End If
End If
Next

Rhino.SelectObjects arrCC

Rhino.DeleteObjects arrCC

Rhino.DeleteObjects arrCrvs

End Sub

CNC – Discretización de superficie

A continuación os dejo lo que sería la traslación del script que vimos hace unas semanas en clase (el fabRibs), al grashopper. Lo que hace este script es discretizar una superficie dada, en una serie de costillas cuyo número, altura y espesor podemos definir, viendo las diferentes soluciones al instante. Ésta solución, ofrece dos geometrías como resultado, por un lado, la geometría real 3d, para poder usarla en documentación, renders, etc…, y por otro lado, la geometría en superficies para, usando el script unrollSrf, obtener en el plano todas las costillas para pasarlas a la máquina CNC.

Está recién “cocinado” , con lo que es posible que pueda dar algunos errores. Podeis usar los comentarios para indicarlos, o para cualquier otra estimación que querrais hacer al respecto, ya sea sobre el uso del archivo dentro del grasshopper (aunque creo que está todo bien indicado y no deberíais de tener problemas para usarlo sin liaros), sobre soluciones alternativas a la propuesta, o mejoras que pudiéseis implantar a la misma.

Os lo podeis bajar haciendo click aquí

Descargas para la clase del 2008.11.17

Para la clase de hoy es imprescindible que os bajéis y os instaléis estos dos plugins.

Grasshopper (http://grasshopper.rhino3d.com/)

y Point Set Reconstruction (http://en.wiki.mcneel.com/default.aspx/McNeel/PointsetReconstruction.html)

Además, os recomendamos una página interesante con bastantes ejemplos

http://rhinoscriptingresources.blogspot.com/

Ejercicio 2008.11.11 – Unir los puntos

Una posible solución al ejercicio que se planteó al final de la clase del pasado día 11:

Option Explicit

Dim arrPuntos
Dim n
Call Main()

Sub Main()
arrPuntos=Rhino.GetPointCoordinates (“seleccionar los puntos”)
n=UBound(arrPuntos)+1
Rhino.Print(n & ” puntos seleccionados”)
If IsArray(arrPuntos) Then
Enlazar()
End If
End Sub

Function Enlazar()
Dim i,j
For i=0 To UBound(arrPuntos)
For j=0 To UBound(arrPuntos)
If i<>j Then
If Rhino.Distance(arrPuntos(i),arrPuntos(j))<100 Then
Rhino.addline arrPuntos(i),arrPuntos(j)

End If
End If
Next
Next
End Function