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

Multiple Versions

Anonymous
Not applicable
Hello,
I recently duplicated a library part called Tube 10.gsm
in the hard drive directory and changed it's name to Tube.gsm.
(Please note that this is in AC 10, not AC 12 where names are ignored.)
I then opened the Tube.gsm in Archicad's GDL editing environment
and deleted a few parameters, added some parameters, altered the
2D and 3D scripts and saved. I used Tube.gsm in a project but every
time I open the project Archicad says I have "Multiple Versions" of Tube .
Clearly, they are not the same lib part because of the editing I have done
and this is reflected in the differing GUIDs listed in the library loading report.
See attached which is the loading report I get when I open the project.

What do I have to do to convince Archicad that the two lib parts are not
"Multiple versions" but different lib parts ?
Thank you,
Peter Devlin

Picture 1.png
24 REPLIES 24
Anonymous
Not applicable
I just discovered something interesting about GUIDs.
If you open a lib part and click on the "Select Subtype" button
you will see at the bottom of the window what purports to be
the GUID for the object. If you open another lib part and check
it's GUID it will be identical to the first lib parts GUID.
I did this with two lib parts I have and a new untitled lib part.
So it seems that what is displayed in the "Select Subtype" window
is not the true GUID for the lib part.

From the "Select Subtype" window GUIDs for three different library parts
Untitled {103E8D2C-8230-42E1-9597-46F84CCE28C0}-{309C5AC7-1F49-4A4B-BB16-985704D694EB}
Tube {103E8D2C-8230-42E1-9597-46F84CCE28C0}-{309C5AC7-1F49-4A4B-BB16-985704D694EB}
Low Wall {103E8D2C-8230-42E1-9597-46F84CCE28C0}-{309C5AC7-1F49-4A4B-BB16-985704D694EB}

From the Library Loading Report of an AC project
Tube 10 {67E91165-7433-448A-976A-F6B7D82B87C6}-{E42B4E88-5399-C142-92AD-DCD3A66377E6}
Tube {67E91165-7433-448A-976A-F6B7D82B87C6}-{D2D6BDE7-BD5E-9C46-9789-9041D1E42981}

I really don't know what to make of this. Comments anyone ?
Is there a way of finding out the true GUID for a library part ?
Thanks,
Peter Devlin
Frank Beister
Moderator
The GUID has come with AC 8? 9? 10? If the object is older AC will use a generic GUID, I guess.

As mentioned in the wiki: The first part is a global and the second part a subversion number of the object.

So your Tube object is not really a new one, but a subversion of the original. Like you would have "Tube10" and "Tube 11" in one project. For that GS created the migration libraries.

Try to save your object by a new subtype and switch back and save again. Maybe this creates a new GUID.
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm
Barry Kelly
Moderator
To see the true GUID of an object you need to "Open object by subtype".
It shows in the dialogue box before you actually open the object.

I am not sure exactly what the GUID in the object "select subtype" dialogue actually represents.

There was a post a couple of years ago that touched on this.
Crops up around about the 9th or 10th post.

http://archicad-talk.graphisoft.com/viewtopic.php?t=24265&postdays=0&postorder=asc&highlight=guid&&s...

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
David Maudlin
Rockstar
Peter wrote:
If you open a lib part and click on the "Select Subtype" button you will see at the bottom of the window what purports to be the GUID for the object.
I am pretty sure this is showing the GUID for the subtype (which is a type of library part) rather than the object.

David
David Maudlin / Architect
www.davidmaudlin.com
Digital Architecture
AC27 USA • iMac 27" 4.0GHz Quad-core i7 OSX11 | 24 gb ram • MacBook Pro M3 Pro | 36 gb ram OSX14
Anonymous
Not applicable
Hello Frank,
I did change the subtype from "geometric shape" to "model element"
but the GUID did not change.
Thanks,
Peter Devlin
Anonymous
Not applicable
Hello Barry,
You are right. You have to "Open object by subtype" to get the true GUID.
Thank you,
Peter Devlin
Anonymous
Not applicable
Hello Frank, Barry, David, and Snap,
I started over again. I opened "Tube 10", saved as "Tub2" so I could
copy the changes in the parameter list and the code without replacing
the "Tube object. Everything went well and was able to get rid of
the Library report error about "Multiple Versions" in the problem project.
Curiously, AC substituted Tube 10 in the project rather than the new
Tube object. Yes, I can see the logic. I replaced the Tube 10 objects
with the new Tube object and all is well.

What is the strangest mystery to me is that if AC checks for
"Multiple Versions" then why does it not report "Multiple Versions"
in other projects that have the identical loaded libraries including
a new project opened from a template file with identical loaded libraries.

I much appreciate all of you guys help. Thank you.
I have learned more about this program with your help.
Thanks,
Peter Devlin
Link
Graphisoft Partner
Graphisoft Partner
I'm sure I've heard of developers calling objects by GUID, inside other objects to work around (or with?) this issue. That way the GUID stays the same always and they just change the reference to match the new GUID.

Maybe that's old news? Never tried it myself.

Cheers,
Link.
Anonymous
Not applicable
Hello Link,
It is good to hear from you.
I have not heard of calling an object using only it's GUID.
I checked in the AC 12 GDL manual and every reference to
macro calls stated one must use the objects name.
I may have missed something. I may just try it to see if it works.
Thanks,
Peter Devlin
Frank Beister
Moderator
I have seen today, that the element info palette offers GUID too.
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm