Syntax
GLOB_WORLD_ORIGO_OFFSET_X


Aufklappen Wertebereiche
Typ real

Aufklappen Erläuterung
Abstand in X-Richtung des derzeitigen Projektursprungs zum globalen Ursprung. Siehe Hintergrund.

Aufklappen Parametertyp
Globaler Parameter/ READ

Aufklappen Hintergrund
ArchiCAD® bezieht alle Zeichnungselemente in Position und Transformation auf den globalen Projektursprung. Bis ArchiCAD® 8.x konnte es vorkommen, dass extrem (>1000m) weit vom Ursprung verschobene Projekte bei der Berechnung der Darstellung Präzisionsprobleme verursachten und z.T. damit Programmabstürze provozierten. Ab ArchiCAD® 9 ist ein Sicherungsmechanismus eingeführt der beim neu Laden eines Projektes dessen Lage im "ArchiCAD-Raum" ermittelt und, wenn das Gebäude insgesamt sehr weit vom Ursprung entfernt ist, alle Elemente intern wieder Richtung (0/0) verschiebt. In der Grundrissbearbeitung bleibt dies unbemerkt, denn der (grau) sichtbare Projektursprung wird ebenfalls um diese Translation mitverschoben. Ebenso werden alle Koordinatenangaben in den Infofenstern entsprechend verändert. Es handelt sich um eine rein interne Korrektur.

Allerdings liefern die GDL-Variablen SYMB_POS_X und SYMB_POS_Y den Abstand des Objektursprunges zum Projektursprung. Und diese Werte beziehen sich nach einer solchen automatischen Korrektur nicht auf den ursprünglichen, sondern auf den neuen, internen Ursprung. Dessen Lage zum ursprünglichen kann nun mit den globalen Parametern GLOB_WORLD_ORIGO_OFFSET_X und GLOB_WORLD_ORIGO_OFFSET_Y ermittelt werden.

Es ist zu beachten, dass die automatische Verschiebung erst nach einem Schließen und neu Laden den Projektes ausgeführt wird. Die Verschiebung wird nur so ausgeführt, dass das vollständige Projekt wieder am Nullpunkt beginnt. Erstreckt sich das Projekt vom Nullpunkt aus über eine so ausgedehnte Größe, wird selbstverständlich keine Korrektur vorgenommen. Siehe Beispiel und Abbildungen.

Aufklappen Beispiel Erläuterung
s=1.1*0.5*GLOB_SCALE/100 !Zeilenabstand
t=s/5 !Markerbreite

!Absolute Positionen
GX=GLOB_WORLD_ORIGO_OFFSET_X+SYMB_POS_X
GY=GLOB_WORLD_ORIGO_OFFSET_Y+SYMB_POS_Y

!Prüfungen für IF-THEN-Bedingungen:
IT_PX = (ABS(SYMB_POS_X)>0.01)
IT_PY = (ABS(SYMB_POS_Y)>0.01)
IT_GX = (ABS(GLOB_WORLD_ORIGO_OFFSET_X)>0.01)
IT_GY = (ABS(GLOB_WORLD_ORIGO_OFFSET_Y)>0.01)

IF (ABS(GX)>0.01 OR ABS(GY)>0.01) AND (IT_PX OR IT_PY) THEN
LINE2 -t,-t, t,t
LINE2 -t,t, t,-t
HOTSPOT2 0,0,3
IF IT_GX OR IT_GY THEN
T_posX = STR(SYMB_POS_X,4,1)
T_posY = STR(SYMB_POS_Y,4,1)
TEXT2 0,-s,"(" + T_posX + "/" + T_posY + ") virtuell"
ENDIF
TEXT2 0,0,"(" + STR(GX,4,1) + "/" + STR(GY,4,1) + ") absolut"
TEXT2 0,s, "Objektnullpunkt"
virtualname="Virtueller Projektursprung"
ELSE
virtualname="Objektnullpunkt = Virtueller Projektursprung"
ENDIF

IF IT_GX OR IT_GY THEN
ADD2 -SYMB_POS_X, -SYMB_POS_Y
LINE2 -t,-t, t,t
LINE2 -t,t, t,-t
HOTSPOT2 0,0,2
T_posX = STR(GLOB_WORLD_ORIGO_OFFSET_X,4,1)
T_posY = STR(GLOB_WORLD_ORIGO_OFFSET_Y,4,1)
TEXT2 0, 0, "(" + T_posX = + "/" + T_posY = + ")"
TEXT2 0, s, virtualname
DEL TOP
origoname="WORLD ORIGO"
ELSE
origoname="WORLD ORIGO = Projektursprung"
ENDIF

ADD2 -GX, -GY
LINE2 -t,-t, t,t
LINE2 -t,t, t,-t
HOTSPOT2 0,0,1
TEXT2 0,0, "(0,0/0,0)"
TEXT2 0,s, origoname
DEL TOP


2D-Skript für ein Beispielobjekt, das die Positionen des Objekteinsetzpunktes, des ursprünglichen und des virtuellen Projektursprunges markiert. Um einen Effekt zu erzielen, muß dass Objekt in einen leeren Plan sehr weit vom Ursprung platziert werden und dann das Projekt gespeichert, geschlossen und wieder neu geladen werden.

Aufklappen ArchiCAD
ab 9.0