
Una breve introducción al concepto de creación de modelos 3D con el paradigma de "geometría constructiva de sólidos". Será fundamental adoptar esta forma de pensar nuestros modelos y dominar esta técnica de diseño porque es la que emplearemos para crear nuestras piezas 3D.
En esta clase daremos un vistazo al manual de uso y la documentación del proyecto open-source JScad.
No te enamores del framework! Es importante conocer las alternativas que tenemos a disposición para tener la posibilidad de migrar nuestros proyectos a otros entornos y ante cualquier imprevisto, ser ágiles y flexibles para continuar con la entrega de nuestro trabajo sin perder el tiempo.
En esta clase veremos un breve ejemplo, a modo de "hola mundo" con JScad, para aprender cómo utilizar el editor de texto de la versión online de este software.
Escribe el código para humanos! El desempeño no será nuestro objetivo por lo que resulta crucial mantener siempre el código de nuestros proyectos bien organizado para que éste sea fácil de mantener y extender.
La más simple de las transformaciones es "traslación", que nos va a permitir posicionar nuestros modelos en cualquier parte del espacio de diseño. Veremos en esta clase cómo aplicar esta transformación con ejemplos muy simples.
Veremos en esta clase cómo aplicar la transformación "rotación" a nuestros modelos 3D.
Para quienes resulta más intuitivo emplear grados sexagesimales, veremos las utilidades que tiene JScad para realizar la conversión de grados a radianes.
Las operaciones de traslación y rotación aplican transformaciones sobre los conjuntos de puntos referidos al origen del sistema de coordenadas, por eso al alternar estas operaciones, los resultados pueden ser muy distintos, lo cual veremos en un ejemplo demostrativo.
Comenzamos a aplicar operaciones lógicas sobre nuestros modelos geométricos, en esta clase, veremos la función unión del módulo "booleans".
Continuando con las operaciones lógicas, en esta clase vemos la operación diferencia o substracción y la utilizaremos para aplicar un ahuecamiento a un sólido tridimensional.
Finalmente vemos cómo funciona la operación intersección, que nos permite lograr formas únicas de una manera sencilla.
En esta clase veremos cómo se puede emplear la función "extrudeLinear" para darle volumen a una figura 2D.
A veces necesitamos crear cuerpos con cierta simetría radial, para eso, existe la función "extrudeRotate" cuyo funcionamiento y efecto, lo veremos explicado en esta clase mediante un ejemplo demostrativo.
Finalmente y antes de poner en práctica todo lo que aprendimos hasta aquí, veremos cómo crear una envolvente convexa o "hull" para unir distintas figuras en dos dimensiones, para luego darle volumen mediante el método de extrusión lineal.
En esta clase veremos de qué se trata la consigna de este proyecto integrador.
Iniciamos la implementación de nuestro diseño creando la pista circular del rodamiento.
La organización del código en módulos es fundamental para trabajar en equipos de varios diseñadores, haremos una refactorización del código para organizarlo de forma más ordenada.
Continuamos con la segunda parte de diseño, aquí definimos el módulo que nos permite agregar el set de bolillas del rodamiento.
Cuando nuestro proyecto crece, ya resulta difícil mantenerlo en un único archivo, por eso, crearemos un directorio local y lo sincronizaremos con la versión en-línea de OpenJSCAD, para separar nuestros módulos en múltiples ficheros de texto.
Una vez que tenemos implementado nuestro modelo paramétrico, llega el momento de darle al usuario la posibilidad de que configure estos parámetros. Para ello, definiremos una GUI donde será posible ajustar los valores de algunas variables.
En esta clase veremos de qué se trata la consigna de este segundo proyecto integrador.
Realizaremos la parametrización de una de las piezas, en este caso, de las palancas con sus contrapesas, para luego escribir el código que nos permite implementar el modelo 3D con JSCAD.
Al igual que la clase anterior, parametrizaremos el cabezal de nuestro modelo y lo implementaremos en un diseño 3D.
Finalizamos este proyecto con una clase demostrativa donde revisaremos el código completo donde ya se han importado el resto de las piezas y calculado todas las posiciones y orientaciones que nos permiten generar el modelo terminado. Veremos algunos consejos para enviar estas partes a imprimir con impresoras 3D.
¡Bienvenidos al curso "Diseño 3D en JavaScript: introducción a JSCAD"!
Aprenderemos los conceptos básicos del diseño 3D paramétrico mediante geometría constructiva de sólidos, una técnica para crear cuerpos complejos con precisión. Como lenguaje para dar forma a nuestros proyectos, usaremos el popular JavaScript, uno de los lenguajes más utilizados hoy en día en el mundo del desarrollo web.
Comenzaremos viendo brevemente los fundamentos del paradigma "Code-CAD" y por qué será la forma de diseñar sólidos del futuro. Seguiremos investigando en la web las herramientas disponibles online, las ventajas y desventajas de cada una y echaremos un vistazo a la documentación. Pasaremos luego a diseñar nuestros primeros sólidos con el editor online de OpenJSCAD e inmediatamente saltaremos a nuestro primer proyecto completo. Terminaremos el curso implementando un mecanismo complejo: un aparato de bombeo que luego podrás imprimir con una impresora 3D!
Lo que aprendas en este curso podrás aplicarlo en múltiples contextos, desde diseño de piezas para impresión 3D pasando por la creación de videojuegos hasta el desarrollo de mecanismos y sistemas complejos en ambientes profesionales de ingeniería.
Programa
Capítulo 1 - Introducción
Clase 1: Diseño CSG.
Clase 2: OpenJScad. Documentación. Herramientas online.
Clase 3: Alternativas a OpenJScad.
Capítulo 2 - Formas primitivas
Clase 4: Dibujar cuerpos simples.
Clase 5: Organización del código.
Capítulo 3 - Operadores de transformación
Clase 6: Función translación.
Clase 7: Función rotación.
Clase 8: Conversión de grados a radianes.
Clase 9: Combinación de operaciones translación y rotación.
Capítulo 4 - Operadores lógicos.
Clase 10: Función unión.
Clase 11: Función diferencia.
Clase 12: Función interseccción.
Capítulo 5 - Extrusiones y envolventes.
Clase 13: Extrusión lineal.
Clase 14: Extrusión circular.
Clase 15: Envolvente convexa.
Capítulo 6 - Proyecto integrador I: Un rodamiento de bolillas.
Clase 16: Esquemáticos del diseño.
Clase 17: Crear pista.
Clase 18: Refactorizar el proyecto.
Clase 19: Crear set de bolillas.
Clase 20: Organizar el proyecto en múltiples archivos.
Clase 21: GUI para configurar parámetros.
Capítulo 7 - Proyecto integrador II: Un aparato complejo.
Clase 22: Esquemáticos del diseño.
Clase 23: Palancas.
Clase 24: Cabezal.
Clase 25: Modelo completo.