""" Dieses Python Skript ist nur für Demonstrationszwecke gedacht. Fuer die Nutzung in Archicad muss jedes Skript immer an das jeweilige Projekt angepasst werden. """


from archicad import ACConnection

conn = ACConnection.connect()
assert conn

acc = conn.commands
act = conn.types
acu = conn.utilities

elementIdPropertyId = acu.GetBuiltInPropertyId('General_ElementID')
elementIds = acc.GetAllElements()

propertyValuesForElements = acc.GetPropertyValuesOfElements(elementIds, [elementIdPropertyId])

elementIdPropertyValues = set()
for propertyValuesForElement in propertyValuesForElements:
    elementIdPropertyValue = propertyValuesForElement.propertyValues[0].propertyValue.value
    if elementIdPropertyValue in elementIdPropertyValues:
        print(f"Konflikt: mehrere Elemente haben '{elementIdPropertyValue}' als Elemente-ID.")
    elementIdPropertyValues.add(elementIdPropertyValue)
