We have gone through waves of library pollution, and it seems like one is washing over our projects again. So it’s time for a refresher on what this pollution is, the cause, how to avoid this pollution, and how to clean it up. It is important for all ARCHICAD users at WWA to read this post carefully to avoid this issue running through all our projects again.
What is the pollution and what causes it?
The pollution is a infiltration of unwanted attributes into a project. These attributes include Surfaces, Fills, and Line Types. The pollution is disruptive to our workflow because it pushes attributes out of sequence, creates massive gaps in attribute numbering, and gives us an annoyingly long list of attributes to dig through when working in ARCHICAD. As an example of the damage this issue can cause, here is a quick glance at some of the surfaces that came in from one instance of polluted library parts:
As you can imagine, sifting through that list of surfaces can be really annoying, even if it drops most of these surfaces at the end of the list. But as I mentioned, this also has an impact on fill types and line types.
So what is the trigger? It is caused by an infiltration of objects called Master_GDL.gdl into one or more of the libraries. Typically it is seen in the embedded library. This infiltration happens any time an infected file is copied from, and pasted into a clean file. So opening an old file and copying anything and pasting into your project will bring in these polluted attributes.
How can this pollution be avoided?
It is fairly simple to avoid the issue. If you need to bring anything in from another project, check the libraries and attributes first. If the file has any of the polluted surfaces (typically these are italicized and have names like Topas, Innivik, HAG, etc), do NOT copy from that file. You can either clean the file before copying from it (see below), or sandbox the content and clean it up before pasting, or redraw/model the content completely from scratch. It is important to note that no content is “safe” to copy/paste if the file is polluted. A single line/fill/text/label/wall/slab/etc copied out will drag the Master_GDL.gdl part with it.
How can the pollution be cleaned up?
If the pollution occurs anyway, it needs be cleaned up before it starts to impact productivity, and certainly before new attributes are generated. For the most part, the clean up is simple. Open the Library Manager (File > Library Manager), track down any folder/subfolder containing a file with the name (or name similar to) Master_GDL.gdl. This can almost always be tracked to a folder called “From 201101”.
Once these files and folders are purged, open the attribute manager and delete any polluted attributes. It is usually easiest to sort the surfaces by name, as the polluted attributes almost always show after the default surfaces due to naming convention. But any attribute that stands out as out of place should be deleted. The offending attributes are usually italicized and have very odd seeming names. These can just be deleted, rather than delete + replace, since they shouldn’t be used anyway.
If a file uses hotlink modules, this can be a little more complicated. Because hotlinks have their own Embedded Library folder that can not be edited in a host library, there is a different process. The host file needs to be cleared of all modules. I recommend marking module locations with polylines, fills, and/or hotspots before deleting. After the modules are removed, verify that the module libraries are gone, and there are no additional offending Master_GDL parts in any other libraries. Then clean up the attributes.
Next, open all module source files, and run the clean up there; purging libraries and attributes. I also recommend running an attribute match again after all files are clean. Once all files are clean, new modules need to be saved. Do not save over the top of old modules. It is best to create a completely new and clean module.
Lastly, open the host (site) file again, and replace and relocate all modules. Obviously, this issue is compounded even more with projects using nested modules.
Other considerations
Because the Master_GDL objects are so infectious, it is important to stay on top of keeping these things clean. They really are like a disease. We had all current projects clean, but they are rearing their heads again. It is important to be aware of consequences when copying/pasting from one file to another. No two projects have identical attributes, so any copy/paste is likely to bring attributes. If the file is polluted, it will bring in attributes not even used by the copied content.