[Question] Liste erstellen [Résolu]

Balises:

Hallo,

ich hätte gerne in der Palette des Scriptes eine Auswahlmöglichkeit zur Festlegung der Betongüte eines Objektes.
Die erforderliche Liste bzw. die Listeneinträge würde ich gerne selber erstellen.
Bezüglich Palette hätte ich den Note "TableRowSelection" gefunden, welcher mir die Anzeige eines Dropdown-Menüs in der Palette ermöglicht.
Welches Dateiformat benötigt das Listen-File welches unter dem Punkt "FileName" zu verlinken ist?
Benötigt das File eine spezielle Formatierung oder reicht ein Eintrag pro Zeile als Listenelement?

Gibt es evtl. auch die Möglichkeit eine Liste innerhalb des Scriptes zu erstellen, also ohne Referenz auf ein externes File?

Grüße,
Mario

Show solution Hide solution

Hallo Mario,

ich habe den Fehler beim Überschreiben der Listenwerte und beim Öffnen des PP durch einen Doppelklick behoben, die neuen Dateien habe ich angehängt (BuildingElementParameterPropertyUtil.py bitte nach ...\etc\PythonPartsFramework\GeneralScripts kopieren).

Falls Du das größere Skript, das sich aufhängt, noch hast, sende es mit bitte zur Fehleranalyse zu.

Vielen Grüße
Horst

Pièces-jointes (2)

Type: application/zip
Téléchargé 766 fois
Size: 726,00 B
Type: application/zip
Téléchargé 697 fois
Size: 2,95 KiB
11 - 14 (14)

Hallo Horst,

hab die überarbeiteten Nodes getestet.
Wenn man im Node "ListStringInput" die Liste über die Palette erstellt (Listenlänge definieren und Listenplätze befüllen)
dann überschreibt jeder Eintrag ab dem 11.Listenplatz den 2. Listenplatz bzw. wurden bei mir auch automatisch die Listenplätze >11 bis zum Listenende mit dem 11. Listenplatz befüllt.

Mit der Befüllung der Liste über den verbundenen "StringInput" Node hat die Listenerstellung wie von dir beschrieben mit "|" als Trennzeichen problemlos funktioniert.

Außerdem habe ich auch versucht Listen zu verschachteln bzw. sollten je nachdem welchen Listeneintrag man in der 1.Liste gewählt hat, unterschiedliche Folgelisten in einer weiteren StringComboBox angezeigt werden.

Hier hatte ich in einem größeren Script das Problem, dass sich das Script aufgehängt hat, wenn ich versucht habe mehrere Listen am
Inputport "StringList" der StringComboBox anzuschließen.

Im Anhang noch ein Script mit meinem kleinen Versuchsaufbau. Um ein greifbares Python-Part Objekt zu erzeugen habe ich hier einen Zylinder dazu gesetzt. Hier funktioniert das Verbinden von zwei Listen zwar, es wird auch der ausgewählte Listeneintrag über SetValueToAttribute auf das PP (den Zylinder) geschrieben, sobald man jedoch das erstellte PP durch einen Doppelklick zur nochmaligen Bearbeitung öffnet, wird die zuvor getroffene Auswahl im Drop-Down-Menü in der Folgeliste zurückgesetzt bzw. wird die komplette Liste, rot eingefärbt angezeigt.

Grüße,
Mario

Pièces-jointes (1)

Type: application/zip
Téléchargé 504 fois
Size: 3,13 KiB

Hallo Mario,

ich habe den Fehler beim Überschreiben der Listenwerte und beim Öffnen des PP durch einen Doppelklick behoben, die neuen Dateien habe ich angehängt (BuildingElementParameterPropertyUtil.py bitte nach ...\etc\PythonPartsFramework\GeneralScripts kopieren).

Falls Du das größere Skript, das sich aufhängt, noch hast, sende es mit bitte zur Fehleranalyse zu.

Vielen Grüße
Horst

Pièces-jointes (2)

Type: application/zip
Téléchargé 766 fois
Size: 726,00 B
Type: application/zip
Téléchargé 697 fois
Size: 2,95 KiB

Hallo Horst,

danke, jetzt funktionierts!
Die Auswahl im Dropdownmenü bleit jetzt erhalten und auch Listen >10 Einträge im Node ListStringInput funktionieren jetzt.

Das mit dem sich aufhängenden Script hat sich erledigt. (Hatte in einer der im StringInput Node erstellten Listen das Trennzeichen "|" nach dem letzten Listeneintrag vergessen...)

Eine Frage noch:
Kann ich die Nodes, in dieser Form schon in Scripts einbauen, oder werden diese beim offiziellen Release mit 2021.1.1 nicht mehr funktionieren weil sich z.B. die Node ID noch ändert?

Grüße,
Mario

Hallo Mario,

Du kannst diese Nodes in Deine Skripts einbauen.

Vielen Dank für Deine Mithilfe beim Testen. Für weitere Wünsche und Anregungen bitte einfach melden.

Viele Grüße
Horst

11 - 14 (14)

https://campus.allplan.com/ utilise des cookies  -  Plus d'informations

Accepter