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

want to detect and remove unused objects only

dhaval7shah
Newcomer
How can i detect and remove unused library objects from ArchiCAD? is there any smarter way?
I wish, There should be a facility from Graphisoft to purge unused objects.
Dhaval Shah
Upto AC 22
iMacs and MacBookPros: Mac OS X (10.6 to 10.12, Intel core 2 Quad to i5, i7, 8 GB to 16GB)
Win 10, AMD Opteron 6-Core x 2, 16GB, FirePro W4100 2GB
& ThinkPad E550
& i7, 8GB
11 REPLIES 11
Dwight
Newcomer
Saving a project as an archive creates a library with only the objects used in the project.
Dwight Atkinson
dhaval7shah
Newcomer
If it does, Thanks a lot!
If unused embedded objects are there , will they be included into Archive ?
Dhaval Shah
Upto AC 22
iMacs and MacBookPros: Mac OS X (10.6 to 10.12, Intel core 2 Quad to i5, i7, 8 GB to 16GB)
Win 10, AMD Opteron 6-Core x 2, 16GB, FirePro W4100 2GB
& ThinkPad E550
& i7, 8GB
Anonymous
Not applicable
Another way to do what you're wanting is to go into your Library Manager and delete the GDL objects listed. Close Archicad, then come back in. It will look for only the objects that are in your Archicad drawing.
dhaval7shah
Newcomer
qwsoftdraw wrote:
Another way to do what you're wanting is to go into your Library Manager and delete the GDL objects listed. Close Archicad, then come back in. It will look for only the objects that are in your Archicad drawing.
yes, finally that is the way. Thank you.
Dhaval Shah
Upto AC 22
iMacs and MacBookPros: Mac OS X (10.6 to 10.12, Intel core 2 Quad to i5, i7, 8 GB to 16GB)
Win 10, AMD Opteron 6-Core x 2, 16GB, FirePro W4100 2GB
& ThinkPad E550
& i7, 8GB
Link
Graphisoft Partner
Graphisoft Partner
Simply removing a library part in the library manager and checking the library loading report is not enough IME. Neither is saving a Project Archive (.pla) There's no guarantee that all macros, UI images (the images used under the custom settings panel), linked textures, property objects, etc will all be included.

The safest way I have found so far is by using the ArchiCAD 14 new Library Manager features.

1. Firstly make sure there are no missing objects, macros etc which can generally be achieved by loading all libraries that were used in the project.

2. Export all the used objects to an external folder.

3. Remove all Linked libraries.

4. Embed all the exported parts by manually locating them in the external folder.

5. Reload & Apply the changes.

This method is not 100% foolproof but it is definitely the safest method I've found, especially if the libraries were well organized in the first place. I'm always looking for better ways and deeper insight so comments are welcome!

Cheers,
Link.
Greg Kmethy
Graphisoft
Graphisoft
This is really simple to do in ArchiCAD 14:
In the library manager there is a button for "embed placed objects from selected library". This will embed all the used objects (along with their macros) - and get rid of the linked library.

After this, you can choose to export those embedded objects to a linked library, if you will. Or you can keep them embedded - If you select an object in the embedded library, (in the library manager) the library manager will tell you how many instances are placed in the project. Therefore you can remove objects that you no longer use too.

Read this article:
http://archicadwiki.com/LibraryMigration
Subset10.png
Gergely Kmethy
VP, Customer Success, Graphisoft
Link
Graphisoft Partner
Graphisoft Partner
gkmethy wrote:
This is really simple to do in ArchiCAD 14:
In the library manager there is a button for "embed placed objects from selected library". This will embed all the used objects (along with their macros) - and get rid of the linked library.

After this, you can choose to export those embedded objects to a linked library, if you will. Or you can keep them embedded - If you select an object in the embedded library, (in the library manager) the library manager will tell you how many instances are placed in the project. Therefore you can remove objects that you no longer use too.

Read this article:
http://archicadwiki.com/LibraryMigration
Hey Greg

Thanks for correcting me. I was going by memory and got the order wrong. That will teach me for posting before my morning coffee. I should have written embed>export>re-embed. And I do like to export out and re-embed manually, purely because I don't like subfolders in my embedded library. I should mention that, even though it's not a necessary step.

The Library Manager does not show macros, textures, property objects, and UI images as placed - correct? Deleting those as suggested could cause confusion when parts stop working or appearing correctly, no? I presume that's why they embed to folders called 'Object parts (do not modify)' and' Textures, zone stamps and property objects'.

I wish instead that non-placeable parts were shown in italic, much like the 'embedded' attributes display in the Attribute Manager. This way it would be easier to know what to leave the hell alone.

Better still is if all used textures, zone stamps, property objects, macros and ui images (did I miss any?) were included automatically (eliminating the Embed Library Parts dialog shown below) and remained hidden in the Library Manager.

It's mentioned in your article and elsewhere that linking libraries reduces file size and saves loading time. I can see how it may bloat your file a little (ie. under 5% of the project size), but surely it's more manageable than linking libraries from all over the network? Is the loading time really affected if it's embedded or linked - they both have to come down the line right? And are linked libraries accessible to users who join remotely (I have never tried)?

Apart from embedded library parts appearing as duplicates in multiple hotlinks, I haven't seen any significant hit in terms of performance or methodology in using embedded libraries & server libraries only.

And unless I am imagining things, embedded parts are better to use because if they are copy/pasted into another project (that doesn't currently have that part loaded) it will automatically become embedded in that project, textures, macros, ui images, et al, all automatically included!!! That can't be said for linked or even server libraries!(?)

I'm obviously quite interested in this topic and your response.

Cheers,
Link.
rjwilden
Booster
Typical I archive a project using "save as pla"
Are you suggesting that embedding is best and don't bother with the pla.
Or, embed and then save as pla.

Richard
Richard Wilden Design. Ltd
Dunedin, New Zealand.
Imac 27" i9 3.6GHz; 32GB Ram Mac OS 11.3
Archicad V23:V24
Link
Graphisoft Partner
Graphisoft Partner
Hi Richard

Well I really hope Greg replies as I'm certain he'd know more details than I do.

Maybe I've been burnt too often, but I just don't trust that saving a PLA will capture absolutely everything. I am sure saving an archive has come a long way, but even in ArchiCAD 14 I still get the dreaded (and frustratingly vague) 'Cannot find some library parts or internal macros' warning.

So until I am advised otherwise (perhaps embedded has the same problem but not the warning?), I am sticking with the embedded method. I am doing this even to migrate our current projects from ArchiCAD 13 to ArchiCAD 14 on our BIM Server.

Cheers,
Link.