Hallo zusammen,
ich arbeite gerade an einem PythonPart, bei dem ich einen Parameter vom Typ StringComboBox mit Werten füllen möchte. Es gibt ja die Möglichkeit in der.pyp-Datei das ganz einfach zu regeln indem man die einzelnen Werte mit einem | voneinander trennt (https://pythonparts.allplan.com/2023/manual/key_components/palette/parameters/parameter_with_combo_box/).
Da in meinem Falls die Werte in der Liste dynamisch sind und je nach Anwendungsfall variieren, möchte ich die Werte für den Parameter in der .py-Datei festlegen. Bei anderen Parametern geht das ja auch recht einfach mit z.B. build_ele.Parameter.value = gewünschter Wert. Bei der StringComboBox bekomme ich es jedoch nur hin den ersten Wert in der Auswahl festzulegen, der Rest bleibt leer.
Eine weitere Frage wäre es, wie ich in der py.-Datei erstellte Attribute in der Palette angezeigt bekomme. Aktuell greif ich auf eine Excel-Tabelle in meinem Skript zu, aus dieser werden dann Informationen extrahiert und dann in Form von Attributen an Bauteile angehängt. Ich attribuiere also mit einem Interactor Part und diesem Workflow bestehende Körper in Allplan. Im Skript steht zum Beispiel:
self.attr_list = []
self.attr_list.append((1905, "C20/25"))
AllplanBaseElements.ElementsAttributeService.ChangeAttributes(self.attr_list, sel_elements)
Das Attribut mit der ID 1905 und dem Wert "C20/25" soll nun in der Eingabepalette dargestellt werden um dem Nutzer in einer Art Übersicht zu zeigen welche Attribute von der Excel Datei alle übertragen und an das Bauteil geheftet werden . Ich habe schon versucht die Informationen an einen Parameter vom Typ AttributeIdValue zu übergeben, aber funktioniert hat das nicht. Gibt es hier vielleicht auch einen Ansatz wie das zu schaffen wäre?
Grüße
Niklas Leipert