{"id":257,"date":"2019-06-05T09:00:00","date_gmt":"2019-06-05T07:00:00","guid":{"rendered":"https:\/\/blogs.autodesk.com\/villagebim\/2019\/06\/script-dynamo-nouveau-package-autodesk-steel-connections-2020.html"},"modified":"2019-06-05T09:00:00","modified_gmt":"2019-06-05T07:00:00","slug":"script-dynamo-nouveau-package-autodesk-steel-connections-2020","status":"publish","type":"post","link":"https:\/\/blogs.autodesk.com\/villagebim\/2019\/06\/script-dynamo-nouveau-package-autodesk-steel-connections-2020.html","title":{"rendered":"[Script Dynamo] Nouveau package Autodesk Steel Connections 2020"},"content":{"rendered":"<p><a href=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a45e8217200c-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image002\" border=\"0\" height=\"211\" src=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a4ac4ef5200b-pi\" style=\"background-image: none;margin-left: auto;margin-right: auto\" title=\"clip_image002\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\">&#160;&#160;&#160;&#160;Un nouveau package \u00ab <strong><em>Autodesk Steel Connections 2020<\/em><\/strong>\u00bb pour Dynamo est accessible \u00e0 partir du Dynamo For Revit (version 2020). Celui-ci apr\u00e8s installation, aide les ing\u00e9nieurs structure \u00e0 automatiser la cr\u00e9ation d\u2019assemblages m\u00e9talliques dans le logiciel Autodesk Revit afin gagner du temps.<\/p>\n<p style=\"text-align: justify\">&#160;&#160;&#160;&#160;Le but de cet article est de vous montrer comment utiliser les n\u0153uds de ce package afin de r\u00e9aliser un assemblage. Nous prendrons comme exemple la cr\u00e9ation d\u2019un assemblage de type gousset avec des barres de contreventement.<\/p>\n<p style=\"text-align: justify\"><strong>1- <\/strong><strong><u>Installation :<\/u><\/strong><\/p>\n<p style=\"text-align: justify\">&#160;&#160;&#160;&#160;Avec la version Revit 2020, la version 2.1 de Dynamo For Revit est install\u00e9e automatiquement et donc disponible dans l\u2019onglet \u00ab <em>G\u00e9rer<\/em> \u00bb du logiciel.<\/p>\n<p><a href=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a4ac4ef9200b-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image003\" border=\"0\" height=\"292\" src=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a45e821e200c-pi\" style=\"background-image: none;margin-left: auto;margin-right: auto\" title=\"clip_image003\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\">&#160;&#160;&#160;&#160;Apr\u00e8s avoir cliqu\u00e9 sur le bouton \u00ab <em>Dynamo<\/em> \u00bb, cliquez sur \u00ab <em>Packages\/ rechercher un package\u2026<\/em> \u00bb, recherchez le package <strong>\u00ab <\/strong><strong><em>Autodesk Steel Connections 2020<\/em><\/strong>\u00bb puis cliquez sur la fl\u00e8che vers le bas pour le t\u00e9l\u00e9charger et l\u2019installer<\/p>\n<p><a href=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a4ac4efb200b-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image004\" border=\"0\" height=\"565\" src=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a4ac4eff200b-pi\" style=\"background-image: none;margin-left: auto;margin-right: auto\" title=\"clip_image004\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\">&#160;&#160;&#160;&#160;Une fois l\u2019op\u00e9ration effectu\u00e9e, ouvrez un nouveau script, ainsi vous trouverez dans votre biblioth\u00e8que Dynamo les composants du package <strong>\u00ab <\/strong><strong><em>Autodesk Steel Connections 2020<\/em><\/strong>\u00bb.<\/p>\n<p><a href=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a487cdd3200d-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image005\" border=\"0\" height=\"680\" src=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a45e8220200c-pi\" style=\"background-image: none;margin-left: auto;margin-right: auto\" title=\"clip_image005\" width=\"354\" \/><\/a><\/p>\n<p style=\"text-align: justify\"><strong>2- <\/strong><strong><u>Mod\u00e8le dans le logiciel Revit :<\/u><\/strong><\/p>\n<p style=\"text-align: justify\">&#160;&#160;&#160;&#160;Il s\u2019agit d\u2019une pal\u00e9e de contreventement constitu\u00e9s de \u00ab V \u00bb invers\u00e9 en corni\u00e8res sur deux niveaux entre poteaux porteurs.<\/p>\n<p><strong><u><a href=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a4ac4f03200b-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image007\" border=\"0\" height=\"251\" src=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a4ac4f07200b-pi\" style=\"background-image: none;margin-left: auto;margin-right: auto\" title=\"clip_image007\" width=\"454\" \/><\/a><\/u><\/strong><\/p>\n<p style=\"text-align: justify\"><strong>3- <\/strong><strong><u> Cr\u00e9ation du script :<\/u><\/strong><\/p>\n<p style=\"text-align: justify\">\u00b7 <u>S\u00e9lection des \u00e9l\u00e9ments :<\/u><\/p>\n<p style=\"text-align: justify\">&#160;&#160;&#160;&#160;Nous allons utiliser un n\u0153ud du package appel\u00e9 \u00ab <strong><em>SelectStructureData <\/em><\/strong>\u00bb permettant de s\u00e9lectionner les barres qui vont composer l\u2019assemblage (ici 6 barres).<\/p>\n<p><a href=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a487cdd7200d-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image009\" border=\"0\" height=\"283\" src=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a45e8226200c-pi\" style=\"background-image: none;margin-left: auto;margin-right: auto\" title=\"clip_image009\" width=\"454\" \/><\/a><\/p>\n<p><a href=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a45e822a200c-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image011\" border=\"0\" height=\"390\" src=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a4ac4f0b200b-pi\" style=\"background-image: none;margin-left: auto;margin-right: auto\" title=\"clip_image011\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\">\u00b7 <u>R\u00e9cup\u00e9ration des n\u0153uds d\u2019assemblage :<\/u><\/p>\n<p style=\"text-align: justify\">&#160;&#160;&#160;&#160;A partir de la s\u00e9lection, je vais extraire les n\u0153uds d\u2019assemblage \u00e0 l\u2019aide de la fonction \u00ab <strong><em>ConnectionNode.FromStructure<\/em><\/strong> \u00bb (ici 8 n\u0153uds d\u2019assemblage).<\/p>\n<p><a href=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a487cddb200d-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image013\" border=\"0\" height=\"221\" src=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a45e822e200c-pi\" style=\"background-image: none;margin-left: auto;margin-right: auto\" title=\"clip_image013\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\">\u00b7 <u>Cr\u00e9ation de sous-liste de n\u0153uds suivant le nombre de zones :<\/u><\/p>\n<p style=\"text-align: justify\">&#160;&#160;&#160;&#160;Une fois identifi\u00e9s les n\u0153uds d\u2019assemblage potentiels, je vais utiliser la fonction \u00ab <strong><em>ConnectionNode.SubNodesOfSize<\/em><\/strong> \u00bb permettant d\u2019organiser la liste en sous-liste en indiquant le nombre de zones. Dans le cas d\u2019un assemblage par gousset avec deux barres de contreventement le nombre de zone sera \u00e9gale \u00e0 3.<\/p>\n<p style=\"text-align: justify\"><u>D\u00e9finition d\u2019une zone :<\/u> Un \u00e9l\u00e9ment a deux extr\u00e9mit\u00e9s et un corps. Celui-ci et les extr\u00e9mit\u00e9s sont appel\u00e9s zones. Les zones sont identifi\u00e9es par le m\u00e9canisme de regroupement.<\/p>\n<p><a href=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a45e8232200c-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image015\" border=\"0\" height=\"178\" src=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a487cde5200d-pi\" style=\"background-image: none;margin-left: auto;margin-right: auto\" title=\"clip_image015\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\">\u00b7 <u>Filtrage des assemblages en fonction de leurs placements :<\/u><\/p>\n<p style=\"text-align: justify\">&#160;&#160;&#160;&#160;A cette \u00e9tape l\u2019op\u00e9ration consiste \u00e0 filtrer la liste class\u00e9e par zones en fonction de leurs placements et de savoir s\u2019ils se connectent. Je vais utiliser la fonction \u00ab <strong><em>Filter.ByZoneType<\/em><\/strong> \u00bb compos\u00e9e de trois entr\u00e9es :<\/p>\n<p style=\"text-align: justify\">&#160; &#160; &#160; &#160; &#160; &#160; &#160; o \u00ab <strong><em>Node<\/em><\/strong> \u00bb : la liste des assemblages potentiels class\u00e9s par zones<\/p>\n<p style=\"text-align: justify\">&#160; &#160; &#160; &#160; &#160; &#160; &#160;o \u00ab <strong><em>Index<\/em><\/strong> \u00bb : il s\u2019agit d\u2019une liste de base 0 d\u00e9crite <a href=\"https:\/\/knowledge.autodesk.com\/support\/revit-products\/learn-explore\/caas\/CloudHelp\/cloudhelp\/2020\/ENU\/Revit-Model\/files\/GUID-379ED7B0-57A7-4674-B659-CF1C412F9028-htm.html\">ici<\/a> . Le nombre contenu dans l\u2019index d\u00e9pend du type d\u2019assemblage, dans le cas d\u2019un gousset avec deux diagonales, l\u2019index d\u00e9butera \u00e0 0 pour finir \u00e0 2<\/p>\n<p style=\"text-align: justify\">&#160; &#160; &#160; &#160; &#160; o \u00ab <strong><em>ZoneType<\/em><\/strong> \u00bb : cette variable \u00ab String \u00bb permet de r\u00e9aliser le filtre en fonction de la zone d\u00e9sir\u00e9e. Dans le cas d\u2019un gousset avec deux diagonales, nous allons r\u00e9aliser le filtre sur le corps mot cl\u00e9 \u00ab <em>Body<\/em> \u00bb et des deux extr\u00e9mit\u00e9s \u00ab <em>End<\/em> \u00bb<\/p>\n<p style=\"text-align: justify\">La partie du script ci-dessous repr\u00e9sente le filtrage \u00ab en cascade \u00bb en fonction des zones.<\/p>\n<p><a href=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a4ac4f11200b-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image017\" border=\"0\" height=\"132\" src=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a45e8237200c-pi\" style=\"background-image: none;margin-left: auto;margin-right: auto\" title=\"clip_image017\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\">\u00b7 <u>Filtrage des sections des contreventements :<\/u><\/p>\n<p style=\"text-align: justify\">&#160;&#160;&#160;&#160;A cette \u00e9tape de l\u2019op\u00e9ration, l\u2019utilisation du n\u0153ud personnalis\u00e9 \u00ab <strong><em>Filter_gusset_diagonals_section_shapes<\/em><\/strong> \u00bb permet de s\u2019assurer que les sections des contreventements soient conformes aux sections accept\u00e9es par l\u2019assemblage, soit les sections suivantes :<\/p>\n<ul>\n<li>L,<\/li>\n<li>C,<\/li>\n<li>RHS,<\/li>\n<li>CHS,<\/li>\n<li>Barres rondes.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a45e823b200c-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image019\" border=\"0\" height=\"129\" src=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a487cdef200d-pi\" style=\"background-image: none;margin-left: auto;margin-right: auto\" title=\"clip_image019\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\">\u00b7 <u>Cr\u00e9ation de l\u2019assemblage Gousset :<\/u><\/p>\n<p style=\"text-align: justify\">&#160;&#160;&#160;&#160;Voici la derni\u00e8re \u00e9tape, qui consiste de cr\u00e9er l\u2019assemblage dans l\u2019interface du logiciel Revit en utilisant la fonction \u00ab <strong><em>Connection.ByType<\/em><\/strong> \u00bb, compos\u00e9e de trois entr\u00e9es :<\/p>\n<p style=\"text-align: justify\">&#160; &#160; &#160; &#160; &#160; &#160;o \u00ab <strong><em>node<\/em><\/strong> \u00bb : la liste des assemblages potentiels class\u00e9s par zones<\/p>\n<p style=\"text-align: justify\">&#160; &#160; &#160; &#160; &#160; &#160;o \u00ab <strong><em>indexes<\/em><\/strong>\u00bb : liste des index utilis\u00e9s lors du filtrage des assemblages en fonction de leurs placement<\/p>\n<p style=\"text-align: justify\">&#160; &#160; &#160; &#160; &#160; &#160;o \u00ab <strong><em>connectionType<\/em><\/strong> \u00bb : choix du type d\u2019assemblage ici \u00ab <strong><em>Gusset plate fo r2 diagonals<\/em><\/strong> \u00bb<\/p>\n<p style=\"text-align: justify\">&#160;&#160;&#160;&#160;Vous trouvez le d\u00e9tail du script finalis\u00e9 ci-dessous :<\/p>\n<p><a href=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a45e823f200c-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image021\" border=\"0\" height=\"140\" src=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a487cdf3200d-pi\" style=\"background-image: none;margin-left: auto;margin-right: auto\" title=\"clip_image021\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\"><strong>4- <\/strong><strong><u>Utilisation du script :<\/u><\/strong><\/p>\n<p style=\"text-align: justify\">&#160;&#160;&#160;&#160;Cliquez sur le bouton \u00ab <strong><em>Modifier<\/em><\/strong> \u00bb du n\u0153ud \u00ab <strong><em>SelectStructureData<\/em><\/strong> \u00bb et s\u00e9lectionnez les diagonales ainsi que les poutres horizontales et ex\u00e9cutez le script.<\/p>\n<p><a href=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a45e8243200c-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image023\" border=\"0\" height=\"213\" src=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a4ac4f1b200b-pi\" style=\"background-image: none;margin-left: auto;margin-right: auto\" title=\"clip_image023\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\"><strong>5- <\/strong><strong><u>R\u00e9sultat :<\/u><\/strong><\/p>\n<p><a href=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a487cdf7200d-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image024\" border=\"0\" height=\"570\" src=\"https:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b0240a4ac4f22200b-pi\" style=\"background-image: none;margin-left: auto;margin-right: auto\" title=\"clip_image024\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\"><strong>6- <\/strong><strong><u>Plus d\u2019informations et aide :<\/u><\/strong><\/p>\n<p style=\"text-align: justify\"><a href=\"https:\/\/knowledge.autodesk.com\/support\/revit-products\/learn-explore\/caas\/CloudHelp\/cloudhelp\/2020\/ENU\/Revit-Model\/files\/GUID-379ED7B0-57A7-4674-B659-CF1C412F9028-htm.html\">Le fonctionnement et terminologies&#160; <\/a>:<\/p>\n<p style=\"text-align: justify\"><a href=\"https:\/\/knowledge.autodesk.com\/support\/revit-products\/learn-explore\/caas\/CloudHelp\/cloudhelp\/2020\/ENU\/Revit-Model\/files\/GUID-EDB2F0D2-7CDD-44A7-AA77-603ED4E8EBE0-htm.html\">Un exemple<\/a><\/p>\n<p style=\"text-align: justify\">Vous pouvez <span class=\"asset  asset-generic at-xid-6a015391e15a28970b0240a487cf51200d img-responsive\"><a href=\"https:\/\/villagebim.typepad.com\/files\/vbgousset-sur-diagonale-2.dyn\">ici<\/a><\/span>&#160;mon script Dynamo For Revit.&#160;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#160;&#160;&#160;&#160;Un nouveau package \u00ab Autodesk Steel Connections 2020\u00bb pour Dynamo est accessible \u00e0 partir du Dynamo For Revit (version 2020). Celui-ci apr\u00e8s installation, aide les ing\u00e9nieurs structure \u00e0 automatiser la cr\u00e9ation d\u2019assemblages m\u00e9talliques dans le logiciel Autodesk Revit afin gagner du temps. &#160;&#160;&#160;&#160;Le but de cet article est de vous montrer comment utiliser les n\u0153uds [&hellip;]<\/p>\n","protected":false},"author":4760,"featured_media":2472,"menu_order":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[15,17,57,58,6],"tags":[20,215,291,216,21],"class_list":["post-257","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-autodesk-revit","category-nouveautes","category-programmation-visuelle","category-structure","category-trucs-et-astuces","tag-autodesk","tag-autodesk-steel-connections-2020","tag-dynamo-for-revit","tag-package","tag-revit","dhig-theme--light"],"acf":[],"_links":{"self":[{"href":"https:\/\/blogs.autodesk.com\/villagebim\/wp-json\/wp\/v2\/posts\/257","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.autodesk.com\/villagebim\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.autodesk.com\/villagebim\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.autodesk.com\/villagebim\/wp-json\/wp\/v2\/users\/4760"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.autodesk.com\/villagebim\/wp-json\/wp\/v2\/comments?post=257"}],"version-history":[{"count":0,"href":"https:\/\/blogs.autodesk.com\/villagebim\/wp-json\/wp\/v2\/posts\/257\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.autodesk.com\/villagebim\/wp-json\/wp\/v2\/media\/2472"}],"wp:attachment":[{"href":"https:\/\/blogs.autodesk.com\/villagebim\/wp-json\/wp\/v2\/media?parent=257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.autodesk.com\/villagebim\/wp-json\/wp\/v2\/categories?post=257"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.autodesk.com\/villagebim\/wp-json\/wp\/v2\/tags?post=257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}