Tecnologias aplicadas en arquitectura_


091005_Clase MELSCRIPT
October 5, 2009, 8:03 pm
Filed under: clases
//Comandos sesion de melscript arturo lyon
//Tecnologias Aplicadas al Proyecto de Arquitectura
//Crea una esfera - si hago un objeto en el espacio de modelado , el listener me retorna por ejemplo esto. 

sphere -p 0 0 0 -ax 0 1 0 -ssw 0 -esw 360 -r 1 -d 3 -ut 0 -tol 0.01 -s 8 -nsp 4 -ch 1;objectMoveCommand;

/*DECLARACION DE VARIABLES

Se definen declarando el tipo (expliocados a continuación) mas signo peso $ + un nombre + ; (punto y coma). Este nombre se recomienda que comience con una mayuscula y que no sean nombres muy rebuscados, ejemplio "int$Altura"

 existen variables de distintos tipos
 Enteros         _INTEGERS     = int$variable1;
 Decimales        _FLOAT         = float$variable2;
 Texto            _STRING    = string$variable3;
 Arreglos de datos    _ARRAY        =etc
*/

//ejercicio 1_
 //a.- declarar variable
 int$var1;   
 $var1=12;

 //si se declara la variable , podemos ejecutarla seleccionandola y presionando CTRL + ENTER
 //b.- declaro mas variables variable

 int$var2= 5;
 int$var3= 9;
 int$var4= 11;

 //puedo con esto, generar operaciones aritméticas, como por ejemplo

 int$var5= $var1 + $var2 + $var3 + $var4; 

 //recordar que ya no es necesario el int , porque fue declarado el tipo de dato junto con la variable
 //si ejecuto la linea , me da el resultado de la suma de todas las variables. en el caso de los decimales, bastaria cambiar el prefijo de la variable por FLOAT y asignarle un numero decimal como valor , ejemplo 1.0 , 2.3, etc

/* VECTORES

 Se declaran con el prefijo VECTOR , ej: vector$vVector1= <<0,0,1>> , en donde los tres valores del vector corresponden a valores x,y,z
*/

//ejercicio 2_
 //a- generar un vector

 vector$vVector1 = <<1.0,12.1,1.0>>;
 vector$vVector2 = <<20.5,12.8,1.9>>;

 print ($vVector1); //imprime el valor del vector
 print ($vVector2.x); //imprime el valor del componente X del vector
 print (($vVector2.x)+ "\n"); //imprime en nueva linea

 //esto me permite generar operaciones con vectores (operaciones en 3d)
 vector $vVector3= $vVector1 + $vVector2; //por ejemplo , una suma de vectores

 print $vVector3; //imprime el resultado de la suma de ambos vectores

 float $fVar8= `mag $vVector3`; //con esto puedo saber la magnitud , largo de
 print $fVar8;

//STRINGS - textos

 //declaro un string (texto) de la siguiente manera

//ejercicio 3_ trabajo con textos
 string $sText1 = "hola mundo";
 string $sText2 = "vil y cruel";

 print ($sText1 + " " + $sText2);

//ARRAYS - arreglos , funcionan igual a las listas de grasshopper

 int array //array de integers
 float $lista[n]; //declaracion de lista de n elementos 

 int $lista[]= {1,4,5,6,23,8,32,78,453}; //declaro lista y sus elementos
 print $lista; //imprimo la lista
 size $lista; //obtengo el tamaño de la lista , cuantos elementos contiene    

 print $lista[0];//obtengo el primer elementos de la lista

 string $alumnos[]= {"aldunce", "hubber","bravo", "galetovic", "araya", "hernandez","etc"}; //array de textos
 string $sText4 = "el mejor alumno de la clase es";    
 print  ($sText4 + " " + $alumnos[4]); //mezcla de string mas un elemento de un array

//ejercicio 4_ trabajo con objetos 

sphere -r 5 -n "pelota"; //genero una esfera, llamada "pelota"

sphere -r 12 -n "bola"; //genero una esfera, llamda "bola"

vector $vPosPelota = `getAttr "pelota".t`; //declaro una variable que contiene el valor de la posicion x de "pelota"
vector $vPosBola = `getAttr "bola".t`; //declaro una variable que contiene el valor de la posicion total de "bola"

vector $vdist = $vPosPelota - $vPosBola; // obtengo el vector que esta entre pelota y bola
float $fdist = `mag $vdist`; //obtengo la manitud de la distancia

//LOOPS

 //IF LOOP -  este permite generar condiciones
 if(4>5)                     //si 4 es mayor a 5...
 {
 sphere -r 2 -n "bola";         //genera una esfera
 }
 else                         //o si no...
 {
 polyCube;                 //genera un cubo
 }

 //ejercicio 5
 int $iDmin = 10;
 if ($fdist < $iDmin)
 {
 print "esferas muy cerca ¡PELIGROOOOOOOOOOOOOOOOOOOOOO!!!!!!"
 }
 else
 {
 print "esferas estan pulentosamente ok, el universo respira tranquilo!!"
 }

 //FOR LOOP

 for($i=0;$i<10;$i++)     // se genera una secuencia de numeros desde el 0 al 9
 {
 print ($i + "\n");    //imprime la secuencia de números desde el 0 al 9 saltandose una linea
 }

 //ejercicio 6
 for($i=0;$i<10;$i++)     
 {
 polyCube -ax 0 0 1 -w 0.9 -h 0.9 -d 0.9; //crea un cubo
 move 0 0 $i; // lo mueve en su eje z , de acuerdo al valor creciente de i
 rotate 0 ($i*5) 0; //lo rota en torno al eje Y , de acuerdo al valor creciente de i
 scale 1 1 ($i/2); // lo escala en z de acuerdo a i
 }

 //ejercicio 7

 //string $sName;    
 for($i=0;$i<10;$i++)     
 {    
 for($j=0;$j<10;$j++)     
 {
 for($k=0;$k<10;$k++)     
 {
 $sName ="panel_" + $i + "_" + $j + "_" +$k; //crea un nombre de acuerdo a ijk
 polyCube -ax 0 0 1 -w 0.9 -h 0.9 -d 0.9 -n $sName; //crea un cubo
 move ($i) ($j) ($k); // lo mueve en su eje z , de acuerdo al valor creciente de i,j y k
 rotate ($i*2) ($j*2) ($k*5); //lo rota en torno al eje Y , de acuerdo al valor creciente de i, j y k
 //scale ($i) ($j) ($k); // lo escala en z de acuerdo a i
 }
 }
 }

 //ejercicio final clase 01 - Celullar Automata

 for($i=0;$i<40;$i++)     
 {    
 for($j=0;$j<40;$j++)     
 {
 $sName ="panel_" + $i + "_" + $j;
 polyCube -ax 0 0 1 -w 0.9 -h 0.9 -d 0.9 -n $sName; //crea un cubo
 move ($i) ($j) ; // lo mueve en su eje z , de acuerdo al valor creciente de i,j

 }
 }

 int $iRnd;    

 for($i=0;$i<40;$i++)     
 {    
 for($j=0;$j<40;$j++)     
 {
 $sName ="panel_" + $i + "_" + $j;
 select $sName;

 $iRnd= rand(0,100);
 if($iRnd<50)
 {
 setAttr ".visibility" 1;
 }
 else
 {
 setAttr ".visibility" 0;
 }
 refresh;
 }
 }    

 int $Vis;

 for($i=1;$i<39;$i++)     
 {    
 for($j=1;$j<39;$j++)     
 {
 select ("panel_" + ($i-1) + "_" + ($j-1));
 $Vis= `getAttr ".visibility"`;

 select ("panel_" + ($i-1) + "_" + ($j));
 $Vis+= `getAttr ".visibility"`;

 select ("panel_" + ($i-1) + "_" + ($j+1));
 $Vis+= `getAttr ".visibility"`;    

 select ("panel_" + ($i) + "_" + ($j-1));
 $Vis+= `getAttr ".visibility"`;            

 select ("panel_" + ($i) + "_" + ($j+1));
 $Vis+= `getAttr ".visibility"`;

 select ("panel_" + ($i+1) + "_" + ($j-1));
 $Vis+= `getAttr ".visibility"`;

 select ("panel_" + ($i+1) + "_" + ($j));
 $Vis+= `getAttr ".visibility"`;

 select ("panel_" + ($i+1) + "_" + ($j+1));
 $Vis+= `getAttr ".visibility"`;

 if($Vis>4)
 {
 select ("panel_" + $i + "_" + $j);    
 setAttr ".visibility" 1;
 }

 if ($Vis<4)

 {
 select ("panel_" + $i + "_" + $j);
 setAttr ".visibility" 0;
 }
 refresh; //opcional si es que se desea ver la generacion de cada celula
 }
 }


090928_Notas ejercicio n°1 rhino + Grasshopper
September 28, 2009, 8:28 pm
Filed under: noticias

aca les van las notas para el ejercicio 1 de rhino+  grasshoppernotas_ejercicio_1



090921_Componentes parametricos + excel

Les dejo el ultimo tutorial de creacion de componentes parametricos , su proliferacion mediante powercopies y su linkeo a planillas de excel.



090911_textos para clase del 14 de septiembre
September 11, 2009, 10:04 pm
Filed under: clases

Estos son los textos para que lean , analicen y generen preguntas para la clase del proximo lunes aca van.

(more…)



090907-Tutoriales modelacion componente DIGITAL PROJECT
September 7, 2009, 8:42 pm
Filed under: clases, noticias

Cortesia de la casa, les posteo dos video tutoriales de complemento al aprendizaje de digital project.

espero les sirvan.

saludos

Diego Pinochet

Video 1_

Creacion de superficie y nube de puntos_

Video 2_

Modelación de componente parametrico_



090907-Tutorial Sketch DIGITAL PROJECT
September 7, 2009, 6:55 pm
Filed under: clases, noticias

Les dejo un interesante tutorial de Digital project en relacion a Dibujo con SKETCH

http://www.paramod.net/post016/tutorial001.htm

saludos

 

dp



090812- enlaces útiles
August 12, 2009, 4:57 pm
Filed under: clases, noticias

Amigos, les dejo enlaces útiles para que se interioricen en el uso de grasshopper.

http://www.grasshopper3d.com/ -sitio oficial de grasshopper (foros, tutoriales, downloads , etc)

http://web.mac.com/rhino3dtv/GH/GH.html – videotutoriales de GH

http://www.liftarchitects.com/journal/2009/3/25/the-grasshopper-primer-second-edition.html – guia explicativa de GH, desde lo mas basico , hasta ciertas heramients de personalizacion via VB.net (OBLIGATORIO!!!)



090812_grupos para seminarios
August 12, 2009, 4:38 pm
Filed under: clases, noticias
  1. Algoritmos: Cristián Bravo – Cristián Salinas – Manuel Araya
  2. Computación Material: Jaime Pascual – Juan Pablo Medina – Jose Luis Pérez
  3. Materia Virtual: Daniela Melendez – Eloy Bahamondes – José Luis Vial
  4. Emergence: Gonzalo Hevia – Max Correa – Christine Hubber
  5. Diagramas: Sebastián Paredes – José Hernández
  6. Evolutivo: Danny Bravo – Juan José Aldunce

se actualizara a la brevedad el calendario de cada seminario en conjunto con la subida del programa.

saludos dp



090812_ Inicio de un nuevo semestre!!
August 12, 2009, 4:24 pm
Filed under: noticias

Con este post , damos inicio a un nuevo semestre de clases y del blog DIGIFAB. el año pasado. este año el curso esta dictado por el profesor Arturo Lyon , arquitecto PUC y MARCH DRL de la Architectural Association.

Les damos la bienvenida al blog y esperamos que la informacion entegada, y la que aporten uds sea de gran ayuda para todos.

saludos

dp



081013_vacuum forming 2

sesion de trabajo en el laboratorio de herramientas.