ITP Zeitschel

Vorbemerkung

Loop über ein Feld ist ein sehr mächtiges Werkzeug. Es gibt viele sinnvolle Anwendungen.

Wesentlich ist die Definition des Feldes und der anschließende Aufruf des Feldnames (ohne #) im LOOP - Befehl. Die Schleife wird sooft durchlaufen, wie das Feld Elemente hat.

Falls das Feld "unregelmäßig" ist, kann man das Feld über Schleifen belegen.

Man sollte sich hüten, ein einmal definiertes Feld erneut zu verwenden. Denn die maximale Feldlänge (und diese bestimmt die Anzahl der Schleifenläufe) wird intern gespeichert. Bei einer erneuten Feldbelegung mit einer kleineren Elementanzahl kommt es dann zu Fehlern.

Beispiel 1 - Pfetten einer Stahlhalle

In den Feldern ya und yb stecken die Y-Werte der einzelnen Hallenrahmen.

Die nachstehende Schleife generiert über alle 14 Felder die Pfetten.
Mit der if-Bedingung wird noch der entsprechende Querschnitt ausgewählt.

!*!Label Längspfetten auf dem Dach
let#ya          #y1,#y2,#y3,#y4,#y5,#y6,#y7,#y8,#y9,#y10,#y11,#y12,#y13,#y14
let#yb          #y2,#y3,#y4,#y5,#y6,#y7,#y8,#y9,#y10,#y11,#y12,#y13,#y14,#y15

loop#i  ya
        let#l           #ya(#i)-#yb(#i)
        let#y11         #yb(#i)+((#l/2)+(#ylb/2))
        let#y12         #y11-#ylb

        let#grp 410+(#i*10)

        let#knr         #grp*#gdiv      $ neue Knoten
        spt     nr              x       y               z
                #knr+11+100     #x31    #y11            #z31
                #knr+12+100     #x31    #y12            #z31
                #knr+11+200     #x32    #y11            #z32
                #knr+12+200     #x32    #y12            #z32
                #knr+11+300     #x33    #y11            #z33
                #knr+12+300     #x33    #y12            #z33

        $        Pfetten
        let#grpa        10+(#i)*10
        let#grpb        #grpa+10 $ Gruppe des hinteren Rahmen

        if #i==6
                let#qnr 27
        else
                let#qnr 26
        endif

        sln     nr      npa             npe                             qnr=#qnr     grp=#grp        styp='B'
                -       #gdiv*#grpa+31  #knr+11+100     $fixa mymz
                -       #knr+11+100     #knr+12+100
                -       #knr+12+100     #gdiv*#grpb+31  $fixe mymz
                -       #gdiv*#grpa+32  #knr+11+200     $fixa mymz
                -       #knr+11+200     #knr+12+200
                -       #knr+12+200     #gdiv*#grpb+32  $fixe mymz
                -       #gdiv*#grpa+33  #knr+11+300     $fixa mymz
                -       #knr+11+300     #knr+12+300
                -       #knr+12+300     #gdiv*#grpb+33  $fixe mymz
endloop

 

 

Beispiel 2 vier verschiedene Laststellungen

Im Feld pos werden die vier unterschiedlichen X-Werte der Laststellungen gespeichert. Der Block area2 beinhaltet die Definition der kleinen Flächenlasten.

Die Schleife erzeugt die einzelnen Lastfälle FAT:

let#pos  0,1.5,2.7,7.15-(4.2),7.15-(4.2/2)
let#lf 101

loop#i  pos
        lf nr #lf typ FAT bez 'FAT - #lf'

        $Startpunkt 1
        let#xs #pos(#i)
        let#ys 3.500
        let#zs 0.000
        #include area2

        $Startpunkt 2
        let#xs #pos(#i)
        let#ys 3.500-3
        let#zs 0.000
        #include area2

        let#lf #lf+1
endloop

Letzte Änderung: Montag, 21.07.2014   |   Erstellt von TYPO3-Beratung.com, Nürtingen/Stuttgart