Los diccionarios de Dynamo

Post-Los-Diccionarios-en-Dynamo-1

Los diccionarios son una de las herramientas más potentes que nos encontramos en dynamo. Hasta las versiones 2 de dynamo podíamos hacer diccionarios mediante nodos que teníamos disponibles en distintos packages, a partir de esta versión se incorporan directamente en el programa. A partir de esta versión cualquier lista se convierte en un diccionario

 

¿Qué es un diccionario?

Un diccionario es un conjunto de datos en la que a cada clave se le asocia un valor. Si observas este ejemplo a cada numero de habitación se le asigna un nombre de habitación. Usaremos el nodo Dictionary.ByKeysValues para generar esta asociación

 

  1. Aseo
  2. Cocina
  3. Habitación
  4. Salón
  5. Habitación

 

Si observas con atención podrás identificar que las claves (los números de habitación) es exclusiva para cada diccionario, es decir no podemos tener dos números de habitación iguales, ya que este es el verdadero valor que las diferencia, mientras que los valores pueden repetirse y tenemos dos habitaciones que se llaman habitación.

Además, el diccionario es en sí una lista, solo que en vez de que los ítems empiezan por 0 hasta el numero de elementos que tengamos, esa lista está compuesta por las claves que le demos. Estas claves no tienen por qué ser numéricas en un diccionario, mientras que en las listas siempre se utilizan números entero (integer en la jerga de programación) como índices de los valores

 

¿Cómo extraer valores de un diccionario?

Una vez que hayamos generado un diccionario podemos remitirnos a una clave para obtener un valor. Usaremos el nodo Dictionary.ValueAtKey

 

¿Para que se usan los diccionarios?

Usamos los diccionarios en dynamo para hacer relacionar valores con claves y buscar estos valores de forma ágil sin tener que recurrir de nuevo al valor que tiene en una lista, de esta manera reducimos nuestros scripts sin tener que recurrir constantemente al uso de nodos como get item at index.

Esto también es especialmente útil para diferentes elementos que extraemos de Revit y que necesitamos introducirlo o extraerlo en parámetros a partir de su identificador. En el ejemplo siguiente lo veremos muy claro, para modificar el workset de un elemento tenemos que dar su identificador al introducirlo en el nodo set parameterbyname. Es bastante inusual que conozcamos que el workset Furniture corresponde con 1500 en nuestro proyecto en concreto, pero si hacemos un diccionario de claves valores, cuando nos refiramos a Furniture podemos sacar su id e introducir ese valor para llevarlo al workset que queremos.

 

 

 

Esto con listas sería algo así

 

¿Cómo escribimos un diccionario con codeblock?

También podemos usar codeblock para escribir un diccionario de forma rápida.

 

 

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¿Necesitas información?

Contacta
con nosotros

Contacta con nosotros

Editeca es una escuela online de Diseño, Arquitectura, Ingeniería y Nuevas Tecnologías.

MADRID, ESPAÑA: Calle Ferrocarril, nº37. 28045

MADRID, ESPAÑA: Calle Juana Doña, nº 5. 28045

MADRID, ESPAÑA: Calle Juana Doña, nº 5. 28045

+34 910 41 48 23 de 09:00h a 18:15h (España)

+34 665 396 500 WhatsApp

Certificaciones:

Editeca imparte formación oficial, está inscrita y acreditada en el registro de centros y entidades de formación por la Comunidad de Madrid

Editeca imparte formación homologada por la Universidad Isabel I
y la Universidad Europea Miguel de Cervantes.

Editeca imparte formación programada por las empresas mediante Fundae

Formación Online

Ver todos los cursos

Ver todos los másteres

Sobre Editeca

Empresas

Blog

Editeca es una escuela online de Diseño, Arquitectura, Ingeniería y Nuevas Tecnologías.

MADRID, ESPAÑA: Calle Ferrocarril 37, Entreplanta A 28045

+34 910 41 48 23 de 09:00h a 18:30h (España)

+34 665 396 500 WhatsApp

¿Necesitas Ayuda?