Készítsünk el egy, az ábrán látható egyszerű csigalépcsőt!
(egyenlőre szerkezet nélkül) Változtatható legyen az
|
![]() |
Az alapelem egy trapéz alakú lépcsőfok, melyet az y tengelyre szimmetrikusan 'írunk' le.
A belépésszélességet a járóvonalon számítjuk ki, az egyszerűség kedvéért ívesen. ívhossz = sugár * nyílásszög* * radiánban Így kiszámíthatjuk a fok "nyílásszögét", a-t, amelyből aztán a koordinátákat. Célszerű kiszámítani az egységnyi sugárhoz tartozó x és y értékeket, hogy a cikluson belül nem kelljen újra és újra szögfüggvénnyekel számolni. |
![]() |
![]() |
Hozzunk létre egy új könyvtári elemet a File/Új könyvtári elem/Tárgy menüponttal. |
Definiáljuk a szükséges paramétereket a Paraméterek ablakban és adjuk meg rögtön a kezdeti értékeket is. e emeletmagasság 3.00 (m) b_kar karszélesség 1.20 (m) r_orso orsótér sugara 0.30 (m) v a lépcsőfok vastagsága 0.06 (m) sz2m a '2m + sz' értéke 0.63 (m) mmax maximális fellépésmagasság 0.18 (m) mat a lépcsőfok anyaga 11 |
A Vezérleírásba írjuk be azokat a számításokat, melyek eredményeit mind a 2D leírásban, mind a 3D leírásban használni fogunk |
|
|
|
n=CEIL (e/mmax) m=e/n sz=sz2m-2*m alfa=sz/(r_orso+b_kar*2/3)/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) |
A 3D leírásban írjuk le az objektumot. Egy hasábot (PRISM) forgatunk körbe, úgy, hogy közben fel is emeljük. |
|
|
|
MATERIAL mat ADDZ m-v FOR i=0 TO n-1 PRISM 5,v, -r_orso*x, r_orso*y, -(r_orso+b_kar)*x, (r_orso+b_kar)*y, (r_orso+b_kar)*x, (r_orso+b_kar)*y, r_orso*x, r_orso*y, -r_orso*x, r_orso*y ROTZ alfa ADDZ m NEXT i |
globális anyag beállítása az első lépcsőfok alja m-v magasságban ciklus i nullától nő (n-1)-ig a PRISM alappoligonja 5 pont ,v vastag, x1, y1, x2, y2, x3, y3, x4, y4, x5, y5, KR* elforgatása Z körül alfával KR* felemelése Z mentén m-mel ciklus vége *KR : koordinátarendszer |
A 2D leírásba írjuk le az objektum 2D-s nézetét. Másoljuk le a 3D leírást töröljük ki a felesleges sorokat és javítsuk ki a pirossal jelölt részeket |
|
|
|
FOR i=0 TO n-1 POLY2 5,1, -r_orso*x, r_orso*y, -(r_orso+b_kar)*x, (r_orso+b_kar)*y, (r_orso+b_kar)*x, (r_orso+b_kar)*y, r_orso*x, r_orso*y, -r_orso*x, r_orso*y ROT2 alfa NEXT i |
ciklus i nullától nő egyesével (n-1)-ig POLY2 poligonja 5 pont ,1-es kitöltés, x1, y1, x2, y2, x3, y3, x4, y4, x5, y5, KR elforgatása alfa szöggel ciklus vége |
![]() |
A 2D kép még nem igazán tökéletes, nincs járóvonal jelölve és nincs megoldva a kar "elmetszése". |
Módosítsuk a 3D leírást. Tegyük ívessé a széleket! Ezt a CPRISM_ elemmel tehetjük meg. |
|
|
|
IF tomor THEN v=m RESOL 72 ADDZ m-v FOR i=0 TO n-1 CPRISM_ mat,mat,mat, 8,v, -r_orso*x, r_orso*y,15, -(r_orso+b_kar)*x, (r_orso+b_kar)*y,15, 0,0,900, (r_orso+b_kar)*x, (r_orso+b_kar)*y,3000+15, r_orso*x, r_orso*y,15, 0,0,900, r_orso,alfa-oszlop*360,4000, -r_orso*x, r_orso*y,1 ROTZ alfa ADDZ m NEXT i |
Ha tömör a 'lépcső' legyen a v=m A felbontás legyen a kör hetvenkettede az első lépcsőfok alja m-v magasságban ciklus i nullától nő (n-1)-ig a CPRISM_ anyagai a tetején, alján, oldalán alappoligonja 8 pont ,v vastag, x1, y1,maszk1, x2, y2,maszk2, középpont x, y, x3, y3,maszk3, x4, y4,maszk4, középpont x, y, sugár, alfa, maszk x5, y5,maszk5 KR* elforgatása Z körül alfával KR* felemelése Z mentén m-mel ciklus vége *KR : koordinátarendszer |