A défaut de travailler qu'avec des maquettes en liens, travailler avec des liens CAO sous Revit peut poser quelques difficultés
La difficulté n'étant pas dans l'importation du lien CAO ou dans le géo-référencement du DWG ni dans le changement de couleur des calques (via gestionnaire de style d'objet) mais par exemple dans la gestion des états de calques au travers de différents gabarits de vue.
En effet impossible d'enregistrer un état de "calque" d'un lien CAO pour le réattribuer sur un autre gabarit de vue (ou vue).
Quand Revit importe un DWG (Classe ImportInstance) on retrouve les calques en Sous-Catégories, la Catégorie étant le lien CAO.
le Defpoints qui se pensait insupprimable... |
Pour collecter les statuts de visibilité des liens CAO on applique la méthode View.GetCategoryHidden(ElementId) en passant en argument l'Id (Objet) de la sous catégorie (calque CAO).
Gist checkview
Enfin pour chaque vue ou gabarit de vue, on applique ces statuts aux autres vues, méthode View.SetCategoryHidden(ElementId, bool).
aperçu en vidéo du script complété