Description
Travailler avec des modules liés nécessite une gestion d'attributs très rigoureuse. Sans cela, plusieurs types de problèmes peuvent survenir :
- Les attributs sont dupliqués ou multipliés dans le fichier hôte (par ex. : Acrotère (1), Acrotère (2), Acrotère (3)…)
- Un attribut devient manquant dans le fichier hôte
- Le même attribut s’affiche différemment dans le fichier hôte et dans le module
Pour comprendre la source des problèmes, il faut connaitre les principes suivants :
- Les attributs venants d’un fichier module sont identifiés par leurs noms : pour Archicad, le même nom = le même attribut (sauf de rares exceptions, voir plus bas).
- Si vous créez un nouvel attribut dans un fichier module, lors de la mise à jour de ce module, l’attribut sera ajouté automatiquement dans le fichier hôte, sous le même nom et même index, si possible. Toutefois, les attributs qui ne sont pas utilisés dans le module ne sont pas ajoutés au fichier hôte.
- Si vous modifiez un attribut existant dans un fichier module (qui, forcément, existe déjà dans le fichier hôte aussi), cette modification ne sera pas reprise automatiquement lors de la mise à jour du module dans le fichier hôte, il faut remplacer manuellement l’attribut modifié avec le gestionnaire d’attribut, avant la mise à jour du module.
- Les changements ou la création des attributs dans le fichier hôte ne sont pas transférées aux modules lors de la mise à jour des modules.
Ces principes peuvent expliquer la plupart des problèmes mentionnés ci-dessus :
Les attributs se dupliquent dans le fichier hôte : admettons qu’un profil complexe existe déjà dans le fichier hôte et dans le fichier module, et il est utilisé dans les deux. Vous modifiez la géométrie du profil complexe dans le fichier module. Ensuite, sans transférer l’attribut modifié au fichier hôte avec le gestionnaire d’attributs, vous mettez à jour le module dans le fichier hôte. À ce moment-là, Archicad détecte que le même profil complexe existe déjà, mais la géométrie est différente. Il ne peut pas reprendre automatiquement les modifications dans le fichier hôte, car cela modifierait des éléments profilés placés dans le fichier hôte directement. Il doit donc ajouter donc l’attribut modifié comme un doublon (2) pour ne pas compromettre les éléments profilés placés dans le fichier hôte.
Un attribut devient manquant dans le fichier hôte: le même profil complexe existe dans les deux fichiers, mais tandis que le profil est disponible pour les murs et les poutres dans le module, il n’est disponible que pour les murs dans le fichier hôte. En mettant à jour le module, les poutres venants du module font appel à un profil complexe qui, selon la disponibilité définie dans le fichier hôte, n'est disponible qu’aux murs. Archicad identifie correctement cet attribut, mais il ne peut pas l’afficher dans les poutres, il affiche alors un attribut manquant.
Le même attribut s’affiche différemment dans le fichier hôte que dans le module : si le même attribut existe dans le fichier hôte et dans le fichier module, mais ils ne sont pas identiques (les modifications n'étant pas transférées avec le gestionnaire d'attributs), Archicad applique l'attribut du fichier hôte.
Dans des rares cas, il peut arriver qu’Archicad identifie un attribut venant du module pas selon son nom, mais selon son index. Par exemple, un mur profilé utilise le profil Acrotère (index: 27) dans le fichier module. Quand cet attribut est créé dans le fichier hôte, l’index 27 est déjà utilisé, donc Archicad ajoute le profil Acrotère avec l’index 34 (premier index libre). Ensuite, à un moment donné, au lieu d’afficher le profil Acrotère, il cherche le profil nº 27. C’est un cas de figure qui est très difficile à reproduire, mais peut arriver parfois.
Solutions
Vous pouvez éviter ces problèmes en travaillant de la façon suivante :
Vous créez votre fichier hôte et vos fichiers modules à partir du même modèle de base (pour que les attributs soient complètement uniformes au départ – mêmes noms, mêmes index, même composition et géométrie pour les composites et les profils).
Si vous travaillez seul, dès que vous modifiez un attribut dans un fichier module, avant de mettre à jour le module dans le fichier hôte, vous importez le profil modifié manuellement au fichier hôte avec le gestionnaire d’attributs. (Évidemment, c’est pareil, sauf dans la direction opposée, pour les attributs modifiés dans le fichier hôte.) Si vous travaillez avec plusieurs modules, il faut apporter les modifications à tous les modules.
Lorsque vous créez un nouvel attribut, cet attribut sera ajouté automatiquement au fichier hôte lors de la mise à jour du module, mais pas aux autres modules. Il faut manuellement l'ajouter, avec le gestionnaire d'attributs, à tous les modules, sous le même nom, avec le même index. Pour garder l'index de l'attribut, utilisez le bouton (Remplacer) Par index.
S’il y a déjà un conflit d’attributs et qu'il faut harmoniser les index et les noms des attributs, utilisez la commande Réindexer du gestionnaire d’attributs, disponible depuis la version 24, pour assurer que les mêmes attributs aient les mêmes index dans tous les fichiers.
Les mêmes règles s’appliquent si plusieurs personnes travaillent sur le même projet avec des modules, mais dans ce cas-là, la situation est encore plus délicate. Donc, pour un travail collaboratif, il est vivement recommandé de travailler en projet partagé, et assigner le droit de gestion d’attributs à une seule personne. S’il est nécessaire que plusieurs personnes aient le droit de modifier les attributs, il faut que ces personnes connaissent bien les règles et qu'ils synchronisent leur travail (pour éviter de modifier les attributs simultanément).