abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Programmierung
Alles über Programmierung in GDL und Python

textblock abstand nach massstab

dihes8010
Participant
wie löst ihr das

habe einen objekt mit verschiebbaren textblock
bei änderung des masstabs ändert sich der abstand zum objekt

der raumstempel bietet die möglichkeit nach masstab individuell zu verschieben

geht das mit einer Matrix-Variable (wie immer das in gdl heisst)

---

danke für Hinweise

csi graz.at
4 ANTWORTEN 4
dihes8010
Participant
bisheriger Wissenstand

erstelle im Parameterscript eine VarHotspot[array1, array2]

in abhängigkeit von glob_scale sollte sich dann der
jeweilge txtX & txtY Abstand der hotspots zuordnen lassen

ob & wie das genau geht ???

thx
ungefähr so:


parameter anlegen:
offsetx
offsety

einmal im Parameter Script das durchlaufen lassen...danach löschen

FOR i=1 TO 5000
offsetx=0 : PARAMETERS offsetx=offsetx
offsety=0 : PARAMETERS offsety=offsetx
NEXT i

!2D SCRIPT:


i=GLOB_SCALE

HOTSPOT2 offsetx, 0, 1, offsety, 1+128
HOTSPOT2 offsetx, offsety, 3, offsety, 2
HOTSPOT2 offsetx, -0.1, 2, offsety, 3
HOTSPOT2 0, offsety, 4, offsetx, 1+128
HOTSPOT2 offsetx, offsety, 6, offsetx, 2
HOTSPOT2 -0.1, offsety, 5, offsetx, 3


offset_x=offsetx
offset_y=offsety

add2 offset_x, offset_y

TEXT2 0,0,i
Mac OSX - up to date

GER Archicad Full, Up to date
xandros1
Newcomer
Ähnliche Lösung wie die von lukaso, nur mit einer Gruppierung von mehreren Maßstabsbereichen (10 Maßstäbe teilen sich eine Koordinate) und nem Hinweistext für welchen Maßstabsbereich man das verändert:

Master nur einmal initiieren und dann auskommentieren / löschen
 !Master
FOR i = 1 TO 21
posX[i] = 0
posX[i] = 0
NEXT i
PARAMETERS posX = posX, posY = posY


 !2D Script
IF GLOB_SCALE >= 5 AND GLOB_SCALE <= 200 THEN
_gs = ROUND_INT(GLOB_SCALE / 10) ! _gs = modifizierter GLOB_Scale
_hst = "für Maßstäbe " + STR("%~", _gs * 10 - 5) + "-" + STR("%~", _gs * 10 + 4) ! _hst = Text für die Hotspots
ENDIF

! Horizontale Richtung
HOTSPOT2 0, posY[_gs], _unID, posX[_gs], 1+128, posX[_gs], "Postion X " + _hst : _unID = _unID + 1 !Basisfangpunkt
HOTSPOT2 posX[_gs], posY[_gs], _unID, posX[_gs], 2, posX[_gs], "Postion X " + _hst : _unID = _unID + 1 !beweglicher Fangpunkt
HOTSPOT2 -1, posY[_gs], _unID, posX[_gs], 3, posX[_gs], "Postion X " + _hst : _unID = _unID + 1 !Referenzrichtung

! Vertikale Richtung
HOTSPOT2 posX[_gs], 0, _unID, posY[_gs], 1+128, posY[_gs], "Postion Y " + _hst : _unID = _unID + 1 !Basisfangpunkt
HOTSPOT2 posX[_gs], posY[_gs], _unID, posY[_gs], 2, posY[_gs], "Postion Y " + _hst : _unID = _unID + 1 !beweglicher Fangpunkt
HOTSPOT2 posX[_gs], -1, _unID, posY[_gs], 3, posY[_gs], "Postion Y " + _hst : _unID = _unID + 1 !Referenzrichtung

ADD2 posX[_gs], posY[_gs]
AC 25 / 26, Voll, D / Intel i9-9900K, 64 GB RAM, nVidia GeForce RTX 2080 Ti, Win 10 x64
dihes8010
Participant
danke
genau was ich gesucht hab
funktioniert perfekt
so soll das sein

Keine Antwort gefunden?

Andere Beiträge
im Board ansehen

Zurück zum Board

Neueste Lösungen durchsuchen

Akzeptierte Lösungen zeigen

Eine neue Diskussion starten!

Neues Thema erstellen