{"id":952,"date":"2016-01-22T10:00:00","date_gmt":"2016-01-22T08:00:00","guid":{"rendered":"https:\/\/blogs.autodesk.com\/villagebim\/2016\/01\/exemple-dynamo-gestion-de-fichier-au-format-sat.html"},"modified":"2021-02-09T22:05:09","modified_gmt":"2021-02-09T20:05:09","slug":"exemple-dynamo-gestion-de-fichier-au-format-sat","status":"publish","type":"post","link":"https:\/\/blogs.autodesk.com\/villagebim\/2016\/01\/exemple-dynamo-gestion-de-fichier-au-format-sat.html","title":{"rendered":"Exemple Dynamo : gestion de fichier au format SAT"},"content":{"rendered":"<p style=\"text-align: justify\">Pour cet exercice, je vous demande un peu d\u2019imagination. Voici la situation : vous devez r\u00e9aliser la structure qui va soutenir une fa\u00e7ade d&#039;architecte par un r\u00e9seau de poutres horizontales. L\u2019architecte vient de vous envoyer l\u2019enveloppe ext\u00e9rieure de la fa\u00e7ade au format SAT que vous avez import\u00e9 dans Revit et voici le r\u00e9sultat :<\/p>\n<p style=\"text-align: justify\">&#160;<\/p>\n<p><a href=\"http:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b01bb08a8b3f3970d-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"image\" border=\"0\" height=\"280\" src=\"https:\/\/blogs.autodesk.com\/villagebim\/wp-content\/uploads\/sites\/154\/2021\/02\/img_6022eaf61c06a.png\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px;margin-left: auto;margin-right: auto;background-image: none\" title=\"image\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\">&#160;<\/p>\n<p style=\"text-align: justify\">Heu..pas si simple me direz-vous ?<\/p>\n<p style=\"text-align: justify\">Si nous utilisons Dynamo, cela va \u00eatre relativement facile :<\/p>\n<blockquote>\n<p>&#8211; Import du fichier au format SAT dans l\u2019interface Dynamo,<\/p>\n<p>&#8211; Transformation de la surface en surface Dynamo,<\/p>\n<p>&#8211; Cr\u00e9ation de plans horizontaux (o\u00f9 vont se positionner les poutres),<\/p>\n<p>&#8211; G\u00e9n\u00e9ration de r\u00e9seaux de poutres horizontales aux intersections entre les plans et la surface.<\/p>\n<\/blockquote>\n<p style=\"text-align: justify\"><u>R\u00e9sultat :<\/u><\/p>\n<p style=\"text-align: justify\">&#160;<\/p>\n<p><a href=\"http:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b01b7c804034c970b-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"image\" border=\"0\" height=\"278\" src=\"https:\/\/blogs.autodesk.com\/villagebim\/wp-content\/uploads\/sites\/154\/2021\/02\/img_6022eaf7a12d5.png\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px;margin-left: auto;margin-right: auto;background-image: none\" title=\"image\" width=\"454\" \/><\/a><\/p>\n<p><a href=\"http:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b01bb08a8b406970d-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"image\" border=\"0\" height=\"278\" src=\"https:\/\/blogs.autodesk.com\/villagebim\/wp-content\/uploads\/sites\/154\/2021\/02\/img_6022eaf978731.png\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px;margin-left: auto;margin-right: auto;background-image: none\" title=\"image\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\">&#160;<\/p>\n<p style=\"text-align: justify\">Voici les explications pas \u00e0 pas.<\/p>\n<p style=\"text-align: justify\"><strong>Important : j\u2019ai utilis\u00e9 la version Dynamo 0.8.1 car j\u2019avais des probl\u00e8mes avec la version 0.9 (notamment d\u2019import SAT).<\/strong><\/p>\n<p style=\"text-align: justify\"><strong><u>1- Import du fichier au format SAT dans Dynamo :<\/u><\/strong><\/p>\n<p style=\"text-align: justify\">C\u2019est tr\u00e8s simple, il suffit d\u2019utiliser deux fonctions :<\/p>\n<blockquote>\n<p>&#8211; \u201c<em><strong>File Path<\/strong><\/em>\u201d : permet d\u2019indiquer le chemin o\u00f9 se trouve le fichier au format SAT,<\/p>\n<ul>\n<li>\u201c<em><strong>Geometry.ImportFromSAT<\/strong><\/em>\u201d : importe le format SAT dans l\u2019interface de Dynamo,<\/li>\n<\/ul>\n<p>&#160;<\/p>\n<\/blockquote>\n<p><a href=\"http:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b01bb08a8b411970d-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"image\" border=\"0\" height=\"214\" src=\"https:\/\/blogs.autodesk.com\/villagebim\/wp-content\/uploads\/sites\/154\/2021\/02\/img_6022eafbd32c2.png\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px;margin-left: auto;margin-right: auto;background-image: none\" title=\"image\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\">&#160;<\/p>\n<p style=\"text-align: justify\"><strong><u>2- Transformation de la surface en surface Dynamo :<\/u><\/strong><\/p>\n<p style=\"text-align: justify\">Il nous reste \u00e0 transformer cette surface SAT en surface Dynamo en utilisant la fonction \u201c<strong><em>PolySurface.ByJoinedSurfaces<\/em><\/strong>\u201d.<\/p>\n<p style=\"text-align: justify\">&#160;<\/p>\n<p><a href=\"http:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b01b7c8040366970b-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"image\" border=\"0\" height=\"259\" src=\"https:\/\/blogs.autodesk.com\/villagebim\/wp-content\/uploads\/sites\/154\/2021\/02\/img_6022eaffa8953.png\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px;margin-left: auto;margin-right: auto;background-image: none\" title=\"image\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\">&#160;<\/p>\n<p style=\"text-align: justify\">Nota : si vous voulez rendre invisible la surface SAT: clic droit sur la fonction \u201c<em><strong>Geometry.ImportFromSAT<\/strong><\/em>\u201d et d\u00e9sactiver l\u2019aper\u00e7u.<\/p>\n<p style=\"text-align: justify\"><strong><u>3- Cr\u00e9ation de plans horizontaux :<\/u><\/strong><\/p>\n<p style=\"text-align: justify\">Il y a plusieurs moyens de cr\u00e9er des plans mais voici une des m\u00e9thodes que j\u2019ai utilis\u00e9e:<\/p>\n<p style=\"text-align: justify\">La fonction \u201c<strong><em>Plane.ByOriginNormal<\/em><\/strong>\u201d permet de cr\u00e9er un plan en lui donnant les coordonn\u00e9es d\u2019un point ainsi qu\u2019un vecteur normal au plan, c\u2019est pour cette raison que je l\u2019ai utilis\u00e9e :<\/p>\n<blockquote>\n<p>&#8211; \u201c<strong><em>Point.ByCoordinates<\/em><\/strong>\u201d : cr\u00e9\u00e9 un point aux coordonn\u00e9es x=y=z=0,<\/p>\n<ul>\n<li>\u201c<em><strong>Vector.ZAxis<\/strong><\/em>\u201d : vecteur orient\u00e9 dans le sens des Z du rep\u00e8re g\u00e9n\u00e9ral,<\/li>\n<\/ul>\n<p>&#160;<\/p>\n<\/blockquote>\n<p>&#160;<\/p>\n<p><a href=\"http:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b01b8d18deca7970c-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"image\" border=\"0\" height=\"250\" src=\"https:\/\/blogs.autodesk.com\/villagebim\/wp-content\/uploads\/sites\/154\/2021\/02\/img_6022eb02142ed.png\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px;margin-left: auto;margin-right: auto;background-image: none\" title=\"image\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\">&#160;<\/p>\n<p style=\"text-align: justify\">Maintenant, il&#160; va falloir cr\u00e9er plusieurs plans parall\u00e8les \u00e0 celui-ci , la fonction \u201c<strong><em>Plane.Offset<\/em><\/strong>\u201d va r\u00e9aliser ce travail. Elle poss\u00e8de deux entr\u00e9es :<\/p>\n<p style=\"text-align: justify\">&#160;<\/p>\n<p><a href=\"http:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b01bb08a8b43b970d-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"image\" border=\"0\" height=\"135\" src=\"https:\/\/blogs.autodesk.com\/villagebim\/wp-content\/uploads\/sites\/154\/2021\/02\/img_6022eb038aa3c.png\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px;margin-left: auto;margin-right: auto;background-image: none\" title=\"image\" width=\"149\" \/><\/a><\/p>\n<p>&#160;<\/p>\n<blockquote>\n<p>&#8211; \u201c<strong><em>plane<\/em><\/strong>\u201d : nous allons utiliser celui que nous venons de r\u00e9aliser.<\/p>\n<p>&#8211; \u201c<strong><em>dist<\/em><\/strong>\u201d : il s\u2019agit de la distance qui s\u00e9pare le plan original du plan cr\u00e9\u00e9.<\/p>\n<\/blockquote>\n<p style=\"text-align: justify\">Dans ces conditions, nous allons utiliser un code block pour cr\u00e9er un suite de chiffres.<\/p>\n<p style=\"text-align: justify\">Double cliquez dans l\u2019interface Dynamo pour cr\u00e9er un code block, puis rentrer la syntaxe suivante :<\/p>\n<p style=\"text-align: justify\">\u201c<em>1..44,9..#nb<\/em>\u201d . Cela va g\u00e9n\u00e9rer une liste de chiffres entre les deux bornes [<em>1 \u00e0 44,9<\/em>] avec un nombre d\u2019espacement \u00e9gale \u00e0 la variable \u201c<em>nb<\/em>\u201d.<\/p>\n<p style=\"text-align: justify\">L\u2019objet SAT est d\u2019une hauteur de 45,0 m donc je coupe un peu en dessous pour obtenir une intersection.<\/p>\n<p style=\"text-align: justify\">Enfin, j\u2019utilise un \u201c<strong><em>Number Sider<\/em><\/strong>\u201d pour lequel j\u2019initialise les bornes de 1 \u00e0&#160;20 avec un pas de 1.<\/p>\n<p style=\"text-align: justify\">R\u00e9sultat :<\/p>\n<p style=\"text-align: justify\">&#160;<\/p>\n<p><a href=\"http:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b01bb08a8b447970d-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"image\" border=\"0\" height=\"184\" src=\"https:\/\/blogs.autodesk.com\/villagebim\/wp-content\/uploads\/sites\/154\/2021\/02\/img_6022eb060a518.png\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px;margin-left: auto;margin-right: auto;background-image: none\" title=\"image\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\">&#160;<\/p>\n<p><a href=\"http:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b01bb08a8b44c970d-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"image\" border=\"0\" height=\"351\" src=\"https:\/\/blogs.autodesk.com\/villagebim\/wp-content\/uploads\/sites\/154\/2021\/02\/img_6022eb085e702.png\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px;margin-left: auto;margin-right: auto;background-image: none\" title=\"image\" width=\"454\" \/><\/a><\/p>\n<p>&#160;<\/p>\n<p style=\"text-align: justify\"><strong><u>4- G\u00e9n\u00e9ration de r\u00e9seaux de poutres horizontales aux intersections entre les plans et la surface:<\/u><\/strong><\/p>\n<p style=\"text-align: justify\">Derni\u00e8re \u00e9tape, nous allons trouver les intersections entre la surface et les diff\u00e9rents plans cr\u00e9\u00e9s ci-dessus.<\/p>\n<p style=\"text-align: justify\">Nous allons utiliser la fonction \u201c<em><strong>Geometry.IntersectAll<\/strong><\/em>\u201d et y connecter ce que nous avons cr\u00e9\u00e9 pr\u00e9c\u00e9demment.<\/p>\n<p style=\"text-align: justify\">R\u00e9sultat :<\/p>\n<p style=\"text-align: justify\">&#160;<\/p>\n<p><a href=\"http:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b01b8d18decc7970c-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"image\" border=\"0\" height=\"328\" src=\"https:\/\/blogs.autodesk.com\/villagebim\/wp-content\/uploads\/sites\/154\/2021\/02\/img_6022eb0aba1b4.png\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px;margin-left: auto;margin-right: auto;background-image: none\" title=\"image\" width=\"454\" \/><\/a><\/p>\n<p style=\"text-align: justify\">&#160;<\/p>\n<p style=\"text-align: justify\">Nota : la fonction \u201c<em><strong>Geometry.IntersectAll<\/strong><\/em>\u201d retourne des courbes de type \u201c<em><strong>NurbsCurve<\/strong><\/em>\u201d.<\/p>\n<p style=\"text-align: justify\">Pour cr\u00e9er le r\u00e9seau de poutres, cela devient un jeu d\u2019enfant en utilisant la fonction \u201c<em><strong>StructuralFraming.BeamByCurve<\/strong><\/em>\u201d que nous avons d\u00e9j\u00e0 utilis\u00e9 dans des exercices pr\u00e9c\u00e9dents.<\/p>\n<p style=\"text-align: justify\">&#160;<\/p>\n<p><a href=\"http:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b01b8d18decd0970c-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"image\" border=\"0\" height=\"280\" src=\"https:\/\/blogs.autodesk.com\/villagebim\/wp-content\/uploads\/sites\/154\/2021\/02\/img_6022eb0e2a5fb.png\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px;margin-left: auto;margin-right: auto;background-image: none\" title=\"image\" width=\"454\" \/><\/a><\/p>\n<p>&#160;<\/p>\n<p style=\"text-align: justify\"><strong><u>5 \u2013R\u00e9sultat final :<\/u><\/strong><\/p>\n<p style=\"text-align: justify\">&#160;<\/p>\n<p><a href=\"http:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b01bb08a8b481970d-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"image\" border=\"0\" height=\"276\" src=\"https:\/\/blogs.autodesk.com\/villagebim\/wp-content\/uploads\/sites\/154\/2021\/02\/img_6022eb11ecf88.png\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px;margin-left: auto;margin-right: auto;background-image: none\" title=\"image\" width=\"454\" \/><\/a><\/p>\n<p>&#160;<\/p>\n<p style=\"text-align: justify\">en changeant le nombre de coupes horizontales : le r\u00e9sultat est instantan\u00e9.<\/p>\n<p style=\"text-align: justify\">&#160;<\/p>\n<p><a href=\"http:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b01b8d18deceb970c-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"image\" border=\"0\" height=\"61\" src=\"https:\/\/blogs.autodesk.com\/villagebim\/wp-content\/uploads\/sites\/154\/2021\/02\/img_6022eb13ea45c.png\" style=\"padding-top: 0px;padding-left: 0px;margin: 0px auto;padding-right: 0px;border: 0px;background-image: none\" title=\"image\" width=\"244\" \/><\/a><\/p>\n<p><a href=\"http:\/\/villagebim.typepad.com\/.a\/6a015391e15a28970b01b8d18decfc970c-pi\"><img loading=\"lazy\" decoding=\"async\" alt=\"image\" border=\"0\" height=\"278\" src=\"https:\/\/blogs.autodesk.com\/villagebim\/wp-content\/uploads\/sites\/154\/2021\/02\/img_6022eb15584e5.png\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px;margin-left: auto;margin-right: auto;background-image: none\" title=\"image\" width=\"454\" \/><\/a><\/p>\n<p>&#160;<\/p>\n<p style=\"text-align: justify\">Pas mal, non ?<\/p>\n<p style=\"text-align: justify\"><strong><u>6- Les donn\u00e9es :<\/u><\/strong><\/p>\n<p style=\"text-align: justify\">Si vous voulez reproduire ce que je viens de faire, vous trouvez ci-dessous :<\/p>\n<ul>\n<li><span class=\"asset  asset-generic at-xid-6a015391e15a28970b01b7c804063e970b img-responsive\"><a href=\"http:\/\/villagebim.typepad.com\/files\/feuille.sat\">La forme au format SAT<\/a><\/span>,<\/li>\n<li><span class=\"asset  asset-generic at-xid-6a015391e15a28970b01b7c8040672970b img-responsive\"><a href=\"http:\/\/villagebim.typepad.com\/files\/dynamosat.dyn\">Le code Dynamo<\/a><\/span>.<\/li>\n<\/ul>\n<p style=\"text-align: justify\">Encore une fois, il s\u2019agissait d&#039;un exemple; \u00e0 vous de l&#039;appliquer (si besoin) ou adapter \u00e0 vos besoins.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pour cet exercice, je vous demande un peu d\u2019imagination. Voici la situation : vous devez r\u00e9aliser la structure qui va soutenir une fa\u00e7ade d&#039;architecte par un r\u00e9seau de poutres horizontales. L\u2019architecte vient de vous envoyer l\u2019enveloppe ext\u00e9rieure de la fa\u00e7ade au format SAT que vous avez import\u00e9 dans Revit et voici le r\u00e9sultat : &#160; [&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":[10,17,6],"tags":[20,171,1392,21,963],"class_list":["post-952","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-collaboration","category-nouveautes","category-trucs-et-astuces","tag-autodesk","tag-dynamo","tag-excercice-dynamo","tag-revit","tag-sat","dhig-theme--light"],"acf":[],"_links":{"self":[{"href":"https:\/\/blogs.autodesk.com\/villagebim\/wp-json\/wp\/v2\/posts\/952","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=952"}],"version-history":[{"count":0,"href":"https:\/\/blogs.autodesk.com\/villagebim\/wp-json\/wp\/v2\/posts\/952\/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=952"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.autodesk.com\/villagebim\/wp-json\/wp\/v2\/categories?post=952"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.autodesk.com\/villagebim\/wp-json\/wp\/v2\/tags?post=952"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}