Hallo zusammen,
Ich habe ein PythonPart erstellt, wo Attribute Elementen hinzugefügt werden. Jedoch funktioniert das nicht immer. Ich habe z.B ein Deckendurchbruch der die Attribute nie annimmt. Wenn ich es aber nicht über das PythonPart mache, sondern direkt in Allplan via UI, klappt es.
Hier ist der Code:
updated_elements = AllplanBaseElements.ElementsAttributeService.ChangeAttribute(attribute, default_value, element_attribute_mapping.element) for element in updated_elements: attributes_new = element.GetAttributes(AllplanBaseElements.eAttibuteReadState.ReadAll) # check if the attribute is actually in the new attributes list if any(k == attribute for k, v in attributes_new): self.log_handler.log(Severity.INFORMATION, "Bauteil " + element_attribute_mapping.name + ": Das Attribut mit der Id " + str( attribute) + " wurde erfolgreich mit dem Bauteil verknüpft!") else: # if it is not found, log an erro self.log_handler.log(Severity.ERROR, "Bauteil " + element_attribute_mapping.name + ": Das Attribut mit der Id " + str( attribute) + " konnte von Allplan nicht angehängt werden!")
Kann mir jemand weiterhelfen und sagen, wo das Problem liegt?
Leider gibt die ChangeAttribute methode nur das neue Element zurück, aber keine Information, ob ein Fehler aufgetreten ist, geschweige denn was für ein....
Liebe Grüße
Melanie