Tutorial de OpenScad

Tutorial de OpenScad
Hacer una parte mecánica requiere un dibujo. Comenzó con papel, y los primeros programas CAD usaron exactamente el mismo estilo. Incluso hay cuadrados estándar en los dibujos para que se identifique cada dibujo. Todo esto es útil cuando comienzas a entrar en producción en grandes corporaciones. Sin embargo, cuando comienza a hacer una nueva pieza mecánica, es posible que desee otros métodos.

Los métodos CAD 3D le permiten ver la pieza completa como está. También puedes torcerlo y girarlo. En el software avanzado, también puede simular el movimiento. En todos los casos, dibuja las piezas usando una interfaz gráfica. Esto es ideal para hacer cajas y cilindros, pero cuando desea hacer formas más complejas, es posible que necesite métodos matemáticos.

Ingrese una forma estándar de describir cualquier material con comandos.

¿Qué hace que OpenScad sea tan especial??

En OpenScad, no dibuja nada con su puntero o bolígrafo. Codifica la pieza completa con comandos y funciones. Esto es incómodo para los ingenieros mecánicos, pero para los programadores, tiene otra situación. Además de la preferencia personal, también tiene la ventaja de la precisión. Cuando lo diseña con código, tiene la precisión allí en el código.

La característica más poderosa de OpenScad son las operaciones binarias. Puede usar operadores binarios para armar piezas o cortar material. Es fácil hacer un cubo con un agujero en el centro retrayendo el cilindro del cubo. Algunas de estas operaciones están disponibles en otro software CAD, pero se cae naturalmente para usarlas en OpenScad.

¿Cuáles son las necesidades de su proyecto??

Después de haber puesto su diseño en una servilleta, puede pensar que necesita ver qué está sucediendo cuando intenta convertirlo en un diseño completo. No te preocupes; Hay una ventana de vista previa para que lo mire mientras codifica. Una vez que comprenda las ideas básicas, sabrá si es la mejor opción para su proyecto.

En resumen, si desea crear piezas pequeñas que tengan formas complejas, debe probar OpenScad. Para equipos completos y sistemas mecánicos, desea utilizar aplicaciones gráficas más avanzadas. Dicho esto, todo es cuestión de gusto. Puede hacer formas complicadas con solo código, ¿consideraría codificar un automóvil completo??

Instalación

OpenScad, disponible en sus repositorios estándar para la mayoría de las distribuciones, también se puede instalar utilizando un SNAP y Appimage. Interesante es que también tienes un segundo paquete que incluye tornillos, engranajes y formas genéricas. El paquete más nuevo está en el Snap de OpenScad-Nightly.

SUDO APT INSTALA OPENSCAD
SUDO Snap Instalar OpenSCad-Nightly

Si desea usar los tornillos incluidos que vienen como un paquete separado, use los repositorios de su distribución.

sudo apto install openscad-mcad

El uso de las partes incluidas es otro asunto, cubierto más abajo.

Varias formas estándar

Los principios de Scripting CAD es que tienes algunas formas geométricas estándar. Usas estas formas y las combinas en formas más complejas. Las formas estándar son círculo, cuadrado y polígono para 2D. Para 3D, tienes una esfera, cubo, cilindro y poliedro. Al usar algunos de estos para construir y otros para cortar, puede crear formas muy complejas.

También hay una función de texto que crea un texto 2D. Cuando necesite crear dibujos para un procesamiento adicional, puede usar el comando de proyección. Este comando corta una forma 3D a lo largo de un avión para que pueda transferirlo a un dibujo. También puede agregar formas de otros programas o incluso imágenes, utilizando el comando de importación. Esto también funciona con formas 3D.

Además, puede extruir las formas de los objetos existentes.

Transformaciones

Por defecto, crea todas las piezas en el punto central de la cuadrícula en todas las dimensiones. Esto los hace superponerse. Una vez que tenga varias formas, desea que se coloquen en el punto correcto y gire. Estas funciones son las simples, traducir pone el objeto en otro lugar. El comando de rotación gira el objeto o los objetos infantiles. También tiene la función del espejo, que crea una copia del objeto reflejado alrededor del eje dado.

Las otras transformaciones necesitan ejemplos para explicar. En resumen, el casco crea las líneas externas de muchas formas. Prueba con dos círculos y combínalos con casco (). O el código a continuación.

traducir ([-10,0,0])
casco ()
cilindro (30, 5, 1);
cubo (9);
esfera (12);

La operación de Minkowski generalmente se usa para crear bordes; Si quieres redondearlos, usa una esfera.

Operaciones booleanas

No se pueden crear muchas piezas con solo cuadrados, cilindros y esferas. Lo primero que puedes hacer es combinar y cortar muchas formas en una sola forma. Usas operadores booleanos para hacer esto. Son unión, diferencia e intersección.

Unión()
cubo ([35, 5, 2], centro = verdadero);
cilindro (h = 2, r = 5, centro = verdadero);

En el código anterior obtienes una sola pieza que tiene una bombilla en el centro. Para hacer un tubo, toma la diferencia entre un cilindro y otro.

diferencia()
cilindro (H = 15, R1 = 30, R2 = 30, Center = True);
cilindro (h = 15, r1 = 25, r2 = 25, centro = true);

A medida que avanzamos, usará estos y más. Aquí hay un ejemplo de intersección.

intersección()

girar ([45,0.0])
cilindro (h = 40, r = 4, centro = verdadero);
traducir (5,5,5)
cilindro (h = 40, r = 6, centro = verdadero);

La intersección solo deja las cosas superpuestas; Puede crear muchas formas utilizando este método.

Para bucles

Muchos de sus diseños tendrán la misma pieza muchas veces, considere un patio. Por lo general, están hechos de varios tablones con huecos entre ellos. En este caso, haces una tabla y solo iteras sobre ellos con un bucle para.

brecha = 8;
plank_width = (bed_width / 4) - gap;
num_planks = 4;
para (plank_x_pos = [0: 1: num_planks - 1])

traducir ([plank_width * plank_x_pos + gap * plank_x_pos, 0,0])
Cube ([Plank_Width, 4,200]);

Sin el bucle for, habría escrito el cubo y traducir declaraciones cuatro veces. También habrías tenido que calcular qué tan lejos iría el próximo tablón. Incluso con solo cuatro piezas, esta solución se ve mucho más fácil. En el ejemplo, también puede ver variables que deben establecerse. Todas las variables se establecen en tiempo de compilación, esto es importante ya que puede encontrarse con problemas de depuración si piensa en ellas como valores en otros lenguajes de programación. Como verá más adelante, también puede hacer de todo el patio un módulo.

Matemáticas

Incluido en OpenSCAD, tiene algunas funciones matemáticas disponibles. Las características compatibles son la mayoría de las funciones trigonométricas, redondeando de diferentes maneras y función logarítmica. Puedes ver un ejemplo a continuación.

para (i = [0:36])
traducir ([i*10,0,0])
cilindro (r = 5, h = cos (i*10)*50+60);

La función anterior crea una larga fila recta de cilindros de diferente altura. Las funciones principales están conectadas a la trigonometría. Sin embargo, con funciones aleatorias de redondeo y los operadores estándar, puede crear casi todo. También hay soporte para vectores, matrices y raíz cuadrada. Incluso con estas funciones, puedes llegar realmente lejos. Sin embargo, no cubren todo lo que puedas imaginar; En su lugar, puede crear funciones.

Módulos y funciones

Tiene muchos módulos incluidos en la instalación de OpenScad. Sin embargo, también puede descargar otras bibliotecas. En su distribución, probablemente encuentres MCAD, también llamado OpenScad-Mcad. Para instalar bajo Ubuntu.

$ sudo apt install openscad-mcad

Dentro de este paquete, encuentra tanto módulos como funciones. Antes de comenzar cualquier proyecto, busque bibliotecas y módulos. Ya hay una biblioteca de tornillos, y ese es solo el comienzo. Falta una parte de su diseño? Haz tus propios módulos; Los usas para hacer piezas nuevas. Cuando usa parámetros, puede hacer muchas versiones con ellos. La mejor manera de crear un módulo es hacer el diseño como un archivo separado, descubrir qué debe ser dinámico y agregar 'módulo' alrededor de la pieza.

Para usar un módulo, lo llamas por su nombre. Dado que muchos módulos vienen en archivos separados, debe colocar una declaración de inclusión en la parte superior de su archivo. Preste atención a la diferencia entre la declaración "incluir" y la declaración de "uso". Si desea que todo en un archivo ejecute, lo "incluye", si desea módulos y funciones definidas solo, "use" el archivo. Para asegurarse de que puede usar los módulos, debe colocarlos en el directorio actual de su modelo o en una de las rutas de búsqueda.

Primero, veamos algunos que puede descargar y usar.

Tornillos

En el paquete de la sección anterior, puede encontrar muchas cosas. Un grupo son tornillos! Puede probarlos cargándolos en la aplicación y llamando al módulo. En la biblioteca MCAD, puedes encontrar muchos tornillos. Hay muchas otras colecciones de otras fuentes. Para usar un tornillo, cree un archivo que contenga la declaración de inclusión para el módulo que necesita. Ahora, en cualquier lugar que desee usar el módulo, puede usar el nombre del módulo para crear su tornillo.

incluir ;
ball_groove (12, 40, 2);

Este es un tornillo que puede colocar una pelota. Usted además puede encontrar nueces_and_bolts_scad, que define tornillos y pernos métricos. Los diseñadores utilizaron un sitio web donde puede encontrar pernos y creó un método para que use. Otro ejemplo es un agujero para un perno.

incluir
diferencia()
cubo ([12,16,20], centro = verdadero);
traducir ([0,0, -3])
bolthole (8, longitud = 300);

El código anterior crea un agujero lo suficientemente grande para el perno M8, este ejemplo crea un cubo y corta dos cilindros de dos tamaños. Eso no es muy complicado, pero la complejidad crece rápidamente cuando usa otros componentes. Agregue los tornillos a las cajas paramétricas y puede ver cómo ayuda una biblioteca.

Haciendo un carrito

Para hacer cualquier construcción de cualquier complejidad, deberá hacer una pieza a la vez. Más tarde, los combinas entre sí. Como hemos mencionado anteriormente, puede usar módulos y funciones. La mejor manera de comenzar es decidir dónde necesita establecer variables. Para un carrito simple, necesita altura, distancia entre ejes y longitud. Debe establecer los valores en un solo lugar y usarlos para que las piezas se ajusten alrededor del diseño. Es posible que necesite más valores, pero no los ponga todos cuando comience. Cuando comience un nuevo proyecto, no tendrá todas las piezas listas, así que prepárese para cambiar las cosas.

distancia entre ejes = 150;
CartLength = Wheelbase * 1.2;
Cartwidth = 50;
WheelDiameter = 25;
SuspensionHeight = (WheelDiameter/2) + 5;
traducir ([distancia entre ejes/2, carro de carro, 0])
Rotar ([90,0,0])
cilindro (r = wheelradius, 10, centro = verdadero);
traducir ([distancia entre ejes/2,-(Cartwidth), 0])
Rotar ([90,0,0])
cilindro (r = wheelradius, 10, centro = verdadero);

El código muestra el código para las dos primeras ruedas. Si piensas un poco en eso, probablemente puedas hacer las ruedas traseras. Para agregar la falla, la superficie donde van todas las cosas, solo agregas un cubo. Use las variables que coloca en el código.

Traducir ([0, 0, SuspensionHeight])
Cube ([CartLength, CartWidth, 10], Center = True);

Sin embargo, este simulacro está en la misma altura que las ruedas, por lo que nos encargamos de eso con el valor de la altura de la suspensión. La declaración traducida afecta lo que está directamente después de él. Tenga en cuenta que no hay semi-colon al final de una línea. Cuando las declaraciones en el interior se vuelven largas, usas aparatos ortopédicos a su alrededor.

Ahora, debe agregar ejes y suspensión. Los ejes pueden ser cilindros simples que van entre las ruedas. Los coloca de la misma manera que hiciste las ruedas usando rotar y traducir. De hecho, lo mejor es usar los mismos valores.

Traducir ([Gase Wheel/2,0,0])
Rotar ([90,0,0])
cilindro (r = Wheelradius * 0.25, H = (Cartwidth * 2) + 15, Center = True);

El código aquí pone el eje delantero en su lugar. El eje trasero, te dejo el lector para descubrir. Podemos resolver la suspensión de muchas maneras. En este caso, lo mantendremos simple.

// Suspensión
traducir ([distancia entre ejes/2, 0, suspensionHeight])
Rotar ([90,0,0])

diferencia()
cilindro (r = SuspensionHeight, 10, Center = True);
cilindro (r = SuspensionHeight - 5, 11, centro = verdadero);
Cube ([102, SuspensionHeight/6, 12], Center = True);

Traducir ([SuspensionHeight, 0, 0])
cilindro (r = SuspensionHeight/3, H = 12, Center = True);
traducir ([-SuspensionHeight, 0, 0])
cilindro (r = SuspensionHeight/3, H = 12, Center = True);

Este código crea una suspensión muy cruda; Solo usa cilindros, por lo que no será el mejor cuando comience a usarlo. Ilustra una forma de crear diseños de las primitivas; cilindro, cubo y bueno, eso es todo para este modelo. A medida que avanza, harás cada pieza un módulo y colocarás esas piezas.

Bibliotecas

En la parte anterior, usaste solo círculos. Cualquier diseño que use solo esas primitivas no será el mejor para todas las aplicaciones. Necesita crear diseños de buen aspecto y eficiente. La solución son las matemáticas! Para agregar esto, debe comenzar usando las bibliotecas de otras personas.

Hay una gran cantidad de bibliotecas construidas por personas inteligentes en la comunidad. Las personas que construyen son usuarios que resuelven sus problemas y luego lo compartieron gentilmente con todos los demás. Gracias a todos ustedes! Un buen ejemplo es Dotscad; Para el ejemplo de la suspensión, puede encontrar una curva Bézier.

Exportar a otro software

Una vez que tenga un diseño decente, es posible que desee usarlo en otro software. Puede exportar a STL, DWG y una gran cantidad de otros formatos. Sus entusiastas de la impresión en 3D pueden usar los archivos STL directamente en sus programas de cortes.

Alternativas

Otra alternativa emocionante es implícita. Este software está muy en desarrollo. Tienes que ejecutar su línea de comando, y requiere Haskell en su sistema. La mayoría de las instalaciones estándar no tienen Haskell!

Conclusión

Al principio, mira, usar OpenScad es muy difícil. Pasar la curva de aprendizaje es una lucha, pero vale la pena para muchos usuarios. Gracias a los proyectos para contribuir al proyecto. Tiene muchas funciones disponibles al final de un comando git. Simplemente superar los conceptos básicos de la creación de diseños mecánicos a través del código cambia la forma en que piensa sobre las formas. Esto es beneficioso incluso si sigue usando el punto y hace clic para hacer sus otros proyectos.

  • https: // www.OpenScad.organización/documentación.html?Versión = 2019.05
  • http: // eduteechwiki.unige.ch/en/openscad_beginners_tutorial
  • https: // www.OpenScad.org/truco -hoja/índice.html