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.
Month: noviembre 2008
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.
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.
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 NextRhino.SelectObjects arrCC
Rhino.DeleteObjects arrCC
Rhino.DeleteObjects arrCrvs
End Sub
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
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