2023-01-04 04:07 PM
Is there a way to find out which library part has a particular known GUID?
Solved! Go to Solution.
2023-01-05 12:57 PM
Marc, I think James is not refering to the GUID of the placed instance, but rather of the object itself.
It is used by Archicad to identify an object. If no GUID matches all instances will report as missing. The GUID has also a important part with macro calls and migration.
This object-level GUID will be assigned the first time the object is created and should not be changed later due to the reasons stated above. So even if you rename an object it will still work, meaning this GUID is pretty permanent.
You can find the GUID in the "libpartdata.xml" file generated when converting to HSF.
In there in the "Identification" node is the "MainGUID".
I don't know any way to get to this GUID easily, or even finding the corresponding object.
I am now in the habit of converting the whole LCF to HSF with every new Archicad version. I can then do a full text search over all files for a GUID. Not end user friendly tho 😄
2023-01-05 03:29 AM
Did you try creating a schedule including the Unique ID? It looks like the GUID field. 🤔
2023-01-05 12:52 PM - last edited on 2023-01-08 07:35 PM by Laszlo Nagy
Maybe this solution is not so user-friendly, but can work:
-(if necessary) extract the lcf by AC's File/Libraries and Objects/Extract a Container.. command
- convert the gsms into xmls, by LP_XMLConverter.exe, which can be found in the AC's root folder. Drop the exe into a command line and then you have to set the commands to be able to use it. By putting " help" after the exe, you can get help, but basically you have to use "l2x" and the you have to add the path of the source (gsms folder) and the destination folder. Something like this:
- then you can search for the IDs in the xmls using a text editor.
2023-01-05 12:57 PM
Marc, I think James is not refering to the GUID of the placed instance, but rather of the object itself.
It is used by Archicad to identify an object. If no GUID matches all instances will report as missing. The GUID has also a important part with macro calls and migration.
This object-level GUID will be assigned the first time the object is created and should not be changed later due to the reasons stated above. So even if you rename an object it will still work, meaning this GUID is pretty permanent.
You can find the GUID in the "libpartdata.xml" file generated when converting to HSF.
In there in the "Identification" node is the "MainGUID".
I don't know any way to get to this GUID easily, or even finding the corresponding object.
I am now in the habit of converting the whole LCF to HSF with every new Archicad version. I can then do a full text search over all files for a GUID. Not end user friendly tho 😄
2023-01-05 02:13 PM
You can find the GUID of the object itself also the following way:
- Open the object in Archicad and open a script window
- Go to menu "Edit >> Insert Own GUID"
But this way you cannot search for a GUID, except you only want to search in some custom made lib parts, then you can give every object a parameter with its own GUID and search with the interactive schedule.
2023-01-09 06:50 PM
How did you get to know the GUID? Did AC report it without writing the library part name?
If it is one of the built-in subtypes, you need to include the source of the built-in library in the search mentioned by others. Either unpack BuiltInLibraryParts.lcf from AC root folder or use the source code from the Library Developer Toolkit
When you already have the source code anyway, the vscode-gdl plugin can open libparts by GUID with the Go to symbol in workspace feature (ctrl-t).
2023-01-09 07:19 PM
Thanks, Peter, this was due to misleading feedback from GSNA tech support, where they were describing element unique IDs as object IDs. So, a wild goose chase, but searching after converting to XML did the job in principle.