CAAD és építész informatika
BMEEPAG0202

Parametrikus modellezés
(GDL programozás)

Kiss Zsolt
 egyetemi adjunktus

4. gyakorlat


 
A 4. gyakorlat a lépcső alátámasztó szerkezetének modellezése 

A lépcső gyámolítása lehet 1 vagy több gerendával, illetve teljes felületen alátámasztva (pl.: vasbeton lemezlépcső)

Az alátámasztást a BPRISM_ objektummal készítjük

BPRISM_ felsô_anyag, alsó_anyag, oldal_anyag, 

n, h, sugár,

x 1 , y 1 , maszk 1 , . . . x n , y n , maszk n

Simán görbülô hasáb, mely alapjában véve azonosan épül fel, mint az egyenes CPRISM_ test.

Az egyetlen új változó a sugár.

A megfelelô CPRISM_ testbôl létrejövô hengerpalást darab. Az utasítás az x-y síkban fekvô részét meghajlítja úgy, hogy a létrejövô elem érinti az x-y síkot.

Az x tengely mentén fekvô élekbôl körívek lesznek. Az y tengely mentiek vízszintesek maradnak, míg a z tengely mentén fekvôk sugár irányúakká válnak.

A fenti vázlat alapján meghatározzuk a gerenda kiterített modeljének koordinátáit

Előállítjuk a gerendát  a CPRISM_ objektummal,  majd átalakítjuk BPRISM_ objektumra.


 
 
Szükséges néhány új paraméter definiálása 

gyam: a gyámolítás módja, szöveg (string) típusú változó a Parameter Script-ben előre definiált értékekkel :

VALUES "gyam" "csak a járólapok", "gerendával", "teljes felületen", "egy gerendával középen"

Szükség van az alátámasztó gerendák számára (ng)

VALUES "ng" RANGE [1,] 

 és a gerenda(ák) geometriai adataira (gb,lv, gcb, gck)

A ca a padlóvonal és az alsó feltámaszkodási hely közötti magasságkülönbség

 

3D Script  
! csigalépcső 2.0
! Kiss Zsolt
!------------------------------------------------------
! lépcső járólapok 
!------------------------------------------------------
A 3D Script eleje változatlan
ROTZ d/2
ADDZ m-v
FOR i = 1 TO n
CPRISM_ mt,ma,ms,
7,v,
-o*x, o*y, 15,
1. pont  a belső íven (x,y,masz)
-(o+t)*x, (o+t)*y, 15,
2. pont  a külső íven (x,y,masz)
0,0,900,
ívközéppont megadása  (x,y,900)
(o+t)*x, (o+t)*y, 3015,
íves vonal a megadott középponttal a 3. pontig (x,y,3000+maszk)
o*x, o*y, 15,
4. pont  a külső íven (x,y,masz)
0,0,900,
ívközéppont megadása  (x,y,900)
-o*x, o*y, 2999
íves vonal a megadott középponttal az 5. (1.) pontig (x,y,3000+maszk)
ROTZ d
Koordinátarendszer elforgatása 
ADDZ m
Koordinátarendszer eltolása z irányban
NEXT i

!------------------------------------------------------

IF gyam="teljes felületen" THEN 
gb=t
gcb=0
gck=0
ng=1
ENDIF
IF gyam="egy gerendával középen" THEN gcb=(t-gb)/2
IF gyam <> "csak a járólapok" THEN
If ng > 1 THEN dr=(t-gb-gcb-gck)/(ng-1)
! dr: gerendák tengelytávolsága
r0=o+gcb+gb
! az első gerenda külső ívének sugara
FOR j=0 TO ng-1
ciklus kezdete 0-tól (gerendák száma - 1)-ig
DEL TOP
Összes koordináta-transzformáció törlése
r = r0 + j*dr
! az aktuális gerenda külső ívének sugara
szk = r*d/180*PI
! az itt mért belépés szélesség 
alfa = ATN(m/szk) 
! az itt mért meredekség
lvx= lv/SIN(alfa)
! a gerenda vízszintes metszete
lvy = lv/COS(alfa)
! a gerenda függőleges metszete
FOR i=0 TO n-1 
ciklus kezdete 0-tól (lépcsőfokok száma - 1)-ig
PUT i*szk, (i+1)*m-v,15
A verembe helyezem az i-edik lépcsőfok  koordinátáját
PUT (i+1)*szk, (i+1)*m-v,15
A verembe helyezem az i-edik lépcsőfok  koordinátáját
NEXT i
ROTZ 180
ADDY -r
ROTX 90
BPRISM_ gmt,gma,gms, 
5+2*n, -gb, r,
5 egyedi pont valamint fokonként két pont
lvx+v/m*szk,0,15,
1. egyedi pont 
lvx+v/m*szk,-ca,15,
2. egyedi pont
0,-ca,15,
3. egyedi pont
GET (6*n),
A veremből kiolvasok lépcsőfokonként két koordinátát a három-három értékével (x,y,maszk)
n*szk,n*m-lvy,15,
4. egyedi pont
lvx+v/m*szk,0,-1 
Az 1. egyedi pont megadása a poligon bezárásához
NEXT j
ENDIF
csigalépcső egy gerendával gyámolítva
csigalépcső két gerendával gyámolítva
Teljes felületén gyámolított csigalépcső
A teljes felületen gyámolított lépcső  3D scriptje
        DEL TOP

        szk = (o+t)*d/180*PI    ! a külső íven mért belépés szélesség 
        alfa = ATN(m/szk)       ! az itt mért meredekség
        lvx = lv/SIN(alfa)      ! a gerenda vízszintes metszete
        lvy = lv/COS(alfa)      ! a gerenda függőleges metszete
        
        FOR i=0 TO n-1         
            PUT i*szk, (i+1)*m-v,15
            PUT (i+1)*szk, (i+1)*m-v,15
        NEXT i
        
        ROTZ 180
        ADDY -o-t
        ROTx 90
        
        BPRISM_ gmt,gma,gms, 
            5+2*n, -t, o+t,
            lvx+v/m*szk,0,15,
            lvx+v/m*szk,-ca,15,
            0,-ca,15,
            GET (6*n),
            n*szk,n*m-lvy,15,
            lvx+v/m*szk,0,-1