tektorum.de

tektorum.de (https://www.tektorum.de/)
-   Präsentation & Darstellung (https://www.tektorum.de/praesentation-darstellung/)
-   -   Vektorworks Script - Fehlermeldung (https://www.tektorum.de/praesentation-darstellung/6373-vektorworks-script-fehlermeldung.html)

rst_b 10.03.2010 23:06

Vektorworks Script - Fehlermeldung
 
Guten Abend,

kann mir jemand bei folgendem Problem helfen?

Ich habe in Vektorworks ein Script geschrieben, dass die Elemente auf einer Ebene um einen bestimmten Wert extrudiert. Jetzt funktioniert es zwar, im Debug - Modus gibt Vektorworks mir allerdings eine Fehlermeldung aus, dass die Umwandlung von Text zu Zahl nicht möglich ist, nach Ablauf des Skriptes ist jedoch das Ergebnis genau so wie ich wollte. :confused:

Code:

elementh := FActLayer;
WHILE (elementh<>NIL) DO BEGIN
 recvalue:=GetRField(elementh, 'Bebauung', 'Geschoss');
 value:=Str2Num(recvalue);
 bottom:=0;
 top:=value*3.5;
 elementh2:=elementh;
 elementh:=NextObj(elementh);
 h:=HExtrude(elementh2, bottom, top);       
END;

Und ist es möglich den Handle für das Objekt nicht zu kopieren?
Danke für Hilfe
rst

Matthias 11.03.2010 10:10

AW: Vektorworks Script - Fehlermeldung
 
Das zweite Handle müsstest Du Dir sparen können, wenn Du erst extrudierst und dann das nächste Objekt auswählst:

Code:

elementh := FActLayer;
WHILE (elementh<>NIL) DO BEGIN
 recvalue:=GetRField(elementh, 'Bebauung', 'Geschoss');
 value:=Str2Num(recvalue);
 bottom:=0;
 top:=value*3.5;
 h:=HExtrude(elementh, bottom, top);       
 elementh:=NextObj(elementh);
END;

Welchen Datentyp hat denn das Feld "Geschoss"? Wenn's bereits Typ Zahl oder Ganzzahl ist (und nicht Typ Text), brauchst Du auch keine Umwandlung, evtl. kommt daher die Fehlermeldung. Laß doch testhalber mal die entsprechende Zeile weg:

Code:

elementh := FActLayer;
WHILE (elementh<>NIL) DO BEGIN
 recvalue:=GetRField(elementh, 'Bebauung', 'Geschoss');
 bottom:=0;
 top:=recvalue*3.5;
 h:=HExtrude(elementh, bottom, top);       
 elementh:=NextObj(elementh);
END;


Ich hab's nicht getestet, aber es sollte gehen...

Gruß, Matthias

rst_b 11.03.2010 19:00

AW: Vektorworks Script - Fehlermeldung
 
Danke Matthias für deine Hilfe. Aber leider hat das mit dem erst extrudieren und dann nächstes Objekt auswählen nicht geklappt, deshalb diese "Notlösung" mit dem zweiten Handle. Die Funktion GetRField gibt nach der Beschreibung (siehe VectorScript 2010 Function Reference -> GetRField) aber ein DYNARRAY of CHAR zurück, also einen String. Deshalb die Umwandlung. Die Verwendung ohne Umwandlung gibt folgenden Fehler zurück: { Error: The operands are not of compatible types. }
Also die Umwandlung drin lassen und dann das Extrudieren vor die Zuweisung des nächsten Elements und keine weitere Zuweisung des Handle ergibt, dass nur das erste Objekt der Ebene extrudiert wird alle anderen bleiben so.

Wie dem auch sei, mit der Lösung läuft es, auch wenn die Umwandlung nicht möglich ist. Und eine Fehlermeldung erscheint. (?)

Danke


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:21 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO
Copyright ©2002 - 2022 tektorum.de®