Creación de objetos redondeados a partir de un número genérico de cilindros. Las posiciones de los cilindros se guardan en un vector (array). Usando un bucle for se recorren y se colocan automáticamente los cilindros. Luego se aplica hull para generar el objeto convexo mínimo que contiene todos los cilindros.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
//-- Parametros r = 5; //-- Radio del redondeo de las esquinas h = 10; //-- Altura //-- Coordenadas del cilindro del primer cuadrante cx = 20; cy = 15; //-- Vector de puntos, con las posiciones de los cilindros POINT = [ [cx, cy, 0], //-- Punto 0 [-cx, cy, 0], //-- Punto 1 [-cx, -cy, 0], //-- Punto 2 [cx, -cy, 0], //-- Punto 3 [2*cx, 0, 0], //-- Punto 4 [0, 1.5*cy, 0], //-- Punto 5 [0,0,h], //-- Punto 6 ]; //-- Obtener el menor objeto convexo que contiene //-- los cilindros situados en los puntos indicados en //-- el vector POINT hull() { //-- Dibujar cada cilindro en su posicion correspondiente for (pos = POINT) translate(pos) cylinder(r = r, h = h, center = true, $fn = 20); } |
Este contenido ha sido publicado por ObiJuan en su página web bajo licencia Creative Commons Attribution-ShareAlike 2.5 Spain License.