From my understanding profiles, materials and styles do not support global identifiers (GUID) like rooted elements do. GUID are used to identify elements uniquely throughout the life of a project, or when you merge different projects to avoid conflicts. So one of the ways to avoid duplicating these without a global identifier is to assume that if they share the same name, they are the same asset. But it's not always true, two projects can independently define a glass material with different properties but the same name, so you can choose if you want to keep both or merge them.
Comments
this help?
https://github.com/IfcOpenShell/IfcOpenShell/blob/52af302bef0b967fa7605bfbe59b903ee81eb919/src/ifcpatch/ifcpatch/recipes/ExtractElements.py#L43-L50
From my understanding profiles, materials and styles do not support global identifiers (GUID) like rooted elements do. GUID are used to identify elements uniquely throughout the life of a project, or when you merge different projects to avoid conflicts. So one of the ways to avoid duplicating these without a global identifier is to assume that if they share the same name, they are the same asset. But it's not always true, two projects can independently define a glass material with different properties but the same name, so you can choose if you want to keep both or merge them.
thank you guy for the link to the code and for the great explanation ...