BME Építészmérnöki Kar, Építészeti Ábrázolás Tanszék
tanszékvezeto: Dr. Szoboszlai Mihály

CAAD és építészinformatika (BMEEPAG0202)

Parametrikus modellezés (GDL)

Kiss Zsolt
egyetemi adjunktus



3. gyakorlat

Alaprajzi (2D) szimbólum



A Vezérleírásban írjuk át paraméteresre a járovonal helyét. (Először definiáljuk a paraméter ablakban a jv (járóvonal a külső széltől) paramétert, valamint hm az elmetszés magasságát . )
csigalepcso / Vezérleírás

n=CEIL (e/mmax)
m=e/n
sz=sz2m-2*m
alfa=sz/(r_orso+b_kar - jv)/PI*180
x=SIN(alfa/2)
y=COS(alfa/2)

fellépések száma 
fellépések tényleges magassága
belépés szélessége
lépcsőfok nyílásszöge
egységnyi sugárhoz tartozó x
egységnyi sugárhoz tartozó y       
Így a cikluson belül nem kell
újra és újra szögfüggvénnyekel
számolni, ami lelassítaná a programot)

Az előző gyakorlaton elkészített 2D leírás nem "szabványos", alakítsuk át úgy, hogy 1 méter magasságban vágjuk el a lépcsőt.
Fölötte szaggatottan jelöljük a fokokat, jelöljük a járóvonalat emelkedést nyillal.
csigalepcso / 2D leírás

n1 = MIN(n, INT(hm/m))
n2 = MAX(0, n-n1)
                                                   
ARC2 0,0,r_orso, 90,90+n1*alfa
ARC2 0,0,r_orso+b_kar, 90,90+n1*alfa
ARC2 0,0,r_orso+b_kar-jv, 90,90+n1*alfa

FOR i=1 TO n1+1
   LINE2 0, r_orso, 0, r_orso+b_kar
   ROT2 alfa
NEXT i
DEL 1

! Nyíl felrajzolása
LINE2 0, r_orso+b_kar-jv, 0.15,r_orso+b_kar-jv + 0.3
LINE2 0, r_orso+b_kar-jv, 0.15,r_orso+b_kar-jv - 0.3

DEFINE LINE_TYPE "szagg" 1, 3,
	 0.1/GLOB_SCALE, 0.1/GLOB_SCALE, 0.1/GLOB_SCALE
IF n2 > 0 THEN 
   LINE_TYPE "szagg"
   FOR i = 1 TO n2
   	ROT2 alfa
   	LINE2 0,r_orso, 0,r_orso + b_kar
   NEXT i     
   ! Szaggatott nyíl felrajzolása
   LINE2 0, r_orso+b_kar-jv, 0.15,r_orso+b_kar-jv + 0.3
   LINE2 0, r_orso+b_kar-jv, 0.15,r_orso+b_kar-jv - 0.3

   DEL TOP
   ARC2 0,0,r_orso,         90+n1*alfa, 90+n*alfa
   ARC2 0,0,r_orso+b_kar,   90+n1*alfa, 90+n*alfa
   ARC2 0,0,r_orso+b_kar-jv,90+n1*alfa, 90+n*alfa
ENDIF

IF felirat THEN
    ROT2 n1*alfa/2
    ADD2 0, r_orso+b_kar-jv/2

    DEFINE STYLE "szel" "Arial", 2, 8, 0
    DEFINE STYLE "mag" "Arial",  2, 2, 0
    STYLE "szel"
    TEXT2 0,0,  STR(n-1,2,0) + " x " + STR("%2.2cm", sz)+" cm"
    STYLE "mag"
    TEXT2 0,0, STR(n,2,0) + " x " + STR("%2.2cm", m)+" cm"
ENDIF

    

az egy méter alatti lépcsőfokok száma
az egy méter feletti lépcsőfokok száma

belső ív  (folytonos vonal)
külső ív  (folytonos vonal)
járóvonal (folytonos vonal)

ciklus i nullától nő egyesével (n1+1)-ig
2D vonal (x1, y1) - (x2, y2) pont között
KR* elforgatása alfa szöggel
ciklus vége
egy tanszformáció visszatörlés

Nyíl felrajzolása
2D vonal (x1, y1) - (x2, y2) pont között
2D vonal (x1, y1) - (x2, y2) pont között

szaggatott vonal definiálása 
 vonal köz vonal köz vonal
Ha van 1 méter felett akkor 
   vonaltípus szaggatott
   ciklus i nullától nő egyesével n2-ig   
      KR elforgatása alfa szöggel   
      2D vonal (x1, y1) - (x2, y2) pont között
   ciklus vége
   Nyíl felrajzolása
   2D vonal (x1, y1) - (x2, y2) pont között
   2D vonal (x1, y1) - (x2, y2) pont között

   összes tanszformáció visszatörlés
   belső ív  (szaggatott vonal)
   külső ív  (szaggatott vonal)
   járóvonal (szaggatott vonal)
feltétel vége

Ha van felirat
   forgassuk el a KR*-t 
   toljuk el KR*-t
  definiáljuk  felirat stílusokat:
     -belépés szélesség        
     -fellépésmagasság
  sílus beállítása "szel"-re
  felirat elhelyezése  
  sílus beállítása "mag"-ra
  felirat elhelyezése  
feltétel vége  
*Koordinátarendszer


   

A 2D kép most már jobb. Bár a felirat lehetne ívesen! :-))