Problème
Je supprime des attributs superflus dans mon projet. Après avoir continué à travailler, je me rends compte que les attributs déjà supprimés apparaissent de nouveau. Je les supprime encore une fois, mais le problème se répète sans fin.
Explication
Les attributs d'un projet viennent du modèle de base utilisé pour démarrer le projet (fichier modèle). On peut dupliquer, modifier ou créer des nouveaux attributs directement dans le projet à l'aide des palettes dans le menu Options / Lignes, Hachures, Surfaces, etc.
Copier-coller un élément d'un autre projet ou placer un module lié peut aussi créer de nouveaux attributs. Il est également possible d'importer les attributs d'un autre projet via le Gestionnaire d'attributs.
Outre ces possibilités, les programmeurs des éléments de bibliothèque peuvent aussi définir des attributs dans les scripts de leurs éléments paramétriques. Par exemple, quand ils développent une bibliothèque d'une gamme de produit réel, ces produits (meubles par exemple) ne sont disponibles qu'avec un choix restreint de couleurs et de matériaux, définies par le fabricant de ce produit. Quand l'utilisateur charge un élément de bibliothèque qui contient une définition d'attribut, cet attribut sera ajouté aux attributs du projet, et il va apparaitre dans la liste des attributs.
Il est facile à distinguer ces attributs venants des scripts GDL : leurs noms s'affichent en italique dans la liste des attributs :
On peut supprimer ces attributs dans le Gestionnaire d'attributs, mais à chaque fois que les éléments de bibliothèques sont rechargés ou leurs scripts sont réinterprétés par Archicad (par exemple pour régénérer le modèle 3D), les attributs apparaissent de nouveau.
Solution
Le fait qu'il n'est pas possible de se débarrasser de ces attributs n'est pas forcément un problème et surtout pas un "bug", ils sont là pour une raison, notamment parce que des éléments de bibliothèque les utilisent. Cela indique aussi comment on peut les supprimer : d'abord, il faut supprimer les éléments de bibliothèque, ensuite, on peut supprimer définitivement les attributs aussi.
Dans notre exemple, les noms de toutes les surfaces sur la capture d'écran contiennent le mot "HAG". Si on cherche parmi les bibliothèques chargées dans le projet, on peut trouver HAG Furniture.lcf, une bibliothèque téléchargée sans doute depuis internet. Il est très probable que les surfaces HAG sont définies dans cette bibliothèque.
Dès qu'on identifie la bibliothèque étant la source potentielle des attributs non souhaités, nous avons deux possibilités :
- Un ou plusieurs éléments de cette bibliothèque est déjà placé dans le projet. Dans ce cas, on a bien besoin de cette bibliothèque, on ne peut pas la retirer. Cela veut dire, on ne peut pas supprimer les attributs, ou une partie des attributs, créés à partir de cette bibliothèque.
- Aucun élément n'est placé de cette bibliothèque, et on n'envisage pas d'en placer des éléments dans l'avenir non plus. Cela veut dire, il est souhaitable de supprimer les attributs créés par cette bibliothèque, pour nettoyer les attributs du projet.
Dans ce deuxième cas de figure, voici la démarche à suivre :
- Aller dans Fichier / Bibliothèques et objets / Gestionnaire de bibliothèque.
- Sélectionner et enlever la ou les bibliothèques, Recharger et appliquer, OK.
- Aller dans Options / Attributs élément / Gestionnaire d'attributs (ou à la palette de réglages de l'attribut), et supprimer les attributs non souhaités.
- Pour vérifier, ouvrez le Gestionnaire de bibliothèque et cliquez sur Recharger et appliquer ensuite vérifier les attributs de nouveau. Si, après avoir rechargé les bibliothèques, les attributs n'apparaissent plus, ils sont définitivement supprimés.
Remarque : souvent, il est difficile de trouver les éléments de bibliothèque qui définissent des attributs. Par exemple, ces attributs peuvent être définis dans des éléments qui s'appellent MASTER_GDL, et ils se trouvent dans la bibliothèque emboîtée. Ces éléments peuvent contenir d'autres morceaux de scripts qui sont importants pour les éléments de bibliothèque, supprimer ces éléments sans connaitre leurs contenus n'est pas une bonne idée.
De façon générale, ce problème d'attributs revient à un autre sujet important, notamment la gestion des bibliothèques, qui nécessite un travail rigoureux et un bon niveau d'expertise.