¿Alguna vez ha deseado buscar algo en Revit mediante un segmento de datos incluido en la solución?
Si la respuesta es afirmativa, es probable que haya hecho algo similar a lo que aparece en el ejemplo siguiente.
En la imagen mostrada a continuación, recopilamos todas las habitaciones del modelo de Revit, obtenemos el índice de la habitación que deseamos (por número de habitación) y, por último, obtenemos la habitación en el índice.
Recopile todas las habitaciones del modelo.
Especifique el número de habitación que se va a buscar.
Obtenga el número de habitación y busque el índice en el que se encuentra.
Obtenga la habitación en el índice.
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.
Ahora vamos a recrear esta idea mediante diccionarios. Debemos recopilar primero todas las habitaciones de nuestro modelo de Revit.
Seleccionamos la categoría de Revit con la que deseamos trabajar (en este caso, trabajaremos con habitaciones).
Le indicamos a Dynamo que recopile todos esos elementos.
A continuación, debemos decidir las claves que vamos a utilizar para buscar estos datos. (La información sobre las claves se encuentra en la sección ¿Qué es un diccionario?).
Los datos que usaremos son el número de habitación.
Ahora crearemos el diccionario con las claves y los elementos especificados.
El nodo Dictionary.ByKeysValues creará un diccionario con las entradas correspondientes especificadas.
Keys
debe ser una cadena, mientras quevalues
puede ser diversos tipos de objeto.
Por último, ahora podemos recuperar una habitación del diccionario con su número de habitación.
String
será la clave que utilizaremos para buscar un objeto en el diccionario.Dictionary.ValueAtKey obtendrá ahora el objeto del diccionario.
Con esta misma lógica de diccionario, también podemos crear diccionarios con objetos agrupados. Si deseamos buscar todas las habitaciones en un nivel determinado, podemos modificar el gráfico anterior de la siguiente manera.
En lugar de utilizar el número de habitación como clave, ahora podemos utilizar un valor de parámetro (en este caso, utilizaremos nivel).
Ahora podemos agrupar las habitaciones por el nivel en el que residen.
Con los elementos agrupados por el nivel, ahora podemos utilizar las claves compartidas (claves exclusivas) como nuestra clave para el diccionario y las listas de habitaciones como elementos.
Por último, mediante los niveles del modelo de Revit, podemos buscar en el diccionario las habitaciones que se encuentran en ese nivel.
Dictionary.ValueAtKey
utilizará el nombre de nivel y devolverá los objetos de habitación presentes en ese nivel.
Las oportunidades de uso del diccionario son realmente infinitas. La capacidad de relacionar los datos de BIM de Revit con el propio elemento plantea diversos casos de uso.