samedi 28 janvier 2017

Transférer les caractéristiques d'une pièce vers Dialux - Export vers un fichier .stf

Mon objectif est de pouvoir utiliser le logiciel gratuit Dialux avec Revit pour effectuer le calcul d'éclairement de certains locaux. Pour cela, je choisi de créer deux applicatifs d'interfaçage entre les deux logiciels via le standard de fichier créé par Dialux ".stf".
Lors de mes travaux de conception Elec (phases APS, APD, PRO) je ne réalise les études que d'un nombre significatif de locaux et non la totalité du bâtiment.
Dialux est un logiciel très utile mais qui demande beaucoup de temps de calcul PC lorsque le nombre de locaux à calculer est important.
C'est pourquoi les applicatifs Dynamo ne traiteront qu'une pièce à la fois.

Fonctionnalités de l'applicatif N°1 : 1_Interface_stf_Revit_vers_Dialux.dyn

Pour les études d'éclairement en phase conception, je dois récupérer les informations suivantes depuis le plan Archi :
 - Position des murs,
 - Hauteur de la pièce : Cette information est rarement récupérable depuis le plan Archi avant la phase PRO, je choisi donc de la modifier directement dans Dialux à la main,
 - Degré de réflexion des matériaux : Information impossible à connaitre avant une phase avancée d'Exécution, elle sera donc modifiée à la main dans Dialux.

Lien vers l'applicatif : 1_Interface_Stf_Revit_vers_Dialux.dyn


Développé sur Revit 2017 - Dynamo 1.2.1

Utilisation de l'applicatif de transfert vers Dialux :


 Pour utiliser cet applicatif, il faut sélectionner un point à l'intérieur de la pièce du plan Revit, définir le fichier .stf dans lequel écrire et exécuter l'applicatif.
Nota : Le plan Revit doit avoir les caractéristiques minimales suivantes :
 - La pièce doit être fermée entièrement par des murs ( les fenêtres et portes ne sont pas prises en compte),
 - La pièce doit posséder une surface pour pouvoir clicker un point dans la pièce (créer une pièce par exemple),
 - Les cloisons intérieures à la pièce sont prise en compte

Pièce sélectionnée sur Revit (avec une cloison intérieure ouverte) :




Exemple de contenu du fichier .stf d'export :

 Résultat obtenu dans Dialux en ouvrant le fichier .stf :










vendredi 27 janvier 2017

Transférer les informations Elec d'excel vers les pièces Revit MEP

Dans cet article, je présente l'applicatif Dynamo qui permet de récupérer les informations écrite dans un fichier excel (pour chacune des pièces du plan Revit MEP), pour les écrire dans les paramètres des pièces.
Les données apparaîtront dans chaque pièce dans le libellé d'une étiquette conçue pour l'affichage Elec. Ces données seront plus facilement exploitables en lecture sur plan par le maître d'ouvrage et le porjeteur qui dessine le plan que dans un tableau Excel.

Lien vers les applicatifs : 3 Excel vers pieces Revit.dyn

Développé sur Revit 2017 - Dynamo 1.2.1

Données d'entrées : 
 - 1 plan MEP avec les pièces Archi et les étiquettes de pièces :



Le fichier Excel ci-dessous a été créé avec l'applicatif 1 Dynamo pieces MEP vers excel.dyn :

Nota : Les 10 lignes (en rose) seront renseignées à la main par pièce. Elles correspondent aux paramètres partagés (à créer et à insérer dans les pièces du projet en cours) : Room_Etiq_L1 à Room_Etiq_L10 . Les Paramètres partagés créés dans le plan Revit doivent être identiques aux paramètres créés dans l'application Dynamo.
Ce sont les valeurs qui seront renvoyées vers le plan Revit et visibles dans l'étiquette de la pièce.

En exécutant l'applicatif dynamo on obtient le transfert des valeurs vers les paramètres partagés du plan et avec l'affichage de l'étiquette le résultat est le suivant :


En cas de dysfonctionnement des applications, vérifier :
 - Le plan MEP doit contenir des pièces (Nom, Numéro,...),
 - Les paramètres partagés doivent être créés et avoir la même orthographe que les paramètres de l'applicatif Dynamo,
 - La famille étiquette utilisée dans le plan doit utiliser les paramètres partagés que l'on veut afficher et qui sont modifiés par Dynamo,




samedi 21 janvier 2017

CVC Echanger des informations entre les pièces du plan Revit MEP et Excel

Le premier applicatif "1 CVC pieces MEP vers excel" permet de transférer des informations des pièces du plan Revit Mep vers un fichier Excel. Le but étant que l'ingénieur CVC puisse utiliser Excel pour ses calculs de dimensionnement en partant des données déjà implémentées par l'archi ou le projeteur sur le plan Revit.
Dans un deuxième temps (voir applicatif suivant : "2 CVC_Excel vers pièces Revit", les données calculées sur Excel seront renvoyées vers le plan Revit et apparaîtront dans chaque pièce dans le libellé d'une étiquette conçue pour l'affichage CVC. Ces données seront plus facilement exploitables en lecture sur plan par le maître d'ouvrage que dans un tableau Excel.

Lien vers les applicatifs :
 - 1 CVC pieces MEP vers excel.dyn
 - 2 CVC Excel vers pieces Revit.dyn


Développé sur Revit 2017 - Dynamo 1.2.1

Données d'entrées : 
 - 1 plan MEP avec les pièces Archi et les étiquettes de pièces :



En lançant l'applicatif Dynamo "1 CVC Pièces MEP vers Excel.dyn", on obtient le fichier Excel ci-dessous :
Nota : J'ai fait le choix de récupérer les valeurs des paramètres partagés (Temp_Ete, Temp_Hiver,...) afin d'obtenir les valeurs qui auraient déjà été saisies dans Revit. Cela implique qu'à chaque lancement de cet applicatif on écrase les valeurs modifiées à la main (cette option est modifiable à partir de l'applicatif de dynamo).


Nota : Les paramètres Temp_Ete, Temp_Hiver, ... sont des paramètres partagés à créer et à insérer dans les pièces du projet en cours. Les Paramètres partagés créés dans le plan Revit doivent être identiques aux paramètres créés dans l'application Dynamo (Dynamo est sensible à la casse):


La zone rose doit être remplie par les calculs d'Excel (ou à la main), ce sont les valeurs qui seront renvoyées vers le plan Revit et visibles dans l'étiquette de la pièce.


En lançant le deuxième applicatif "2 CVC Excel vers pièces Revit.dyn" on obtient le transfert des valeurs vers les paramètres partagés du plan :



En cas de dysfonctionnement des applications, vérifier :
 - Le plan MEP doit contenir des pièces (Nom, Numéro,...),
 - Les paramètres partagés doivent être créés et avoir la même orthographe que les paramètres de l'applicatif Dynamo,
 - La famille étiquette utilisée dans le plan doit utiliser les paramètres partagés que l'on veut afficher et qui sont modifiés par Dynamo,





dimanche 15 janvier 2017

Utiliser Visual Studio pour créer des API en C# pour Revit

La création d'application avec Dynamo a de grandes qualités mais aussi des limites assez vite atteintes (travaille sur les listes de plusieurs niveaux par exemple).
J'ai donc très vite utilisé le langage Python qui est naturellement supporté par les Nodes de Dynamo. Le langage Python permet de faire énormément d'applications sur Revit (même graphique), mais je me confronte au manque de littérature sur l'utilisation des librairies Revit en Python. J'ai donc trouvé très fastidieux de progressé avec le langage Python.
De plus, à ce stade d'avancement dans mes applications, je veux pouvoir interagir avec le modèle Revit et pour cela avoir a ma disposition de la littérature fournie (cours, Blog, Forums, librairies d'objets et méthodes,...). 
Le logiciel Revit étant créé sous c# (C Sharp), je me tourne naturellement vers ce langage pour aller plus loin dans la programmation d'application pour Revit.
Pour programmer en C#, je choisi d'utiliser Visual Studio Express 2015 (version gratuite).
Les difficultés apparaissent des la première application que je veux créer... Utiliser l’environnement de programmation est fastidieux et la fameuse littérature date un peu et demande donc beaucoup de travail de recherche pour déboguer les cours. 
Cet article à donc pour objectif de tracer les points de blocage que j'ai rencontré et leurs solutions (qui sont souvent très simples après avoir passé des heures à chercher).

Version logiciels utilisés lors de cet article :
 - Revit 2017
 - Dynamo 1.2.1
 - Visual studio expert 2015


Liens qui m'ont été utiles pour progresser :


1) Création d'un projet pour Revit de type librairie : Solution manuelle
Il faut être vigilant sur le type de projet choisi dans la fenêtre de création, la vérification se fait au niveau des références de la deuxième image.

Vérifier après la création du projet que les références soient conforme :

Il faut ensuite ajouter les références concernant Revit : RevitAPI et RevitAPIUI, avec le réglage copie locale sur False dans la fenêtre propriété.

Paramétrer le Déboguage pour les librairies :
Pour déboguer les librairies et créer le fichier .DLL, il faut utiliser 'Générer la solution" qui ne se trouve pas dans le menu déboguer.
Générer la solution par : Ctrl + Maj + B ou bouton droit de la souris sur le projet dans l'explorateur de solution.

Lancer le débogueur en même temps que Revit :
Pour lancer Revit lors du déboguage il faut modifier les réglages ci-dessous:
Visual Studio : Déboguer : Propriétés "projet en cours"

Fournir le lien du fichier Exe de Revit au système :

Créer avec le bloc note de windows le fichier "VotreProgramme.addin" (l'extension doit impérativement être .addin) contenant une copie du texte ci-dessous. Remplacer le texte surligné par le chemin vers le fichier .dll de votre programme (dans le répertoire débug). (Lien vers page anglaise)
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<RevitAddIns>
<AddIn Type="Command">
    <Name>HelloWorld</Name>
    <FullClassName>HelloWorld.HelloWorld</FullClassName>
    <Text>HelloWorld</Text>
    <Description>Show Hello World.</Description>
    <VisibilityMode>AlwaysVisible</VisibilityMode>
    <Assembly>C:\Samples\HelloWorld\HelloWorld\bin\Debug\HelloWorld.dll</Assembly>
    <AddInId>239BD853-36E4-461f-9171-C5ACEDA4E723</AddInId>
    <VendorId>ADSK</VendorId>
    <VendorDescription>Autodesk, Inc, www.autodesk.com</VendorDescription>
  </AddIn>
</RevitAddIns>
Enregistrer le fichier "VotreProgramme.addin" dans le répertoire Addins de Révit.
Modifier l'option de débogage pour éviter l'erreur "Le programme '[764] Revit.exe' s'est arrêté avec le code 0 (0x0)." dans la fenêtre de sortie, de la façon suivante :
 - Outils > options > Débogage > Général > Utiliser le mode de compatibilité managé (sur on).
Pour lancer le débogage, il suffit de taper F5. Revit se lance pendant le débogage...


2) Installation d'Add-in avec la méthode de thebuildingcoder (Lien vers la page en anglais) en automatique.

Le fichier .zip est à télécharger ici : revit2017addinwizardcs0 (1).zip (dernière version pour Revit 2017).
Copier le fichier zip à cet emplacement sur cotre pc (sans le déziper) :
"C:\Users\NomUtilisateur\Documents\Visual Studio 2015\Templates\ProjectTemplates\Visual C#"

Vérifier dans Menu > déboguer > Propriétés du projet en cours : que le fichier lien de la ligne "Démarrer le programme externe" pointe correctement Revit.exe.

Lors de la création d'un nouveau projet on obtient maintenant l'icone Revit 2017. Il faut l'utiliser pour créer un projet Revit :





jeudi 5 janvier 2017

Transformer un symbole DWG en Curves Revit

On utilise cet applicatif Dynamo pour transformer les anciens symboles DWG et polycurves sur Revit.
Cela nous évite de redessiner les Symboles 2D utilisés pour les familles types.

Liens de téléchargement :
 - Fichier Dynamo

Développé sur Revit 2016/2017 - Dynamo 1.2.1


Résultat obtenu ci-dessous, à droite les curves dessinées sur la base du fond de plan DWG.
Sur la photo, le fond de plan a été déplacé pour. lors de l'exécution de l'applicatif les curves se juxtaposent aux symboles DWG.