{"id":34304,"date":"2020-09-30T09:37:58","date_gmt":"2020-09-30T08:37:58","guid":{"rendered":"https:\/\/mascalagrimas.es\/dev-msi_old\/?p=34304"},"modified":"2020-09-30T09:37:58","modified_gmt":"2020-09-30T08:37:58","slug":"por-que-dynamo-vol-v-auditorias-de-metadata-o-informacion-no-grafica","status":"publish","type":"post","link":"https:\/\/mascalagrimas.es\/dev-msi_old\/por-que-dynamo-vol-v-auditorias-de-metadata-o-informacion-no-grafica\/","title":{"rendered":"\u00bfPor qu\u00e9 Dynamo? Vol. V: Auditor\u00edas de metadata o informaci\u00f3n no gr\u00e1fica"},"content":{"rendered":"\n<p>Como sab\u00e9is los modelos BIM son <strong>bases de datos<\/strong> que incluyen informaci\u00f3n gr\u00e1fica y no gr\u00e1fica. En toda base de datos es importante mantener una <strong>consistencia<\/strong> y una <strong>coherencia<\/strong> entre elementos para garantizar que los modelos se realizan de una forma correcta.<\/p>\n\n\n\n<p>La idea de comprobar que la definici\u00f3n geom\u00e9trica de un modelo es correcta est\u00e1 muy extendida. A trav\u00e9s del an\u00e1lisis de colisiones podemos detectar errores en los modelos por lo que respecta a informaci\u00f3n gr\u00e1fica o geom\u00e9trica, \u00bfpero que pasa con la informaci\u00f3n no geom\u00e9trica?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfC\u00f3mo comprobamos la informaci\u00f3n no geom\u00e9trica?<\/h2>\n\n\n\n<p>Hay diversas maneras de comprobar que un par\u00e1metro est\u00e1 rellenado o no: podemos realizar tablas de planificaci\u00f3n, filtros en una vista, revisi\u00f3n manual del modelo par\u00e1metro a par\u00e1metro\u2026 Maneras hay muchas, pero todas las anteriores comparten algo entre s\u00ed, y es que en todas ellas se tarda mucho tiempo en comprobar que todo est\u00e1 correcto. Si adem\u00e1s tenemos en cuenta que en un proyecto puede haber diversos modelos o archivos que comprobar, la cantidad de tiempo que hay que invertir en comprobar todos los par\u00e1metros puede desesperarnos o bien empujarnos a no comprobarlo.<\/p>\n\n\n\n<p>De la misma manera que utilizamos los an\u00e1lisis de colisiones para comprobar y corregir errores a nivel geom\u00e9trico, deber\u00edamos usar las auditor\u00edas de <strong>metadata<\/strong> como herramienta que nos permita detectar <strong>errores<\/strong> a nivel de informaci\u00f3n no gr\u00e1fica, inconsistencia e incoherencia de datos o cualquier descuido que pueda desestructurar nuestra base de datos para poder corregirla.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Antecedentes<\/h2>\n\n\n\n<p>En el siguiente proyecto se feder\u00f3 a trav\u00e9s de 7 modelos distintos con distintas zonas del proyecto e instalaciones. El proyecto corresponde a una parada del metro junto con un intercambiador.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1009\" height=\"797\" src=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-1.jpg\" alt=\"\" class=\"wp-image-34308\" title=\"\" srcset=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-1.jpg 1009w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-1-300x237.jpg 300w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-1-768x607.jpg 768w\" sizes=\"(max-width: 1009px) 100vw, 1009px\" \/><figcaption>Imagen 1. Modelos 3D del proyecto. Fuente propia.<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"412\" src=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-2-1024x412.jpg\" alt=\"\" class=\"wp-image-34309\" title=\"\" srcset=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-2-1024x412.jpg 1024w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-2-300x121.jpg 300w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-2-768x309.jpg 768w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-2.jpg 1043w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Imagen 2. Modelos 3D del proyecto. Fuente propia.<\/figcaption><\/figure><\/div>\n\n\n\n<p>La <strong>informaci\u00f3n<\/strong> que debe revisarse corresponde a par\u00e1metros de ubicaci\u00f3n y localizaci\u00f3n, estado en obra, descripciones, clasificaciones, unidades de medida, mediciones, etc.<\/p>\n\n\n\n<p>Revisar todos estos modelos hubiera llevado demasiado tiempo ya que supone entrar en todos los modelos y realizar una <strong>comprobaci\u00f3n visual<\/strong> de forma individual. Con la intenci\u00f3n de agilizar el proceso se opta por hacerlo a trav\u00e9s de <strong>automatizaciones<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Script<\/h2>\n\n\n\n<p>El script tiene 3 partes, una que recoge los elementos y los valores de los par\u00e1metros que nos interesa analizar, tratamiento de estos datos y volcado de los resultados a Excel.<\/p>\n\n\n\n<p>Para generar este script se han usado los siguientes paquetes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Rhythm<\/li><li>Orchid<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Recogida de informaci\u00f3n<\/h2>\n\n\n\n<p>Para realizar la comprobaci\u00f3n primero deberemos extraer la informaci\u00f3n necesaria del modelo: elementos y valores de par\u00e1metros de los elementos. Dentro de un modelo Revit tenemos muchos <strong>par\u00e1metros<\/strong> y no los queremos analizar todos, solo aquellos que nos exige el cliente. De forma que extraeremos los elementos del modelo [1], leeremos de nuestra base de datos (Excel) los nombres de los par\u00e1metros que queremos leer [2] y lo cruzaremos con los elementos detectados en el modelo para obtener los valores [3].<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"870\" height=\"455\" src=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-3.jpg\" alt=\"\" class=\"wp-image-34310\" title=\"\" srcset=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-3.jpg 870w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-3-300x157.jpg 300w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-3-768x402.jpg 768w\" sizes=\"(max-width: 870px) 100vw, 870px\" \/><figcaption>Imagen 3. Script: Extracci\u00f3n de informaci\u00f3n. Fuente propia.<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Tratamiento de la informaci\u00f3n<\/h2>\n\n\n\n<p>Una vez que hemos extra\u00eddo los datos, debemos comprobar que se encuentran debidamente rellenados. Es muy dif\u00edcil realizar esta comprobaci\u00f3n ya que tendr\u00edamos que realizar previamente una base de datos donde se mostrara para cada elemento que valor deber\u00eda visualizarse. En este caso, lo que se hace es comprobar que no se encuentre vac\u00edo, con un espacio o con el texto \u201cA emplenar\u201d que es el texto de partida. Eso es lo que comprobamos con el primer <strong>Python Script<\/strong> llamado MSI.Excluidor. Muchas de estas funciones se pueden realizar con nodos existentes de Dynamo, pero practicar y no perder el uso de este lenguaje, si son pocas l\u00edneas de c\u00f3digo, opto por escribirlo yo mismo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"616\" src=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-4-1-1024x616.jpg\" alt=\"\" class=\"wp-image-34328\" title=\"\" srcset=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-4-1-1024x616.jpg 1024w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-4-1-300x181.jpg 300w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-4-1-768x462.jpg 768w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-4-1.jpg 1027w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Imagen 4. Script: Tratamiento de la informaci\u00f3n. Fuente propia.<\/figcaption><\/figure>\n\n\n\n<p>Con el segundo lo que buscamos es recoger todos los id\u2019s de elementos que no est\u00e9n debidamente rellenados y los escribo en un formato beneficioso para nuestros modeladores. Dentro de Revit tenemos la opci\u00f3n de seleccionar varios elementos de golpe, la funci\u00f3n se llama Selecci\u00f3n por id. Si somos capaces de seleccionar todos los elementos que requieren del rellenado de un par\u00e1metro, ser\u00e1 f\u00e1cil para el equipo de modelado encontrarlos y poder rellenarlos. Pero para ello es necesario extraerlos con un formato concreto: id1, id2, id3, etc. Es necesario que de una lista generemos un <em>string<\/em> donde se dividan los antiguos \u00edndices mediante comas. El segundo Python Script, MSI.Compactador ID\u2019s, se encarga de realizar esta \u00faltima tarea.<\/p>\n\n\n\n<p>A trav\u00e9s de un codeblock calculamos el % de elementos analizados y el porcentaje de elementos que se encuentran incorrectamente rellenados, as\u00ed tendremos un indicador del estado de parametrizaci\u00f3n del modelo par\u00e1metro a par\u00e1metro.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Volcado de los resultados a Excel<\/h2>\n\n\n\n<p>Una vez realicemos esta acci\u00f3n para cada par\u00e1metro que queramos analizar, recogeremos todos los resultados en una lista y lo exportaremos a una hoja de Excel. Dicha hoja se llamar\u00e1 de la misma manera que el documento que estamos analizando. Por lo que deberemos ejecutar este script en cada uno de los archivos que conforman el modelo federado.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"582\" height=\"359\" src=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-5.jpg\" alt=\"\" class=\"wp-image-34314\" title=\"\" srcset=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-5.jpg 582w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-5-300x185.jpg 300w\" sizes=\"(max-width: 582px) 100vw, 582px\" \/><figcaption>Imagen 5. Script: Volcado de los resultados a Excel. Fuente propia.<\/figcaption><\/figure><\/div>\n\n\n\n<p>El aspecto con el que cuentan las distintas hojas para cada modelo en el Excel es este:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"597\" height=\"274\" src=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-6.jpg\" alt=\"\" class=\"wp-image-34315\" title=\"\" srcset=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-6.jpg 597w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-6-300x138.jpg 300w\" sizes=\"(max-width: 597px) 100vw, 597px\" \/><figcaption>Imagen 6. Hoja por modelo en Excel. Fuente propia.<\/figcaption><\/figure><\/div>\n\n\n\n<p>Una columna para el nombre del par\u00e1metro analizado, otra con los ID\u2019s de los elementos que necesitan ser rellenados y al lado el % de elementos debidamente rellenado.<\/p>\n\n\n\n<p>Como resumen, generamos una tabla donde podemos ver el estado general del proyecto comparando los diversos % de los modelos y del conjunto.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"492\" height=\"289\" src=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-7.jpg\" alt=\"\" class=\"wp-image-34316\" title=\"\" srcset=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-7.jpg 492w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2020\/09\/Imagen-7-300x176.jpg 300w\" sizes=\"(max-width: 492px) 100vw, 492px\" \/><figcaption>Imagen 7. Resumen de los modelos en Excel. Fuente propia.<\/figcaption><\/figure><\/div>\n\n\n\n<p>De esta manera podremos identificar en qu\u00e9 modelos y qu\u00e9 par\u00e1metros est\u00e1n m\u00e1s o menos trabajados.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusiones<\/h2>\n\n\n\n<p>La gesti\u00f3n de datos a trav\u00e9s de automatizaciones es indispensable si queremos mantener la calidad de los modelos y su informaci\u00f3n a la vez que controlamos los costes derivados de la generaci\u00f3n y auditoria de los modelos. Debemos preparar herramientas que nos permitan cada vez realizar tareas de comprobaci\u00f3n <strong>m\u00e1s r\u00e1pido y con mayor volumen de datos<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como sab\u00e9is los modelos BIM son bases de datos que incluyen informaci\u00f3n gr\u00e1fica y no gr\u00e1fica. En toda base de datos es importante mantener una consistencia y una coherencia entre elementos para garantizar que los modelos se realizan de una forma correcta. La idea de comprobar que la definici\u00f3n geom\u00e9trica de un modelo es correcta&hellip; <a class=\"more-link\" href=\"https:\/\/mascalagrimas.es\/dev-msi_old\/por-que-dynamo-vol-v-auditorias-de-metadata-o-informacion-no-grafica\/\">Seguir leyendo <span class=\"screen-reader-text\">\u00bfPor qu\u00e9 Dynamo? Vol. V: Auditor\u00edas de metadata o informaci\u00f3n no gr\u00e1fica<\/span><\/a><\/p>\n","protected":false},"author":8,"featured_media":34326,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_lock_modified_date":false,"_joinchat":[],"footnotes":""},"categories":[5],"tags":[175,18,139,17,48,176],"class_list":["post-34304","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-consultoria","tag-auditoria","tag-bim-management","tag-consultoria-bim","tag-dynamo","tag-metadata","tag-programacion-visual","entry"],"acf":[],"_links":{"self":[{"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/posts\/34304"}],"collection":[{"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/comments?post=34304"}],"version-history":[{"count":0,"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/posts\/34304\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/media\/34326"}],"wp:attachment":[{"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/media?parent=34304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/categories?post=34304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/tags?post=34304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}