Zum Inhalt springen

Fehler beim Ausführen eines Skripts


Empfohlene Beiträge

Moin Zusammen,

 

Ich bekomme folgende Fehlermeldung beim Ausführen meines Skriptes:

image.png.2d258db1f87bd4bc35ded2be6fd06c89.png

 

Das Skript macht was es soll. Bekomme nur die Fehlermeldung.

So sieht das Skript aus:

 

def DoIt(h):
    Zähler = 0
    b = vs.GetRField(h, 'Rinne', 'Sinkkasten')
    if b == 'Falsch':
        vs.SetRField(h, 'Rinne', 'Anzahl Sinkkästen', 0)
        Zähler = 1
    if int(vs.GetRField(h, 'Rinne', 'Anzahl Sinkkästen')) == 0 and Zähler == 0:
        i =vs.IntDialog('Anzahl Sinkkästen:',)
        int(i)
        vs.SetRField(h, 'Rinne', 'Anzahl Sinkkästen', i)
    else:
        pass

Kriterien = "((VSEL=TRUE))"
vs.ForEachObject(DoIt, Kriterien)

 

 

 

Vlt. könnt Ihr mir helfen.

 

LG

Vectorworks Landschaft

 

Windows 10 Pro 64-bit

Intel i7-7700 3.60 GHz

NVIDIA Geforce 1050 Ti 

16 GB RAM

Link zu diesem Kommentar

In Zeile 15 führst du die Funktion 'DoIt' aus. Da drin schaust du in Zeile 8. Der Befehl in der Zeile erzeugt den Fehler. Er braucht einen zweiten Parameter (der Erste wäre der mit Index 0, in der Fehlermeldung steht Index 1). Der zweite Parameter ist der default-Wert im erzeugten Dialogfenster. Wenn du das Eingabefeld leer haben willst, kannst du

i =vs.IntDialog('Anzahl Sinkkästen:', '')

oder

i =vs.IntDialog('Anzahl Sinkkästen:', None)

verwenden.

Bearbeitet von herbieherb
  • Like 1

Vectorworks 2024 - Architektur - Win 10

Link zu diesem Kommentar
def DoIt(h):
	b = vs.GetRField(h, 'Rinne', 'Sinkkasten')
	if b == 'Falsch':
		vs.SetRField(h, 'Rinne', 'Anzahl Sinkkästen [St]', 0)
	if b == 'Wahr':
		if vs.GetRField(h, 'Rinne', 'Anzahl Sinkkästen [St]') == '0':
			i =vs.IntDialog('Anzahl Sinkkästen:',None)
			int(i)
			vs.SetRField(h, 'Rinne', 'Anzahl Sinkkästen [St]', i)
	

Kriterien = "((VSEL=TRUE))"
vs.ForEachObject(DoIt, Kriterien)

Dann füge ich direkt noch eine Frage an:

Ich habe über den Datenmanager für die Klasse 'Rinne' die Zuordnung für den Datenbanksatz 'Anzahl Sinkkästen [St]' mit dem Skript über den Befehl 'Runscript' erstellt.
Dabei fragt das Skript ab, ob der Datenbanksatz 'Sinkkasten' wahr oder falsch ist. Sollte er falsch sein, dann soll nichts passieren. Klickt der Anwender jedoch auf 'Wahr', soll ein Dialog Fenster geöffnet werden, wo der Benutzer aufgefordert wird eine Ganzzahl als Anzahl einzugeben.
Dies funktioniert auch sehr gut, jedoch nur bei vorhandenen, bereits gezeichneten Rinnen.
Wenn ich auf der Klasse 'Rinne' eine neue Rinne zeichne, dann stürzt das Programm ab. Dies steht im Zusammenhang mit dem Skript, da wenn ich die Zuordnung lösche (Skript wird nicht ausgefüllt), dann stürzt das Programm nicht ab.

Hat jemand eine Ahnung, warum es zu den genannten Programmabstürzen kommt? (Vectorworks 2023)

LG

 

 

Edit:

In Vectorworks 2024 kommt es zu keinem Programmabsturz...

Bearbeitet von Prangelz

Vectorworks Landschaft

 

Windows 10 Pro 64-bit

Intel i7-7700 3.60 GHz

NVIDIA Geforce 1050 Ti 

16 GB RAM

Link zu diesem Kommentar

Kannst du ein Testfile hochladen? Bekommst du beim Absturz eine Fehlermeldung?

 

Was mir auffällt ist, dass du sowohl eine Klasse mit Bezeichnung 'Rinne' als auch eine Datenbank mit gleichem Namen hast. Das ist eigentlich nicht möglich im gleichen File. Eventuell hats damit zu tun?

Bearbeitet von herbieherb

Vectorworks 2024 - Architektur - Win 10

Link zu diesem Kommentar

Danke für deine Hilfe.
Im Anhang die Datei.

 

Ich habe es im oberen Beitrag falsch kommuniziert.

Die Klasse und der File haben einen unterschiedlichen Namen.

 

Ich bekomme leider keine Fehlermeldung, sondern Vectorworks 2023 stürzt einfach ab.

Rinne.vwx

Vectorworks Landschaft

 

Windows 10 Pro 64-bit

Intel i7-7700 3.60 GHz

NVIDIA Geforce 1050 Ti 

16 GB RAM

Link zu diesem Kommentar

In VW2023 scheint generell ein Problem mit Runscript im Datenmanager zu haben. Bei mir führt in der Version jeder Versuch ein Script auszuführen dazu dass die Ausführung ungewollt immer wieder wiederholt wird und schliesslich VW abstürzt.

In VW2024 funktioniert dein Script.

Bearbeitet von herbieherb

Vectorworks 2024 - Architektur - Win 10

Link zu diesem Kommentar

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Forenstatistik

    • Themen insgesamt
      23,5Tsd
    • Beiträge insgesamt
      121,2Tsd
×
×
  • Neu erstellen...