BIM System Blog en Español

Revit: Establecer Área de Huecos de Muros con Dynamo

En Revit ten­emos los datos del área neta de cualquier muro con total pre­cisión. Sin embar­go, si lo que nece­si­ta­mos es tra­ba­jar con el área bru­ta (descon­tan­do todos los hue­cos) debe­mos recur­rir a Dynamo para hac­er sen­cil­las opera­ciones matemáti­cas que nos per­mi­tan esti­mar el área bru­ta, así como los val­ores de los hue­cos en cada muro.

Con­cep­tual­mente parece sen­cil­lo, pero la obten­ción del área de los Wall Open­ings requiere de un pequeño esfuer­zo, porque este dato que no es facil­i­ta­do por Revit, como tam­poco su anchu­ra. Prob­a­ble­mente (estoy adiv­inan­do) esto es debido a que la infor­ma­ción del ancho, y por tan­to del área, depende de la geometría del muro, pen­san­do en muros cur­vos, sobre todo, y no es posi­ble dar con un val­or úni­co siempre.

Wall Open­ing en un muro corriente
Wall Open­ing en un muro curvo

Para otro tipo de hue­cos no es prob­lemáti­ca la extrac­ción de infor­ma­ción. Sola­mente debe­mos deter­mi­nar de qué parámet­ros deseamos sacar los datos para el cál­cu­lo del área del hue­co. En el ejem­p­lo del tuto­r­i­al uti­lizare­mos AreaHue­co, que jun­to a AnchoHue­co y Alto­Hue­co son parámet­ros com­par­tidos en las famil­ias de puer­tas y ven­tanas. En algunos de los nodos per­son­al­iza­dos que se uti­lizan en el script, se toman estos parámet­ros por defec­to, pero en caso de no exi­s­tir, se usarían Width y Height en su lugar, para garan­ti­zar que siem­pre obten­emos valores.

Parámetro com­par­tido per­son­al­iza­do para área de hueco

Vamos a tra­ba­jar con un mod­e­lo en el que he dis­puesto difer­entes tipos de muros, algunos con el per­fil edi­ta­do, y con hue­cos real­iza­dos por puer­tas, ven­tanas y Wall Openings.

Mod­e­lo de Revit

Es impor­tante ten­er definidos parámet­ros com­par­tidos aso­ci­a­dos por proyec­to a los Muros.

En AreaBru­taEs­ti­ma­da alma­cenare­mos el cál­cu­lo final de área bru­ta para cada ejem­plar de muro. El tér­mi­no Esti­ma­da no ayu­da a recor­dar que es un cál­cu­lo real­iza­do a par­tir de otros val­ores y que en algún momen­to se hace elec­ción entre difer­entes opciones.

En AreaTo­tal­Hue­cos se sumarán todos los hue­cos que abran un muro.

En AreaHue­cosIn­ser­ciones se suman las puer­tas y ventanas.

En AreaWal­lOpen­ings se suman sola­mente los Wall Open­ings que abren un muro.

En Neg­a­tiv­o­To­tal­Hue­cos están cal­cu­ladas y sumadas las áreas perime­trales de los hue­cos que abren un muro. Este dato se uti­liza para los cál­cu­los de encofra­dos en muros de hormigón.

En Neg­a­tivosHue­cosIn­ser­ciones sólo se miden los de puer­tas y ventanas.

En Neg­a­tivosWal­lOpen­ings sólo se suman las áreas perime­trales de Wall Openings.

Parámet­ros com­par­tidos personalizados

Primero ver­e­mos la eje­cu­ción de la defini­ción con Dynamo Play­er, y después entraremos en más detalle paso a paso con los nodos uti­liza­dos. En la edi­ción de inputs pueden cam­biarse todos los nom­bres de los parámet­ros en juego.

Dynamo play­er

En el primer cuadro de diál­o­go podremos con­fir­mar o vari­ar los parámet­ros de medición de ancho y alto de hue­cos. El desple­gable de cat­e­goría es pura­mente testimonial.

Cuadro de diál­o­go inicial

Avan­zamos hacia el sigu­iente cuadro en el que podremos con­fir­mar los tipos de muro a analizar. Dado que el uso común es para mediciones de encofra­dos de muros estruc­turales, por defec­to en el ejem­p­lo no están selec­ciona­dos los tipos de muros de arqui­tec­tura. Ten­emos además infor­ma­ción del número de ele­men­tos totales y los pre­s­e­lec­ciona­dos. Para evi­tar ralen­ti­zación, o inclu­so la con­gelación de la máquina por fal­ta de recur­sos, se sug­iere no eje­cu­tar el script en más de 1000 ele­men­tos simultá­neos. Entre parén­te­sis se indi­ca la can­ti­dad de ejem­plares de cada tipo de muro para hac­er la selec­ción final. Una vez sat­is­fe­chos con la selec­ción pul­samos OK.

Con­fir­mar selección

La com­puta­do­ra tra­ba­jará en los cál­cu­los y pegará los datos en los parámet­ros elegi­dos, mostran­do al final un resumen de los resultados.

Cuadro de diál­o­go de resultados
Este es el ejem­p­lo de un muro con puer­tas y ven­tanas, pero sin Wall Openings.
Este es un muro con el per­fil edi­ta­do cre­cien­do su tamaño.
Este otro tiene el per­fil edi­ta­do reducien­do su tamaño.

El primer grupo de nodos prepara el cuadro de diál­o­go ini­cial con una nota explica­ti­va, la selec­ción de la cat­e­goría de Muros, y los 2 parámet­ros de lec­tura de ancho y alto de hue­co en puer­tas y ventanas.

Primeros nodos de selección

A con­tin­uación, hace­mos una clasi­fi­cación y agru­pación de ele­men­tos por tipo, descar­tan­do los muros api­la­dos, porque sus parámet­ros son de lectura.

Clasi­fi­cación y agru­pación de muros
Nodo per­son­al­iza­do Walls.FilterStackedWalls

Después hace­mos una pre­s­e­lec­ción en base a un códi­go que nos deter­mi­na qué muros son estruc­turales. Lo hace­mos así, porque no siem­pre los muros cat­a­lo­ga­dos como estruc­turales tienen esa propiedad acti­va­da. Si en el están­dar de su ofic­i­na es así, podrían fil­trar por esa propiedad.

Pre­s­e­lec­ción de muros estructurales

A con­tin­uación, ten­emos el grupo que mostrará el cuadro de diál­o­go de ele­men­tos agru­pa­dos por tipo para con­fir­mar la pre­s­e­lec­ción o modificarla.

Selec­ción final

Una vez que ten­emos los ele­men­tos elegi­dos en juego, pasamos a cap­turar la infor­ma­ción nece­saria, comen­zan­do por las inser­ciones y después los Wall Open­ings. Den­tro de los nodos per­son­al­iza­dos se real­iza tam­bién el pega­do de la infor­ma­ción obteni­da. Pasamos todos los muros a través de cada uno de ellos para poder oper­ar al final con ellos sin necesi­dad de transacciones.

Cál­cu­los de áreas de hue­cos y perimetrales
Nodo per­son­al­iza­do Walls.SetInsertsArea
Nodo per­son­al­iza­do Walls.InsertsOpeningsPerimetralArea

Nodo per­son­al­iza­do Walls.GetOpeningsDimensions. Este nodo real­iza varias opera­ciones. Por un lado, sep­a­ra los Wall Open­ings del resto de inser­ciones. Después, sigu­ien­do un pro­ce­so casi exac­to prop­uesto por Jacob Small, obtiene la geometría de los hue­cos has­ta lle­gar al lado may­or de la cara infe­ri­or de esas geometrías. Con ello cal­cu­lam­os el área de los hue­cos y después el perímetro, para pasar los datos a los parámet­ros com­par­tidos necesarios.

Nodo per­son­al­iza­do Walls.GetOpeningsDimension
Nodo per­son­al­iza­do Element.TwoParametersAddition

Extrae­mos y peg­amos los totales en estos gru­pos de nodos.

Totales

Seguida­mente, sólo nos que­da hac­er los cál­cu­los finales de área bru­ta suman­do el área neta y el área de hue­cos de cada muro.

Cál­cu­lo total de área bruta

Y ter­mi­namos con el grupo de nodos que nos darán el resumen de resultados.

Nodos para el resul­ta­do final

Podremos así visu­alizar final­mente el tra­ba­jo real­iza­do en una tabla de muros de hormigón en la que una de las colum­nas mues­tra el área nece­saria de encofra­dos (2 veces el área bru­ta de cada muro).

Tabla de muros de hormigón

Como ven, esto puede ser muy útil para pre­supues­tar con pre­cisión tra­ba­jos de estruc­tura en fas­es tem­pranas en las que todavía no se ha real­iza­do un estu­dio detal­la­do de los méto­dos constructivos.

Iman­gen de la defini­ción completa

Notas y reconocimientos:

· El pre­sente tuto­r­i­al de Dynamo tiene por obje­ti­vo ayu­dar mod­esta­mente al desar­rol­lo de la autom­a­ti­zación en los pro­ce­sos de tra­ba­jo del mun­do AEC.

· Por motivos de con­fi­den­cial­i­dad y debido a su alta per­son­al­ización, ninguno de los scripts pre­sen­ta­dos pueden ser compartidos.

· Gra­cias a todos los desar­rol­ladores de paque­tes para Dynamo, sin cuyo esfuer­zo, con­se­jos y gen­erosi­dad no sería posi­ble ampli­ar el poder de per­son­al­ización de Revit, lo que aumen­ta con­sid­er­able­mente su efi­ca­cia y efi­cien­cia. Me gus­taría destacar espe­cial­mente el tra­ba­jo de:

· Mostafa El Ayoubi (data | shapes)

· Andreas Dieck­mann (Clock­work)

· Kon­rad K Sobon (archi­lab & BumbleBee)

· Nate Miller (Lunch­Box & Rhynamo)

· Dim­i­tar Venkov (SpringN­odes)

· John Pier­son (Rhythm & Bang)

· Julian Benoit (SteamNodes)

· Thomas Mahon (Bimorph)

· Luke John­son (Bak­ery)

· Johnes Hou (Hot Gear)

· Col­in McCrone (Amper­sand)

· Dieter Ver­meulen (BIM4Struc.Rebar)

· Lau­renk Schmidt (Land­form)

· Tomasz Fudala (Struc­tur­al Design)

· Mod­el­i­cal

· Marc Tav­ernier

· Por mi parte, he desar­rol­la­do nodos per­son­al­iza­dos para sim­pli­ficar defini­ciones y reuti­lizar­los en otros. Cuan­do es nece­sario para com­pren­der los tuto­ri­ales, mue­stro la ima­gen del nodo per­son­al­iza­do para que pue­da recrearse.