{"id":42670,"date":"2021-09-08T10:21:54","date_gmt":"2021-09-08T08:21:54","guid":{"rendered":"https:\/\/mascalagrimas.es\/dev-msi_old\/?p=42670"},"modified":"2023-02-08T13:16:32","modified_gmt":"2023-02-08T12:16:32","slug":"acabados-automaticos-mediante-microsoft-excel-y-dynamo","status":"publish","type":"post","link":"https:\/\/mascalagrimas.es\/dev-msi_old\/acabados-automaticos-mediante-microsoft-excel-y-dynamo\/","title":{"rendered":"Acabados autom\u00e1ticos mediante Microsoft Excel y Dynamo"},"content":{"rendered":"<p>Durante el desarrollo de <strong>proyectos<\/strong> con <strong>Revit<\/strong> es com\u00fan que, seg\u00fan las <strong>necesidades<\/strong> de cada proyecto y los <strong>usos<\/strong> <strong>BIM<\/strong> previstos, sea necesario <strong>modelar<\/strong> los <strong>acabados<\/strong> de los muros de las habitaciones como un elemento independiente para garantizar una mayor precisi\u00f3n a la hora de extraer las mediciones del modelo.<\/p>\n<p>El <strong>modelado<\/strong> de los acabados puede suponer un <strong>incremento<\/strong> de <strong>tiempo<\/strong> de modelado, ya que tenemos que modelar por separado el n\u00facleo del muro y los acabados de cada una de las caras como elementos independientes.<\/p>\n<p>En entradas anteriores del blog hemos podido ver c\u00f3mo con el uso de <strong>Dynamo<\/strong> podemos <strong>automatizar<\/strong> <strong>procesos<\/strong> de <strong>modelado<\/strong> para reducir los tiempos de modelado. Durante el desarrollo de esta entrada veremos como podemos <strong>automatizar<\/strong> el proceso de <strong>modelado<\/strong> de los <strong>acabados<\/strong> de las <strong>habitaciones<\/strong> mediante el uso de <strong>Excel<\/strong> y <strong>Dynamo<\/strong>.<\/p>\n<h3><strong>Consideraciones previas<\/strong><\/h3>\n<p>Para que el <strong>script<\/strong> que vamos a desarrollar funcione correctamente, deberemos tener unas <strong>consideraciones<\/strong> <strong>previas<\/strong> a la hora de generar la <strong>hoja<\/strong> de <strong>Excel<\/strong> que nos permita, posteriormente, obtener la informaci\u00f3n para el modelado de los acabados:<\/p>\n<ul>\n<li>El <strong>nombre<\/strong> de la <strong>habitaci\u00f3n<\/strong> debe ser el mismo tanto en Excel como en el modelo de Revit.<\/li>\n<li>El <strong>nombre<\/strong> del <strong>acabado<\/strong> de la habitaci\u00f3n debe ser el mismo tanto en Excel como en el modelo de Revit.<\/li>\n<li>Los <strong>muros<\/strong> de <strong>acabados<\/strong> deber\u00e1n estar creados en el archivo de Revit antes de la aplicaci\u00f3n del script.<\/li>\n<\/ul>\n<p>Teniendo en cuenta estas consideraciones, desarrollaremos una hoja de Excel para poder introducir la informaci\u00f3n al modelo mediante el uso de Dynamo.<\/p>\n<figure id=\"attachment_42671\" aria-describedby=\"caption-attachment-42671\" style=\"width: 407px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-42671\" src=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/Imagen-1.jpg\" alt=\"\" width=\"407\" height=\"105\" title=\"\" srcset=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/Imagen-1.jpg 905w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/Imagen-1-300x78.jpg 300w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/Imagen-1-768x199.jpg 768w\" sizes=\"(max-width: 407px) 100vw, 407px\" \/><figcaption id=\"caption-attachment-42671\" class=\"wp-caption-text\"><em>Ilustraci\u00f3n 1: Ejemplo de hoja de Excel. Fuente propia<\/em><\/figcaption><\/figure>\n<h3><strong>Desarrollo del script<\/strong><\/h3>\n<p>El <strong>script<\/strong> estar\u00e1 dividido en tres bloques que permitir\u00e1n la creaci\u00f3n autom\u00e1tica de los <strong>acabados<\/strong> en nuestro modelo de <strong>Revit<\/strong> desde la hoja de Excel:<\/p>\n<ul>\n<li><strong> Obtenci\u00f3n de datos desde Excel.<\/strong> Mediante el nodo <strong>Data.ImportExcel<\/strong> obtendremos la informaci\u00f3n a partir de la hoja de Excel que habremos creado anteriormente. Esta informaci\u00f3n la utilizaremos para <strong>relacionar<\/strong> que <strong>acabado<\/strong> del modelo de Revit ser\u00e1 aplicado a cada una de las <strong>habitaciones<\/strong>.<\/li>\n<\/ul>\n<figure id=\"attachment_42674\" aria-describedby=\"caption-attachment-42674\" style=\"width: 566px\" class=\"wp-caption aligncenter\"><img fetchpriority=\"high\" decoding=\"async\" class=\"wp-image-42674 \" src=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/Imagen-2-2.jpg\" alt=\"\" width=\"566\" height=\"187\" title=\"\" srcset=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/Imagen-2-2.jpg 520w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/Imagen-2-2-300x99.jpg 300w\" sizes=\"(max-width: 566px) 100vw, 566px\" \/><figcaption id=\"caption-attachment-42674\" class=\"wp-caption-text\"><em>Ilustraci\u00f3n 2: Obtenci\u00f3n de datos mediante script. Fuente propia<\/em><\/figcaption><\/figure>\n<ul>\n<li><strong>Obtenci\u00f3n de par\u00e1metros de las habitaciones.<\/strong> Deberemos obtener varios <strong>par\u00e1metros<\/strong> que nos permitir\u00e1n definir los atributos de los muros de <strong>acabado<\/strong> que se van a modelar autom\u00e1ticamente. Con el par\u00e1metro \u201c<strong>Nombre<\/strong>\u201d de la habitaci\u00f3n y la informaci\u00f3n de la hoja de Excel obtendremos el muro de acabado que se va a modelar en cada habitaci\u00f3n. Con el par\u00e1metro \u201c<strong>Altura sin l\u00edmites<\/strong>\u201d obtendremos la altura de la habitaci\u00f3n y la utilizaremos para definir la <strong>altura<\/strong> de los <strong>acabados<\/strong>.<\/li>\n<\/ul>\n<p style=\"text-align: left; padding-left: 40px;\">Finalmente, con el nodo <strong>Room.Boundaries<\/strong> del paquete <strong>Clockwork,<\/strong> obtendremos el <strong>per\u00edmetro<\/strong> de las habitaciones y los <strong>muros<\/strong> que las <strong>delimitan<\/strong>. Estos elementos ser\u00e1n usados posteriormente para el modelado autom\u00e1tico de los acabados.<\/p>\n<figure id=\"attachment_42675\" aria-describedby=\"caption-attachment-42675\" style=\"width: 750px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-42675 size-large\" src=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/IMAGEN-5-1024x430.jpg\" alt=\"\" width=\"750\" height=\"315\" title=\"\" srcset=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/IMAGEN-5-1024x430.jpg 1024w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/IMAGEN-5-300x126.jpg 300w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/IMAGEN-5-768x322.jpg 768w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/IMAGEN-5.jpg 1323w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><figcaption id=\"caption-attachment-42675\" class=\"wp-caption-text\"><em>Ilustraci\u00f3n 3: Obtenci\u00f3n de par\u00e1metros de las habitaciones mediante script. Fuente propia<\/em><\/figcaption><\/figure>\n<ul>\n<li><strong>Creaci\u00f3n de acabados de muros.<\/strong> Una vez hayamos obtenido los par\u00e1metros anteriormente mencionados, realizaremos un <strong>desfase<\/strong> del <strong>per\u00edmetro<\/strong> de la <strong>habitaci\u00f3n<\/strong> para obtener la l\u00ednea de referencia que utilizaremos para crear el muro. Para que este proceso sea autom\u00e1tico, obtendremos el valor \u201c<strong>Anchura<\/strong>\u201d de cada uno de los <strong>muros<\/strong> de acabado y el valor de desfase del per\u00edmetro variar\u00e1 en funci\u00f3n de la anchura del acabado.<\/li>\n<\/ul>\n<p>Una vez hayamos realizado el desfase del per\u00edmetro de la habitaci\u00f3n, usaremos el nodo <strong>Wall.ByCurveAndHeight<\/strong> para dibujar los <strong>muros<\/strong> de <strong>acabado<\/strong>. Para ello, deberemos usar como input del nodo la <strong>curva<\/strong> <strong>perimetral<\/strong> de la habitaci\u00f3n con el desfase aplicado, la <strong>altura<\/strong> de la <strong>habitaci\u00f3n<\/strong> obtenida anteriormente, el <strong>nivel<\/strong> en el que estamos trabajando y el <strong>tipo<\/strong> de <strong>muro<\/strong> de acabado que queremos modelar en cada habitaci\u00f3n.<\/p>\n<p>Finalmente, utilizaremos el nodo <strong>Element.JoinGeometry<\/strong> del paquete <strong>Clockwork<\/strong> para <strong>unir<\/strong> los <strong>muros<\/strong> de acabados con los muros delimitadores de la habitaci\u00f3n que hemos obtenido anteriormente mediante el nodo <strong>Room.Boundaries.<\/strong> De esta forma, se <strong>unir\u00e1n<\/strong> los <strong>muros<\/strong> <strong>delimitadores<\/strong> con los <strong>acabados<\/strong> y se realizar\u00e1n autom\u00e1ticamente en los muros de acabado los <strong>huecos<\/strong> correspondientes a <strong>muros<\/strong> y <strong>puertas<\/strong>.<\/p>\n<figure id=\"attachment_42676\" aria-describedby=\"caption-attachment-42676\" style=\"width: 750px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-42676 size-large\" src=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/IMAGEN-6-1024x337.jpg\" alt=\"\" width=\"750\" height=\"247\" title=\"\" srcset=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/IMAGEN-6-1024x337.jpg 1024w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/IMAGEN-6-300x99.jpg 300w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/IMAGEN-6-768x253.jpg 768w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/IMAGEN-6.jpg 1524w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><figcaption id=\"caption-attachment-42676\" class=\"wp-caption-text\"><em>Ilustraci\u00f3n 4: Creaci\u00f3n de acabados de muro. Fuente propia. <\/em><\/figcaption><\/figure>\n<h3><\/h3>\n<h3><strong>Conclusi\u00f3n<\/strong><\/h3>\n<p>Como hemos podido ver en esta y en otras entradas del blog de MSI Studio, el uso de scripts de <strong>Dynamo<\/strong> nos permite <strong>automatizar<\/strong> <strong>tareas<\/strong> que pueden resultar tediosas de forma autom\u00e1tica. De esta forma conseguiremos <strong>reducir<\/strong> el <strong>tiempo<\/strong> de modelado y podremos invertirlo en tareas que aporten un mayor <strong>valor<\/strong> al <strong>proyecto<\/strong> y al <a href=\"https:\/\/mascalagrimas.es\/dev-msi_old\/que-tipo-de-informacion-podemos-encontrar-en-modelos-bim\/\">modelo BIM<\/a> y que nos permitir\u00e1 cumplir con las exigencias y <strong>necesidades<\/strong> del proyecto.<\/p>\n<figure id=\"attachment_42672\" aria-describedby=\"caption-attachment-42672\" style=\"width: 385px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-42672\" src=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/Imagen-2.jpg\" alt=\"\" width=\"385\" height=\"330\" title=\"\" srcset=\"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/Imagen-2.jpg 891w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/Imagen-2-300x257.jpg 300w, https:\/\/mascalagrimas.es\/dev-msi_old\/wp-content\/uploads\/2021\/09\/Imagen-2-768x658.jpg 768w\" sizes=\"(max-width: 385px) 100vw, 385px\" \/><figcaption id=\"caption-attachment-42672\" class=\"wp-caption-text\"><em>Ilustraci\u00f3n 5: Modelado autom\u00e1tico de acabados. Fuente propia <\/em><\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Durante el desarrollo de proyectos con Revit es com\u00fan que, seg\u00fan las necesidades de cada proyecto y los usos BIM previstos, sea necesario modelar los acabados de los muros de las habitaciones como un elemento independiente para garantizar una mayor precisi\u00f3n a la hora de extraer las mediciones del modelo. El modelado de los acabados&hellip; <a class=\"more-link\" href=\"https:\/\/mascalagrimas.es\/dev-msi_old\/acabados-automaticos-mediante-microsoft-excel-y-dynamo\/\">Seguir leyendo <span class=\"screen-reader-text\">Acabados autom\u00e1ticos mediante Microsoft Excel y Dynamo<\/span><\/a><\/p>\n","protected":false},"author":16,"featured_media":42679,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_lock_modified_date":false,"_joinchat":[],"footnotes":""},"categories":[5],"tags":[198,11,139,17,64,22],"class_list":["post-42670","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-consultoria","tag-autocad","tag-bim","tag-consultoria-bim","tag-dynamo","tag-excel","tag-revit","entry"],"acf":[],"_links":{"self":[{"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/posts\/42670"}],"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\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/comments?post=42670"}],"version-history":[{"count":0,"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/posts\/42670\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/media\/42679"}],"wp:attachment":[{"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/media?parent=42670"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/categories?post=42670"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mascalagrimas.es\/dev-msi_old\/wp-json\/wp\/v2\/tags?post=42670"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}