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

  • Lesley Fowler
  • 0
  • 4062
  • 521
Anuncio

¿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 proporciona una manera de diseñar modelos específicamente para la impresión 3D, utilizando nada más que código. No se preocupe si tampoco sabe cómo codificar, hoy lo guiaré a través de los conceptos básicos..

¿Qué es OpenSCAD??

OpenSCAD es gratis Diseño sólido asistido por computadora modelador. Está disponible para Windows, Mac y Linux. Lo que lo hace diferente a muchos otros programas es que diseñas partes usando código en lugar de un mouse. Esto hace que sea muy fácil hacer cálculos matemáticos, almacenar dimensiones en variables, cambiar el tamaño de piezas y más.

Hay algunos factores que debe tener en cuenta cuando se imprimen modelos 3D, pero muchos de estos se aplican a los modelos CAD de impresión 3D en general, no solo a los diseños OpenSCAD. Si desea obtener más información sobre la impresión en 3D, consulte nuestra guía para principiantes de Ultimate Guía para principiantes de impresión en 3D Guía para principiantes de Ultimate para impresión en 3D Se suponía que la impresión en 3D era la nueva "revolución industrial". Todavía no se ha apoderado del mundo, pero estoy aquí para hablar sobre todo lo que necesita saber para comenzar. . Si está buscando un modelador más interactivo, lea la guía para crear objetos en Sketchup Diseñe y construya edificios y objetos virtuales 3D con Google SketchUp Diseñe y construya edificios y objetos virtuales 3D con Google SketchUp Google SketchUp es el programa de modelado de red troncal para Google BuildingMaker, que permite a los diseñadores gráficos enviar diseños de edificios a Google para agregarlos a las imágenes oficiales de Google Earth. .

Preparándose

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, continúe y ábralo. Se le presentará 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, descubrí que esto hizo que las cosas fueran más confusas al comenzar. Para este tutorial, cree un nuevo archivo haciendo clic en el nuevo botón.

Una vez abierto, se le presentará esta interfaz de aspecto simple:

Esto se divide en tres áreas principales. A la izquierda está tu editor y menú. Aquí es donde escribirá su código. Todavía 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 arriba a la derecha. Aquí puede interactuar con su modelo, pero no podrá editarlo aquí (estará escribiendo código para hacerlo).

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

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

Los basicos

La forma en que OpenSCAD funciona la mayoría de las veces es a través de la suma y resta de formas simples. Puedes construir modelos muy complejos de esta manera, así que saltemos directamente.

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

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

cubo(); // crea un cubo

Para que su código se ejecute y compile el modelo, debe obtener una vista previa. OpenSCAD lo hará de forma predeterminada cada vez que guarde, o puede presionar F5 para forzar una actualización. Experimenta moviéndote en el espacio 3D manteniendo presionados los botones izquierdo o derecho del mouse.

Ahora, esto produce un cubo agradable, 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 cortadora de impresión 3D) interpretarlos, ya sea métrico o imperial. De hecho, proporciona una gran flexibilidad.

Agreguemos algunas dimensiones a su 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 así es como se ve:

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 (puede pasar el radio si lo prefiere). los h El parámetro es la altura. Sin embargo, algo está mal aquí. Este cilindro se ve bastante “bloque”. Necesita 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);

Así es como se ve:

Esto aumenta la cantidad 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, especialmente 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 rotar el cilindro usando girar método:

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

Los valores pasados ​​a una El parámetro representa 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 puede hacer. Es necesario para diseñar los diseños más complejos..

Finalmente, otra forma útil es un esfera:

Aquí está el código:

esfera (d = 100);

Al igual que el cilindro, puede suavizar esto usando el $ fn código de arriba.

Codificación avanzada

Ahora que conoce los conceptos básicos, veamos algunas habilidades más avanzadas. Al diseñar 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 solo está en su cabeza.

Creemos una forma avanzada: un cubo con una esfera interior ahuecada. Crear un cubo y un esfera con centrar establecido en verdadero. Resta uno del otro usando el diferencia método:

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

Aquí está el resultado:

Experimente 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 quisieras un surco en un cubo, podrías restarle otro cubo o agregar dos más encima. Por lo general, no importa de qué manera se hacen las cosas, pero dependiendo de la complejidad de la parte, puede ser más fácil hacer ciertas manipulaciones primero.

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

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

Así es como se ve:

Tal vez se pregunte 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 renderizar completamente el modelo. Esto puede llevar algo de tiempo, dependiendo de la complejidad. La vista previa (F5) suele ser lo suficientemente bueno mientras se trabaja. Así es como se ve el render final (con $ fn establecido en 100):

Aquí hay otro ejemplo avanzado. Digamos que querías montar algo usando un perno. Crear un agujero es bastante simple usando cilindro, pero, ¿y si quisieras que la cabeza del tornillo se montara al ras para tornillos avellanados? Simplemente podría 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. Haga estos diferentes tamaños, y OpenSCAD hará el resto.

Como soy británico, usaré dimensiones métricas aquí, para un perno avellanado M5. Puede ajustarlo fácilmente para adaptarse a las fijaciones que desee usar. Aquí está el código:

$ fn = 100; // configuración de tornillos m5_clearance_diameter = 5.5; m5_head_clearance_diameter = 11; m5_head_depth = 5; diferencia () // resta el cubo (20, 20, 20); agujero_tornillo (10, 10, 20); bolt_bevel (10, 10, 15);  módulo bolt_hole (x, y, altura) / * M5 agujero a 90 grados. * / traducir (v = [x, y, 0]) cilindro (d = m5_clearance_diameter, h = altura);  módulo bolt_bevel (x, y, z) // M5 bevel translate (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 las variables? Esto hace que la codificación y el mantenimiento sean mucho más fáciles. Un método que quizás aún no haya encontrado es módulo. Esto le permite definir un bloque de código para ejecutar cuando lo desee. En realidad, este es un función. Deberías usar módulos y variables para cualquier forma compleja, ya que hacen que las cosas sean más fáciles de leer y más rápidas para realizar cualquier cambio. Así es como se ve el chaflán:

Veamos un último ejemplo. Digamos que desea producir una serie de agujeros alrededor de un círculo. Puede medir, traducir y rotar manualmente todo esto, pero incluso con 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; número_de_hojos = 10; for (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) // hacer cilindro e incluso distribuir rotar ([0, 0, i]) traducir ([10, 0, 0]) cilindro (h = 2, r = 2); 

Este código es más simple de lo que cabría esperar. UNA para el bucle se usa para llamar al make_cylinder módulo diez veces. Como hay 360 grados en un círculo y 360/10 = 36, cada cilindro debe rotarse en incrementos de 36 grados. Cada iteración de este bucle incrementará el 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. Puede dibujar más o menos cilindros modificando el número_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 sus modelos en 3D. Necesita exportar su diseño de OpenSCAD al estándar STL formato utilizado por la mayoría de las impresoras 3D. Afortunadamente, hay una exportación al botón STL: Menú del editor > Parte superior derecha:

Es todo por hoy. Ahora debe tener un excelente conocimiento práctico de OpenSCAD: todas las cosas complejas se basan en estos fundamentos, y muchas formas complejas son realmente muchas formas simples combinadas.

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

  • Imprimibles en 3D para juegos de rol de fantasía de mesa Los mejores imprimibles en 3D para juegos de rol de fantasía de mesa Los mejores imprimibles en 3D para juegos de rol de fantasía de mesa Si prefieres una experiencia inmersiva para juegos de rol, hay una nueva forma de hacerlo: utiliza la impresión 3D para crear piezas físicas del terreno y miniaturas.
  • Botones de acceso directo personalizados Haga 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? Puede combinar métodos abreviados de teclado largos en una única tecla de método abreviado personalizada, con este circuito simple.
  • Electronic D20 Roll in Style con este DIY Electronic D20 Die Roll in Style con este DIY Electronic D20 Die ¿Quieres algo un poco único en tu próxima reunión de juegos? Echa un vistazo a este D20 electrónico de bricolaje, con gráficos personalizados para golpes críticos y fallas.
  • Juegos que puedes imprimir en 3D 6 Juegos más geniales que puedes imprimir en 3D en casa 6 Juegos más geniales que puedes imprimir en 3D en casa toda tu familia Estamos hablando de juegos de mesa impresos en 3D.

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




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.