Guía para principiantes sobre la programación en OpenSCAD de modelos impresos en 3D

Guía para principiantes sobre la programación en OpenSCAD de modelos impresos en 3D / Bricolaje

¿Siempre has querido diseñar tus propios modelos 3D? ¿Qué pasa con la impresión 3D de una pieza que ha diseñado? Existen muchos programas de modelado 3D, pero estos pueden ser difíciles de usar si no eres artístico (como yo). OpenSCAD le proporciona una manera de diseñar modelos específicamente para la impresión 3D, sin usar nada más que código. No se preocupe si usted tampoco sabe cómo codificar, hoy lo guiaré a través de lo básico.

¿Qué es OpenSCAD??

OpenSCAD es una aplicación gratuita. Diseño asistido por ordenador sólido modelador. Está disponible para Windows, Mac y Linux. Lo que lo hace diferente a muchos otros programas es que diseñas partes utilizando código en lugar de un mouse. Esto hace que sea muy fácil hacer cálculos matemáticos, almacenar dimensiones en variables, redimensionar partes, y más.

Hay algunos factores que debe tener en cuenta cuando los modelos de impresión 3D, pero muchos de ellos se aplican a los modelos CAD de impresión 3D en general, no solo a los diseños de OpenSCAD. Si desea obtener más información sobre la impresión en 3D, consulte nuestra guía Ultimate Beginner. Ultimate Beginner's Guide to 3D Printing. Ultimate Beginner's Guide to 3D Printing. La impresión en 3D era la nueva "Revolución industrial". Aún no ha conquistado el mundo, pero estoy aquí para hablar con usted sobre todo lo que necesita saber para comenzar. Lee mas . Si está buscando un modelo más interactivo, lea la guía para crear objetos en Sketchup Diseñar y construir edificios virtuales en 3D y objetos con Google SketchUp Diseñar y construir edificios y objetos virtuales en 3D con Google SketchUp Google SketchUp es el programa de modelado de backbone para Google BuildingMaker, que permite a los diseñadores gráficos enviar diseños de construcción a Google para agregarlos a las imágenes oficiales de Google Earth. Lee mas .

Cómo configurar

Primero, dirígete a la página de descargas y encuentra una versión de OpenSCAD adecuada para tu sistema operativo. Estoy usando Mac OS, pero estos principios de OpenSCAD se aplican a todos los sistemas.

Una vez instalado, sigue adelante y ábrelo. Aparecerá este menú de inicio:

Esto le muestra los archivos que abrió por última vez y le da la opción de cargar algunos ejemplos. Siéntase libre de mirar algunos de los ejemplos, sin embargo, encontré que estas cosas hacían más confusas al comenzar. Para este tutorial, cree un nuevo archivo haciendo clic en nuevo botón.

Una vez abierto, se te presentará con esta interfaz simple:

Esto se divide en tres áreas principales. A la izquierda está tu editor y menú. Aquí es donde escribirá su código. Esto aún no tendrá ningún código, ya que está creando un nuevo archivo. En la parte superior, hay algunos botones de menú para realizar tareas básicas, como cargar, guardar, deshacer, etc..

La parte inferior derecha es la consola. Esto le mostrará cualquier error en la construcción del modelo.

La sección final es la interfaz principal en la parte superior derecha Aquí puedes interactuar con tu modelo, pero no podrás editarlo aquí (estarás escribiendo código para hacer esto).

Hay varios botones en la parte inferior de esta interfaz principal. Estos principalmente le permiten ver su diseño de diferentes maneras.

Continúe y guarde un archivo nuevo presionando botón de guardar en el menú del editor o yendo a Expediente > Salvar.

Los basicos

La forma en que OpenSCAD funciona la mayor parte del tiempo es mediante la suma y resta de formas simples. Puedes construir modelos muy complejos de esta manera, así que saltemos a la derecha.

Aquí está la primera forma, una simple caja:

Y aquí está el código para producir eso:

cubo(); // crea un cubo

Para obtener su código para ejecutar y construir el modelo, debe previsualizarlo. OpenSCAD lo hará de forma predeterminada cada vez que guarde, o puede presionar F5 Para forzar una actualización. Experimente moviéndose en el espacio 3D manteniendo presionados los botones izquierdo o derecho del mouse.

Ahora, esto produce un cubo bonito, pero no es terriblemente útil sin ninguna dimensión. OpenSCAD no funciona en ningún sistema de medición en particular, en cambio, las unidades son todas relativas entre sí. Puede crear una caja de 20 x 10, y depende de cualquier otro programa (como su rebanador de impresión 3D) para interpretar esto, ya sea métrico o imperial. En realidad, proporciona una gran flexibilidad.

Vamos a añadir algunas dimensiones a tu cubo. Haces esto pasando parámetros a la cubo método:

cubo (tamaño = [10, 20, 30]); // rectángulo

Los valores 10, 20, y 30 representar el tamaño del cubo en el X, Y, y Z eje. Observe cómo esto ha producido un rectángulo mucho más grande:

Por defecto, OpenSCAD dibuja componentes desde la parte inferior izquierda. Puede ajustar esto configurando el centrar parámetro a cierto. Aquí está el código para hacer eso al rectángulo:

cubo (tamaño = [10, 20, 30], centro = verdadero); // rectángulo centrado

Y aquí está lo que parece:

Centrar objetos funciona bien para formas simples, pero complica las cosas para objetos no simétricos. Tendrá que decidir qué método funciona mejor para usted.

Pasando a una forma más compleja, aquí hay una cilindro:

Aquí está el código para crearlo:

cilindro (d = 10, h = 10, centro = verdadero); // cilindro

diferente a cubitos, cilindros Se dibujan automáticamente en el centro de los ejes X e Y. los re parámetro significa diámetro (Puedes pasar el radio si prefieres). los h El parámetro es la altura. Algo está mal aquí, sin embargo. Este cilindro se ve bastante “bloqueado”. Es necesario aumentar el número de caras dibujadas en la circunferencia. Esto es fácil de hacer: agregue el siguiente parámetro a su código de cilindro.

$ fn = 100

Entonces la definición del cilindro se convierte en:

cilindro (d = 10, h = 10, centro = verdadero, $ fn = 100);

Esto es lo que parece:

Esto aumenta el número de caras necesarias para hacer círculos: 100 es un buen punto de partida. Tenga en cuenta que esto aumentará considerablemente los tiempos de renderizado, particularmente en modelos complejos, por lo que generalmente es mejor dejar esto fuera hasta que haya terminado de diseñar..

Es fácil aplicar transformaciones en formas. Debe llamar a métodos especiales antes de crear sus formas. Aquí se explica cómo girar el cilindro con la girar método:

girar (a = [0, 90, 0]) cilindro (d = 10, h = 10, centro = verdadero); // cilindro girado

Los valores pasados ​​a la una Los parámetros representan el ángulo de rotación de los ejes X, Y y Z. Aquí está el resultado:

Otra función muy útil es traducir. Esto le permite mover objetos en el espacio 3D. Una vez más, deberá pasar la cantidad de movimiento para cada eje. Aquí está el resultado:

Aquí está el código:

traducir (v = [0, 25, 0]) cilindro (d = 10, h = 10, centro = verdadero); // cilindro traducido

Entendiendo el traducir El método es una de las cosas más importantes que puedes hacer. Se requiere para diseñar los diseños más complejos..

Finalmente, otra forma útil es una esfera:

Aquí está el código:

esfera (d = 100);

Al igual que el cilindro, puede suavizarlo utilizando el $ fn código de arriba.

Codificación avanzada

Ahora que conoce los conceptos básicos, veamos algunas habilidades más avanzadas. Cuando se diseña una pieza, es útil tener una idea de cómo podría estar hecha de formas y objetos más pequeños. No tienes que hacer esto, y puedes “hacer las cosas” a medida que avanza, pero ayuda tener un plan aproximado, incluso si está solo en su cabeza.

Vamos a crear una forma avanzada: un cubo con una esfera interior hueca. Crear un cubo y un esfera con centrar establecer en verdadero Resta una de la otra usando la diferencia método:

diferencia () // cubo de resta (tamaño = [50, 50, 50], centro = verdadero); // esfera externa del cubo (d = 65, centro = verdadero); // esfera interna

Aquí está el resultado:

Experimentar con el diámetro (re Parámetro) de la esfera y ver qué pasa..

En OpenSCAD, generalmente hay muchas formas de realizar la misma tarea. Si quisiera un surco en un cubo, podría restarle otro cubo, o agregar dos más por encima. Por lo general, no importa la forma en que se hacen las cosas, pero dependiendo de la complejidad de la parte, puede ser más fácil realizar ciertas manipulaciones primero.

Aquí es cómo crear un canal en un cubo. En lugar de usar otro cubo, usar un cilindro creará un canal redondeado. Observe cómo diferencia método se utiliza una vez más, y cómo el traducir y girar Se utilizan métodos para manipular las formas. Utilizando la girar El método a menudo hace que las transformaciones sean difíciles, por lo tanto, juegue con los parámetros hasta lograr el resultado deseado. Aquí está el código:

diferencia () // cubo de resta (tamaño = [50, 150, 50]); // cilindro exterior traducido (v = [25, 150, 50]) rotar (a = [90, 0, 0]) cilindro (d = 40, h = 150); // canal del cilindro

Esto es lo que parece:

Usted se estará preguntando qué es todo lo verde. Esto está aquí porque el modelo 3D es solo una vista previa en este momento. Para arreglar esto, presione F6 para hacer completamente el modelo. Esto puede llevar algún tiempo, dependiendo de la complejidad. La vista previa (F5) es generalmente suficiente mientras se trabaja. Así es como se ve el render final (con $ fn fijado en 100):

Aquí hay otro ejemplo avanzado. Digamos que querías algo para montar con un tornillo. Crear un agujero es bastante simple usando cilindro, pero ¿qué pasaría si quisiera que la cabeza del perno quedara a ras de los pernos avellanados? Simplemente puede crear un cilindro grande para que se asiente la cabeza del perno, pero eso no se vería muy bien. La solución es un chaflán, que puede crear con el cilindro método. El truco aquí es especificar dos diámetros. - d1 y d2. Haz estos diferentes tamaños, y OpenSCAD hará el resto..

Como soy británico, usaré dimensiones métricas aquí, para un perno avellanado M5. Fácilmente puede ajustar esto para adaptarse a cualquier fijación que desee utilizar. Aquí está el código:

$ fn = 100; // configuración de los tornillos m5_clearance_diameter = 5.5; m5_head_clearance_diameter = 11; m5_head_depth = 5; diferencia () // restar cubo (20, 20, 20); agujero de perno (10, 10, 20); bolt_bevel (10, 10, 15);  módulo bolt_hole (x, y, altura) / * agujero M5 a 90 grados. * / translate (v = [x, y, 0]) cilindro (d = m5_clearance_diameter, h = height);  módulo bolt_bevel (x, y, z) // M5 bevel bevel (v = [x, y, z]) cilindro (d2 = m5_head_clearance_diameter, d1 = m5_clearance_diameter, h = m5_head_depth); 

¿Observa cómo se almacenan las dimensiones de los pernos en variables? Esto hace que la codificación y el mantenimiento sean mucho más fáciles. Un método que quizás no hayas encontrado aún es módulo. Esto le permite definir un bloque de código para ejecutar cuando lo desee. En realidad, esto es un función. Deberías usar módulos y variables para cualquier forma compleja, ya que hacen las cosas más fáciles de leer y más rápido para realizar cambios. Así es como se ve el chaflán:

Veamos un ejemplo final. Digamos que querías producir una serie de agujeros alrededor de un círculo. Podría medir, traducir y rotar manualmente todos estos elementos, pero incluso con los módulos esto sería tedioso. Aquí está el resultado final, 10 cilindros incluso distribuidos alrededor de un círculo:

Aquí está el código:

$ fn = 100; number_of_holes = 10; para (i = [1: 360 / number_of_holes: 360]) // number_of_holes define la cantidad de veces que este código ejecuta make_cylinder (i);  módulo make_cylinder (i) // make ciline e incluso distribuir rotate ([0, 0, i]) translate ([10, 0, 0]) cilíndrico (h = 2, r = 2); 

Este código es más simple de lo que cabría esperar. UNA para bucle se utiliza para llamar al make_cylinder módulo diez veces. Como hay 360 grados en un círculo y 360/10 = 36, cada cilindro debe girarse en incrementos de 36 grados. Cada iteración de este bucle incrementará la yo variable por 36. Este bucle llama al make_cylinder Módulo, que simplemente dibuja un cilindro y lo posiciona de acuerdo con los grados que le pasa el bucle. Puedes dibujar más o menos cilindros modificando el numero_de_holes variable, aunque es posible que desee ajustar el espaciado si lo hace. Así es como se ven los 100 cilindros, se superponen ligeramente:

Exportador

Ahora que sabe cómo codificar en OpenScad, se requiere un último paso antes de poder imprimir en 3D sus modelos. Necesita exportar su diseño desde OpenSCAD al estándar STL Formato utilizado por la mayoría de las impresoras 3D. Afortunadamente, hay un botón de exportación a STL: Menú del editor > Parte superior derecha:

Es todo por hoy. Ahora debería tener un excelente conocimiento práctico de OpenSCAD: todo lo complejo se basa en estos fundamentos, y muchas formas complejas son en realidad muchas formas simples combinadas.

Para un desafío, ¿por qué no mirar algunos de nuestros proyectos de impresión 3D e intentar recrear las partes en OpenSCAD?

  • Imprimibles en 3D para los juegos de rol de Fantasy de mesa Los mejores imprimibles en 3D para los juegos de rol de Fantasy de mesa Los mejores imprimibles en 3D para los juegos de rol de Fantasy en la mesa miniaturas Lee mas
  • Botones de acceso directo personalizados Cree sus propios botones de acceso directo personalizados con un Arduino Haga sus propios botones de acceso directo personalizados con un Arduino El humilde Arduino puede hacer muchas cosas, pero ¿sabía que puede emular un teclado USB? Con este simple circuito, puede combinar accesos directos de teclado largos en una sola tecla de acceso directo personalizada. Lee mas
  • D20 electrónico con estilo con este dado de bricolaje D20 electrónico Con estilo con este modelo de bricolaje electrónico con D20 ¿Quieres algo un poco único en tu próximo encuentro de juegos? Echa un vistazo a este DIY electrónico D20, con gráficos personalizados para golpes críticos y fallos. Lee mas
  • Juegos que puedes imprimir en 3D Los 6 mejores juegos que puedes imprimir en 3D en casa 6 Los mejores juegos en 3D que puedes imprimir en casa Todos saben acerca de las impresoras 3D, pero lo que quizás no sepas es qué tan divertida es la impresión en 3D y qué tan divertida puede ser toda tu familia Estamos hablando de juegos de mesa impresos en 3D. Lee mas

¿Aprendiste algún truco nuevo hoy? ¿Cuál es tu característica favorita de OpenSCAD? ¿Cambiará de otra herramienta CAD pronto? Háganos saber en los comentarios a continuación.!

Explorar más sobre: ​​Modelado 3D, Impresión 3D.