Handles
Handles (Griffe) sind grafischen Eingabepunkte, die mit der Maus bewegt werden können. Diese Eingabepunkte sind mit Objektparametern verknüpft und sind somit eine einfache Art Smartparts zu ändern, ohne numerische Werte eingeben zu müssen. Es können einfache Wertparameter als auch Winkelparameter mit Handles verknüpft werden.
HANDLE2
Erzeugt einen 2D Handle (Griff) um einen Objektparameter zu modifizieren.
HANDLE2 x, y [, ID [, parameter, flags]]
x:
X-Koordinate des Griffs
y:
Y-Koordinate des Griffs
ID:
eindeutige Kennzahl des Griffs.
parameter:
Parameter der durch diesen Griff beeinflusst wird, zB: REF_X
aber auch Feldvariablen wie A[1]
flags:
bestimmt die Art des Griffs, wobei ein Griff aus mehreren Definitionen besteht.
1:
linear beweglicher Griff, Basispunkt = Punkt an dem der zugehörige Parameter=0 ist.2:
linear beweglicher Griff, der bewegliche Griff = Abstand zum Basispunkt definiert den Wert des zugehörigen Parameters.3:
linear beweglicher Griff, Referenzpunkt = gibt die negative Richtung des Parameters an, zB.(-1, 0)
für eine Wert der in +X Richtung größer wird und dessen Basispunkt(0, 0)
ist4:
Griff für Winkelparameter, Basispunkt am Kreis = Punkt an dem der zugehörige Winkelparameter=0 ist.5:
Griff für Winkelparameter, beweglicher Punkt am Kreis = Parameter ist gleich der Winkel zwischen den Geraden (Mittelpunkt->Basispunkt) und (Mittelpunkt->beweglicher Punkt).6:
Griff für Winkelparameter, Kreismittelpunkt.
Linear beweglicher Griff
Ein Linear beweglicher Griff setzt sich aus 3 Definitionen zusammen, den Basispunkt, den beweglichen Punkt und den Referenzpunkt, alle drei Definitionen müssen dieselbe ID
haben. Der Parameterwert ergibt sich aus dem Abstand vom Basispunkt zum beweglichen Griff, der Referenzpunkt gibt die Richtung an, in der der Parameterwert kleiner wird z.B. ein Parameter der in -X Richtung größer wird, hat die Referenzpunkt (1, 0)
, wenn der Basispunkt (0, 0)
ist. Die Linie Basispunkt -> Referenzpunkt bestimmt die Referenzrichtung.
Griff für Winkelparameter
Ein Griff für Winkelparameter setzt sich ebenfalls aus 3 Definitionen (2D!) zusammen und auch für diesen Griff gilt, alle drei Definitionen müssen dieselbe ID
haben. Wenn man sich den Winkel als Kreisbogen vorstellt, ist die 1. Definition der Startpunkt, die 2. Definition der Endpunkt und die 3. Definition der Mittelpunkt des Kreisbogens. Die positive Richtung des Winkels ist entgegen den Uhrzeigersinn, das kann man ändern, indem man 512
zu flags
hinzu addiert.
Kombinierter Griff
Es können 2 oder 3 linear bewegliche Griffe kombiniert werden, um mehrere Parameter gleichzeitig mit der Bewegung eines Griffs zu bearbeiten z.B. die X, Y und Z-Koordinate eines Punktes, wobei sich nicht wirklich alle drei Werte gleichzeitig ändern, sondern nur die X/Y-Werte und getrennt davon, aber mit dem selben Griff (Umschalt-Klick für alternative Griff-Funktion) der Z-Wert. Wichtig ist auch hier, dass alle am Kombinationsgriff beteiligten Definitionen die selbe ID
haben.
Kombinierter X/Y Griff an der Position (ref_x, ref_y)
id = 1 ! alle Griffen mit derselben ID
loc_y = ref_y ! nur zur Unterscheidung
HANDLE2 0, loc_y, id, ref_x, 1 ! Basis X-Handle
HANDLE2 ref_x, loc_y, id, ref_x, 2 ! linear beweglicher X-Handle
HANDLE2 -1, loc_y, id, ref_x, 3 ! Referenz X-Handle
loc_x = ref_x ! nur zur Unterscheidung
HANDLE2 loc_x, 0, id, ref_y, 1 ! Basis Y-Handle
HANDLE2 loc_x, ref_y, id, ref_y, 2 ! linear beweglicher Y-Handle
HANDLE2 loc_x, -1, id, ref_y, 3 ! Referenz Y-Handle
id = id + 1 ! nächster Griff mit neuer ID
HANDLE
Erzeugt einen 3D Handle (Griff) um einen Objektparameter zu modifizieren.
HANDLE2 x, y, z [, ID [, parameter, flags]]
Parameter grundsätzlich wie für HANDLE2
, plus der zusätzlichen Z-Koordinate.
z:
Z-Koordinate des Griffs
Der 3D Griff für Winkelparameter benötigt die Angabe der räumliche Drehachse durch einen zusätzlichen Referenzpunkt, die Drehachse läuft durch den Kreismittelpunkt (6
) und diesen Referenzpunkt (7
).
flags:
7:
Griff für Winkelparameter, Referenzpunkt, 3D Drehachse = Kreismittelpunkt -> Referenzpunkt.
HANDLEFACTOR
HANDLEFACTOR expr
setzt einen Faktor, mit dem die Griffdistanz multipliziert wird, um den endgültigen Parameterwert zu berechnen. Der gesetzte Wert bleibt gültig, bis ein neuer Wert gesetzt wird.
REF_HANDLES
Erstellt für die drei Standardparameter ref_x
, ref_y
und ref_z
einen Griff, der Basisgriff aller drei Parameter liegt im Ursprung des Koordinatensystems (0, 0, 0)
, der Bewegungsgriff in der jeweiligen Achse, und alle Werte vergrößern sich in positiver Achsenrichtung.
REF_HANDLES2
Wie REF_HANDLES
aber im 2D-Script und natürlich nur für die Parameter ref_x
und ref_y
.
PREV_LINE2
... funktioniert wie LINE2, wird aber nur im Vorschaumodus dargestellt, derselbe Effekt kann durch IF PREV_MODE THEN LINE2 ...
erzielt werden.
PREV_LINE
... funktioniert wie LINE, wird aber nur im Vorschaumodus dargestellt.
PREV_ARC2
... funktioniert wie ARC2, wird aber nur im Vorschaumodus dargestellt.