Das Wissen aller Anwender nutzen

Im Allplan Connect Forum tauschen sich Anwender aus, geben wertvolle Tipps oder beraten sich bei ganz konkreten Aufgabenstellungen − auch international.
Und damit wirklich keine Frage unbeantwortet bleibt, unterstützen die Mitarbeiter des Technischen Supports ebenfalls aktiv das Forum.

Es erwarten Sie:

  • Foren-Vielfalt aus CAD Architektur, CAD Ingenieurbau uvm.
  • Tipps von User für User
  • international: Deutsch, Englisch, Italienisch, Französisch und Tschechisch

Melden Sie sich jetzt an und diskutieren Sie mit!

Zur Registrierung

[Frage] Python Funktionen Beschriftungsbilder, Funktion nicht gefunden [Gelöst]


Hallo zusammen,

wir verwenden teilweise Pythonfunktionen für die Texte in Planlegenden.
Das hat bis vor Kurzem gut funktioniert, nun erhalten wir jedoch eine Fehlermeldung.

Die programmierten Funktionen sind in Ordnung. Laut Python Protokolldatei werden die Strings korrekt ausgegeben, aber nicht ins Beschriftungsbild übergeben.

Dieser Fehler findet sich in der Protokolldatei:
AttributeError: module '__main__' has no attribute 'execute_function'

Allplan wirft beim Versuch die Planlegenden zu verwenden die Fehlermeldung gemäß Anhang aus.

Kann hier jemand weiterhelfen?

VG
Marcus

Anhänge (1)

Typ: image/png
41-mal heruntergeladen
Größe: 7,89 KiB

Lösung anzeigen Lösung verbergen

Die execute_function liegt normalerweise im Verzeichnis \Etc\Scripts\functions.py.

Wenn das nicht der Fall ist, oder diese kaputt ist, hilft sicher eine Reparaturinstallation.

Anhänge (1)

Typ: image/jpeg
66-mal heruntergeladen
Größe: 60,92 KiB

Welche Allplan-Version wird benutzt?

Zum nachstellen des Problems, wird sicher jemand (z.B. die Hotline) das konkrete Beipsiel brauchen:
-TB mit Element und Beschriftungsbild
-Python-Function

Würdest Du uns das hier zur Verfügung stellen?

Ansonsten kann (nicht nur hier) keiner ernsthaft etwas dazu sagen, geschweige denn helfen...

Allplan 2023
Um Fehler in den eigenen Funktionen auszuschließen, habe ich die Functions.py bis auf die Testfunktionen von Allplan reduziert.
Das Problem besteht weiterhin, sowohl in Bauteilbeschriftungen wie auch in Planlegenden.
Screenshot mit Beispiel Bauteilbeschriftung, Teilbilder und Functions.py anbei.

VG
Marcus

Anhänge (3)

Typ: application/ndw
431-mal heruntergeladen
Größe: 960,27 KiB
Typ: application/zip
425-mal heruntergeladen
Größe: 63,54 KiB
Typ: image/png
66-mal heruntergeladen
Größe: 33,81 KiB

das Pluszeichen zwischen zwei Strings/Texten addiert diese. Damit hat die Funktion nur ein Argument, welches übergeben wird und nicht funktionieren. Vermutlich muss hier ein Semikolon stehen, um die beiden Argumente auch als einzelne Argumente zu übertragen.

]Höflich ist die Akzeptanz anderer Ansichten inklusive von nicht im Klartext genannter Namen.
Ein raten eines Namens und/oder unbekannterweise die Verwendung einer - geratenen - persönlichen Anrede kann/wird als unhöflich bewertet

Die Kunst, welcher ein Ingenieur vermutlich erlernte ist weit genug lesen zu können, um Informationen quer übergreifend verwenden zu können.

Als Separator für die Argumente muss ein Semikolon(;) verwendet werden:
Richtig wäre also:

p:testArgs("eins";"zwei")

p:testArgs("eins"+"zwei") will eine Funktion aufrufen, die nur ein Argument hat!
Und diese Funktion gibt es nicht, was auch die Fehlermeldung ordnungsgemäß mitteilt!

Korrekt, danke für die Hinweise!
Das ist beim Basteln des Tests versehentlich passiert.
An der Fehlermeldung ändert das leider nichts, die erscheint weiter wie zuvor...

VG
Marcus

Die execute_function liegt normalerweise im Verzeichnis \Etc\Scripts\functions.py.

Wenn das nicht der Fall ist, oder diese kaputt ist, hilft sicher eine Reparaturinstallation.

Anhänge (1)

Typ: image/jpeg
66-mal heruntergeladen
Größe: 60,92 KiB

Zitiert von: cbrandlmay
Die execute_function liegt normalerweise im Verzeichnis \Etc\Scripts\functions.py.
Wenn das nicht der Fall ist, oder diese kaputt ist, hilft sicher eine Reparaturinstallation.

Dankeschön, läuft wieder!
Ich konnte die Datei mit einer funktionierenden Version aus dem Backup überschrieben.

VG
Marcus