J’ai un matériau dans mon fichier gabarit Revit que je ne parviens ni à supprimer ni à renommer. Étrangement, Dynamo indique qu’il n’existe pas sous le nom affiché, suggérant un problème de cohérence interne.
Problématique : Matériau fantôme dans Revit
Ce problème survient lorsqu’un matériau devient « fantôme » dans la base de données Revit, généralement suite à une erreur de renommage qui crée une incohérence entre le nom affiché dans le gestionnaire de matériaux et le nom interne reconnu par Revit.
Diagnostic du problème
Symptômes caractéristiques :
- Impossible de supprimer le matériau via l’interface standard
- Impossible de renommer le matériau
- Dynamo ne trouve pas le matériau avec son nom affiché
- Le matériau apparaît dans la liste mais n’est pas accessible programmatiquement
Cause probable :
Incohérence dans la base de données après un renommage incomplet, créant un matériau orphelin avec des références internes corrompues.
Solutions techniques
1. Solution Dynamo (recommandée)
Principe : Le matériau existe sous un nom interne différent de celui affiché.
Procédure :
- Ouvrir Dynamo et créer un nouveau script
- Lister tous les matériaux du projet avec le nœud
Document.Materials - Examiner les noms retournés pour identifier le vrai nom interne
- Utiliser le nom interne trouvé avec
Material.ByName - Supprimer le matériau avec le nœud approprié
Script Dynamo type :
Document.Materials → List.Map → Material.Name
(pour identifier le nom réel)
Material.ByName(nom_réel) → Material.Delete
2. Vérification de base de données
Commande native Revit :
- Fichier > Ouvrir
- Sélectionner le fichier concerné
- Cocher « Vérifier » avant d’ouvrir
- Laisser Revit corriger automatiquement les incohérences
Cette vérification détecte :
- Les doublons de matériaux
- Les relations incohérentes dans la base de données
- Les références orphelines
- Les corruptions mineures de fichier
3. Méthode de transfert (workaround)
Si les méthodes précédentes échouent :
Étape 1 : Nouveau projet temporaire
- Créer un nouveau projet à partir du gabarit problématique
- Tenter la suppression dans le projet (souvent plus permissif)
Étape 2 : Reconstruction du gabarit
- Si la suppression fonctionne, purger le projet
- Sauvegarder comme nouveau gabarit
- Remplacer l’ancien gabarit corrompu
4. Méthode d’assignation forcée
Pour forcer la suppression :
- Créer un objet simple (masse in-situ)
- Assigner le matériau problématique à cet objet
- Grouper l’objet et l’exporter en RVT
- Supprimer l’objet du projet original
- Tenter la suppression du matériau maintenant libéré
5. Solutions préventives
Bonnes pratiques :
- Éviter les renommages multiples de matériaux
- Utiliser la vérification régulière des fichiers gabarits
- Créer des sauvegardes avant modifications importantes
- Tester les modifications sur une copie avant application
Workflow sécurisé pour renommage :
- Dupliquer le matériau avant renommage
- Renommer la copie plutôt que l’original
- Remplacer les assignations vers le nouveau matériau
- Supprimer l’ancien une fois toutes les références transférées
Procédure de récupération complète
Étapes recommandées (dans l’ordre) :
- Vérification de base de données (Fichier > Ouvrir > Vérifier)
- Investigation Dynamo pour identifier le nom interne
- Suppression via Dynamo avec le nom correct
- Si échec : Méthode de transfert via nouveau projet
- En dernier recours : Assignation forcée puis suppression
Diagnostic avancé avec Dynamo
Script de diagnostic complet :
# Lister tous les matériaux et leurs propriétés
Document.Materials → Material.Name + Material.Id
# Comparer avec les noms affichés
# Identifier les incohérences
# Générer un rapport de correspondance
Points d’attention
- Sauvegarder systématiquement avant toute intervention
- Tester d’abord sur une copie du fichier
- Documenter les noms internes trouvés pour références futures
- Signaler le bug à Autodesk si le problème persiste
Ces méthodes permettent de résoudre la quasi-totalité des cas de matériaux fantômes tout en préservant l’intégrité du fichier gabarit.