abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

Wir schätzen Ihren Input!
Bitte nehmen Sie an der Umfrage zu Archicad 28 Startbildschirm und Lerninhalte/Schnell-Tutorials teil

Programmierung
Alles über Programmierung in GDL und Python

Gruppe in 2D

marcel tinka
Newcomer
Ist es möglich so wie im 3D-Script auch in 2D zu gruppieren, um nicht alle Werte mit vielen Variablen auszustatten??
AC 11,12,13,14,15
Core2-Duo-3,33GHz, 4GB-Ram, GeForce 9800GT, Win7
Core2-Duo-P8600-2,4GHz, 4GB-Ram, GeForce 9650M GT, Win7
5 ANTWORTEN 5
Anonymous
Nicht anwendbar
Was meinst Du mit "Gruppieren"? Wie bei den Solid-Befehlen? Die gibt es nur für 3D.
Was meinst Du mit "um nicht alle Werte mit vielen Variablen auszustatten"?
marcel tinka
Newcomer
Hallo Jochen,

ich habe einen Textstempel der sich aufbaut aus verschiedenen Attributen x,y,z. Diese können ein-und ausgeblendet werden. Durch Funktionen wird nun die Position auf der y-Achse variiert.

IF variable1 THEN
ADD2 0, zeilenabstand
zeilen = zeilen + 1
TEXT2 0, 0, text_variable1
ENDIF

So weit so schön.
Jetzt würde ich gerne das komplette Gebilde um Punkt x,y drehen.
Was aber passiert, ist, dass ich nur jede Zeile drehe. Deshalb die Frage nach einer Gruppe.
Oder muss der Ansatz schon anders aussehen?
AC 11,12,13,14,15
Core2-Duo-3,33GHz, 4GB-Ram, GeForce 9800GT, Win7
Core2-Duo-P8600-2,4GHz, 4GB-Ram, GeForce 9650M GT, Win7
zzyzx
Newcomer
du drehst beim rot2 befehl nicht das element, sondern das koordinatensystem.
also aufpassen, wo du den rot2 und den add2 befehl hinpackst.

hier mal ein beispiel zum probieren:
 define style "s1" "Verdana",3,7,0
set style s1

zeilenabstand = 0.12
zeilen = 0



text2 0, 0, "123"

add2 0.3,0.2
rot2 30

p=93
n = 3
for i = 1 to n
pen p
text2 0, 0, "text"
add2 0, zeilenabstand
zeilen = zeilen + 1
p=p+1
next i
del n+2


add2 0.4,-0.2
rot2 -40
p=103
n=5
for i = 1 to n
pen p
text2 0, 0, "abc"
add2 0, zeilenabstand
zeilen = zeilen + 1
p=p+1
next i
del n+2
Anonymous
Nicht anwendbar
Natürlich kannst Du einen gesamten Codeblock drehen, indem Du vor dem Block "ROT2 90" und ganz am Ende des Blocks "DEL 1" schreibst.

Wenn Du Deinen "ADD2 0, zeilenabstand" nicht mit "DEL 1" wieder aufhebst, kann es passieren, dass nur Teile gedreht oder verschoben werden.

Der DEL-Befehl hebt immer die zuletzt gemachte Koordinatentransformation auf:
ADD2 1,0
ROT2 90

DEL 1 (Hebt ROT2 90 auf)
DEL 1 (Hebt ADD2 1,0 auf)
marcel tinka
Newcomer
Danke Jochen,

werde gleich nochmal schauen, wie ich das bei mir umsetze...
AC 11,12,13,14,15
Core2-Duo-3,33GHz, 4GB-Ram, GeForce 9800GT, Win7
Core2-Duo-P8600-2,4GHz, 4GB-Ram, GeForce 9650M GT, Win7