1 00:00:00,430 --> 00:00:13,310 Bueno, en esta lección, esta segunda parte de OpenSCAD, hemos tratado los aspectos más relacionados con lo que es programar. 2 00:00:14,189 --> 00:00:21,429 Realmente en la anterior hemos aprendido a dibujar y en esta hemos tratado aspectos más relacionados con la programación. 3 00:00:21,429 --> 00:00:33,729 El primer concepto es el que podríamos un poco asociar al concepto de variable de programación, lo que se conoce en OpenSCAD como parametrización. 4 00:00:33,729 --> 00:00:49,310 Es decir, nosotros podemos crear variables, podemos sustituir esos valores que habíamos dado en la unidad didáctica anterior y que eran fijos, que los habíamos fijado, 5 00:00:49,310 --> 00:01:03,909 Podríamos sustituirlos en este caso por variables que se inicializan, se definen y se inicializan al comienzo de cada una de las figuras que queremos crear. 6 00:01:05,030 --> 00:01:17,250 La ventaja es obvia, es la misma ventaja que ya se apunta por ejemplo con las hojas de cálculo cuando utilizamos las celdas en lugar de valores constantes. 7 00:01:17,250 --> 00:01:27,250 Y es que un mismo programa nos puede servir para hacer figuras análogas simplemente cambiando el valor de esas variables. 8 00:01:27,250 --> 00:01:47,890 Entonces, la parametrización, que era lo primero que explicábamos en esta segunda unidad didáctica, consistía simplemente en definir qué parámetros intervienen en cada una de las variables. 9 00:01:47,890 --> 00:01:50,849 En el caso del cubo, pues tenemos ancho, largo y alto. 10 00:01:51,370 --> 00:01:55,530 En el caso de la esfera, pues es el radio de la esfera y el número de caras. 11 00:01:56,549 --> 00:02:05,790 En el caso de un cilindro, pues el alto, los dos radios, el radio de la base superior y de la base inferior y el número de caras. 12 00:02:06,409 --> 00:02:12,090 Entonces, si comenzamos un poco de forma un poco paralela, como hemos hecho anteriormente, 13 00:02:12,090 --> 00:02:39,710 Ahora lo que vamos a hacer es parametrizar nuestras figuras y ver que al parametrizar tenemos una serie de ventajas, por ejemplo, yo voy a coger la parametrización de un cilindro, abro mi OpenSCAD, entonces yo sé que un cilindro tiene el radio 1, que al principio vamos a empezar poniéndole por ejemplo 40, 14 00:02:39,710 --> 00:02:47,090 el radio 2 que vamos a parametrizar y vamos a poner por ejemplo 40 también 15 00:02:47,090 --> 00:02:54,530 radio 3 la altura que la vamos a parametrizar con 50 16 00:02:54,530 --> 00:02:59,009 y por ejemplo el número de caras 17 00:02:59,009 --> 00:03:05,469 que la vamos a empezar a parametrizar por ejemplo con 10 18 00:03:05,469 --> 00:03:52,259 Si yo ahora pongo los parámetros, pues hemos dibujado este polígono, este prisma que tiene 10 caras. 19 00:03:52,259 --> 00:03:59,780 ahora, ventaja, pues si por ejemplo yo ahora aquí cambio el número de caras y pongo por ejemplo 5 20 00:03:59,780 --> 00:04:07,900 pues no necesito repetir otra vez la sentencia ni volver a escribirlo con los nuevos 21 00:04:07,900 --> 00:04:15,300 entonces simplemente definiendo los valores de los parámetros y luego llamando a los parámetros en las diferentes figuras 22 00:04:15,300 --> 00:04:19,439 pues puedo conseguir los efectos deseados 23 00:04:19,439 --> 00:04:22,500 aquí tenemos una pirámide 24 00:04:22,500 --> 00:04:25,199 podemos alargarla más 25 00:04:25,199 --> 00:04:34,750 entonces esto tiene como vemos 26 00:04:34,750 --> 00:04:36,250 pues tiene muchas ventajas 27 00:04:36,250 --> 00:04:38,870 de cara a hacer 28 00:04:38,870 --> 00:04:40,790 pues diferentes figuras de diferente 29 00:04:40,790 --> 00:04:42,750 tipo, pues vemos que 30 00:04:42,750 --> 00:04:43,930 tiene bastante ventaja 31 00:04:43,930 --> 00:04:53,000 y además esas ventajas 32 00:04:53,000 --> 00:04:54,600 pues todavía más 33 00:04:54,600 --> 00:04:59,300 Si aplicamos también los parámetros a la traslación y a la rotación 34 00:04:59,300 --> 00:05:06,319 Vamos a por ejemplo poner aquí un traslate 35 00:05:06,319 --> 00:05:27,279 Y vamos a suponer que vamos a trasladar a la figura por ejemplo R1H 36 00:05:27,279 --> 00:05:37,300 Entonces hemos puesto nuestra relación de la figura relacionada, por ejemplo, con valores de la propia pirámide. 37 00:05:37,839 --> 00:05:42,680 Entonces, como vemos, la verdad es que tenemos muchas ventajas si parametrizamos. 38 00:05:44,339 --> 00:05:47,720 Aquí te viene en cuenta el concepto. 39 00:05:47,720 --> 00:06:17,699 Bueno, pues parametrizamos y luego ya empezamos a utilizar, utilizando esos parámetros, otra cosa que podemos hacer es crear módulos, ¿no? 40 00:06:17,699 --> 00:06:26,339 por ejemplo, vamos a definir un módulo, un módulo que como vemos, por ejemplo, este 41 00:06:26,339 --> 00:06:30,720 no, porque este es un poco complejo, este es mejor, por ejemplo, aquí hemos definido 42 00:06:30,720 --> 00:06:41,879 un módulo, que es un módulo realmente que lo hemos hecho para una especie de casquete 43 00:06:41,879 --> 00:06:47,240 esférico, aquí hemos definido una especie de casquete esférico, hemos hecho una esfera 44 00:06:47,240 --> 00:06:49,079 Y lo hemos quitado, pues, un cubo. 45 00:06:49,240 --> 00:06:52,139 Entonces, el resultado es un casquete esférico. 46 00:06:53,160 --> 00:06:58,040 Lo primero que tenemos que ver para definir un módulo es cuáles van a ser los parámetros. 47 00:06:58,759 --> 00:07:03,399 Y esos parámetros se pueden definir antes o una vez definido el módulo. 48 00:07:03,399 --> 00:07:03,920 ¿Vale? 49 00:07:04,379 --> 00:07:14,699 Entonces, si volvemos a nuestro ejemplo, yo ahora aquí puedo definir un módulo. 50 00:07:14,699 --> 00:07:34,410 Y es un módulo que tiene los eventos parámetros R1, R2, H y caras, ¿vale? 51 00:07:35,410 --> 00:07:40,709 Entonces, para definir el módulo, ponemos las llavecitas, ¿vale? 52 00:07:41,410 --> 00:07:44,970 ¿Qué vamos a pasar? Pues que ahora si yo lo ejecuto, no me ejecuta nada. 53 00:07:44,970 --> 00:07:49,519 módule 54 00:07:49,519 --> 00:07:51,939 módule y tenemos que darle un nombre 55 00:07:51,939 --> 00:07:53,540 es que no tenemos que darle un nombre 56 00:07:53,540 --> 00:07:54,959 al módulo, por ejemplo 57 00:07:54,959 --> 00:07:59,339 pirámide 58 00:07:59,339 --> 00:08:04,709 si yo haga el módulo F5 59 00:08:04,709 --> 00:08:07,189 me queda definido el módulo 60 00:08:07,189 --> 00:08:08,569 pero no me ejecuta nada 61 00:08:08,569 --> 00:08:10,910 entonces si yo quiero ejecutar 62 00:08:10,910 --> 00:08:13,110 este módulo tengo que decir 63 00:08:13,110 --> 00:08:15,110 pirámide 64 00:08:15,110 --> 00:08:22,040 y al llamarla 65 00:08:22,040 --> 00:08:28,120 ejecuta el módulo que tenemos aquí dentro. Puedo incluso cambiar, o sea, como tengo los 66 00:08:28,120 --> 00:08:31,980 parámetros, esos parámetros también los podemos cambiar directamente dentro del módulo. 67 00:08:31,980 --> 00:08:43,559 Por ejemplo, podemos, vamos a poner 60, 30, la altura vamos a ponerle 70 y el número 68 00:08:43,559 --> 00:08:58,379 de caras, pues vamos a poner por ejemplo 8. Si yo ahora doy a F5, pues no me varía los 69 00:08:58,379 --> 00:09:05,919 parámetros porque los tenemos definidos aquí, pero si yo ahora quito estos valores y le 70 00:09:05,919 --> 00:09:17,379 doy a F5, pues vemos que me dibuja lo que hemos puesto aquí conforme a estos valores 71 00:09:17,379 --> 00:09:24,740 parametrales que tenemos. Eso amplía todavía más las posibilidades que tenemos de hacer 72 00:09:24,740 --> 00:09:30,840 figuras. Vamos a cambiar más parámetros. Vamos a poner aquí, por ejemplo, 50 y aquí 73 00:09:30,840 --> 00:09:33,639 vamos a poner por ejemplo 5 caras 74 00:09:33,639 --> 00:09:36,460 vemos que nos va variando 75 00:09:36,460 --> 00:09:39,259 entonces podemos crear 76 00:09:39,259 --> 00:09:41,960 por así decir figuras a través de módulos 77 00:09:41,960 --> 00:09:43,820 que luego las vamos a utilizar 78 00:09:43,820 --> 00:09:47,480 en nuestros determinados proyectos 79 00:09:47,480 --> 00:09:50,100 y eso ya nos abre un abanico infinito 80 00:09:50,100 --> 00:09:53,480 y además resulta que es muy rápido 81 00:09:53,480 --> 00:09:55,679 nos alcanzamos mucha rapidez 82 00:09:55,679 --> 00:09:58,240 lo que ya 83 00:09:58,240 --> 00:10:15,179 O sea, si esto de los mundos nos pareció interesante, porque creamos como nuevas figuras, pues mi que decir tiene que ya llegamos a algo mucho más interesante todavía, y es el poder hacer tareas repetitivas. 84 00:10:15,179 --> 00:10:18,200 por ejemplo usando FOR 85 00:10:18,200 --> 00:10:20,419 FOR lo que es un bucle 86 00:10:20,419 --> 00:10:24,059 entonces si sabemos un poco de programación 87 00:10:24,059 --> 00:10:28,139 en programación suele haber dos o tres tipos de bucles 88 00:10:28,139 --> 00:10:30,539 que se suelen definir uno con FOR 89 00:10:30,539 --> 00:10:32,379 otro con WHILE 90 00:10:32,379 --> 00:10:36,240 y otro con generalmente 91 00:10:36,240 --> 00:10:40,159 WALENTINE o algo similar 92 00:10:40,159 --> 00:10:45,080 pero FOR es una forma muy clásica 93 00:10:45,080 --> 00:10:46,519 de definir un bucle 94 00:10:46,519 --> 00:10:48,879 y lo que nos define es 95 00:10:48,879 --> 00:10:50,980 un bucle que se supone que tiene 96 00:10:50,980 --> 00:10:53,159 un contador interno 97 00:10:53,159 --> 00:10:54,539 realmente 98 00:10:54,539 --> 00:10:57,259 el foro es muy sencillo 99 00:10:57,259 --> 00:10:59,059 lo único que va a hacernos 100 00:10:59,059 --> 00:11:00,379 es repetir 101 00:11:00,379 --> 00:11:02,820 tantas veces 102 00:11:02,820 --> 00:11:04,620 como ponga ahí 103 00:11:04,620 --> 00:11:06,940 una determinada operación 104 00:11:06,940 --> 00:11:07,960 ¿vale? 105 00:11:08,440 --> 00:11:11,159 pues eso por ejemplo nos puede permitir 106 00:11:11,159 --> 00:11:11,720 hacer 107 00:11:11,720 --> 00:11:14,080 unas esferas 108 00:11:14,080 --> 00:11:28,840 Por ejemplo, vemos que tenemos aquí un código muy sencillo que nos hace, que nos traslada a una esfera proporcionalmente a su radio. 109 00:11:30,039 --> 00:11:33,840 Entonces el radio puede ser desde 0 hasta 3. 110 00:11:35,720 --> 00:11:37,259 Podemos hacer más. 111 00:11:37,259 --> 00:11:39,539 por ejemplo vamos a hacer 112 00:11:39,539 --> 00:11:41,200 for 113 00:11:41,200 --> 00:11:49,590 y ahora aquí definimos el número de veces 114 00:11:49,590 --> 00:11:56,019 bueno, vamos a por ejemplo poner 115 00:11:56,019 --> 00:11:57,960 desde 1 116 00:11:57,960 --> 00:12:02,519 hasta 4 por ejemplo 117 00:12:02,519 --> 00:12:05,860 y ahora aquí vamos a poner por ejemplo 118 00:12:05,860 --> 00:12:06,600 rotate 119 00:12:06,600 --> 00:12:12,879 90 por i 120 00:12:12,879 --> 00:12:18,990 0,0 121 00:12:18,990 --> 00:12:22,669 y que vamos a hacer 122 00:12:22,669 --> 00:12:24,669 pues vamos a hacer un rotate traslate 123 00:12:24,669 --> 00:12:25,309 por ejemplo 124 00:12:25,309 --> 00:12:30,529 y vamos a hacer también 125 00:12:30,529 --> 00:12:32,230 un traslate por ejemplo de 126 00:12:32,230 --> 00:12:42,379 20,0 127 00:12:42,379 --> 00:12:43,320 0,0 128 00:12:43,320 --> 00:12:47,419 y lo que vamos a hacer es un cubo 129 00:12:47,419 --> 00:12:55,240 como un cubo tiene la misma arista 130 00:12:55,240 --> 00:12:57,799 pues podemos poner otra cosa 131 00:12:57,799 --> 00:12:59,259 pero vamos a poner aquí 132 00:12:59,259 --> 00:13:03,200 40, 40, 40 133 00:13:03,200 --> 00:13:05,700 ancho, largo, todo 134 00:13:05,700 --> 00:13:12,830 si yo ahora lo reenterizo 135 00:13:12,830 --> 00:13:14,769 pues ¿qué pasa? 136 00:13:15,129 --> 00:13:16,289 que hemos estado 137 00:13:16,289 --> 00:13:18,710 que creamos un cubo que es como 138 00:13:18,710 --> 00:13:20,250 por así decirlo, el doble 139 00:13:20,250 --> 00:13:23,129 vamos a cambiarle aquí el parámetro 20 140 00:13:23,129 --> 00:13:26,990 no, no, vamos a cambiar aquí 141 00:13:26,990 --> 00:13:28,269 el parámetro 40 142 00:13:28,269 --> 00:13:44,799 Vamos a poner por ejemplo 10, 10, 10, 10, 10, 10. Bueno, pues sigue formándonos porque 143 00:13:44,799 --> 00:13:56,000 claro, hemos establecido esa traslación. Vamos a poner en lugar de un cubo, vamos a 144 00:13:56,000 --> 00:14:10,789 poner una esfera. Vamos a poner una esfera, vamos a poner solamente el radio, por ejemplo 145 00:14:10,789 --> 00:14:32,570 vamos a poner un radio de 10, que el rey de los bucles es el for. For es una sentencia 146 00:14:32,570 --> 00:14:41,029 que nos permite repetir el número de veces que nos indique el contador una determinada 147 00:14:41,029 --> 00:14:46,470 operación, ¿vale? Vamos a empezar por una operación, por ejemplo, sencilla. Vamos a 148 00:14:46,470 --> 00:15:03,179 poner, por ejemplo, rotate. Vamos a hacer una rotación, por ejemplo, una rotación 149 00:15:03,179 --> 00:15:41,740 alrededor del eje Z, 20,0,0. Y vamos a rotar, pues, una esfera. Bueno, ¿qué hemos hecho? 150 00:15:41,740 --> 00:15:43,580 hemos hecho pues 151 00:15:43,580 --> 00:15:45,340 espera un momento 152 00:15:45,340 --> 00:15:49,950 esto está mal 153 00:15:49,950 --> 00:15:50,629 es 0 154 00:15:50,629 --> 00:15:53,710 4 155 00:15:53,710 --> 00:15:57,509 bueno, ¿qué vamos a hacer? 156 00:15:57,629 --> 00:15:59,370 pues vamos a rotar sobre el eje 157 00:15:59,370 --> 00:16:00,929 de las zetas 158 00:16:00,929 --> 00:16:02,629 una determinada esfera 159 00:16:02,629 --> 00:16:05,049 de la 5, reenterizo 160 00:16:05,049 --> 00:16:07,129 efectivamente hemos repetido 161 00:16:07,129 --> 00:16:08,889 4 veces, bueno en realidad 5 162 00:16:08,889 --> 00:16:12,690 pues está 163 00:16:12,690 --> 00:16:15,190 esta de aquí 164 00:16:15,190 --> 00:16:16,429 vamos a cambiarle por ejemplo 165 00:16:16,429 --> 00:16:18,570 vamos a poner 3 166 00:16:18,570 --> 00:16:19,490 a ver que pasa 167 00:16:19,490 --> 00:16:28,590 0, 1, 2 y 3 168 00:16:28,590 --> 00:16:30,649 y nos aparecen estas 169 00:16:30,649 --> 00:16:31,830 4 esferitas 170 00:16:31,830 --> 00:16:34,970 una cosa que se puede hacer con los bucles 171 00:16:34,970 --> 00:16:36,789 es anidar un bucle 172 00:16:36,789 --> 00:16:37,710 dentro de otro 173 00:16:37,710 --> 00:16:40,909 imaginaos que yo 174 00:16:40,909 --> 00:16:42,889 quiero hacer la rotación de la rotación 175 00:16:42,889 --> 00:16:44,809 o la traslación de la traslación 176 00:16:44,809 --> 00:16:51,870 entonces tendría aquí un for y vamos a añadir este for en otro for 177 00:16:51,870 --> 00:17:14,440 eso sí es conveniente por ejemplo vamos a poner aquí 178 00:17:14,440 --> 00:17:21,519 que los contadores sean diferentes 179 00:17:21,519 --> 00:17:25,140 entonces hemos hecho tres veces esta operación 180 00:17:25,140 --> 00:17:28,680 y podemos por ejemplo aquí poner 181 00:17:28,680 --> 00:17:35,930 por I 182 00:17:35,930 --> 00:17:37,289 para añadirle un poquito 183 00:17:37,289 --> 00:17:39,569 de perspectiva 184 00:17:39,569 --> 00:17:41,210 fijaros, lo que hemos 185 00:17:41,210 --> 00:17:43,390 es multiplicado 3 por 3 186 00:17:43,390 --> 00:17:44,950 3 veces 187 00:17:44,950 --> 00:17:46,109 este bucle 188 00:17:46,109 --> 00:17:49,430 esas rotaciones 3 veces 189 00:17:49,430 --> 00:17:50,690 trasladando 190 00:17:50,690 --> 00:17:52,329 en función de I 191 00:17:52,329 --> 00:17:53,529 de los valores de I 192 00:17:53,529 --> 00:17:57,130 en fin, esto da mucho juego 193 00:17:57,130 --> 00:17:58,130 como podemos ver 194 00:17:58,130 --> 00:18:00,490 es muy interesante y da mucho juego 195 00:18:00,490 --> 00:18:02,230 y ya pues finalmente 196 00:18:02,230 --> 00:18:10,049 después de que llegamos a lo máximo que podemos llegar con OpenSCAD, pues como ya sabemos mucho, 197 00:18:10,049 --> 00:18:21,009 nos decidimos a hacer algo creativo. Nos pedimos la cabería de hacer algo creativo. Y ese creativo 198 00:18:21,009 --> 00:18:23,170 pues fue nuestro querido pingüi tic 199 00:18:23,170 --> 00:18:26,789 que bueno pues os remito 200 00:18:26,789 --> 00:18:27,849 al 201 00:18:27,849 --> 00:18:30,289 os remito al 202 00:18:30,289 --> 00:18:32,609 video tutorial que tenéis de pingüi tic 203 00:18:32,609 --> 00:18:34,289 para que lo veáis más detallado 204 00:18:34,289 --> 00:18:41,569 pero que bueno 205 00:18:41,569 --> 00:18:43,710 el efecto final es el que tenemos aquí 206 00:18:43,710 --> 00:18:45,970 bueno una buena opción 207 00:18:45,970 --> 00:18:46,730 sería por ejemplo 208 00:18:46,730 --> 00:18:49,730 colorear algo 209 00:18:49,730 --> 00:18:51,589 no lo hemos coloreado 210 00:18:51,589 --> 00:18:53,710 pero bueno podríamos colorear 211 00:18:53,710 --> 00:18:55,529 por ejemplo el cuerpo, ponerle 212 00:18:55,529 --> 00:19:03,490 en negro o las alas en blanco y quedaría mucho más bonito, la verdad que sí, en otra 213 00:19:03,490 --> 00:19:11,269 de estas la colorearé, pero como veis pues esto es todo lo que hemos hecho a lo largo 214 00:19:11,269 --> 00:19:18,529 de esta lección y bueno espero que os haya servido de ayuda el material y que hayáis 215 00:19:18,529 --> 00:19:26,230 aprendido a utilizar OpenSCAD, que es hoy día una de las herramientas más utilizadas en Impresión 3.