Support Forum

[Question] Allplan reagiert nicht auf Skript (Visual Scripting) [Solved]


Hallo in die Runde,

wir nutzen seit 2021 VS in unserem Planungsbüro, um Drahtmodelle von Rahmenbauwerken inkl. Flügel schnell in verschiedenen Varianten zu erzeugen. Dazu kann man in einer CSV-Datei die notwendigen Maße eingeben, die man dann in Allplan mittels verschiedener Skripte einliest. Den Skripten liegt die Modellierung von einem Rahmen bzw. von Flügeln zugrunde (siehe Bild 1) und durch die csv-Datei sind alle Bauteile aufeinander angepasst und man variiert dann nur die Abmessungen.
Leider reagiert das Skript (und einige andere dieser Art) seit ca. 6 Wochen nicht mehr. Das Problem ist auch in der Entwicklerumgebung von VS vorhanden. Dort will ich das Skript durchlaufen lassen, aber es passiert nichts. Es kommt zu keiner Fehlermeldung oder auch nur irgendeiner Reaktion von Allplan.
Im Normalfall sollte sich nach dem Start der pyp-Datei ein Fenster in der Palette öffnen, um die csv-Datei einzulesen (siehe Bild 2), da als erstes das Node ReadPoints gelistet ist.

Noch zur Einordnung des Problems:
Die Skripte wurden mehrfach über einen längeren Zeitraum genutzt und zuletzt nicht mehr verändert. Das Problem trat plötzlich auf, ohne dass im Vorfeld an dem Skript weitergearbeitet wurde. Das Skript mit den Parallelflügel (gleicher Aufbau) funktioniert weiterhin.
Da es laut Forum schon öfter Probleme nach einem Hotfix gegeben hat, wurde Allplan von uns schon komplett neu installiert. Auch eine Installation von Allplan 2021 hat keine Hilfe gebracht. Nach einer Problembeschreibung bei dem Kundensupport wurden wir an das Forum verwiesen, da dieser nicht zuständig ist.

Ich habe als Beispiel das Skript für Schrägflügel angehangen. Bei mir reagiert Allplan weder bei dem Einlesen der pyp-Datei (per Drag&Drop) noch bei dem Start in der Entwicklerumgebung (siehe Bild 3). Zusätzlich sind noch die allplan_python.out-Datei und das funktionierende Skript für Parallelflügel angehangen.

Sieht hier jemand einen Fehler unserer Anwendung von VS bzw. eine Lösung des Problems?
Vielen Dank für eure Hilfe im Voraus!

Beste Grüße
Benedikt

Attachments (1)

Type: application/x-rar
Downloaded 82 times
Size: 700,05 KiB

Show solution Hide solution

Der Node "ReadPoints" hat scheinbar das Problem verursacht. Aber genauer Gründe müssen wir noch anschauen...

Als ein Workaround, musst du mit dem VS Editor einen beliebigen Wert ändern und dann wieder zurück ändern. Dann taucht die Palette auf...

Ansonsten könntest du den Node "ReadTable" und "TableColumns" ausprobieren. Dadurch kann man auch Werte aus einer CSV-Datei einlesen.

Product Owner – Visual Scripting

Attachments (1)

Type: image/gif
Downloaded 27 times
Size: 115,63 KiB
1 - 9 (9)
  • 1

Der Node "ReadPoints" hat scheinbar das Problem verursacht. Aber genauer Gründe müssen wir noch anschauen...

Als ein Workaround, musst du mit dem VS Editor einen beliebigen Wert ändern und dann wieder zurück ändern. Dann taucht die Palette auf...

Ansonsten könntest du den Node "ReadTable" und "TableColumns" ausprobieren. Dadurch kann man auch Werte aus einer CSV-Datei einlesen.

Product Owner – Visual Scripting

Attachments (1)

Type: image/gif
Downloaded 27 times
Size: 115,63 KiB

Ich habe das Node "ReadPoints" durch das Node "ReadTable" ersetzt, womit sich die Palette öffnet und die csv-Datei wieder einlesen lässt. Das Problem ist jetzt, dass sich die Werte mit dem Node "ListItem" nicht auslesen lassen.
Es liest zwar die Tabelle ein, jedoch zeigt das Node "ListItem" keinen Wert an (richtiger Index ist eingestellt). Gibt es dafür einen erklärbaren Grund? (Wenn ich in einem leeren Arbeitsblatt auf diese Weise Werte aus einer Tabelle auslesen will, funktioniert das Node wie gewünscht)

Attachments (2)

Type: image/png
Downloaded 23 times
Size: 77,74 KiB
Type: image/png
Downloaded 12 times
Size: 101,61 KiB

Könntest du noch sagen, was du nach dem Node "ListItem" urspringlich erwartest? Sollte es eine Liste von Werte oder nur ein Wert sein?
Denn mit dem Node "TableToList" bekommst du jetzt eine 2-dimensionale Liste. Bei dem Index von "ListItem" kann man noch definieren, auf welche Dimension er die Werte auslesen sollte.

Product Owner – Visual Scripting

Attachments (1)

Type: image/png
Downloaded 10 times
Size: 15,35 KiB

Ich habe es so eingestellt, dass es nur eine Liste von Werten sein soll. In einem neuen Arbeitsblatt kann ich so die Werte mit "ListItem" auch auslesen (siehe Bild).
In dem Skript, um das es ursprünglich geht, wird jedoch nur eine leere Liste angezeigt.

Attachments (1)

Type: image/png
Downloaded 20 times
Size: 33,02 KiB

Wäre es möglich, dass du einen Teil der CSV-Tabelle (muss nicht vollständig sein) hochlädst? sodass wir es auch ausprobieren können?

Product Owner – Visual Scripting

Kein Problem.

Attachments (1)

Type: text/plain
Downloaded 6 times
Size: 1,30 KiB

Quote by bm_wkp
Ich habe es so eingestellt, dass es nur eine Liste von Werten sein soll. In einem neuen Arbeitsblatt kann ich so die Werte mit "ListItem" auch auslesen (siehe Bild). In dem Skript, um das es ursprünglich geht, wird jedoch nur eine leere Liste angezeigt.

Aktuell funktioniert VS so, dass wenn es bei der Bechnung ein Fehler auftaucht, wird die Bechnung angehalten. Das Skript läuft nicht mehr weiter. In deinem Fall hat deine Skript mehreren Verzweigungen, wenn bei einer Verzeigung einen Fehler gibt, wird es angehalten. Daher zeigt das Tooltip von noch nicht berechneten Nodes nichts. In v2023 mit Node Status sieht man es besser, dass einige Nodes nicht berechnet wird. (in blau)
loading

In deiner CSV-Datei hat jede Zeile nur ein Wert. Ich würde der Tabelle noch anpassen und mit dem Node "TableColumns" arbeiten statt "TableToList". Dann kriegst du eine saubere Liste zur weiteren Bearbeitung. Damit sparst du auch vielen unötigen Point3DDeconstruct Nodes in deinem Skript. Denn kein Punkt wird aus der Tabelle erzeugt.
loading

Product Owner – Visual Scripting

Attachments (2)

Type: image/png
Downloaded 13 times
Size: 35,04 KiB
Type: image/png
Downloaded 17 times
Size: 91,03 KiB

Danke für die Rückmeldung, ich werde die Anmerkungen ausprobieren und schauen inwieweit es dann wieder funktioniert.

1 - 9 (9)
  • 1

https://connect.allplan.com/ uses cookies  -  More information

Accept