Montag
Hallo liebe Community.
Ich bin neu im GDL-programmieren, habe mich mittlerweile einige Stunden eingelesen und auch schon mein erstes dynamisches Objekt erstellt und versuche mich nun an einer Abwandlung eines bestehenden Objekts "Gefälle Beschriftung" der Archicad Standardbibliothek 26. Ich hänge derzeit am Problem, den Standard-Ankerpunkt für mein Objekt neu zu definieren. Dieser wird beim Hotspot2 mit der Koordinate "0,0" gesetzt, ich möchte ihn aber auf den Hotspot2 mit der Koordinate "A,0" ändern, da an diesem Punkt die bereits programmierte dynamische Pfeilspitze liegt.
Aus meiner Sicht sollte ich mit der Korrektur des nachfolgenden Teil des Codes zu mienem Ziel kommen:
unID = 1
HOTSPOT2 0,0,unID : unID=unID+1
HOTSPOT2 0,0,unID,a,1+128 :unID=unID+1
HOTSPOT2 a,0,unID,a,2 :unID=unID+1
HOTSPOT2 -1,0,unID,a,3 :unID=unID+1
HOTSPOT2 a/2,0,unID : unID=unID+1
Ich kann zu dierser Problemstellung im GDL-Skript nichts finden. Ich hörte, dass die Flag "+128" an den zweiten Hotspot verschoben gehört. Mache ich das, geht der Hotspot allerdings verloren...
Kann mir da jemand aushelfen?
Beste Grüße, 1_1
gestern
Das ist vielleicht ein bisschen verwirrend, weil der "Hotspot" zwei verschiedene Aufgaben erfüllt:
Der Hotspot alleine ist erstmal nur ein Angreifpunkt, dargestellt mit dem standardmäßig schwarz gefüllten Kreis in der Sicht (z.B. Grundriss beim hotspot2).
Die drei Hotspots zusammen ergeben dann ein System, welches dem User ermöglicht das Objekt direkt zu manipulieren. Das sind dann die pinken Rauten.
Du fragst erst nach dem "Standard-Ankerpunkt".
Der Einsetzpunkt eines Objekts ist im Regelfall der erste im Script auftauchende Hotspot, nicht der mit der kleinsten unID (die ID muss nicht einmal fortlaufend sein...).
Man kann allerdings im Vorschaufenster den Einsetzpunkt jederzeit ändern! Man klickt einfach auf ein anderes "X".
Im Anschluss zeigst du uns aber Code für einen beweglichen Hotspot.
Hotspot Typ 1 ist der Basispunkt. Dieser Punkt ist der "Nullpunkt" für die nachfolgende Transformationssteuerung. Wenn man diesen Punkt nicht sehen will, kann man ihn mit der 128 Flag unsichtbar machen. Umgekehrt kann man mit der 256 Flag diesen Punkt als steuerbar kennzeichnen; dann wird er auch pink und die Richtung der Bewegung kehrt sich um.
Der Hotspot vom Typ 2 ist der bewegliche Punkt und kann niemals ausgeblendet werden (macht ja auch keinen Sinn).
Typ 3 ist der Referenzpunkt und ist der negative Vektor der Bewegung. Dieser ist immer verborgen.
Dein Code
hotspot2 0, 0, unID, A, 1+128 : unID=unID+1
hotspot2 A, 0, unID, A, 2 : unID=unID+1
hotspot2 -1, 0, unID, A, 3 : unID=unID+1
erzeugt also einen pinken, bewglichen Hotspot an der Koordinate (A,0) und steuert die Breite.
Wenn du willst, dass Archicad das Objekt beim Klicken auf die Position (A,0) einfügt kannst du den Hotspot (ohne Typnummer) einfach als erstes nochmal definieren. Diese Dopplung ist harmlos.