Dynamo es una plataforma de programación visual de código abierto para diseñadores.
Acaba de abrir Dynamo Primer, una guía completa de programación visual en Autodesk Dynamo. Este manual de introducción es un proyecto continuo para compartir los conceptos básicos de programación. Entre los temas, se incluyen el trabajo con geometría computacional, los procedimientos recomendados para el diseño basado en reglas, las aplicaciones de programación interdisciplinarias y muchos más aspectos relacionados con la plataforma Dynamo.
La potencia de Dynamo se puede encontrar en una amplia variedad de actividades relacionadas con el diseño. Dynamo ofrece una lista ampliable de métodos accesibles para que dé sus primeros pasos:
Explore la programación visual por primera vez.
Conecte flujos de trabajo en varios programas.
Participe en una comunidad activa de usuarios, colaboradores y desarrolladores.
Desarrolle una plataforma de código abierto para seguir mejorando.
En medio de esta actividad y magnífica oportunidad para trabajar con Dynamo, necesitamos un documento del mismo calibre, Dynamo Primer.
Consulte el manual de introducción para obtener información sobre lo que puede aprender en esta guía.
Estamos mejorando continuamente Dynamo, por lo que algunas funciones pueden tener un aspecto diferente al que se representa en este manual de introducción. Sin embargo, todos los cambios de funcionalidades se representarán correctamente.
El proyecto Dynamo Primer es de código abierto. Nos hemos dedicado a proporcionar contenido de calidad y agradeceremos cualquier comentario que pueda tener. Si desea informar de un problema sobre cualquier aspecto, publíquelo en la página de problemas de GitHub: https://github.com/DynamoDS/DynamoPrimer/issues.
Si desea contribuir con una nueva sección, modificaciones o cualquier otra aportación a este proyecto, consulte el repositorio de GitHub para empezar: https://github.com/DynamoDS/DynamoPrimer.
Dynamo Primer es un proyecto de código abierto iniciado por Matt Jezyk y el equipo de desarrollo de Dynamo de Autodesk.
Mode Lab recibió el encargo de escribir la primera edición del manual de introducción. Les agradecemos todos sus esfuerzos para establecer este valioso recurso.
A John Pierson de Parallax Team se le encargó actualizar el manual de introducción para incluir las revisiones de Dynamo 2.0.
A Matterlab se le encargó actualizar el manual de introducción para incluir las revisiones de Dynamo 2.13.
A Archilizer se le encargó actualizar el manual de introducción para incluir las revisiones de Dynamo 2.17.
A Wood Rodgers se le encargó actualizar el manual de introducción con contenido sobre Dynamo for Civil 3D.
Un agradecimiento especial a Ian Keough por iniciar y guiar el proyecto de Dynamo.
Deseamos agradecer a Matt Jezyk, Ian Keough, Zach Kron, Racel Amour y Colin McCrone su colaboración entusiasta y la oportunidad de participar en una amplia gama de proyectos de Dynamo.
Dynamo Consulte los siguientes sitios para obtener la versión estable más reciente de Dynamo.
http://dynamobim.com/download/ o http://dynamobuilds.com
Nota: A partir de Revit 2020, Dynamo se incluye en las versiones de Revit, por lo que no es necesaria la instalación manual. Hay más información disponible en esta publicación del blog.
DynamoBIM La mejor fuente de información adicional, contenido de aprendizaje y foros es el sitio web de DynamoBIM.
http://dynamobim.org
Dynamo en GitHub Dynamo es un proyecto de código abierto en GitHub. Para colaborar, consulte DynamoDS.
https://github.com/DynamoDS/Dynamo
Contacto Infórmenos de cualquier problema relacionado con este documento.
Dynamo@autodesk.com
Copyright 2023 Autodesk
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. Puede obtener una copia de la licencia en
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
En esta sección, presentamos los nodos básicos disponibles en la biblioteca de Dynamo que le ayudarán a crear su propio programa visual como un profesional.
Geometría para el diseño computacional: ¿cómo puedo trabajar con elementos geométricos en Dynamo? Explore varias formas de crear geometrías simples o complejas a partir de primitivas.
Los bloques de construcción de los programas: ¿qué son los "datos" y qué tipos fundamentales puedo utilizar en mis programas? Además, aprenda a incorporar operaciones matemáticas y lógicas en el flujo de trabajo de diseño.
Diseño con listas: ¿cómo administro y coordino las estructuras de datos? Obtenga más información sobre el concepto de lista y utilícelo para administrar de forma eficaz los datos de diseño.
Diccionarios de Dynamo: ¿qué son los diccionarios? Aprenda a utilizar diccionarios para buscar datos y valores específicos de resultados existentes.
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Este manual de introducción incluye capítulos desarrollados con Mode Lab. Estos capítulos se centran en los conceptos básicos que necesita para empezar a trabajar y desarrollar sus propios programas visuales con Dynamo e influyen decisivamente en cómo llevar Dynamo a un nivel superior.
Este manual se ha diseñado para lectores de diferentes orígenes y con distintos niveles de habilidades. En las siguientes secciones, se ofrece información general sobre la configuración de Dynamo, la interfaz de usuario y los conceptos clave. Es recomendable que los nuevos usuarios aborden los siguientes temas:
Para los usuarios que deseen obtener información más exhaustiva de cada elemento, como un nodo específico y el concepto subyacente, abordaremos los conceptos básicos en su propio capítulo.
Si desea ver la demostración de los flujos de trabajo de Dynamo, hemos incluido algunos gráficos en la sección Flujos de trabajo de ejemplo. Siga las instrucciones que se adjuntan para crear sus propios gráficos de Dynamo.
En capítulos posteriores, se pueden encontrar más ejercicios específicos de los temas, ya que abordamos diferentes aspectos de Dynamo. Los ejercicios se suelen encontrar en la última sección de cada página.
Dynamo no sería lo que es sin un grupo fiel de fervientes usuarios y colaboradores activos. Participe en la comunidad: siga el blog, añada su trabajo a la galería o hable de Dynamo en el foro.
Dynamo es una herramienta de programación visual para diseñadores, lo que nos permite crear herramientas que utilicen bibliotecas externas o cualquier producto de Autodesk que tenga una API. Dynamo Sandbox permite desarrollar programas en una aplicación de estilo "Sandbox". Y el ecosistema de Dynamo sigue creciendo.
El código fuente del proyecto es de código abierto, lo que nos permite ampliar su funcionalidad como deseemos. Eche un vistazo al proyecto en GitHub y examine los trabajos en curso de los usuarios que personalizan Dynamo.
Examine, bifurque y empiece a ampliar Dynamo en función de sus necesidades.
Dynamo ha evolucionado desde sus orígenes como un complemento para BIM (Building Information Modeling) en Revit para convertirse en algo mucho más diverso. Ante todo, se trata de una plataforma que permite a los diseñadores explorar la programación visual, resolver problemas y crear sus propias herramientas. Comencemos nuestro viaje con Dynamo proporcionando algo de contexto: ¿qué es y cómo puedo utilizarlo?
Dynamo es una aplicación de programación visual que se puede descargar y ejecutar en modo "Sandbox" independiente o como un módulo de extensión para otro software como Revit, FormIt o Civil 3D.
Obtenga más información sobre la diferencia entre Dynamo Core, Revit y Sandbox.
Dynamo nos permite trabajar en un proceso de programación visual en el que conectaremos elementos para definir las relaciones y las secuencias de acciones que componen algoritmos personalizados. Podemos utilizar nuestros algoritmos con diferentes fines, desde el procesamiento de datos hasta la generación de geometría, todo en tiempo real y sin necesidad de escribir un ápice de código o code
.
Los nodos y los cables son los componentes clave de Dynamo que impulsan el proceso de programación visual. Este ayuda a establecer relaciones visuales y sistémicas sólidas entre las piezas de un diseño. Con un simple clic del ratón, conecte fácilmente los nodos mientras desarrolla y optimiza el flujo de trabajo de diseño.
Desde el uso de la programación visual para flujos de trabajo de proyectos hasta el desarrollo de herramientas personalizadas, Dynamo es un aspecto integral de una amplia variedad de aplicaciones interesantes.
En Dynamo, los nodos son los objetos que se conectan para formar un programa visual. Cada nodo realiza una operación: en ocasiones, es algo tan sencillo como almacenar un número, o puede ser una acción más compleja, como crear o consultar geometría.
La mayoría de los nodos de Dynamo están compuestos por cinco partes. Aunque existen excepciones, como los nodos de entrada, la anatomía de cada nodo se puede describir como se indica a continuación:
Nombre: nombre del nodo con la convención de nomenclatura
Category.Name
.Cuerpo principal: el cuerpo principal del nodo. Al hacer clic con el botón derecho, se presentan opciones en el nivel de todo el nodo.
Puertos (entrada y salida): los receptores de los cables que proporcionan los datos de entrada al nodo, así como los resultados de la acción del nodo.
Valor por defecto (haga clic con el botón derecho en un puerto de entrada): algunos nodos tienen valores por defecto que se pueden utilizar o no.
Icono de encaje: indica la opción de encaje especificada para las entradas de lista coincidentes (se explicará detalladamente más adelante).
Las entradas y las salidas de los nodos se denominan puertos y actúan como receptores de cables. Los datos entran por la izquierda en el nodo a través de los puertos y salen del nodo por la derecha después de que se haya ejecutado su operación.
Los puertos esperan recibir datos de un tipo determinado. Por ejemplo, al conectar un número como 2.75 a los puertos de un nodo Point.ByCoordinates, se creará correctamente un punto. Sin embargo, si se proporciona Red al mismo puerto, se producirá un error.
Consejo: Coloque el cursor sobre un puerto para ver la información de herramientas que contiene el tipo de datos esperado.
Etiqueta de puerto
Información de herramientas
Tipo de datos
Valor por defecto
Dynamo proporciona una indicación del estado de ejecución del programa visual mediante la renderización de los nodos con diferentes esquemas de color en función del estado de cada nodo. La jerarquía de estados sigue esta secuencia: Error > Advertencia > Información > Vista preliminar.
Al colocar el cursor sobre el nombre o los puertos, o al hacer clic con el botón derecho en ellos, se ofrecen información y opciones adicionales.
Entradas satisfactorias: un nodo con barras verticales azules sobre sus puertos de entrada está bien conectado y todas sus entradas se han conectado correctamente.
Entradas insatisfactorias: un nodo con una barra vertical roja sobre uno o más puertos de entrada debe tener esas entradas conectadas.
Función: un nodo que genera una función y tiene una barra vertical gris sobre un puerto de salida es un nodo de función.
Seleccionados: los nodos seleccionados actualmente se resaltan con un borde de color turquesa.
Inutilizados: un nodo azul translúcido está inutilizado, por lo que se suspende su ejecución.
Advertencia: una barra de estado amarilla debajo de los nodos indica un estado de advertencia, lo que significa que no tienen datos de entrada o que pueden tener tipos de datos incorrectos.
Error: una barra de estado roja debajo del nodo indica que este presenta un estado de error.
Información: la barra de estado azul debajo del nodo indica el estado de información, que ofrece detalles útiles sobre los nodos. Este estado se puede activar al aproximarse a un valor máximo admitido por el nodo, usar un nodo de forma que pueda afectar al rendimiento, etc.
Consejo: Con esta información de herramientas a mano, examine los nodos ascendentes para ver si el tipo de datos o la estructura de datos necesarios presentan errores.
Información de herramientas de advertencia: el valor "null" (nulo) o la falta de datos no se pueden considerar como doble, por ejemplo, un número.
Utilice el nodo Watch para examinar los datos de entrada.
El nodo Number ascendente almacena "Red", no un número.
En algunas situaciones, es posible que desee impedir la ejecución de determinados nodos del programa visual. Para ello, puede "bloquear" el nodo, que es una opción de su menú contextual.
Al bloquear un nodo, también se bloquean los nodos que están en el nivel inferior. En otras palabras, también se bloquearán todos los nodos que dependan de la salida de un nodo bloqueado.
Los cables se conectan entre nodos para crear relaciones y establecer el flujo de nuestro programa visual. Podemos considerarlos literalmente como cables eléctricos que transportan pulsos de datos de un objeto al siguiente.
Los cables conectan el puerto de salida de un nodo al puerto de entrada de otro nodo. Esta dirección establece el flujo de datos en el programa visual.
Los puertos de entrada se encuentran en el lado izquierdo de los nodos y los de salida se encuentran en el lado derecho, por lo que podemos afirmar que el flujo del programa se suele desplazar de izquierda a derecha.
Cree un cable. Para ello, haga clic con el botón izquierdo en un puerto y, a continuación, haga clic con el botón izquierdo en el puerto de otro nodo para crear una conexión. Durante el proceso de creación de una conexión, el cable se mostrará discontinuo y se ajustará para convertirse en líneas continuas cuando se establezca correctamente la conexión.
Los datos siempre fluirán a través de este cable desde la salida hasta la entrada. No obstante, podemos crear el cable en cualquier dirección en cuanto a la secuencia en la que se hace clic en los puertos conectados.
Con frecuencia, desearemos ajustar el flujo de programa de nuestro programa visual mediante la edición de las conexiones representadas por los cables. Para editar un cable, haga clic con el botón izquierdo en el puerto de entrada del nodo que ya está conectado. Ahora tiene dos opciones:
Cambie la conexión a un puerto de entrada; haga clic con el botón izquierdo en otro puerto de entrada.
Para eliminar el cable, retire el cable y haga clic con el botón izquierdo en el espacio de trabajo.
Vuelva a conectar varios cables. Para ello, mantenga pulsada la tecla Mayús mientras hace clic con el botón izquierdo.
Duplique un cable. Para ello, mantenga pulsada la tecla Ctrl mientras hace clic con el botón izquierdo.
Por defecto, nuestros cables se previsualizarán con un trazo gris. Cuando se selecciona un nodo, se renderizará cualquier cable de conexión con el mismo resaltado de color turquesa que el nodo.
Cable resaltado
Cable por defecto
Ocultar cables por defecto
Si prefiere ocultar los cables en el gráfico, vaya a Vista > Conectores > desmarque Mostrar conectores.
Con este parámetro, solo los nodos seleccionados y sus cables de unión se mostrarán resaltados en turquesa claro.
También puede ocultar el conductor seleccionado. Para ello, haga clic con el botón derecho en la salida Nodos > seleccione Ocultar cables.
Dynamo es un proyecto activo de desarrollo de código abierto. Obtenga la lista de software compatible con Dynamo.
Dynamo viene preinstalado en software como Revit3D, FormIt, Civil3D, etc.
Para obtener más información sobre el uso de Dynamo con un software específico, es recomendable consultar las siguientes secciones:
Si desea utilizar Dynamo como una aplicación independiente, siga leyendo para obtener instrucciones sobre cómo descargar Sandbox.
La aplicación Dynamo está disponible en el sitio web de Dynamo. Tanto las versiones oficiales como las preliminares o las anteriores están disponibles en la página de descarga. Visite la página Get Dynamo y haga clic en Download para obtener la versión oficial publicada.
Si busca versiones anteriores o de desarrollo de "vanguardia", todas las versiones se pueden encontrar en la sección inferior de la misma página.
El desarrollo de "vanguardia" puede incluir algunas funciones nuevas y experimentales que aún no se han probado completamente, por lo que pueden ser inestables. Al utilizar esta opción, puede detectar errores o problemas y ayudarnos a mejorar la aplicación informando de los problemas a nuestro equipo.
Se recomienda a los principiantes que descarguen la versión estable oficial.
Antes de iniciar la versión que haya descargado, deberá descomprimir el contenido en la carpeta que desee.
Descargue e instale 7zip en el equipo para este paso.
Haga clic con el botón derecho en el archivo ZIP y seleccione Extraer todo.
Elija un destino para descomprimir todos los archivos.
En la carpeta de destino, haga doble clic en DynamoSandbox.exe para iniciarlo.
Aparecerá la pantalla de inicio de Dynamo Sandbox, como se muestra a continuación.
Enhorabuena, ya ha finalizado la configuración para utilizar Dynamo Sandbox.
La función Geometría es una característica adicional de Dynamo Sandbox disponible únicamente para los usuarios que tengan una licencia o una suscripción actuales a las siguientes soluciones de software de Autodesk: Revit, Robot Structural Analysis, FormIt y Civil 3D. La función Geometría permite a los usuarios importar, crear, editar y exportar geometría desde Dynamo Sandbox.
La biblioteca contiene todos los nodos cargados, incluidos los 10 nodos de categorías por defecto que se suministran con la instalación, así como los paquetes o los nodos personalizados cargados de forma adicional. Los nodos de la biblioteca se organizan jerárquicamente en bibliotecas, categorías y, si procede, subcategorías.
Nodos básicos: se incluye con la instalación por defecto.
Nodos personalizados: almacene las rutinas o los gráficos especiales utilizados con frecuencia como nodos personalizados. También puede compartir los nodos personalizados con la comunidad.
Nodos de Package Manager: colección de nodos personalizados publicados.
Repasaremos las categorías de jerarquía de nodos, mostraremos cómo realizar rápidamente búsquedas en la biblioteca y conoceremos algunos de los nodos utilizados con frecuencia.
La exploración a través de estas categorías es la manera más rápida de conocer la jerarquía de lo que podemos añadir a nuestro espacio de trabajo y la mejor forma de descubrir nuevos nodos que no ha utilizado antes.
Examine la biblioteca. Para ello, haga clic en los menús para expandir cada categoría y su subcategoría.
Núcleo y Geometría son excelentes menús para empezar a explorar, ya que contienen la mayor cantidad de nodos.
Biblioteca
Categoría
Subcategoría
Nodo
Estos clasifican aún más los nodos en la misma subcategoría en función si los nodos crean datos, ejecutan una acción o consultan datos.
Coloque el puntero en un nodo para visualizar información más detallada, además de su nombre e icono. Esto nos permite conocer rápidamente lo que realiza el nodo, lo que necesitará para las entradas y lo que proporcionará como salida.
Descripción: descripción del nodo en lenguaje normal.
Icono: versión más grande del icono en el menú Biblioteca.
Entrada(s): el nombre, y el tipo y la estructura de datos.
Salida(s): el tipo y la estructura de datos.
Si sabe con precisión relativa qué nodo desea añadir al espacio de trabajo, especifíquelo en el campo Buscar para buscar todos los nodos coincidentes.
Haga clic en el nodo que desea añadir o pulse Intro para añadir los nodos resaltados al centro del espacio de trabajo.
Además de utilizar palabras clave para intentar encontrar nodos, podemos escribir la jerarquía separada por un punto en el campo de búsqueda o con bloques de código (que utilizan el lenguaje textual de Dynamo).
La jerarquía de cada biblioteca se refleja en el nombre de los nodos añadidos al espacio de trabajo.
Al escribir distintas partes de la ubicación del nodo en la jerarquía de biblioteca con el formato library.category.nodeName
, se obtienen resultados diferentes.
library.category.nodeName
category.nodeName
nodeName
o keyword
Por lo general, el nombre del nodo en el espacio de trabajo se renderizará con el formato category.nodeName
, con algunas excepciones destacadas, sobre todo, en las categorías de entrada y vista.
Tenga en cuenta la diferencia de categoría en nodos con nombres similares:
Los nodos de la mayoría de las bibliotecas incluirán el formato de categoría.
Point.ByCoordinates
y UV.ByCoordinates
tienen el mismo nombre, pero proceden de diferentes categorías.
Entre las excepciones destacables, se incluyen las funciones integradas, Core.Input, Core.View y los operadores.
Con cientos de nodos incluidos en la instalación básica de Dynamo, ¿cuáles son fundamentales para desarrollar nuestros programas visuales? Veamos los parámetros de nuestro programa (Input), consultemos los resultados de la acción de un nodo (Watch) y definamos entradas o funciones mediante un acceso directo (Code Block).
Los nodos de entrada son el principal medio para que el usuario de nuestro programa visual (ya sea usted mismo u otro usuario) interactúe con los parámetros clave. A continuación, se muestran algunos de la biblioteca principal:
Booleano
Número
Cadena
Control deslizante de número
Ruta de directorio
Control deslizante de entero
Ruta de archivo
Los nodos de visualización, Watch, son esenciales para administrar los datos que se ejecutan a través del programa visual. Puede ver el resultado de un nodo a través de la vista preliminar de datos del nodo. Para ello, coloque el cursor sobre el nodo.
Será útil mantenerlo visible en un nodo Watch.
O bien, consulte los resultados de la geometría a través de un nodo Watch3D.
Ambos se encuentran en la categoría de vista de la biblioteca principal.
Consejo: En ocasiones, la vista preliminar 3D puede ser molesta cuando el programa visual contiene muchos nodos. Considere la posibilidad de desactivar la opción Mostrando vista preliminar 3D en segundo plano en el menú Configuración y utilizar un nodo Watch3D para obtener una vista preliminar de la geometría.
Los nodos de bloque de código, Code Block, se pueden utilizar para definir un bloque de código con líneas separadas por signos de punto y coma. Esto puede ser tan sencillo como X/Y
.
También podemos utilizar bloques de código como un acceso directo para definir una entrada de número o una llamada a la función de otro nodo. La sintaxis para esta acción sigue la convención de nomenclatura del lenguaje textual de Dynamo, DesignScript.
A continuación, se muestra una sencilla demostración (con instrucciones) de uso del bloque de código en la secuencia de comandos.
Haga doble clic para crear un nodo de bloque de código.
Circle.ByCenterPointRadius(x,y);
Tipo
Haga clic en el espacio de trabajo para borrar la selección; se añadirán automáticamente las entradas x
y y
.
Cree un nodo Point.ByCoordinates y un control deslizante de número; a continuación, conecte las entradas al bloque de código.
El resultado de la ejecución del programa visual se muestra como un círculo en la vista preliminar 3D.
Dynamo, un entorno de programación visual, le permite diseñar la forma en que se procesan los datos. Los datos son números o texto, pero también lo es la geometría. Tal y como lo entiende el equipo, la geometría (denominada a veces geometría computacional) son los datos que se pueden utilizar para crear modelos atractivos, complejos o basados en el rendimiento. Para ello, debemos conocer los pormenores de los diversos tipos de geometría que podemos utilizar.
El espacio de trabajo de Dynamo consta de cuatro elementos principales.
Todas las fichas activas
Modo de vista preliminar
Controles de zoom/encuadre
Nodo en el espacio de trabajo
Al abrir un nuevo archivo, se abrirá por defecto un nuevo espacio de trabajo de inicio.
Puede crear un nodo personalizado y abrirlo en un espacio de trabajo de nodos personalizados.
En cada ventana de Dynamo, solo se permite un espacio de trabajo de inicio, pero puede tener abiertos varios espacios de trabajo de nodos personalizados en las fichas.
Estos tres métodos se pueden utilizar para alternar entre distintas vistas preliminares:
a. Usar los iconos ubicados en la parte superior derecha
b. Hacer clic con el botón derecho
Cambiar de la vista preliminar 3D a la vista preliminar de gráfico
Cambiar de la vista preliminar de gráfico a la vista preliminar 3D
c. Usar los métodos abreviados de teclado (Ctrl+B)
Puede utilizar iconos o el ratón para desplazarse por cualquiera de los espacios de trabajo.
a. En el modo Vista preliminar de gráfico
Mediante iconos:
Mediante el ratón:
Hacer clic con el botón izquierdo: seleccionar
Hacer clic con el botón izquierdo y arrastrar: cuadro de selección para elegir varios nodos
Desplazamiento hacia arriba/abajo: ampliar/reducir
Pulsar con el botón central y arrastrar: encuadre
Hacer clic con el botón derecho en cualquier lugar del lienzo: abrir la búsqueda en el lienzo
b. En el modo Vista preliminar 3D
Mediante iconos:
Mediante el ratón:
Desplazamiento hacia arriba/abajo: ampliar/reducir
Pulsar con el botón central y arrastrar: encuadre
Hacer clic con el botón derecho y arrastrar: órbita
Haga clic con el botón izquierdo para seleccionar cualquier nodo.
Para seleccionar varios nodos, haga clic y arrastre para crear un cuadro de selección.
La interfaz de usuario (IU) de Dynamo se organiza en cinco regiones principales. Aquí se ofrecerá una breve descripción general; analizaremos más detalladamente el espacio de trabajo y la biblioteca en las siguientes secciones.
Menús
Barra de herramientas
Biblioteca
Espacio de trabajo
Barra de ejecución
A continuación, se indican los menús de las funciones básicas de la aplicación Dynamo. Al igual que la mayoría del software de Windows, los dos primeros menús están relacionados con la administración de archivos, las operaciones de selección y la edición de contenido. El resto de los menús son más específicos de Dynamo.
La información general y la configuración se pueden encontrar en el menú desplegable Dynamo.
Acerca de: descubra la versión de Dynamo instalada en el equipo.
Acuerdo para recopilar datos de uso: esta opción le permite elegir compartir sus datos de usuario a fin de mejorar Dynamo.
Preferencias: incluye parámetros como, por ejemplo, la definición de la precisión del separador decimal de la aplicación y la calidad de renderización de la geometría.
Salir de Dynamo
Si no sabe cómo continuar, consulte el menú de Ayuda. Puede acceder a uno de los sitios web de referencia de Dynamo a través del navegador de Internet.
Para empezar: una breve introducción al uso de Dynamo.
Guías interactivas:
Muestras: archivos de ejemplo de referencia.
Diccionario de Dynamo: recurso con documentación sobre todos los nodos.
Sitio web de Dynamo: vea el proyecto de Dynamo en GitHub.
Wiki del proyecto Dynamo: visite la página wiki para obtener información sobre el desarrollo mediante la API de Dynamo con bibliotecas y herramientas.
Mostrar página de inicio: regrese a la página de inicio de Dynamo cuando se encuentre en un documento.
Informar de un error: abra una incidencia en GitHub.
La barra de herramientas de Dynamo contiene una serie de botones para acceder rápidamente a los archivos, así como a los comandos Deshacer (Ctrl + Z) y Rehacer (Ctrl + Y). En el extremo derecho, hay otro botón que exporta una instantánea del espacio de trabajo, lo que resulta muy útil para la documentación y el uso compartido.
La biblioteca de Dynamo es una colección de bibliotecas funcionales; cada una de ellas contiene nodos agrupados por categorías. Consta de bibliotecas básicas que se añaden durante la instalación por defecto de Dynamo. A medida que sigamos describiendo su uso, mostraremos cómo ampliar la funcionalidad básica con nodos personalizados y paquetes adicionales. En la sección Biblioteca, se ofrecerá información más detallada sobre cómo utilizarla.
El espacio de trabajo es el lugar en el que se crean los programas visuales; también puede cambiar su parámetro Vista preliminar para ver las geometrías 3D desde aquí. Para obtener más información, consulte Espacio de trabajo.
Ejecute la secuencia de comandos de Dynamo desde aquí. Haga clic en el icono desplegable del botón de ejecución para cambiar entre los distintos modos.
Automático: ejecuta la secuencia de comandos automáticamente. Los cambios se actualizan en tiempo real.
Manual: la secuencia de comandos solo se ejecuta cuando se hace clic en el botón "Ejecutar". Este modo es útil para realizar cambios en secuencias de comandos complejas y de gran tamaño.
Periódica: esta opción está atenuada por defecto. Solo está disponible cuando se utiliza el nodo DateTime.Now. Puede establecer el gráfico para que se ejecute automáticamente en el intervalo especificado.
Si deseamos crear modelos más complejos que no se puedan crear a partir de una única superficie o si queremos definir un volumen explícito, debemos aventurarnos en el terreno de los (y las PolySurfaces). Incluso un cubo sencillo es lo suficientemente complejo como para necesitar seis superficies, una por cara. Los sólidos proporcionan acceso a dos conceptos clave que las superficies no ofrecen: una descripción topológica más refinada (caras, aristas y vértices) y operaciones booleanas.
Puede utilizar para modificar sólidos. Vamos a utilizar algunas operaciones booleanas para crear una bola llena de puntas.
Sphere.ByCenterPointRadius: cree el sólido base.
Topology.Faces, Face.SurfaceGeometry: consulte las caras del sólido y conviértalas en geometría de superficie; en este caso, la esfera solo tiene una cara.
Cone.ByPointsRadii: cree conos mediante puntos en la superficie.
Solid.UnionAll: una los conos y la esfera.
Topology.Edges: consulte las aristas del nuevo sólido.
Solid.Fillet: empalme las aristas de la bola llena de puntas.
Descargue el archivo de ejemplo. Para ello, haga clic en el vínculo siguiente.
En el Apéndice, se incluye una lista completa de los archivos de ejemplo.
Las operaciones booleanas son complejas y pueden resultar lentas de calcular. Puede utilizar la función "Bloquear" para suspender la ejecución de nodos seleccionados y nodos descendentes afectados.
1. Utilice el menú contextual para bloquear la operación de unión de sólidos.
2. El nodo seleccionado y todos los nodos descendentes se previsualizan en modo atenuado con un color gris claro y los cables afectados se muestran como líneas continuas. La vista preliminar de la geometría afectada también se mostrará atenuada. Ahora puede cambiar los valores ascendentes sin calcular la unión booleana.
3. Para desbloquear los nodos, haga clic con el botón derecho y desactive la opción Bloquear.
4. Todos los nodos afectados y las vistas preliminares de la geometría asociada se actualizarán y se restablecerán al modo de vista preliminar estándar.
Los sólidos constan de una o varias superficies que contienen volumen a partir de un contorno cerrado que define lo que está "dentro" o "fuera". Independientemente de cuántas superficies haya, estas deben formar un volumen "hermético" para que se considere un sólido. Los sólidos se pueden crear mediante la unión de superficies o PolySurfaces, o mediante operaciones como, por ejemplo, solevación, barrido y revolución. Las primitivas de esfera, cubo, cono y cilindro también son sólidos. Un cubo con al menos una cara eliminada se considera una PolySurface, que tiene algunas propiedades similares, pero no es un sólido.
Un plano está compuesto por una única superficie y no es un sólido.
Una esfera está formada por una única superficie, pero es un sólido.
Un cono está formado por dos superficies unidas para crear un sólido.
Un cilindro está formado por tres superficies unidas para crear un sólido.
Un cubo está formado por seis superficies unidas para crear un sólido.
Los sólidos se componen de tres tipos de elementos: vértices, aristas y caras. Las caras son las superficies que conforman el sólido. Las aristas son las curvas que definen la conexión entre las caras adyacentes y los vértices son los puntos inicial y final de esas curvas. Estos elementos se pueden consultar mediante los nodos de topología.
Caras
Aristas
Vértices
Los sólidos se pueden modificar mediante empalmes o achaflanados de sus aristas para eliminar esquinas y ángulos agudos. La operación de chaflán crea una superficie reglada entre dos caras, mientras que un empalme se fusiona entre las caras para mantener la tangencia.
Cubo sólido
Cubo achaflanado
Cubo empalmado
Las operaciones booleanas de sólidos son métodos para combinar dos o más sólidos. Una única operación booleana implica realmente la realización de cuatro operaciones:
Interseque dos o más objetos.
Divídalos en las intersecciones.
Suprima las partes no deseadas de la geometría.
Una todo de nuevo.
Unión: elimine las partes que se solapan de los sólidos y únalas en un único sólido.
Diferencia: reste un sólido a otro. El sólido que se va a restar se conoce como herramienta. Tenga en cuenta que puede cambiar el sólido que será la herramienta para conservar el volumen inverso.
Intersección: conserve solo el volumen de intersección de los dos sólidos.
UnionAll: operación de unión con esfera y conos orientados hacia fuera.
DifferenceAll: operación de diferencia con esfera y conos orientados hacia dentro.
Utilizamos una en el modelo para representar los objetos que vemos en nuestro mundo tridimensional. Aunque las curvas no siempre son planas, es decir, tridimensionales, el espacio que definen siempre está vinculado a una dimensión. Las superficies nos ofrecen otra dimensión y un conjunto de propiedades adicionales que se pueden utilizar en otras operaciones de modelado.
Importe y evalúe una superficie en un parámetro de Dynamo para ver qué tipo de información se puede extraer.
Surface.PointAtParameter devuelve el punto en una coordenada UV especificada.
Surface.NormalAtParameter devuelve el vector normal en una coordenada UV especificada.
Surface.GetIsoline devuelve la curva isoparamétrica en una coordenada U o V; observe la entrada de isoDirection.
Descargue los archivos de ejemplo. Para ello, haga clic en el vínculo siguiente.
En el Apéndice, se incluye una lista completa de los archivos de ejemplo.
Una superficie es una forma matemática definida por una función y dos parámetros; en lugar de t
para las curvas, utilizamos U
y V
para describir el espacio de parámetros correspondiente. Esto significa que hay más datos geométricos que dibujar cuando se trabaja con este tipo de geometría. Por ejemplo, las curvas tienen vectores y planos normales (que se pueden rotar o girar a lo largo de la longitud de la curva), mientras que las superficies tienen vectores normales y planos tangentes que serán coherentes en su orientación.
Superficie
Isocurva U
Isocurva V
Coordenada UV
Plano perpendicular
Vector normal
Dominio de superficie: un dominio de superficie se define como el rango de parámetros (U,V) que se evalúan en un punto tridimensional de esa superficie. El dominio de cada dimensión (U o V) se describe normalmente como dos números, de U mín. a U máx. y de V mín. a V máx.
Aunque la forma de la superficie puede no parecer "rectangular" y es posible que tenga un conjunto de isocurvas más ajustadas o sueltas, el "espacio" definido por su dominio siempre es bidimensional. En Dynamo, se entiende que las superficies tienen un dominio definido por un mínimo de 0.0 y un máximo de 1.0 en las direcciones U y V. Las superficies planas o recortadas pueden tener dominios diferentes.
Isocurva (o curva isoparamétrica): curva definida por un valor U o V constante en la superficie y un dominio de valores para la otra dirección U o V correspondiente.
Coordenada UV: el punto del espacio del parámetro UV definido por U, V y, a veces, W.
Plano perpendicular: un plano perpendicular a las isocurvas U y V en una coordenada UV especificada.
Vector normal: un vector que define la dirección de "arriba" en relación con el plano perpendicular.
Las superficies NURBS son muy similares a las curvas NURBS. Las superficies NURBS se pueden considerar como una rejilla de curvas NURBS que van en dos direcciones. La forma de una superficie NURBS se define mediante un número de puntos de control y el grado de esa superficie en las direcciones U y V. Se utilizan los mismos algoritmos para calcular la forma, las normales, las tangentes, las curvaturas y otras propiedades mediante puntos de control, grosores y grados.
En el caso de las superficies NURBS, la geometría indica dos direcciones, ya que las superficies NURBS son, independientemente de la forma que veamos, rejillas rectangulares de puntos de control. Y, aunque estas direcciones son a menudo arbitrarias en relación con el sistema de coordenadas universal, las utilizaremos frecuentemente para analizar los modelos o generar otra geometría en función de la superficie.
Grado (U,V) = (3,3)
Grado (U,V) = (3,1)
Grado (U,V) = (1,2)
Grado (U,V) = (1,1)
Las PolySurfaces se componen de superficies unidas a lo largo de una arista. Las PolySurfaces ofrecen más de una definición de UV bidimensional, por lo que ahora podemos desplazarnos por las formas conectadas a través de su topología.
Aunque la "topología" describe normalmente un concepto sobre el modo en que las piezas están conectadas o relacionadas, la topología en Dynamo es también un tipo de geometría. En concreto, es una categoría principal de superficies, PolySurfaces y sólidos.
En ocasiones denominadas parches, este modo de unión de superficies nos permite crear formas más complejas y definir detalles a lo largo de la unión. De forma oportuna, podemos aplicar una operación de empalme o chaflán a las aristas de una PolySurface.
Una vez que estemos listos para profundizar en el desarrollo de programas visuales, necesitaremos una mejor comprensión de los componentes de construcción que utilizaremos. En este capítulo, se presentan conceptos fundamentales sobre los datos: el contenido que recorre los cables de nuestro programa de Dynamo.
Los datos son el contenido de nuestros programas. Viajan a través de cables proporcionando entradas a los nodos, donde se procesan y se transforman en una nueva forma de datos de salida. Revisemos la definición de los datos, cómo se estructuran y cómo utilizarlos en Dynamo.
Los datos son un conjunto de valores de variables cualitativas o cuantitativas. La forma de datos más sencilla son números como, por ejemplo, 0
, 3.14
o 17
. Sin embargo, los datos también puede ser de diferentes tipos: una variable que representa números cambiantes (height
); caracteres (myName
); geometría (Circle
), o una lista de elementos de datos (1,2,3,5,8,13,...
).
En Dynamo, añadimos o introducimos datos en los puertos de entrada de los nodos; podemos tener datos sin acciones, pero nos hacen falta datos para procesar las acciones que representan nuestros nodos. Cuando se añade un nodo al espacio de trabajo, si no se le proporciona ninguna entrada, el resultado será una función y no el resultado de la acción en sí.
Datos simples.
Datos y una acción (un nodo); se ejecuta correctamente.
Una acción (un nodo) sin entradas de datos; devuelve una función genérica.
Cuidado con los valores nulos. El tipo 'null'
representa la ausencia de datos. Aunque se trata de un concepto abstracto, es probable que esto ocurra mientras trabaja con programación visual. Si una acción no crea un resultado válido, el nodo devolverá un valor "null".
Comprobar si existen valores "null" y eliminarlos de la estructura de datos es una parte crucial para crear programas sólidos.
Cuando somos programadores visuales, podemos generar una gran cantidad de datos rápidamente y requerir un medio de administración de su jerarquía. Esta es la función de las estructuras de datos, los esquemas organizativos en los que almacenamos los datos. Las características específicas de las estructuras de datos y su uso varían de un lenguaje de programación a otro.
En Dynamo, se añade jerarquía a los datos a través de las listas. Exploraremos esto en profundidad en capítulos posteriores, pero empecemos con algo sencillo.
Una lista representa una colección de elementos colocados en una estructura de datos:
Tengo cinco dedos (elementos) en la mano (lista).
Hay diez casas (elementos) en mi calle (lista).
Un nodo Number Sequence define una lista de números mediante entradas start, amount y step. Con estos nodos, hemos creado dos listas independientes de diez números, una que abarca de 100 a 109 y otra de 0 a 9.
El nodo List.GetItemAtIndex selecciona un elemento de una lista en un índice determinado. Al seleccionar 0, se obtiene el primer elemento de la lista (100 en este caso).
Al aplicar el mismo proceso a la segunda lista, obtenemos un valor de 0, el primer elemento de la lista.
Ahora combinamos las dos listas en una mediante el nodo List.Create. Observe que el nodo crea una lista de listas. Esto cambia la estructura de los datos.
Al volver a utilizar List.GetItemAtIndex, con el índice establecido en 0, se obtiene la primera lista de la lista de listas. Esto es lo que significa tratar una lista como un elemento, lo cual es ligeramente diferente de otros lenguajes de secuencias de comandos. En capítulos posteriores, nos adentraremos más en la manipulación de listas y la estructura de datos.
El concepto clave para comprender la jerarquía de datos en Dynamo es que en relación con la estructura de datos, las listas se consideran elementos. En otras palabras, Dynamo funciona con un proceso descendente para comprender las estructuras de datos. Implicaciones Veámoslo con un ejemplo.
Descargue el archivo de ejemplo. Para ello, haga clic en el vínculo siguiente.
En el Apéndice, se incluye una lista completa de los archivos de ejemplo.
En este primer ejemplo, vamos a ensamblar un cilindro vaciado que recorre la jerarquía de geometría tratada en esta sección.
1. Añada Point.ByCoordinates: después de añadir el nodo al lienzo, se muestra un punto en el origen de la rejilla de vista preliminar de Dynamo. Los valores por defecto de las entradas x, y y z son 0,0, lo que nos da un punto en esta ubicación.
2. Plane.ByOriginNormal: el siguiente paso en la jerarquía de geometría es un plano. Existen varias formas de construir un plano; utilizaremos un origen y una normal para la entrada. El origen es el nodo de punto creado en el paso anterior.
Vector.ZAxis: es un vector unificado en la dirección Z. Observe que no hay entradas, solo un vector con un valor [0,0,1]. Se utiliza como la entrada normal para el nodo Plane.ByOriginNormal. Esto nos proporciona un plano rectangular en la vista preliminar de Dynamo.
3. Circle.ByPlaneRadius: ascendiendo en la jerarquía, ahora creamos una curva a partir del plano del paso anterior. Después de conectar el nodo, se obtiene un círculo en el origen. El radio por defecto del nodo es el valor de 1.
4. Curve.Extrude: ahora vamos a hacer que este elemento crezca dándole profundidad y añadiendo la tercera dimensión. Este nodo crea una superficie a partir de una curva mediante su extrusión. La distancia por defecto en el nodo es 1 y debería aparecer un cilindro en la ventana gráfica.
5. Surface.Thicken: este nodo nos proporciona un sólido cerrado mediante el desfase de la superficie con la distancia especificada y el cierre de la forma. El valor de grosor por defecto es 1 y vemos un cilindro vaciado en la ventana gráfica en línea con estos valores.
6. Number Slider: en lugar de utilizar los valores por defecto para todas estas entradas, vamos a añadir algún control paramétrico al modelo.
Edición del dominio: después de añadir el control deslizante de número al lienzo, haga clic en el signo de intercalación situado en la parte superior izquierda para ver las opciones de dominio.
Min/Max/Step: cambie los valores min, max y step a 0, 2 y 0,01 respectivamente. Esto lo hacemos para controlar el tamaño de la geometría global.
7. Nodos Number Slider: en todas las entradas por defecto, copiemos y peguemos este control deslizante de número (seleccione el control deslizante, pulse Ctrl+C y, a continuación, Ctrl+V) varias veces hasta que todas las entradas con valores por defecto tengan un control deslizante. Algunos de los valores del control deslizante tendrán que ser mayores que cero para que la definición funcione (es decir, para que una superficie se engrose, se necesita una profundidad de extrusión).
8. Hemos creado un cilindro paramétrico vaciado con estos controles deslizantes. Pruebe a modificar algunos de estos parámetros y ver cómo la geometría se actualiza de forma dinámica en la ventana gráfica de Dynamo.
Nodos Number Slider: al avanzar en este ejemplo, hemos añadido muchos controles deslizantes al lienzo y debemos limpiar la interfaz de la herramienta que acabamos de crear. Haga clic con el botón derecho en un control deslizante, seleccione "Cambiar nombre" y cambie cada control deslizante al nombre apropiado para su parámetro (Grosor, Radio, Altura, etc.).
9. En este punto, hemos creado un fantástico elemento de cilindro engrosado. Se trata de un objeto actualmente; veamos cómo crear una matriz de cilindros que permanezca enlazada de forma dinámica. Para ello, vamos a crear una lista de cilindros en lugar de trabajar con un único elemento.
Adición (+): nuestro objetivo es añadir una fila de cilindros junto al cilindro que hemos creado. Si se desea añadir un cilindro adyacente al actual, se deben tener en cuenta el radio del cilindro y el grosor del vaciado. Para obtener este número, se añaden los dos valores de los controles deslizantes.
10. Este paso es más complejo, por lo que pasaremos por él más lentamente. El objetivo es crear una lista de números que defina las ubicaciones de cada cilindro en una fila.
a. Multiplicación: deseamos multiplicar primero el valor del paso anterior por 2. El valor del paso anterior representa un radio y queremos mover el cilindro por el diámetro completo.
b. Number Sequence: creamos una matriz de números con este nodo. La primera entrada es el nodo de multiplicación del paso anterior en el valor step. El valor start se puede establecer en 0,0 mediante un nodo Number.
c. Control deslizante de enteros: para el valor amount, conectamos un control deslizante de entero. Esto definirá cuántos cilindros se crean.
d. Salida: esta lista muestra la distancia desplazada para cada cilindro de la matriz y la manejan paramétricamente los controles deslizantes originales.
11. Este paso es bastante sencillo: conecte la secuencia definida en el paso anterior a la entrada x del Point.ByCoordinates original. De este modo, se sustituye el control deslizante pointX, que se puede suprimir Ahora vemos una matriz de cilindros en la ventana gráfica (asegúrese de que el control deslizante de enteros sea mayor que 0).
12. La cadena de cilindros sigue enlazada dinámicamente a todos los controles deslizantes. Mueva cada uno de los controles deslizantes para ver cómo se actualiza la definición.
Vista preliminar desactivada: una barra de estado gris debajo del nodo y un icono de ojo indican que la vista preliminar de geometría del nodo está desactivada.
Si el programa visual contiene advertencias o errores, Dynamo proporcionará información adicional sobre el problema. Todos los nodos en amarillo también presentarán una información de herramientas sobre el nombre. Coloque el cursor sobre el icono de información de herramientas de advertencia o error para expandirlo.
Para empezar a utilizarlo, inícielo desde el panel de la barra de herramientas. Aunque su posición varía en función del software utilizado, el icono de inicio se suele encontrar en el menú > ficha Administrar. Haga clic en el icono de Dynamo para iniciarlo.
Crear: cree o construya una geometría desde cero. Por ejemplo, un círculo.
Acción: realice una acción en un objeto. Por ejemplo, ajuste la escala de un círculo.
Consulta: obtenga una propiedad de un objeto existente. Por ejemplo, obtenga el radio de un círculo.
Vista preliminar de gráfico
Vista preliminar 3D
Ajustar en ventana
Ampliar
Reducir
Encuadre
Ajustar en ventana
Ampliar
Reducir
Encuadre
Órbita
Nuevo: cree un nuevo archivo .dyn.
Abrir: abra un archivo .dyn existente (espacio de trabajo) o un archivo .dyf (nodo personalizado).
Guardar/Guardar como: guarde el archivo .dyn o .dyf activo.
Deshacer: deshaga la última acción.
Rehacer: rehaga la siguiente acción.
Exportar espacio de trabajo como imagen: exporte el espacio de trabajo visible como un archivo PNG.
Puede obtener más información sobre cómo bloquear nodos en la sección .
De este modo, las operaciones booleanas de sólidos permiten ahorrar mucho tiempo. Existen tres operaciones booleanas de sólidos que distinguen las partes de la geometría que se conservan.
Además de estas tres operaciones, Dynamo incluye los nodos Solid.DifferenceAll y Solid.UnionAll para realizar operaciones de diferencia y unión con varios sólidos.