Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.

Change own Guid with another one known

Mario Sacco
Expert
I need change the internal own Guid of my object with the other one of an other object. Can I do it?
I need it because I use a GDL object as a main macro of different object, but I need in the final version have different guid for each macro. So I can update the macro of the different object without conflict.
I'm the developer of the rails and path 3DMD you can find on BIM components. Each object have the same macro with different version and different guid. I want to replace the same guid of the macro I used in the first version, so the object will automatically update on the project when new version will be released.

Thankyou
MacBook M1 Max 64GB- OS X 12.2.1 - Archicad 27
https://www.archiradar.it/en/
5 REPLIES 5
You may probably do that in XML...but the dirty way is either - paste the contents to the "old" object...or ... which is not that straightforward - replace the object - save under the old name...and open the objects that relay on that macro...and save them again...in most cases they would recognize the new object (if the old is not loaded and the new replaced it).
The second is useful when upgrading the part that uses some macros from the ArchiCad Library and the version changed (if the goal is nit to use the migration library)

Best Regards,
Piotr
Mario Sacco
Expert
Piotr

Thank you. Your method works. I have already used it. It works for updating macro.
I need to add another problem. Because I used also a unique object to create many main objects. For the rail I'm working on a single object, for the macro called in the rail I'm working also on a single object . From this two main objects I create many objects Rails and many objects macro for each Final Rail that have each one a unique Internal ID; so they don't interfere.
This is the reason I need to reapply the original Internal ID of the first version of each single Rail.
As you said:
First way copy/past all GDL inside the last version with the correct ID, also some work to set parameters visibility, order them, other few things, using template to catch all the new variables.
Second way covert in xml than again in gdl; I need to try; I already used it but I hate the monitor and this kind engineering staffs.
Third way a button in Editor of the object, but it seams it does not exist! 😞

With your considerations I discovered many new useful other things.

Thank you!!
MacBook M1 Max 64GB- OS X 12.2.1 - Archicad 27
https://www.archiradar.it/en/
BTW:
Back in the times of AC 12 the GUID was a big pain in the a**
And I have to maintain some libraries with this version from time to time.

I created a library of furniture where I used a "template" object where I pasted the cleaned up imported models or whatever...and... from time to time the all placed objects miraculously changed to the first created
looks like in the ver 12 AC did no do the janitors' work over the GUIDs

Best Regards,
Piotr
Laszlo Nagy
Community Admin
Community Admin
Several years ago there was an article about GUID:

http://helpcenter.graphisoft.com/tips/library-object-globally-unique-identifier-guid/

Unfortunately I cannot say how true its contents are today because I have not looked at it for a long time.
But I think what is still the same is that the GUID is made of two parts: the Main ID and the Revision ID. When you use the Save command, only the Revision ID part of the GUID is changed, while the Main ID part stays the same. This way ArchiCAD know this is just a new revision of basically the same Object.
If you want to create a different object based on this Object you should use the Save As command. In that case the Main ID is also changed so ArchiCAD knows it needs to treat is as a different object.

What I don't remember is whether changing the name of the GDL Object in the file system triggers a change to the Main ID or not, you will have to try that.
Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac28
Matt Balaam
Advocate
laszlonagy wrote:
What I don't remember is whether changing the name of the GDL Object in the file system triggers a change to the Main ID or not, you will have to try that.
Changing the filename doesn't affect the main ID. In fact, copying an object, renaming it and saving it in a new version of AC still does not change the ID.

If we open one of our AC17 projects in AC18 and manually switch our library over all of the placed objects will automatically change over to the 18 versions even though the objects are all copied to a new location, renamed and resaved in the newer version.
AC24 (7000 AUS FULL)| Windows 10 Pro | Intel Core i7-12700 @ 2.1GHz | 32GB RAM | NVidia T1000