ABVENT Websites  | France |  Suisse |  International
foire aux questions

Question :

Que se passe t'il si des bibliothèques de versions différentes sont chargées simultanément?
Réponse :

<b>Introduction :</b> Avec la complexité croissante des bibliothèques, une méthode pour dépister les éléments de bibliothèques ainsi que la révision de leur version a été développée pour ArchiCAD 8. En bref, un code interne de 72-caractères, en combinaison avec le nom de l’objet, ou le nom du fichier objet, identifie chaque objet. Ce nombre de 72-caractères est appelé le GUID (Globally Unique Identifier) et il aide ArchiCAD à la recherche des itérations d’un objet, car il est mis à jour ou amélioré. <b>Le GUID :</b> Le GUID se compose de deux parties, chacune comprenant 36 caractères. Les 36 premiers caractères représentent "l'identification principale" et les 36 derniers caractères représentent l"identification de révision".

<center><i>Cliquez sur l'image pour l'agrandir</i></center> • L'identification principale est créée quand l'objet de bibliothèque est sauvegardé pour la première fois. Elle est également modifiée si l'objet est sauvegarder par <b>Enregistrer Sous…"</b> • L'identifiant de révision est également créé lorsqu’un élément de bibliothèque est sauvegardé pour la première fois par la commande <b>"Enregistrer"</b>. <b>Identification des éléments de Bibliothèque :</b> En plaçant un objet dans ArchiCAD, il se réfère au GUID avant de considérer le nom. Lors du chargement d'une bibliothèque, ArchiCAD utilise les différents critères hiérarchiques pour associer les objets des bibliothèques à ceux placés dans le projet : 1• Il essaye de trouver exactement les deux parties du GUID 2• En cas d'échec, il recherche la première partie (Identifiant Principal) du GUID 3• Si cette première partie est non trouvée, il recherche alors le nom de l'élément de bibliothèque. Si des éléments proviennent de bibliothèques antérieures à la version 8, cette notion de guide n'existe pas. Si un tel élément est dans un document, ArchiCAD complétera son GUID de zéros. Il sait également qu'il ne doit pas traiter les deux premières étapes de l'identification et essaye de ne traiter que le nom. <b>Exemple :</b> Créons un nouvel élément de bibliothèque. Choisissons Nouvel Objet puis cliquons sur Modèle : Elément Modèle comme modèle. Le GUID de ce nouveau modèle est {103E8D2C-8230-42E1-9597-46F84CCE28C0}-{CE15CD1D-E6C8-4C6B-B919-C4E367D3983A} Enregistrons cet élément sous le nom 'Chaise 1.gsm'. Son GUID devient {5E258C98-C74E-43E6-9F8A-894F2F9A3E22}-{9AD91219-5A87-4C64-8F32-84CB4DFB5E05}. Ce n° est complètement différent du précédent. Si d'autres modifications sont faites et que l'objet soit enregistré à nouveau son GUID devient {5E258C98-C74E-43E6-9F8A-894F2F9A3E22}-{ACFAA215-4B96-4CA2-9277-4C613AD50AC7. Comme vous pouvez le voir, L'ID principal n'a pas changé, mais l'ID de Révision est modifié. Maintenant si cet élément en enregistré, à l'aide de la commande'Enregistrer sous…', avec comme nouveau nom "Chaise 2.gsm", son GUID devient complètement nouveau {463F5328-53EC-4255-AC9F-614AB6B26C10}-{7521BF5D-66E3-4A62-8FD3-E5DFA4B245B7} Il peut se produire que cette nouvelle 'chaise 2.gsm 'soit renommée en 'chaise 1.gsm '. Ceci n'aura aucune incidence sur ArchiCAD ou l'utilisateur pour la raison suivante : tout d'abord, ni Windows, ni Mac ne permettent la présence de deux fichiers de même nom dans un même dossier. Ces fichiers devront être alors dans deux dossiers distincts. Si deux bibliothèques sont chargées, l'une avec la"chaise initiale 1.gsm" et l'autre avec la sauvegarde de la chaise 2 renommée en "chaise 1.gsm", la fenêtre de rapport d'ArchiCAD indiquera que des éléments sont en double. Ceci est dû aux noms identiques par contre leur GUID est différent. Si vous avez 2 éléments "Chaise 1.gsm" dans les bibliothèques chargées, un étant l'original et l'autre sa copie, puis que ces éléments soient modifiés et enregistrés (pas par Enregistrer sous…), leur ID principal restera identique, aussi ces objets seront déclarés comme "éléments de bibliothèque en double". Ainsi, quand deux objets ou plus ayant le même nom dans les bibliothèques chargées, avec l'aide du GUID ArchiCAD peut indiquer si les éléments sont réellement identiques ou si l'un d'entre eux est d'une révision différente ou encore un objet totalement nouveau. <b>Comment connaître le GUID d'un élément de bibliothèque?</b> Le GUID est affiché lors de l'édition d'un objet de bibliothèque. En cliquant sur le bouton "Sélectionner sous-type" un nouveau dialogue apparaît.

<center><i>Cliquez sur l'image pour l'agrandir</i></center> Normalement le GUID visualisé n'est pas celui de l'élément édité, mais celui de son élément référent. Dans la copie d'écran ci-dessous, vous pouvez voir que l'élément sélectionné n'est pas le "Fauteuil 1.gsm" mais son élément de référence "Assises". Son nom, sa version, son GUID et son emplacement sont affichés.

<center><i>Cliquez sur l'image pour l'agrandir</i></center> Si vous souhaitez visualiser le GUID de l'élément, il vous faut activer la commande : Fichier/Objets GDL/Ouvrir Objet par Sous-Type. Il vous sera nécessaire de vous souvenir de la localisation de l'élément référent dans la hiérarchie des sous-types. Les objets de bibliothèques apparaissent en vert dans la liste.

<center><i>Cliquez sur l'image pour l'agrandir</i></center> Maintenant vous allez voir le GUID de l'objet. S'il y a un problème de GUID entre les éléments des bibliothèques chargées, le rapport de chargement des bibliothèques le notifiera. Dans ce cas, vous verrez le GUID des objets impliqués ainsi que leur localisation.

<center><i>Cliquez sur l'image pour l'agrandir</i></center> L'inverse est vrai également : Si aucune alerte n'apparaît dans le rapport, après le chargement des bibliothèques, cela signifie qu'aucun élément n'est doublé. <b>Comment ceci fonctionne t'il avec les Macros : </b> Prenons l'exemple d'un meuble de cuisine et une porte. Tous les deux peuvent appeler un autre objet nommé "Poignée", mais cette poignée peut être un fichier différent pour la porte et le meuble. Cette situation peut se produire lorsque des développeurs ou des industriels créent leurs propres objets. Grâce au GUID, ArchiCAD peut utiliser un nombre infini d'éléments sans contraindre les développeurs GDL d'utiliser un nom unique pour chaque élément. Ceci permet des noms simples pour une meilleure compréhension, et assez de sophistication pour gérer de grandes et complexes bibliothèques. Les GUID facilitent également la mise à jour des éléments en cas de nouvelle version. Quand un élément contient une macro appelée, ArchiCAD vérifie si le nom de la macro spécifiée existe dans les bibliothèques actives. Si c'est le cas, il inclut le GUID de la macro dans l'élément lors de sa sauvegarde. Les références de la macro sont identifiées comme des les autres objets : en premier le GUID, en second l'ID principal, puis le nom. Supposons qu'un élément de bibliothèque appelle une macro avec un certain GUID. Plus tard une autre bibliothèque contenant une macro de même nom mais de GUID différent est chargée. Si l'élément qui appelle la macro est modifié et enregistré, ArchiCAD recherche dans les bibliothèques actives la macro qui a le même GUID. S'il ne la trouve pas, il recherchera l'ID principal. S'il ne trouve toujours pas, il va rechercher alors une macro ayant même nom. Si cette macro est trouvée par son nom, ArchiCAD prendra son GUID qui sera enregistré effaçant ainsi la précédente valeur de GUID stockée. Il est donc fortement déconseillé d'avoir des macros ayant même nom dans les bibliothèques actives. Cette même règle s'applique à n'importe quelle opération ayant des conséquences dans les éléments de bibliothèque. <b> Exemple : Dans ArchiCAD 8.1, ouverture d'un projet débuté en ArchiCAD 8.0 R3/V3</b> En chargeant la "bibliothèque 8.0" et la "bibliothèque 8.1" d'ArchiCAD, les objets du projet continueront à faire référence à la bibliothèque 8.0, même s'il y a eu des mises à jour d'éléments de même nom dans la bibliothèque 8.1. En chargeant la "Bibliothèque 8.1" au lieu de la "Bibliothèque 8.0", les éléments placés dans le projet feront référence aux nouveaux objets de cette nouvelle bibliothèque. Certains de ces objets placés seront renommés, car les noms ont été modifiés dans le gestionnaire de fichier plutôt qu'en utilisant la fonction "Enregistrer sous…" dans ArchiCAD. Dans ce dernier cas, les objets ne sont pas vraiment différents, bien que leur nom soit changé. Mais de nouvelles éditions de la bibliothèque peuvent comporter des modifications dans la programmation de ces éléments sans que leur nom change. En tel cas, les nouveaux éléments remplaceront dans le projet les plus anciens avec comme résultat final la substitution des objets 8.0 par de nouveaux éléments ayant un nouveau nom et un nouveau GUID. <b>Ouverture d'un projet archiCAD 7.0 dans ArchiCAD 8.1</b> La bibliothèque d'ArchiCAD 7.0 n'utilisait aucun GUID donc l'identification sous ArchiCAD 8 se fait par nom. En chargeant la bibliothèque ArchiCAD 7.0, les éléments du projet continuent à faire référence aux éléments 7.0 et sont donc placés correctement. En chargeant la bibliothèque 7.0 et celle de la 8.1, les éléments placés dans le projet continuent à faire référence à la version 7.0, donc les objets sont bien placés, si ce ne sont pas des éléments avec un nom en double (l'élément avec un même nom existant dans les deux dossiers). Si un élément de même nom existe dans les deux bibliothèques, l'objet sera alors aléatoirement choisi dans l'une ou l'autre. En chargeant la bibliothèque 8.1, les éléments placés dans le projet feront référence à la version 8.1 si des éléments de même nom s'y trouvent. Les paramètres additionnels des objets seront conservés. Si les éléments de la version 8.1 contiennent de nouveaux paramètres, ces objets prendront les valeurs par défaut des paramètres. Si le script a changé depuis la version 7.0, c'est le nouveau script qui sera pris en compte.

FAQ n° 228

Logiciel ARCHICAD
Version(s) 8.0/8.1
Système(s) Windows 2000

Partager...


 
 © ABVENT 2016     |  Contacts | Recrutement | Le groupe Abvent