BIM System Blog en Français

Revit: Établir la Surface des Ouvertures Murales avec Dynamo

Dans Revit, nous avons les don­nées de la sur­face nette de n’im­porte quel mur avec une pré­ci­sion totale. Cepen­dant, si nous avons besoin de tra­vailler avec la sur­face brute (en ten­ant compte de toutes les ouver­tures), nous devons faire appel à Dynamo pour effectuer des opéra­tions math­é­ma­tiques sim­ples nous per­me­t­tant d’estimer la sur­face brute et les valeurs des ouver­tures dans chaque mur.

Sur le plan con­ceptuel, cela sem­ble sim­ple, mais obtenir une sur­face d’ouverture au mur demande un petit effort, car ces don­nées ne sont pas fournies par Revit, pas leur largeur. Prob­a­ble­ment (je sup­pose) c’est parce que l’in­for­ma­tion sur la largeur, et donc sur la sur­face, dépend de la géométrie du mur, en pen­sant par­ti­c­ulière­ment aux murs courbes, et il n’est pas pos­si­ble de tou­jours trou­ver une valeur unique.

Wall Open­ing dans un mur régulier
Wall Open­ing dans un mur courbe

L’ex­trac­tion d’in­for­ma­tions n’est pas prob­lé­ma­tique pour d’autres types d’ou­ver­tures. Nous devons seule­ment déter­min­er à par­tir de quels paramètres nous voulons extraire les don­nées pour le cal­cul de la sur­face d’ou­ver­ture. Dans l’ex­em­ple du tuto­riel, nous utilis­erons AreaHue­co, qui, avec AnchoHue­co et Alto­Hue­co, sont des paramètres partagés dans les familles de portes et de fenêtres. Dans cer­tains des noeuds per­son­nal­isés util­isés dans le script, ces paramètres sont util­isés par défaut, mais s’ils n’ex­is­tent pas, les options Width et Height sont util­isées, afin de garan­tir que nous obtenons tou­jours des valeurs.

Paramètres partagés per­son­nal­isés dans une famille de portes

Nous allons tra­vailler avec une maque­tte dans laquel j’ai dis­posé dif­férents types de murs, cer­tains avec le pro­fil mod­i­fié, et des ouver­tures faites par des portes, des fenêtres et des ouver­tures murales (Wall Openings).

Maque­tte de Revit

Il est impor­tant d’avoir défi­ni des paramètres partagés asso­ciés par pro­jet aux murs.
Dans AreaBru­taEs­ti­ma­da, nous enreg­istrerons le cal­cul final de la sur­face brute pour chaque instance de mur. Le terme Esti­ma­da per­met de rap­pel­er qu’il s’agit d’un cal­cul à par­tir d’autres valeurs et qu’il existe un choix entre dif­férentes options.
Dans AreaTo­tal­Hue­cos, toutes les ouver­tures ouvrant un mur seront ajoutées.
Dans AreaHue­cosIn­ser­ciones, les portes et les fenêtres sont ajoutées.
Dans AreaWal­lOpen­ings, seules les Wall Open­ings ouvrant un mur sont ajoutées.
Dans Neg­a­tiv­o­To­tal­Hue­cos, les sur­faces de périmètre des ouver­tures ouvrant un mur sont cal­culées et addi­tion­nées. Ces don­nées sont util­isées pour le cal­cul du cof­frage dans les murs en béton.
Dans Neg­a­tivosHue­cosIn­ser­ciones, seuls ceux des portes et des fenêtres sont mesurés.
Dans Neg­a­tivosWal­lOpen­ings, seules les sur­faces de périmètre des Wall Open­ings sont ajoutées.

Paramètres partagés personnalisés

Nous ver­rons d’abord l’exécution de la déf­i­ni­tion avec Dynamo Play­er, puis nous détaillerons étape par étape les nœuds util­isés. Dans l’édi­tion d’en­trées, tous les noms des paramètres en jeu peu­vent être modifiés.

Dynamo play­er

Dans la pre­mière boîte de dia­logue, nous pou­vons con­firmer ou mod­i­fi­er les paramètres de mesure de la largeur et de la hau­teur des ouver­tures. La liste déroulante des caté­gories est pure­ment testimoniale.

Boîte de dia­logue de départ

Nous pas­sons à la fenêtre suiv­ante dans laque­lle nous pou­vons con­firmer les types de murs à analyser. Étant don­né que l’u­til­i­sa­tion courante est pour les mesures de cof­frage de murs struc­turels, par défaut, dans l’ex­em­ple, les types de murs archi­tec­turaux ne sont pas sélec­tion­nés. Nous avons égale­ment des infor­ma­tions sur le nom­bre total d’élé­ments et les élé­ments présélec­tion­nés. Pour éviter de ralen­tir, voire de blo­quer l’or­di­na­teur par manque de ressources, il est recom­mandé de ne pas exé­cuter le script sur plus de 1000 élé­ments simul­tanés. Entre par­en­thès­es, le nom­bre d’oc­cur­rences de chaque type de mur est indiqué pour effectuer la sélec­tion finale. Une fois que nous sommes sat­is­faits du choix, nous cliquons sur OK.

Con­firmer la sélection

L’or­di­na­teur tra­vaillera sur les cal­culs et collera les don­nées dans les paramètres choi­sis, en affichant à la fin un résumé des résultats.

Boîte de dia­logue Résultats
C’est l’ex­em­ple d’un mur avec des portes et des fenêtres, mais sans ouver­tures murales.
Il s’agit d’un mur dont le pro­fil mod­i­fié grossit.
Cet autre a le pro­fil édité réduisant sa taille.

Le pre­mier groupe de nœuds pré­pare le dia­logue ini­tial avec une note explica­tive, la sélec­tion de la caté­gorie des murs et les 2 paramètres de lec­ture des ouver­tures en largeur et en hau­teur des portes et des fenêtres.

Pre­miers nœuds de sélection

Nous effec­tuons ensuite une clas­si­fi­ca­tion et un regroupe­ment des élé­ments par type, en sup­p­ri­mant les murs empilés, car leurs paramètres sont en lec­ture seule.

Clas­si­fi­ca­tion et groupe­ment du murs
Walls.FilterStackedWalls noeud personnalisé

Ensuite, nous faisons une présélec­tion basée sur un code qui déter­mine quels murs sont struc­turels. Nous le faisons de cette façon, car cette pro­priété n’est pas tou­jours activée sur les murs cat­a­logués comme struc­turels. Si c’est comme ça dans les normes de votre bureau, vous pou­vez fil­tr­er pour cette propriété.

Présélec­tion des murs structurels

Ensuite, nous avons le groupe qui mon­tr­era le dia­logue des élé­ments groupés par type pour con­firmer la présélec­tion ou la modifier.

Sélec­tion finale

Une fois les élé­ments choi­sis en jeu, nous obtenons les infor­ma­tions néces­saires, en com­mençant par les inserts, puis les ouver­tures de murs. Au sein des nœuds per­son­nal­isés, les infor­ma­tions obtenues sont égale­ment col­lées. Nous pas­sons tous les murs à tra­vers cha­cun d’eux pour pou­voir fonc­tion­ner au bout du compte sans qu’il soit néces­saire d’effectuer des transactions.

Cal­cul des ouvertures
Noeud per­son­nal­isé Walls.SetInsertsArea
Walls.InsertsOpeningsPerimetralArea nœud personnalisé

Nœud per­son­nal­isé Walls.GetOpeningsDimensions. Ce nœud effectue plusieurs opéra­tions. D’une par­tie, il sépare les Wall Open­ings du reste des inserts. Ensuite, suiv­ant un proces­sus presque exact pro­posé par Jacob Small, il obtient la géométrie des ouver­tures jusqu’à attein­dre le plus grand côté de la face inférieure de ces géométries. Avec cela, nous cal­cu­lons le largeur des ouver­tures puis le périmètre pour pass­er les don­nées aux paramètres partagés nécessaires.

Noeud per­son­nal­isé Walls.GetOpeningsDimension
Nœud per­son­nal­isé Element.TwoParametersAddition

Nous extrayons et col­lons les totaux dans ces groupes de nœuds.

Totaux

Ensuite, il suf­fit de faire les cal­culs fin­aux de la sur­face brute en ajoutant la sur­face nette et la sur­face des ouvertures.

Sur­face brute totale finale

Et nous ter­mi­nons avec le groupe de nœuds qui nous don­nera le résumé des résultats.

Groupe de nœud pour affich­er les résultats

On peut enfin voir le tra­vail effec­tué dans une nomen­cla­ture de murs en béton dans laquel l’une des colonnes indique la sur­face de cof­frage néces­saire (2 fois la sur­face brute de chaque mur)

Nomen­cla­ture des murs struc­turel en béton

Comme vous pou­vez le con­stater, cela peut être très utile pour la budgéti­sa­tion avec des travaux de struc­ture de pré­ci­sion dans les pre­mières phas­es au cours desquelles une étude détail­lée des méth­odes de con­struc­tion n’a pas encore été réalisée.

Image de déf­i­ni­tion complète

Notes et remerciements:

· Le présent tuto­riel Dynamo a pour objec­tif d’aider mod­este­ment au développe­ment de l’au­toma­ti­sa­tion dans les proces­sus de tra­vail du monde AEC.

· Pour des raisons de con­fi­den­tial­ité et en rai­son de sa per­son­nal­i­sa­tion élevée, aucun des scripts ne peut être partagé.

· Mer­ci à tous les développeurs de pack­ages pour Dynamo, sans les efforts, les con­seils et la générosité desquels il serait impos­si­ble d’é­ten­dre le pou­voir de per­son­nal­i­sa­tion de Revit, aug­men­tant ain­si con­sid­érable­ment son effi­cac­ité. Je voudrais soulign­er en par­ti­c­uli­er le tra­vail 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

· Pour ma part, j’ai dévelop­pé des nœuds per­son­nal­isés pour sim­pli­fi­er les déf­i­ni­tions et les réu­tilis­er dans d’autres. Lorsque cela est néces­saire à la com­préhen­sion des tuto­riels, je mon­tre l’im­age du nœud per­son­nal­isé afin qu’il puisse être recréé.