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

gdl: tabelle mit variablen

zzyzx
Newcomer
es gibt doch diese möglichkeit, variablen mit so einer art tabelle anzulegen ("ansammlungswerte").
.
wie kann man die aufrufen?
gibt es auch die möglichkeit, automatisch summen zu bilden (so in der art "summe der ersten spalte" oder "summe von a3 bis c8")
.
na vielleicht hilft mir ja jemand, diesen weissen fleck in meiner persönlichen gdl-wissenslandkarte zu färben.
:winken:
8 ANTWORTEN 8
Anonymous
Nicht anwendbar
Hier im Forum hatte ich mal was zu Arrays geschrieben.

Summenbildung geht mit Schleifen:
Der Arrayparameter heist z.B.: "par"

sum=0
FOR k=1 TO anz
sum=sum+par[k]
NEXT k
zzyzx
Newcomer
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif"> ... mal was ... ... ist ja wohl untertrieben, da glüht ja schon der scheffel weissgelb, wenn du so ein licht drunter stellst 😉
damit werde ich mein problem sicher lösen können. danke für die tipps,

:winken:
zzyzx
Newcomer
hier nochmal ein faltenvorhang mit zufallsvariablen und array, ähnlich wie das orginal von david gubler, einfach nur oben schmaler als unten

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"> ! a = 2 ; b = 0.3
! zzyzx = 2 !höhe
! bo = 0.07 !breite oben

n = 60
dim v[61]
for j = 1 to n+1
v[j]= 1/2-rnd(1)
next j

dx=a/n
for i=0 to n !!! kurve unten !!!
x = i*dx
y =b*v[i+1]
put x,y,1 !!! der dritte Wert ist beim ersten durchlauf statuswert !!!
next i

for i=0 to n !!! kurve oben !!!
x = i*dx
y =bo*v[i+1]
put x,y,zzyzx !!! der dritte Wert ist beim zweiten durchlauf die höhe !!!
next i

ruled n+1, 16+32+64,
get (6*(n+1))
end
nochmal eine frage an die arrayspezialisten:
* ich habe mal "dim v[n]" versucht, bekomme aber eine fehlermeldung, die anmahnt, dass nur ganzzahlige angaben vewendet werden dürfen. n ist zwar ganzzahlig, aber anscheinend bekommt das archicad nicht mit. gibts da eine möglichkeit? gerade in dem beispiel oben macht das ja sinn
Anonymous
Nicht anwendbar
AFAIK kannst du zur Definition nicht einen variablen Wert nehmen, sondern brauchst einen absoluten ...

DIM v[35]

... und, jetzt kommts, ab AC 8 gar keinen:

DIM v[]

Die Größe des Arrays richtet sich dann nach der größten Dimension, die gesetzt wird. Z.B

v[35]=77

Da kann es auch eine Variable sein:

spa=35
v[spa]=77

Ich halte diese Form der Syntax für fett gefährlich, aber sie ist so. Hat allerdings auch Vorteile:

dim wahl[]
if set="Alle" then
wahl[1]="Rund"
wahl[2]="Eckig"
wahl[3]="Wolkig"
wahl[4]="Zackig"
endif
if set="Teil" then
wahl[1]="Rund"
wahl[2]="Zackig"
endif
VALUES "Auswahl" wahl,CUSTOM

So hat die Auswahlliste mal 3, mal 5 Möglichkeiten. Bis AC 7 bedurfte es:

dim wahl[4]
if set="Alle" then
wahl[1]="Rund"
wahl[2]="Eckig"
wahl[3]="Wolkig"
wahl[4]="Zackig"
endif
if set="Teil" then
wahl[1]="Rund"
wahl[2]="Zackig"
wahl[3]=""
wahl[4]=""
endif
VALUES "Auswahl" wahl,CUSTOM

Und erzeugt einmal 2 Leerzeilen, die dann sogar auswählbar sind. Bei numerischen Werten kann man das ja bis AC7 mit GET und PUT umgehen, bei Text geht das ja aber nicht.
Anonymous
Nicht anwendbar
ich möchte gerne eure scripts anschauen - dazu habe ich noch ne allgemeine anfängerfrage zu gdl.

wie muss ich das script von zzyzx anwenden?
was sind die variabeln und was kommts ins 3d-script?

oder definierst du mit
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">
! a = 2 ; b = 0.1
! n = 20 !anzahl knicke
! zzyzx = 2 !höhe
...
die variabeln bereits im 3d script?

danke für die aufklärung
greetz domi
Anonymous
Nicht anwendbar
Code, der hinter einem "!" steht ist ein Kommentar und wird nicht interpretiert. zzyzx will damit andeuten, daß die entsprechenden Parameter in der Parameterliste eingefügt und mit den angegebenen Startwerte versehen sein sollten. Du kannst zum testen allerdings auch die "!" entfernen, dann ist das Objekt aber stets gleich.

Zur prinzipiellen Funktionsweise von GDL ist der Onlinekurs hier im Forum anzuraten.
Anonymous
Nicht anwendbar
@zzyzx:

Mit den dynamischen Arrays solltest du deinen Vorhang noch flexibler hinbekommen. Dann bist du nicht auf 61 Punkte beschränkt. Das war doch der Ursprung deiner Frage, oder?

Die Verwendung der echten Schwünge mit SIN und COS macht das Script aber etwas zäh. Vielleicht gibts da einen Mittelweg. Auch die Verwendung von RND sehe ich mit Skepsis, denn beim Rendern von Animationen, bei denen das Modell mit jedem Bild neu aufgebaut wird, flattert dann der Vorhang. Vielleicht kann man da eine andere Welle auf den ursprünglichen Sinus aufmodulieren:

B =0.1
db=0.05
B * sin(x) + db*cos(x^2)

(Code ungetestet)

Vielleicht ist es sogar noch sinnvoller das ganze mit PGON, VERT und Co. zu, machen.
Anonymous
Nicht anwendbar
danke lars - ich hab schon angefangen mit dem gdl-onlinekurs 🙂