Saltar al contenido
Especialista3D

Dynamo DesignScript: Qué es y ejemplos

Dynamo DesignScript Ejemplo

¿Qué es DesignScript dentro de Dynamo? DesignScript como lenguaje de programación

DesignScript es un lenguaje de programación desarrollado por Autodesk que combina características de modelado paramétrico y asociativo con programación convencional, ofreciendo a los diseñadores una herramienta poderosa para crear y manipular modelos geométricos complejos.

Fue diseñado para ser utilizado en entornos de diseño computacional, especialmente en el software Dynamo.

¿Cuál es el lenguaje de los Codeblocks en Dynamo? Lo averiguaste: Dynamo DesignScript

Y sí, es que si estás preguntándote cuál es el lenguaje de programación que utiliza nuestro querido nodo de Codeblocks es este: el DesignScript.

Ok, ¿Qué significa eso de que el DesignScript Dynamo sea «paramétrico y asociativo?

El modelado asociativo es un enfoque en el diseño asistido por computadora (CAD) y otras plataformas de modelado en el que los objetos y componentes dentro de un diseño están interconectados y tienen relaciones definidas entre sí. Estas relaciones se denominan «asociaciones». Estas asociaciones tienen que ver con:

  • Relaciones entre Objetos: En el modelado asociativo, cuando se modifica un objeto, cualquier otro objeto que esté relacionado o «asociado» con él también puede cambiar automáticamente según las reglas o relaciones definidas. Por ejemplo, si dos líneas están definidas para ser perpendiculares entre sí, al mover una línea de manera que cambie su orientación, la otra línea se ajustará automáticamente para mantener la relación de perpendicularidad.
  • Parametrización: Muchos sistemas de modelado asociativo utilizan parámetros para definir características específicas de un objeto, como su longitud, anchura o radio. Estos parámetros pueden estar vinculados a otros parámetros, lo que significa que cambiar el valor de un parámetro puede afectar automáticamente a otros objetos en el diseño.
  • Flexibilidad en el Diseño: Una de las principales ventajas del modelado asociativo es la flexibilidad que ofrece en el proceso de diseño. Los diseñadores pueden hacer cambios en una parte del diseño y ver cómo esos cambios afectan al resto del modelo en tiempo real. Esto facilita la experimentación y la iteración durante el proceso de diseño.
  • Complejidad y Gestión: Si bien el modelado asociativo puede aumentar la eficiencia, también puede añadir complejidad. Es esencial gestionar y entender las relaciones entre los objetos para evitar resultados no deseados cuando se hacen cambios.
  • Aplicaciones: El modelado asociativo es común en muchas aplicaciones de CAD, diseño industrial, arquitectura y diseño de ingeniería. Permite a los profesionales crear modelos más precisos y coherentes, y adaptar rápidamente sus diseños a nuevas especificaciones o requisitos.

Ejemplos de uso de Dynamo DesignScript: Geometría con DesignScript

Vamos a desglosar el ejemplo de la imagen de arriba, la que protagoniza este artículo. Hemos escrito lo siguiente:

  1. Primero escribimos tres puntos por coordenadas y trazamos un arco que pasa por dichos puntos

point1 = Point.ByCoordinates(0, 0);
point2 = Point.ByCoordinates(2, 3);
point3 = Point.ByCoordinates(10, 10);
arc1 = Arc.ByThreePoints(point1, point2, point3);

2. Sobre este arco hemos hecho 10 divisiones, el resultado son 10 puntos sobre el arco

t1 = (0..1..#10);
point1 = Autodesk.Curve.PointAtParameter(arc1, t1);

3. Hemos designado el vector z y lo hemos rotado 10 veces en torno al eje x. Esta rotación va de 0 a 90 en partes iguales en 10 divisiones.

vector1 = Autodesk.Vector.ZAxis();
vector2 = Autodesk.Vector.XAxis();
t1 = (0..90..#10);
vector3 = Autodesk.Vector.Rotate(vector1, vector2, t1);

Recursos con ejemplos útiles: Guía de Dynamo DesignScript de Robert Aish, DesignScript Languaje , Documentación de Dynamo, nuestra guía de Especialista3D de Fundamentos de Dynamo.

4. Por último trazamos 10 líneas en las direcciones de los vectores rotados, de longitud 15 y que parten de cada uno de los puntos designados

line1 = Line.ByStartPointDirectionLength(point1, vector1, 15);

Cómo acceder al Dynamo DesignScript desde Dynamo y saber cómo se escriben las cosas

Vale, y me dirás: muy bonito el ejemplo, ¿pero cómo accedo yo a designScript y aprenderlo? hoy me siento generosa así que vamos a ver 3 opciones.

Node to code: traduciendo nodos de Dynamo a Codeblock y leyendo DesignScript en los Codeblocks

Una opción para acceder a Dynamo Designscript es hacerlo desde el propio Dynamo. Es necesario saber un poquito de Dynamo para manejar esta opción.

Una vez que tengas lo que quieres de Dynamo selecciona lo que quiere «traducir» a DesignScript, pincha en la parte blanca lejos de los nodos, haz click derecho y selecciona «Nodo para Código». ¡Ya lo tienes!

Acceso a DesignScript desde Python

Puedes acceder a Dynamo DesignScript desde el nodo de Python en Dynamo. ¿Cómo? importando las librerías de Autodesk.DesignScript. Te vienen por defecto al abrir el nodo de python en Dynamo.

Aprender todo sobre CodeBlock y Dynamo DesignScript en el Curso de Especialización de Dynamo y Python Online de Especialista3D

Puedes dejar que te enseñemos a utilizar Dynamo, Python y el DesignScript desde cero a profesional en la formación de Especialización en Dynamo y Python Online de Especialista3D.

CC BY-NC 4.0 Dynamo DesignScript: Qué es y ejemplos por Especialista3D está licenciado bajo una Licencia Creative Commons Atribución-NoComercial 4.0 Internacional.