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

if then Bedingung

Anonymous
Nicht anwendbar
Moin, moin,

ich hab da nochmal eine Frage und zwar:
Ich möchte eine Bedingung aufstellen, die mir erlaubt, daß wenn eine bestimmte größe Überschritten wird ein weiteres Feld, Linie o. ä. eingefügt wird.
Geh ich also z.B. in zzyzx Richtung über 2m, so soll in der Horizontalen ein weiterer Block, Prisma, oder Linie, in einem bestimmten Raster eingefügt werden.
Ist das möglich? Wenn ja viel Aufwand? Wenn nicht kann mir da evtl. jmd. helfen??

thx im vorraus :winken:
mfg severin
5 ANTWORTEN 5
Anonymous
Nicht anwendbar
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif"> Ich möchte eine Bedingung aufstellen, die mir erlaubt, daß wenn eine bestimmte größe Überschritten wird ein weiteres Feld, Linie o. ä. eingefügt wird.
...
Ist das möglich?Ja. Geht.
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif"> Wenn ja viel Aufwand? Kommt drauf an.
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif"> Wenn nicht kann mir da evtl. jmd. helfen?? Ja.

Auch mal ein paar Fragen:
Was hast Du vor? Was hast Du schon gemacht?
🙂 😉 😉 😉
Anonymous
Nicht anwendbar
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">Original erstellt von Severin:
Ist das möglich? Wenn ja viel Aufwand? Wenn nicht kann mir da evtl. jmd. helfen??
im gdl-online-kurs auf den seiten 75 ff ist dies an einem einfachen beispiel beschrieben.

vielleicht hilft's ja für den anfang?

grüsse aus muc
Anonymous
Nicht anwendbar
Also:
Es geht darum eine Pfosten- Riegel- Fassade zu konstruieren. So sollen beispielsweise Riegel die als Prisma vorhanden sind eingefügt werden, wenn die Höhe des Pfostens einen bestimmten wert überschreitet.
Beispiel: Geht es in zzyzx Richtunng über 2,80m so soll ein weiterer Riegel eingefügt werden, der dieses Feld aufteilt. Also Oberkante ein Riegel, Unterkante ein Riegel und dann ab einer Höhe von über 2,80 m einer in der Mitte. Geht es über 2x2,80m einer an der Unterkante, 2 Riegel in dem Mittleren Feld und wieder ein Riegel an der Oberkante, usw.
Genauso sollte diese Bedingung bei der vertikalen Aufteilung der Pfosten sein.

Ich denke die Grundbefehle des 3d scriptes sitzen.
Alerdings keine if- then befehle.
Ahnung von anderen Programmiersprachen sind 0 vorhanden.

mfg sev
Anonymous
Nicht anwendbar
Hmmmm. Nicht gerade ein Frage, die man schnell beantworten kann.

Mir scheint es, daß Dir die Grundzüge des Programmierens fehlen. Da ist der Tip mit dem GDL-Kurs (wenngleich ich ihn nie angesehen habe) wohl der beste.

Vielleicht soviel zum selbst weiterstöbern:
IF .. THEN ist sowas wie der Gin-Tonic der Programmiersprachen. Es gibt kaum welche, die dieses Statement nicht kennen.
Dein Programm arbeitet einen Befhl nach dem anderen ab. Gestört wird diese Reihenfolge durch Bedingungen (if_then), Verzweigungen (GOSUB, GOTO) und Schleifen (FOR_NEXT, DO_WHILE). Oder Kombinationen aus beiden.

Aus dem Stand würde ich Dir folgendes raten:

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">hmax=2.80 !maximale Höhe festlegen und in 'hmax' merken.
n=int((zzyzx-0.001)/hmax)+1 !Anzahl der Felder ermitteln. Immer aufrunden und in 'n' merken.

hfeld=zzyzx/n !Höhe eines einzelnen Feldes in 'hfeld' merken

for i=1 to n !Beginn Schleife. Prüfung Schleifenzähler (i) >n?
prism ... !Riegel ausgeben
addz hfeld !Ursprung Vertikal verschieben
next i !Erhöhe Schleifenzähler und zurück zum Start (FOR)

del n ! Verschiebungsbefehle wieder löschen
Schau mal, ob Du damit was anfange kannst. Die Befehle findest Du im GDL-Handbuch gelistet. Schau einfach mal nach, was die machen.

[ 02. September 2003, 15:39: Beitrag editiert von: Ove Bodj ]
Anonymous
Nicht anwendbar
Oki. Erstmal herzlichen dank.
Ich werde mir das Handbuch, den Kurs und deine Befehlsfolge wohl mal ansehen. Vieleicht reichts ja und ich komme damit weiter.

Mfg sev