samedi 4 février 2017

Mesurer une polyligne sur Revit

Cet applicatif remplace l'outil que j'utilisais sur Autocad pour mesurer une distance (cumul de polyligne) sur un plan.
En tant qu'électricien j'ai souvent besoin de connaître la longueur que va avoir un câble (câblage VDI par exemple) dans la configuration du plan.

Fichier de l'applicatif Dynamo
L'applicatif est développé sur Revit 2016/17 - Dynamo 1.2

Nota : L'applicatif additionne toutes les longueurs des tronçons du même type de ligne.
Il faut s'assurer de tracer une ligne avec un type de ligne non utilisé dans le plan.


Transférer les luminaires implantés dans Dialux vers Revit (depuis un fichier .stf)

Dans l'applicatif n°1 je récupère les coordonnées d'une pièce créée avec Revit et je les transfère vers le logiciel Dialux via un fichier de format .stf (voir l'article de l'applicatif N°1).
Dans l’applicatif N°2 de cet article, je récupère les points d’implantation des luminaires créés sous Dialux et je les affiche sous Revit pour permettre l’implantation des familles de luminaires à la main.


Lien vers l'applicatif : 2_Interface_Stf_Dialux_vers_Revit.dyn
Développé sur Revit 2017 - Dynamo 1.2.1

A partir d'une pièce créée dans Revit :



Je créé des implantations de luminaires sur Dialux (Disposition champ, luminaire unique, disposition rectiligne).
Nota : Je n'ai pas traité les dispositions circulaires (je ne les utilise jamais).

Après avoir exécuté l'applicatif N°2 j’obtiens la position des luminaires sur le plan Revit :

Chaque luminaire est positionné par un marqueur. Il reste à implanter à la main le symbole du luminaire choisi.


La création de l'applicatif n'est pas particulièrement compliquée, elle nécessite surtout d'utiliser des Nodes de traitement des listes pour filtrer, trier et organiser les informations récupérées sur le fichier .stf.

L'orientation des structures (Field et ligne) est donnée par Dialux en degré, j'utilise donc le cosinus et le sinus de l'angle pour récupérer la direction sous forme de vecteur pour Dynamo :


La position des luminaires unique est donnée par Dialux dans le fichier .stf sous forme de coordonnées X,Y,Z : 
Lum4=LUMINAIRE.L1
Lum4.Pos=-48.100 -55.900 2.845 

Après traitement de la liste j'utilise le Node Point.Bycoordinates appliqué directement sur les coordonnées récupérées dans le fichier .stf :


La position des structures Line est donnée dans le fichier .stf par :
Struct4=ROOM.R1.LUMLINE.LL3
Struct4.Pos=-30.579 -36.057 2.845   // la position du point inférieur gauche de la ligne
Struct4.Rot=0.000 0.000 -33.766      // l'angle de rotation de la ligne

[ROOM.R1.LUMLINE.LL3]
Type=LINE
Lum=LUMINAIRE.L1
Lum.Rot=0.000 0.000 90.000
Extend=13.673                                // la longueur de la ligne
NrLums=8                                      //  le nombre de luminaires de la ligne
Arrange=1

Le Node Line.ByStartPointDirectionLength permet de tracer une ligne avec le point de départ, la longueur et la direction (vecteur). 
Le Node Curve.PointsAtChordLenghtFromPoint permet de diviser la ligne en points équidistants avec pour paramètre chordLenght (longueur de l'espace entre deux luminaires).



La position des structures Field est donnée dans le fichier .stf par : 

Struct1=ROOM.R1.LUMFIELD.LF1        
Struct1.Pos=-47.730 -44.508 2.845          // la position du point inférieur gauche de la structure
Struct1.Rot=0.000 0.000 -25.000             // l'angle de rotation de la structure

[ROOM.R1.LUMFIELD.LF1]
Type=FIELD
Lum=LUMINAIRE.L1
Lum.Rot=0.000 0.000 90.000
Extend=24.348 10.320                             // la longueur de la structure en X et en Y
NrLums=15 12                                         // le nombre de luminaires en X et en Y de la structure
Arrange=1