Roadmap Naviate Architecture
Analyse et structuration des 44 fonctionnalités de Naviate Architecture comme pistes d'évolution et d'inspiration pour le plugin ANMA pyRevit.
📂 Répartition par Axe Fonctionnel (6 Catégories)
Gestion des ouvertures, numérotation, sens de frappe, carnets de menuiseries et surfaces de baies.
Calcul de surfaces nettes/brutes, doublages & revêtements automatiques, séparations de pièces, export zones.
Redressement d'axes de murs, élévations intérieures automatiques, trames de murs-rideaux, orientations cardinales.
Édition de flèches de pente, scission de sols par lignes d'esquisse, ajustement d'altimétries de toiture.
Édition graphique et création sur-mesure de motifs de hachure (PAT) directement dans Revit.
Import de géomètres (XYZ), export KOF, et moteur Dynamic Model Updater (IUpdater) en arrière-plan.
Identifie et contrôle toutes les portes du projet : sens d'ouverture, numéro de pièce, niveau, service et paramètres combinés en un ID unique avec étiquetage automatique. Corrige également le problème de miroir IFC.
Complète nos scripts existants de numérotation de portes en ajoutant le calcul géométrique du sens d'ouverture et l'ID unique.
Utiliser `FamilyInstance.FacingOrientation` et `HandOrientation` par rapport au mur hôte pour calculer le sens d'ouverture (Gaucher/Droitier, Poussant/Tirant). Identifie et contrôle toutes les fenêtres du projet : sens d'ouverture, numéro de pièce, niveau, service et ID unique avec étiquetage automatique.
Outil miroir de Door Management dédié aux fenêtres et châssis vitrés.
Détection automatique de la pièce contenante via `SpatialElement` / `FromRoom` & `ToRoom`. Interface de configuration pour définir quels paramètres de portes mettre à jour et spécifier les conventions de sens d'ouverture par famille.
Fichier de configuration YAML/JSON dans l'extension ANMA.
Stockage dans pyRevit Config ou script d'options WPF/pyRevit Form. Interface de configuration pour les fenêtres définissant les règles de calcul de sens d'ouverture et paramètres cibles.
Module de paramétrage partagé avec le configurateur de portes.
Réutilisation de la structure de config JSON du module Doors. Ensemble complet regroupant : Update Doors, Reorder Doors, Locked Door Marks, Door Drawings et Door Tool Settings.
Nouveau Panel pyRevit dédié dans ANMA tab.
Regroupement des commandes en Pulldown dans `ANMA.tab`. Ensemble complet regroupant : Update Windows, Reorder Windows, Window Drawings et Window Tool Settings.
Nouveau Panel ou Pulldown dédié aux fenêtres dans ANMA tab.
Structure modulaire avec fonctions partagées dans `lib/anma/windows.py`. Génération automatique des vues d'élévations de chaque type de porte avec cotation automatique, nomenclature et placement sur feuilles.
Création automatisée de carnets de menuiseries.
Génère des vues `ViewSection` centrées sur l'instance avec `BoundingBoxXYZ` et applique un `ViewTemplate`. Génération automatique des vues d'élévations de fenêtres cotées avec légendes et cartouches sur feuilles.
Création automatisée de carnets de baies vitrées.
Automatisation du cadrage `CropBox` et disposition en grille sur la feuille `ViewSheet`. Recalcule et réécrit manuellement ou en lot tous les paramètres de portes (numéro de pièce hôte, niveau, orientation, ID).
Commande de rafraîchissement des attributs de menuiseries.
Transaction batch sur tous les éléments `BuiltInCategory.OST_Doors`. Recalcule et réécrit manuellement ou en lot tous les paramètres de fenêtres du projet.
Commande de rafraîchissement des attributs de fenêtres.
Transaction batch sur `BuiltInCategory.OST_Windows`. Configure les paramètres d'opération IFC (OperationType) pour l'export IFC des portes.
Utilitaire d'export IFC OpenBIM.
Écriture du paramètre IFC `IfcDoorStyle.OperationType`. Configure les paramètres d'opération IFC (OperationType) pour l'export IFC des fenêtres.
Utilitaire d'export IFC OpenBIM.
Écriture du paramètre IFC `IfcWindowStyle.OperationType`. Somme la surface totale des portes, fenêtres et murs-rideaux de chaque pièce pour permettre le calcul direct de la surface nette des murs dans les nomenclatures de pièces.
Fort impact sur le calcul des surfaces de finitions et métrés ANMA.
Boucle sur les baies associées à la pièce et écriture du paramètre partagé `ANMA_Room_OpeningsArea`. Génère automatiquement les doublages, plinthes, revêtements de sol et plafonds pour chaque pièce sélectionnée selon ses contours.
Outil majeur d'automatisation du second-œuvre.
Extrait le profil de bordure de la pièce `Room.GetBoundarySegments()` et crée des `Wall.Create()` / `Floor.Create()` d'épaisseur fine. Affiche et gère les éléments de revêtements associés aux pièces sélectionnées (modification de type, suppression, remplacement).
Interface de maintenance des revêtements automatiques.
Filtre les éléments hébergés ou associés par ID de pièce hôte. Génère des zones remplies (Filled Regions) brutes et nettes à partir des limites des pièces pour les plans de présentation.
Utile pour la présentation graphique rapide des plans de vente/surfaces.
Convertit `BoundarySegment` de pièce en `CurveLoop` pour `FilledRegion.Create()`. Calcule et génère des surfaces et zones remplies globales (brutes/nettes) regroupant plusieurs pièces selon un paramètre de zone (ex: Appt 101, Zone Nord).
Idéal pour l'analyse des logements (Housing Analyzer ANMA).
Union géométrique de polygones 2D (`CurveLoop.CreateViaOffset` / Clipper algorithm). Trace automatiquement les lignes de séparation de surface (Area Boundary) le long des murs selon le type de mur et son axe d'implantation avant le placement des pièces.
Gain de temps massif pour la création des plans de surface SD P/SUB/SHAB.
Utilise `doc.Create.NewAreaBoundaryLine()` le long de l'axe ou du parement du mur selon la règle choisie. Copie les pièces ou espaces depuis un modèle Revit lié (ex: modèle Archi ou Fluides) et les place exactement aux mêmes coordonnées dans le modèle actif.
Synchronisation inter-maquettes archi/BET.
Lit les `SpatialElement` de la maquette liée transformée par la matrice `RevitLinkInstance.GetTotalTransform()` et instancie `doc.Create.NewRoom()`. Importe les entités `IfcSpace` des fichiers IFC liés sous forme de pièces non placées prêtes à être insérées.
Intégration OpenBIM pour modèles issus d'Archicad ou Allplan.
Parse la géométrie et les attributs d'IfcSpace pour créer des pièces non placées. Calcule et inscrit automatiquement les longueurs de plinthes (déduction faite des baies) et les surfaces d'ouvertures dans les paramètres de pièce.
Renforce nos outils d'analyse de logement et métrés.
Périmètre de pièce moins largeur totale des portes débouchant sur la pièce. Extrait le matériau de finition des murs, sols et plafonds environnants pour renseigner automatiquement les paramètres natifs de finition de pièce.
Renseigne Mur, Sol, Plafond, Plinthe dans la fiche de pièce.
Raycasting ou détection des éléments adjacents aux bordures de pièce. Inscrit le périmètre net des murs de la pièce sous forme de paramètre partagé.
Complément indispensable pour les devis second-œuvre.
Addition des longueurs des `BoundarySegment`. Regroupe les pièces par valeur de paramètre (ex: Logement T3, Zone ERP) pour générer automatiquement plans de zones, vues 3D isolées et surfaces de zone.
Extension clé pour le Housing Analyzer.
Crée des `ViewPlan` dédiées avec `OverrideGraphicSettings` ou masquage des pièces hors zone. Exporte l'arborescence des pièces et surfaces du projet au format XML normalisé Fi2.
Format spécifique facility management international.
Génération de fichier XML via `xml.etree.ElementTree`. Corrige instantanément les murs légèrement hors-axe en les alignant de manière strictement orthogonale ou perpendiculaire par rapport à un mur de référence.
Nettoyage rapide de maquette et correction d'erreurs de modélisation.
Calcule l'angle du vecteur directeur du mur et ajuste l'axe `LocationCurve` à l'angle exact le plus proche (0, 90, 180, 270 deg). Éditeur graphique interactif pour concevoir, répéter et ajuster les trames de meneaux/murs-rideaux avec prévisualisation en temps réel.
Conception de façades vitrées complexes.
Manipulation des `CurtainGrid.AddGridLine()` avec interface WPF. Génère des vues d'élévation cotées pour chaque mur-rideau sélectionné en appliquant un gabarit de vue prédéfini.
Carnets de détails de façades vitrées.
Calcule le plan perpendiculaire au mur-rideau et crée une vue `ViewSection` orientée. Crée automatiquement les 4 élévations intérieures (Nord, Sud, Est, Ouest) pour chaque pièce sélectionnée et les dispose proprement sur une feuille.
Gain de temps considérable pour les carnets de détails intérieurs (SDB, Cuisines, ERP).
Instancie une `ElevationMarker` au centre géométrique de la pièce et génère 4 vues. Alimente automatiquement les paramètres de mur : Orientation (N, S, E, O), Surface brute et Hauteur réelle moyenne.
Contrôle qualité et métrés façades.
Analyse du vecteur normal `Wall.Orientation`. Écrit la surface totale brute du mur (sans déduction d'ouvertures) dans un paramètre partagé.
Calcul d'approvisionnement et gros-œuvre.
Longueur x Hauteur du mur. Calcule et inscrit la hauteur exacte du mur même si découpé en partie haute par une toiture.
Vérification des limites de hauteur.
Extraction du `BoundingBoxXYZ` vertical ou des faces Supérieure/Inférieure. Renseigne le paramètre d'orientation (Nord, Sud, Est, Ouest, Nord-Est, etc.) pour les Murs, Portes et Fenêtres (`NVOrientation`).
Analyse thermique et ensoleillement.
Calcul de l'angle entre le vecteur normal de l'élément et le Nord projet/vrai. Ajuste la pente des toitures en modifiant les altitudes de départ/arrivée ou le pourcentage de pente directement via une boite de dialogue.
Gestion facilitée des toitures terrasses et brisis.
Modification des paramètres de la flèche de pente d'esquisse `ModelCurve`. Définit rapidement les points haut/bas et pentes sur les sols et toitures.
Modélisation des formes de pente de douches ou toitures.
Édition des `SlabShapeEditor` de sols/toits. Reconstruit la géométrie de la toiture sur la base des flèches de pente posées.
Recalcul géométrique rapide.
Régénération de l'élément de toit. Applique automatiquement les pentes configurées aux pans de toiture sélectionnés.
Utile pour la modification en masse des toits.
Ajuste les propriétés de pente des lignes d'esquisse de toit. Découpe automatiquement un sol en plusieurs sols distincts le long de lignes de détail/modèle sélectionnées.
Essentiel pour différencier les revêtements de sol par pièce sans tout re-modéliser.
Calcule la différence de polygones 2D d'esquisse et génère de nouveaux `Floor.Create()`. Permet de visualiser, dupliquer, modifier et appliquer directement des motifs de hachure (Fill Patterns) dans Revit sans manipuler de fichiers .pat externes.
Outil graphique à fort impact visuel pour l'agence.
Lit/Écrit la structure `FillPattern` de Revit API (lignes, angles, espacements). Convertit un dessin de lignes de détail ou de modèle tracé dans Revit en un motif de hachure réutilisable (Fill Pattern).
Création sur-mesure de hachures d'architecture.
Vectorise les lignes sélectionnées pour composer les vecteurs du `FillPattern`. Exporte les coordonnées d'éléments ou d'axes vers un fichier texte au format KOF pour les géomètres.
Export spécifique géomètres-experts.
Formatage texte des coordonnées Lambert/GPS. Crée ou met à jour une Toposurface ou Toposolid Revit à partir d'un fichier de points (XYZ, CSV, TXT).
Génération rapide de terrain naturel.
Utilise `Toposolid.Create()` ou `TopographySurface.Create()`. Moteur en arrière-plan (Updater/Dynamic Model Updater) qui recalcule automatiquement les paramètres personnalisés (numéros de pièces sur portes, orientations, surfaces) dès qu'un élément est déplacé ou modifié.
Passe ANMA d'un ensemble d'outils manuels à une suite intelligente réactive.
Implémente `IUpdater` de Revit API enregistré au démarrage (`startup.py`). Interface d'inspection et de vérification des updaters automatiques actifs et de leur statut dans la maquette.
Console de contrôle de la santé du modèle.
Affiche la liste des `UpdaterRegistry.GetRegisteredUpdaterInfos()`.