ArchiCAD 6.0: Referenăní pfiíruăka GDL

Transkript

ArchiCAD 6.0: Referenăní pfiíruăka GDL
Kapitola 1: Úvod
1
Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
1
Kapitola 1: Úvod
1.1 O této pfiíruãce
Tato pfiíruãka je kompletním popisem GDL (Geometric Definition
Language - jazyk geometrického popisu), kter˘ ArchiCAD
obsahuje.
Tato pfiíruãka je doporuãena pro ty uÏivatele ArchiCADu, ktefií
chtûjí pokroãit za moÏnosti konstrukãních prostfiedkÛ ArchiCADu
a knihoven pfiedmûtÛ, dodávan˘ch s programovou sadou.
Krátká úvodní kapitola pfiiná‰í struãn˘ pfiehled rÛzn˘ch cest a
zvykÛ v modelování. GDL popis je pouze jedna z moÏností. Tuto
ãást si pfieãtûte bez ohledu na své dovednosti a cíle.
Dále v ní mÛÏete najít detailní popis GDL vãetnû definicí syntaxe,
pfiíkazÛ, promûnn˘ch, apod.
Tato ãást je doporuãena pro ty, ktefií jsou pfiipraveni nauãit se
pouÏívat GDL popis. Pravdûpodobnû nebudete nikdy ãíst tuto
ãást vcelku, ale budete prozkoumávat její obsah v závislosti na
sv˘ch potfiebách, znalostech, dovednostech a ambicích.
Tento manuál pfiedpokládá, Ïe jste seznámeni s ArchiCADem
alespoÀ na stfiední úrovni a Ïe jste prostudovali odpovídající
kapitoly Pfiíruãky ArchiCADu.
1.2 Knihovní prvky v ArchiCADu
Kromû základních modelovacích nástrojÛ v ArchiCADu - zdi,
desek a stfiech - je v projektu nûkolik nástrojÛ (Okno, Dvefie,
Objekt, Lampa a Zóna) a volitelné doplÀky (napfi. StairMaker and
ArchiSITE), které umoÏÀují vkládat pfieddefinované prvky do
projektu. Abyste je mohli umístit, musíte provést rÛzné akce. Po
umístûní mají rÛzné chování a jejich charakteristika je uloÏena v
rÛzn˘ch typech dokumentÛ.
Co mají v‰echny tyto prvky spoleãného, je zpÛsob, jak˘m bylo
definováno jejich 2D nebo 3D zobrazení a vlastnosti.
Pfiíruãka GDL vám pomÛÏe nauãit se pouÏívat tento v˘konn˘
jazyk pro vybavení projektÛ vlastními objekty, ornamenty a
jin˘mi detaily.
2
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 1: Úvod
Zdroje knihovních prvkÛ
Knihovna ArchiCADu
Knihovna ArchiCADStojí Stojí skuteãnû za to projít si Knihovnu
ArchiCADu pfiedtím, neÏ sami zaãnete vytváfiet své vlastní
knihovní prvky. Pfied zapoãetím vlastní tvorby prostudujte
v‰echny moÏnosti: objevíte prvky, o jejichÏ pouÏití jste nikdy
pfiedtím nepfieml˘‰eli.
Také byste se mûli seznámit s typick˘mi rozmûry a doplÀkov˘mi
parametry knihovních prvkÛ. Ty mÛÏete modifikovat podle
vlastních potfieb.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
3
Kapitola 1: Úvod
DoplÀkové knihovny
V souãasnosti je k dispozici nûkolik specializovan˘ch knihoven
od firmy Graphisoft (tzv. Graphisoft Collection, knihovny 3D
lidsk˘ch postav, 3D písmo, nábytek, atd.).
StairMaker
Aplikace Graphisoftu StairMaker umoÏÀuje pfiístup k
sofistikované objektové knihovnû. StairMaker poskytuje nûkolik
typÛ modelÛ schodi‰È, které mÛÏete pfiizpÛsobit sv˘m potfiebám
modifikováním parametrÛ jednotliv˘ch schodi‰È.
Model toãitého schodi‰tû vytvofieného ve StairMakeru
4
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 1: Úvod
Externí doplÀky
Existuje mnoÏství externích programÛ, které mohou vytváfiet
nebo editovat knihovní prvky ArchiCADu. Prvky vytvofiené
tûmito aplikacemi obsahují GDL popis a dal‰í data, závislá na
aplikaci. Tyto aplikace mohou b˘t pfiístupné buì pfiímo z
ArchiCADu nebo samostatnû. Více informací Vám poskytne Vá‰
prodejce ArchiCADu.
Model telefonu vytvofieného v aplikaci VisualGDL Model terénu
vytvofieného v aplikaci ArchiSITE
Knihovny ve formátu DXF
DXF knihovny jsou roz‰ífiené ve CAD svûtû a pokr˘vají témûfi
kaÏdou oblast projektování a designu. Mnoho v˘robcÛ nabízí
symboly nebo modely sv˘ch produktÛ v DXF formátu.
ArchiCAD dokáÏe jednodu‰e importovat tyto knihovny.
PouÏijte své vlastní schopnosti
V mnoha pfiípadech budete potfiebovat knihovní prvky, které
nenajdete v Ïádné knihovnû. V tomto pfiípadû máte stále nûkolik
moÏností, aniÏ byste museli pouÏít GDL popis.
Modelování v jin˘ch3D aplikacích
ArchiCAD umí importovat rÛzné 3D prvky, které jste vytvofiili
pomocí napfi. Zoomu nebo Wavefrontu. Tyto aplikace mají ‰iroké
vyuÏití jako 3D modelátory prvkÛ obecné geometrie. Pro pouÏití
této metody se v‰ak nejprve musíte nauãit ovládat jiné aplikace.
Modelování vlastními 3D nástroji ArchiCADu
Zdi, desky, stfiechy a dal‰í konstrukãní nástroje ArchiCADu jsou
Vám k dispozici pro pouÏití jako obecné stevbní prvky bez
ohledu na své pÛvodní urãení. MÛÏete napfi. jednodu‰e
ArchiCAD 6.0: Referenãní pfiíruãka GDL
5
Kapitola 1: Úvod
vymodelovat stÛl pomocí zdí a desek. Takové konstrukce pak
mÛÏete ukládat jako knihovní prvky a pouÏívat je opakovanû
jako konstrukãní jednotky i v dal‰ích projektech.
Knihovní prvky, vzniklé v pÛdorysu, mohou b˘t uloÏeny buì
jako GDL popisy nebo v binárním formátu. GDL popisy jsou
editovatelné, takÏe jejich modifikací mÛÏete vylep‰ovat 3D
zobrazení knihovních prvkÛ. Binární knihovní prvky nabízejí
rychlé zobrazování svûteln˘ch úãinkÛ, ale dovolují pouze
limitovanou editaci. Chcete-li pfiedvádût jiné typy modifikací,
musíte se vrátit do pÛvodního pÛdorysu, provést zmûny a uloÏit
dal‰í binární knihovní prvek.
KruÏba gotickéh okna vymodelovaná deskami a stfiechami
UloÏíte-li prvky pÛdorysu jako GDL popis, komplexnost
v˘sledného popisu závisí na typech prvkÛ, které jste pouÏili.
Detailní informace o knihovních prvcích získan˘ch z pÛdorysu
ArchiCADu najdete v oddíle "Vytváfiení objektÛ v ArchiCADu"
této kapitoly a v kapitole "GDL vytvofien˘ v pÛdoryse" v Pfiíloze.
GDL popisy
Chcete-li se dostat dále za v‰echny v˘‰e popsané moÏnosti, nebo
potfiebujete-li knihovní prvky, jejichÏ tvar mÛÏe b˘t ovládán
uÏivatelsky definovateln˘mi parametry, Va‰í dal‰í moÏností je
vyuÏití prostfiedí GDL popisÛ, které nabízí ArchiCAD.
6
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 1: Úvod
1.3 Pfiehled vytváfiení GDL
popisÛ
Co je GDL?
GDL je vlastní parametrick˘ programovací jazyk ArchiCADu
podobn˘ BASICu. Jeho úãelem je popis tfiídimenzionálních
objektÛ, jakou jsou dvefie, okna, nábytek, prvky staveb, schody,
apod., a 2D symbolÛ, které je representují v pÛdoryse. Tyto
pfiedmûty se naz˘vají knihovní prvky.
Struktura knihovních prvkÛ ArchiCADu
KaÏd˘ prvek knihovny popsan˘ GDL jazykem obsahuje popis,
coÏ je seznam aktuálních pfiíkazÛ GDL, kter˘ vytváfií 3D tvary a
2D symboly. Knihovní prvky mohou také mít popis pro
kvantitativní v˘poãty v ArchiCADu, které naz˘váme popisy
vlastností.
Povely hlavního popisu se provádûjí pfied kaÏd˘m popisem
(jako by byly zkopírovány pfied ostatní popisy knihovního
prvku).
2D popis obsahuje parametrick˘ popis 2D kresby. Binární Ê2D
data knihovního prvku (obsah okna 2D symbolu) lze vyvolávat
pomocí povelu FRAGMENT2. Pokud je okno 2D popisu prázdné,
binární 2D data budou pouÏita pro zobrazení knihovního prvku
v pÛdoryse.
3D popis obsahuje parametrick˘ popis 3D modelu. Binární 3D
data (která se generují bûhem importu nebo operace UloÏit
jako...) lze vyvolávat povelem BINARY.
Popis vlastností obsahuje komponenty a popisy pouÏité v
seznamech prvkÛ, komponentÛ a zón. Binární popisy
vlastností popsané v oddíle komponenty a popisy knihovního
prvku lze vyvolávat pomocí povelu BINARYPROP. Pokud je okno
popisu vlastností prázdné, pouÏijí se pfii sestavování seznamÛ
binární data vlastností.
V popisu seznamu hodnot mÛÏete definovat sady moÏn˘ch
hodnot patametrÛ knihovních prvkÛ.
Parametry nastavené v ãásti parametrÛ se pouÏívají jako
implicitní hodnoty knihovních prvkÛ, kdyÏ jej vkládáte do
pÛdorysu.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
7
Kapitola 1: Úvod
Náhledov˘ obrázek se zobrazuje v dialogu pro nastavení
knihovního prvku, kdyÏ prohlíÏíte aktivní knihovnu. Lze jej
vyvolat ze 3D a 2D popisÛ povely PICTURE a PICTURE2.
V ãásti Komentáfi knihovních prvkÛ mohou b˘t uloÏeny textové
informace, vztahující se k prvku.
ArchiCAD poskytuje pfiíjemné prostfiedí pfii psaní GDL popisÛ
kdykoli dostupnou vizualizací a kontrolou syntaxe a chyb.
Analyzujte, rozkládejte a zjednodu‰ujte
Bez ohledu na sloÏitost mÛÏe b˘t vût‰ina bûÏn˘ch objektÛ, které
chcete vytváfiet, rozloÏena na základní bloky jednoduch˘ch
geometrick˘ch tvarÛ. VÏdy zaãnûte s jednoduch˘mi a krátk˘mi
anal˘zami budoucího objektu a nadefinujte v‰echny geometrické
prvky, ze kter˘ch se skládá. Pouze jako dekonstruované základní
jednotky mohou b˘t tyto prvky pfiekládány do slovníku jazyka
GDL popisu. Pokud byla va‰e anal˘za správná, syntézou tûchto
entit se dostanete velmi blízko poÏadovanému tvaru prvku.
Pro provedení anal˘zy potfiebujete mít dobr˘ smysl pro vnímání
prostoru a alespoÀ základní znalost deskriptivní geometrie.
Prvky oken rÛzného stupnû propracování
Abyste se vyhnuli rann˘m obtíÏím a pokraãovali podle
v˘ukového plánu, zaãnûte s objekty definovan˘ch rozmûrÛ a
doveìte je do nejjednodu‰‰í, ale stále je‰tû rozpoznatelné formy.
Jak se budete seznamovat se základním modelováním, mÛÏete
sniÏovat úroveÀ zjednodu‰ování a postupnû se dostávat blíÏ a
blíÏ k ideálnmu tvaru.
"Ideální" neznamená nutnû "komplikovan˘". V závislosti na
architektonickém projektu se ideální knihovní prvky budou
pohybovat od základních tvarÛ aÏ po do detailÛ propracované
prvky. Okno na obrázku vlevo se dobfie hodí pro vizualizaci
projektu. Okno vpravo je tak realistické a detailní, Ïe je moÏné
jej pouÏít v provádûcích fázích projektu.
8
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 1: Úvod
Vypracování
Va‰e parametrické objekty se mohou li‰it propracovaností v
závislosti na Va‰em zámûru. Objekty pro vnitfiní pouÏití v
kanceláfii mohou samozfiejmû b˘t ménû propracované neÏ ty,
které pouÏijete pro komerãní distribuci.
Mají-li va‰e symboly v pÛdoryse mal˘ v˘znam, nebo se
parametrické zmûny nemusí ve 2D projevovat, mÛÏete jejich
parametrick˘ 2D popis vypustit.
Dokonce i kdyÏ se parametrické zmûny ve 2D mají projevit, není
absolutnû nutné psát parametrick˘ 2D popis. MÛÏete tvofiit
parametrické modifikace v oknû 3D popisu, pouÏít 3D horní
pohled modifikovaného objektu jako nov˘ symbol a uloÏit tento
objekt pod nov˘m jménem. V˘sledkem bude nûkolik obdobn˘ch
objektÛ získan˘ch z pÛvodního pomocí parametrick˘ch zmûn
implicitních hodnot.
Vût‰ina komplexních a inteligentních knihovních prvkÛ se skládá
z parametrického 3D popisu s odpovídajícím parametrick˘m 2D
popisem. Zmûny v jejich nastavení neovlivní pouze 3D zobrazení
objektu, ale také jeho vzhled v pÛdoryse.
Zaãínáme
Potfieby va‰eho projektu, va‰e zku‰enosti s programováním a
znalosti deskriptivní geometrie jistû ovlivní, kde s GDL zaãnete.
Nezaãínejte s GDL s komplikovan˘mi cíli. Radûji se zkuste uãit
GDL postupn˘m experimentováním se v‰emi jeho funkcemi,
abyste zjistili, jak je mÛÏete nejlépe vuÏít ve svÛj prospûch.
Postupujte podle doporuãení odborné úrovnû dále v této
kapitole.
Ovládáte-li nûjak˘ programovací jazyk, jako je BASIC, mÛÏete se
s GDL seznámit tak, Ïe si prohlédnete existující popisy. Mnoho
se nauãíte také otevfiením knihovních prvkÛ ArchiCADu a
ArchiCAD 6.0: Referenãní pfiíruãka GDL
9
Kapitola 1: Úvod
prozkoumáním jejich 2D a 3D popisÛ. Kromû toho mÛÏete
ukládat prvky z pÛdorysu v formátu GDL a prohlíÏet si jejich
popisy.
Neznáte-li BASIC, ale hráli jste nûkdy LEGO, jenÏ má daleko k
programovacímu jazyku, mÛÏete i vy najít svÛj zpÛsob
procviãování GDL. Navrhujeme zkusit nejprve nejjednodu‰‰í
pfiíkazy a sledovat jejich efekt ve 3D oknû knihovního prvku.
Podrobnûj‰í informace o editaci knihovních prvkÛ v prostfiedí
ArchiCADu naleznete v referenãní pfiíruãce ArchiCADu.
Povely základní úrovnû
Jsou to povely jednoduché pro porozumûní i pouÏití. NevyÏadují
Ïádné programovací znalosti.
MÛÏete v‰ak s nimi vytváfiet velmi efektní objekty.
Jednoduché tvary
Útvary GDL jsou základní geometrické jednotky, ze kter˘ch se
skládají komplexní knihovní prvky. Jsou to konstrukãní bloky
jazyka GDL. ÚtvaryÊdo 3D prostoru vloÏíte pomocí pfiíkazÛ v GDL
popisu.
Pfiíkaz pro útvar se skládá z povelu, kter˘ definuje typ útvaru, a z
nûkolika ãíseln˘ch hodnot nebo textov˘ch parametrÛ, které
definují jeho rozmûry.
Poãet hodnot se tvar od tvaru rÛzní.
Zpoãátku mÛÏete vynechat pouÏívání parametrÛ a pracovat
pouze s fixními hodnotami.
Z povelÛ pro útvary mÛÏete zaãít s následujícími:
Ve 3D:
BLOCK
CYLIND SPHERE
PRISM
Ve 2D:
LINE2
RECT2
POLY2
CIRCLE2 ARC2
10
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 1: Úvod
Transformace soufiadnic
Transformace soufiadnic by se daly pfiirovnat k pohybu ruky na
urãité místo, neÏ umístíte dílek LEGA. Nastavují pozici, orientaci a
mûfiítko dal‰ího útvaru.
Z
Z
Y
Y
G
X
L
X
BLOCK
ADDX
ROTY
BLOCK
1,
1.5
30
1,
0.5, 0.5
0.5, 0.5
Ve 3D oknû knihovního prvku mÛÏete pfiípadnû sledovat
poãáteãní (G=globální) a aktuální (L=lokální) pozici trojice
soufiadn˘ch os vzhledem ke v‰em pfiítomn˘m objektÛm.
Nejjednodu‰‰í transformací soufiadnic jsou tyto:
Ve 3D:
ADDX
ADDY
ADDZ
ROTX
ROTY
ROTZ
Ve 2D:
ADD2
ROT2
Povely zaãínající ADD dal‰í útvar pfiesunou, povely s ROT jej
natoãí kolem libovolné osy.
Povely stfiední úrovnû
Tyto pfiíkazy jsou o nûco sloÏitûj‰í, nikoli proto, Ïe by vyÏadovaly
znalost programování, ale proto, Ïe popisují sloÏitûj‰í útvary nebo
abstraktnûj‰í transformace.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
11
Kapitola 1: Úvod
Ve 3D:
ELLIPS
POLY_
PRISM_
TEXT
Ve 2D:
HOTSPOT2
CONE
LIN_
CPRISM_
PLANE
SLAB
PLANE_
SLAB_
POLY2_
TEXT2
FRAGMENT2
CSLAB_
Tyto pfiíkazy obvykle vyÏadují definování více hodnot, neÏ
jednoduché povely. Nûkteré z nich vyÏadují hodnoty statutÛ pro
ovládání viditelnosti hran a povrchÛ.
Transformace soufiadnic
Ve 3D:
MULX
ADD
MULY
MUL
MULZ
ROT
Ve 2D:
MUL2
PRISM 4,
1,
3,
3,
-3, 0
ADDZ -1
MUL
0.666667,
PRISM 4,
1,
3,
3,
-3, 0
ADDZ -1
MUL
0.666667,
PRISM 4,
1,
3,
3,
-3, 0
12
3,
-3,
0,
3,
0.666667, 1
3,
0,
-3, 3,
0.666667, 1
3,
0,
-3, 3,
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 1: Úvod
Transformace zaãínající s MUL mûní proporce následn˘ch útvarÛ
zakfiivením kruÏnic do elips nebo koulí do elipsoidÛ. Záporné
hodnoty mÛÏete pouÏívat pro zrcadlení. Pfiíkaz na druhé fiádce
ovlivÀují v‰echny tfii dimenze prostoru najednou.
SloÏité povely a funkce
Tyto povely pfiidávají dal‰í úroveÀ komplexnosti. Nejen kvÛli
geometrick˘m útvarÛm, které vytváfiejí, ale také proto, Ïe
prezentují GDL jako programovací jazyk.
Ve 3D:
BPRISM_
BWALL_
CWALL_
XWALL_
CROOF_
FPRISM_
SPRISM_
EXTRUDE
PYRAMID REVOLVE RULED
SWEEP
TUBE
TUBEA
COONS
MESH
MASS
LIGHT
PICTURE
Do této skupiny patfií povely, které umoÏÀují generovat hladké
povrchy pfiesunováním polygonální základny po prostorové
kfiivce. Nûkteré útvary vyÏadují definování parametrÛ materiálu.
Pomocí fiezn˘ch rovin, polygonÛ a útvarÛ mÛÏete generovat
komplexní volitelné útvary z jednoduch˘ch útvarÛ. Odpovídající
povely jsou CUTPLANE, CUTPOLY, CUTPOLYA, CUTSHAPE a
CUTEND.
Ve 2D:
PICTURE2
POLY2_A
SPLINE2
SPLINE2_A
Povely pro fiízení chodu programu a podmínkové
povely
FOR
DO
REPEAT
IF
GOTO
RETURN
ArchiCAD 6.0: Referenãní pfiíruãka GDL
NEXT
WHILE
UNTIL
THEN
GOSUB
END
ENDWHILE
ELSE
ENDIF
EXIT
13
Kapitola 1: Úvod
Tyto povely by mûly b˘t známy v‰em, kdo se nûkdy setkali s
poãítaãov˘m programováním, ale jsou tak základní, Ïe jim
mÛÏete porozumût i bez tûchto zku‰eností.
UmoÏÀují provádût opakovanû ãásti popisÛ, napfiíklad pro
vytvofiení nûkolika útvarÛ jedin˘m krátk˘m popisem, nebo
provádût rozhodovací operace na základû dfiívej‰ích v˘poãtÛ.
FOR I = 1 TO 5
PRISM_ 8,
0.05,
-0.5,
0,
-0.5,
-0.15,
0.5,
-0.15,
0.5,
0,
0.45,
0,
0.45,
-0.1,
-.45,
-0.1,
-0.45, 0,
ADDZ 0.2
NEXT I
15,
15,
15,
15,
15,
15,
15,
15
Parametry
V tomto stádiu v˘uky mÛÏete nahrazovat fixní ãíselné hodnoty
promûnn˘mi. Objekt se tak stane mnohem flexibilnûj‰ím. Tyto
promûnné jsou dostupné v hlavním dialogu nastavení knihovního
prvku bûhem práce v pÛdoryse.
Volání maker
Standardními GDL útvary nejste limitováni. Libovoln˘ existující
knihovní prvek se jako celek mÛÏe stát GDL útvarem. Pro jeho
pouÏití v jiném popisu jednodu‰e “zavolejte” jeho jméno pfieneste
do nûj poÏadované parametry jako u standardních povelÛ pro
útvary.
14
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 1: Úvod
GDL popisy nejvy‰‰í úrovnû
Jakmile dobfie porozumíte funkcím a povelÛm popsan˘m v˘‰e,
budete schopni vyuÏít i tûch nûkolik zbyl˘ch pfiíkazÛ, které
budete pravdûpodobnû potfiebovat jen zfiídka.
Pozn Kapacita pamûti poãítaãe mÛÏe limitovat velikost
souboru va‰ich GDL popisÛ, hloubku volání maker a poãet
transformací.
Dal‰í informace o v˘‰e uveden˘ch GDL pfiíkazech jsou v dal‰ích
kapitolách této pfiíruãky.
Pfiehled dostupn˘ch povelÛ a struktury jejich parametrÛ najdete v
pfiíslu‰né nápovûdû v ArchiCADu.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
15
Kapitola 1: Úvod
1.4 Jak ArchiCAD generuje 3D
zobrazení
Trojrozmûrné modelování v ArchiCADu je zaloÏeno na
aritmetice s plovoucí desetinnou ãárkou, coÏ znamená, Ïe
velikost modelu není omezena. Pfii libovolné velikosti je vÏdy
zachována stejná pfiesnost do nejmen‰ích detailÛ.
3D model, kter˘ nakonec uvidíte na obrazovce, je sloÏen z
geometrick˘ch primitiv. Tato primitiva jsou uloÏena v pamûti
poãítaãe v binárním formátu a ArchiCAD je generuje podle
pÛdorysu, kter˘ jste vytvofiili. Tato promûna inteligentních
architektonick˘ch pÛdorysn˘ch prvkÛ na binární 3D data se
naz˘vá 3D konverze.
Primitiva se skládají ze:
- v‰ech vrcholÛ stavebních komponentÛ
- v‰ech hran propojujících tyto vrcholy
- v‰ech plo‰n˘ch polygonÛ dan˘ch tûmito hranami.
Skupiny tûchto primitiv se souhrnnû naz˘vají "tûlesa". Tûlesa
tvofií 3D model. V‰echny funkce 3D vizualizace v ArchiCADu hladké povrchy, vrhání stínÛ, lesk a prÛhlednost materiálÛ - jsou
zaloÏeny na této datové struktufie.
3D prostor v ArchiCADu
3D model se vytváfií ve trojrozmûrném prostoru daném osami x,
y a z hlavního soufiadného systému. Poãátek tohoto systému
se naz˘vá absolutní poãátek.
V ArchiCADu je absolutní poãátek ve spodním levém rohu
pracovního okna, pokud program spustíte bez naãtení urãitého
dokumentu. Navíc absolutní poãátek definuje nulovou v˘‰kovou
úroveÀ v‰ech pater projektu.
JestliÏe napfiíklad do projektu vloÏíte nûjak˘ objekt, jeho
pÛdorysné umístûní definuje jeho pozici v osách x a y tohoto
globálního soufiadného systému. Umístûní v ose z mÛÏe b˘t
nastaveno v dialogu pro nastavení objektÛ nebo upraveno pfiímo
pfii vkládání ve 3D. Tato pozice bude základem pro implicitní
umístûní lokálního soufiadného systému objektu. Útvary
definované v popisu budou umístûny vzhledem k tomuto
lokálnímu soufiadnému systému.
16
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 1: Úvod
K ãemu jsou transformace
soufiadnic?
KaÏd˘ GDL útvar je spojen s aktuální pozicí lokálního
soufiadného systému. Napfiíklad útvary BLOCK (bloky) se vkládají
do poãátku. Délka, ‰ífika a v˘‰ka bloku se vÏdy mûfií v kladném
smûru tûchto tfií os. Takto je pro úplnou definici bloku zapotfiebí
pouze tfií parametrÛ, udávajících jeho rozmûry ve smûru os.
Jak mÛÏete vygenerovat posunut˘ a natoãen˘ blok? Pomocí
parametrÛ BLOCKu to nelze uskuteãnit. Povel nemá parametry
pro posun a rotaci.
Odpovûdí je posun soufiadného systému do správné polohy pfied
zadáním povelu BLOCK. Pomocí povelÛ pro transformaci
soufiadnic mÛÏete soufiadn˘ systém posunovat a otáãet kolem os.
Tyto transformace se neuplatÀují na útvary jiÏ vytvofiené,
ovlivÀují pouze následující útvary.
Pfiekladaã GDL
Pfii interpretaci popisu GDL bude pfiekladaã GDL, zabudovan˘ v
ArchiCADu. naãítat umístûní, velikost, úhel natoãení, uÏivatelsky
definované parametry a zrcadlové zobrazení knihovního prvku.
Na základû tûchto informací posune lokální soufiadn˘ systém do
pfiíslu‰né polohy a bude pfiipraven akceptovat pfiíkazy GDL z
popisu knihovního prvku. PokaÏdé, kdyÏ pfiekladaã narazí na
povel pro základní útvar, vygeneruje geometrická primitiva, ze
kter˘ch sloÏí zadan˘ tvar.
Po ukonãení interpretace popisu se do pamûti uloÏí kompletní
binární 3D model a vy z nûj mÛÏete vytváfiet 3D zobrazení,
pfielety, ãi studie oslunûní.
ArchiCAD obsahuje pfiedkompilátor a pfiekladaã GDL.
Interpretace GDL popisu pouÏívá pfiedkompilovan˘ kód, ãímÏ se
zv˘‰í rychlost anal˘zy. Pfii modifikaci GDL popisu se generuje
nov˘ kód.
Datové struktury pfievedené z jin˘ch standardních formátÛ
souborÛ (napfi. DXF, ZOOM, Alias Wavefront) se ukládají do 3D
binární ãásti knihovních prvkÛ ArchiCADu. Na tuto ãást se
odkazuje pfiíkaz BINARY GDL popisÛ.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
17
Kapitola 1: Úvod
Pofiadí anal˘zy GDL popisu
UÏivatelé ArchiCADu nemají moÏnost urãovat pofiadí, ve kterém
budou analyzovány knihovní prvky v pÛdorysu. Pofiadí anal˘zy
GDL popisÛ je zaloÏeno na vnitfiní struktufie dat, navíc jej
ovlivÀuje i pouÏití pfiíkazÛ Zpût a Vrátit, stejnû jako modifikace
dat. Jedinou vyjímkou z tohoto pravidla jsou speciální GDL
popisy, tzv. "MASTER_GDL" nebo "MASTEREND_GDL" popisy.
Popisy, jejichÏ jména zaãínají "MASTER_GDL", se provádûjí pfied
3D konverzí, pfied vytváfiením fiezu, pfied startem procesu
vytváfiení seznamÛ a po naãtení aktivní knihovny.
Popisy, jejichÏ jména zaãínají "MASTEREND_GDL", se provádûjí
po sekvenci 3D konverze, po vytváfiení fiezÛ, po vyvofiení
seznamÛ, a kdyÏ se má zmûnit aktivní knihovna (Naãíst
knihovny, Otevfiít projekt, Nov˘ projekt, Konec).
Tyto popisy se neprovádûjí, kdyÏ editujete knihovní prvky.
Pokud knihovní prvky obsahují jeden nebo více takov˘ch
popisÛ, budou v‰echny provedeny v pofiadí, které není
definováno.
MASTER_GDL a MASTEREND_GDL popisy mohou obsahovat
definice atributÛ, inicializace globálních uÏivatelsk˘ch
promûnn˘ch, 3D povely (uplatÀující se pouze ve 3D modelu),
definice seznamu hodnot (viz povel VALUES v kapitole
Negeometrické popisy) a povely specifické pro doplÀky GDL.
Atributy definované v tûchto popisech budou spojeny s kolekcí
atributÛ ArchiCADu (atributy ArchiCADu stejn˘ch jmen nebudou
nahrazeny, zatímco atributy vzniklé v GDL a needitované v
ArchiCADu budou nahrazeny vÏdy).
18
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 1: Úvod
1.5 Vytváfiení objektÛ v
ArchiCADu
3D knihovní prvky se tradiãnû vytváfiejí sestavením GDL popisu a
ruãním nakreslením 2D symbolu. ArchiCAD nabízí ãtyfii zpÛspby,
jak tento proces automatizovat uloÏením sad pÛdorysn˘ch
konstrukãních prvkÛ jako jedin˘ knihovní prvek.
1) UloÏení celého projektu nebo jeho oznaãen˘ch prvkÛ jako
3D GDL dokument (UloÏit jako... > 3D GDL).
Takto budou v‰echny (nebo oznaãené) pÛdorysné prvky uloÏeny
jako 3D GDL útvary, jak je popsáno v Pfiíloze. Tento GDL soubor
mÛÏete otevírat a editovat v ArchiCADu buì jako hol˘ GDL text
nebo jako knihovní prvek (UloÏit speciálnû > Objekt
ArchiCADu).
2) UloÏení celého projektu nebo jeho oznaãené prvky jako
objekt ArchiCADu.
V‰echny (nebo oznaãené) pÛdorysné prvky budou uloÏeny jako
kompletní knihovní prvek s 2D a 3D popisem. Tento knihovní
prvek je ve skuteãnosti reprezentantem pÛdorysu s popsanou 2D
a 3D ãástí.
3) UloÏení modelu zobrazeného ve 3D oknû jako kompletní
knihovní prvek s 2D symbolem i popisem 3D (UloÏit jako...
> Knihovní prvek).
3D popis knihovního prvku mÛÏe b˘t buì ve formû GDL popisu
nebo needitovateln˘ch binárních dat. 2D symbol je generován
pfiímo ze zobrazení 3D.
Pro vytvofiení knihovního prvku postupujte následovnû:
- Pomocí konstrukãních nástrojÛ ArchiCADu vytvofite model.
- Aktivujte okno 3D, abyste naãetli 3D datovou strukturu
modelu a vidûli ji v aktuálním zobrazení. Pfii ukládání dvefií/
oken tento postup nelze uplatnit.
- Zadejte povel UloÏit jako... z menu Soubor a vyberte
dokument typu Knihovní prvek.
- Po potvrzení pfiíkazu UloÏit nastavte v dialogu poÏadované
parametry pro uloÏení.
Obecné objekty: 2D symbol je generován pfiímo z pÛdorysu,
bokorysu nebo z spodního pohledu, buì jako ãárov˘ model
nebo viditelné hrany. Symbol a 3D útvar automaticky pfiizpÛsobí
spodní lev˘ roh opsaného hranolu útvaru poãátku objektu,
pokud poãátek objektu není v tomto opsaném rámeãku.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
19
Kapitola 1: Úvod
Dvefie/okna: Implicitní umístûní soufiadného systému tûchto
knihovních prvkÛ je natoãen tak, Ïe rovina x-y je svislá a osa z
mífií vodorovnû do zdi. Poãátek je vloÏen do stfiedu dolního
okraje otvoru ve zdi, na vnûj‰í stranu zdi. Takto lze jednodu‰e
modelovat dvefie/okna pomocí prvkÛ v rovinû x-y. Více detailÛ
najdete v kapitole 'Zvlá‰tnosti u dvefií a oken' v této pfiíruãce.
4) Pfiesun oznaãen˘ch pÛdorysn˘ch prvkÛ funkcí Pfiesunout &
pustit do libovolného textového okna (okna popisu
knihovního prvku). V závislosti na cíli bude generován 2D
GDL popis (2D popis nebo jiné textové okno) nebo 3D
popis (okno 3D popisu) prvkÛ.
20
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 2: Základní syntaktické prvky
2
Základní syntaktické prvky
ArchiCAD 6.0: Referenãní pfiíruãka GDL
21
Kapitola 2: Základní syntaktické prvky
GDL nerozli‰uje velká a malá písmena; rozdíl mezi velk˘mi a
mal˘mi písmeny se uplatÀuje pouze u fietûzcÛ napsan˘ch mezi
uvozovkami. Logick˘ konec GDL popisu je oznaãen povelem
END nebo EXIT nebo fyzick˘m koncem popisu.
Povely Program v GDL se skládá z povelÛ. Povel mÛÏe zaãínat klíãov˘m
slovem (definujícím GDL útvar, transformaci soufiadnic nebo
chod programu), jménem makra (viz kap. 5.4.) nebo jménem
promûnné, za nímÏ následuje znaménko „=“ a matematick˘
v˘raz.
¤ádek Pfiíkazy jsou v fiádcích, oddûlen˘ch oddûlovaãi (znakÛ
end_of_line).
âárka (,) na konci znamená, Ïe pfiíkaz pokraãuje na následujícím
fiádku. Dvojteãka (:) se pouÏívá pro oddûlení pfiíkazÛ GDL na
fiádku. Za vykfiiãník (!) mÛÏete zapsat jak˘koli komentáfi. Prázdné
fiádky mohou b˘t vkládány do zápisu GDL bez jakéhokoli vlivu.
Mezi operandy a operátory mÛÏe b˘t libovoln˘ poãet mezer nebo
tabelátorÛ. Po klíãov˘ch slovech povelu a volání maker je pouÏití
mezery nebo tabelátoru povinné.
Návû‰tí KaÏd˘ fiádek mÛÏe zaãínat návû‰tím. Návû‰tí je celé ãíslo, za nímÏ
následuje dvojteãka (:). Je odkazem pro pfiíkaz, kter˘ za ním
následuje. Je kontrolována jednoznaãnost v˘skytu návû‰tí.
Provádûní programu mÛÏe po povelu GOTO nebo GOSUB
pokraãovat v libovolném návûstí.
PouÏitelné znaky GDL text se skládá z mal˘ch a velk˘ch znakÛ anglické abecedy,
ãísel a následujích znakÛ:
<mezera> _ (podtrÏítko)
*
"
~
/
'
!
^
`
:
=
´
,
<
”
;
>
“
.
#
’
+
(
‘
–
)
[ ] \ |(svislá ãárka)
<end_of_line>
¤etûzce znakÛ Libovoln˘ fietûzec znakÛ, kter˘ je umístûn mezi uvozovkami
(",',`,´,”,’,“,‘) nebo jak˘koli fietûzec znakÛ bez uvozovek, kter˘ v
popisu nefiguruje jako identifikátor s danou hodnotou (volání
makra, název atributu, název souboru). ¤etûzce bez uvozovek
budou zamûnûny za velká písmena, doporuãujeme tedy
uvozovky pouÏívat. Maximální povolená délka fietûzce znakÛ je
255.
Znak '\' má zvlá‰tní fiídící hodnoty. Jeho smysl závisí na
následujícím znaku.
22
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 2: Základní syntaktické prvky
\\
\n
\t
\new line
fiádku
\jiné
Pfiíklady:
samotn˘ znak '\'
nov˘ fiádek
tabulátor
pokraãování na dal‰ím fiádku bez znaku nového
nesprávnû, zobrazí se varování
"Toto je fietûzec"
“umyvadlo 1'-6”*1'-2“
'NepouÏívejte jiné znaky'
Identifikátory Identifikátory jsou zvlá‰tní fietûzce znakÛ:
nejsou del‰í neÏ 255 znakÛ, zaãínají písmenem nebo znakem '_'
nebo '~', skládají se z písmen, ãísel a znaku '_' nebo '~'.
Malá a celká písmena se nerozli‰ují.
Identifikátory mohou b˘t klíãová slova, globální nebo místní
promûnné nebo fietûzce (jména). Klíãová slova a globální
promûnné jsou urãeny ArchiCADem, v‰echny ostatní
identifikátory mohou b˘t pouÏity jako jména promûnn˘ch.
Promûnné GDL programy mohou pracovat s promûnn˘mi (definovan˘mi
identifikátory), ãísly a fietûzci znakÛ.
Existují dva typy promûnn˘ch: lokální a globální.
V‰echny identifikátory, které nejsou klíãov˘mi slovy, globální
promûnnou, jménem atributu, makra nebo souboru, jsou
povaÏovány za lokální promûnné. Dokud nejsou inicializovány,
jejich hodnota je 0,0. Lokální promûnné jsou spjaté s volan˘mi
makry a pfii návratu z makra pfiekladaã jejich hodnoty obnoví.
Globální promûnné mají rezervovaná jména (seznam globálních
promûnn˘ch ArchiCADu najdete v Pfiíloze). Bûhem volání makra
se neukládají, ãímÏ umoÏÀují uÏivateli ukládat speciální hodnoty
modelu a simulaci vrácen˘ch hodnot z maker. UÏivatelské
globální promûnné lze nastavit v libovolném popisu, ale uplatní
se pouze v následn˘ch popisech. Chcete-li zajistit, aby urãit˘
popis byl analyzován jako první, zadejte tyto promûnné do
knihovního prvku MASTER_GDL. Ostatní globální promûnné lze
pouÏít v popisech pro komunikaci s ArchiCADem.
PouÏitím pfiíkazu "=" mÛÏete pfiifiadit lokálním a globálním
promûnn˘m ãíselnou nebo fietûzcovou hodnotu.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
23
Kapitola 2: Základní syntaktické prvky
Parametry Identifikátory vyjmenované v seznamu parametrÛ knihovních
prvkÛ se naz˘vají parametry. Délka parametru nesmí pfiekroãit 32
znakÛ. V rámci popisu se pro parametry uplatÀují stejná pravidla
jako pro lokální promûnné.
Parametry ãistû textov˘ch GDL souborÛ jsou identifikovány
písmeny A aÏ Z.
Jednoduché typy Promûnné, parametry a v˘razy mohou b˘t dvou jednoduch˘ch
typÛ: ãíselné nebo fietûzcové.
âíselné v˘razy jsou konstantní ãísla, numerické promûnné nebo
parametry, funkce, jejichÏ v˘sledkem jsou numerické hodnoty, a
libovonlná kombinace tûchto operací.
¤etûzcové v˘razy jsou konstantní fietûzce, fietûzcové promûnné
nebo parametry, funkce, které vrací fietûzec, a libovolná
kombinace tûchto operací, jejichÏ v˘sledkem je fietûzec.
Odvozené typy Promûnné a parametry mohou také b˘t matice a parametry
mohou b˘t seznamy hodnot jednoduchého typu.
Matice jsou jedno nebo dvourozmûrné tabulky numerick˘ch a/
nebo fietûzcov˘ch hodnot, do kter˘ch lze vstupovat pfiímo
indexem.
Seznamy hodnot jsou sady moÏn˘ch numerick˘ch nebo
fietûzcov˘ch hodnot. Mohou b˘t pfiifiazeny parametrÛm v popisu
seznamu hodnot knihovního prvku nebo v MASTER_GDL popisu
a objeví se v seznamu parametrÛ jako roletové menu.
[aaa] Hranaté závorky znamenají, Ïe pfiipojené prvky jsou volitelné
(pokud jsou zapsány tuãnû, musí se zadávat pfiesnû tak, jak je
uvedeno v ukázce).
. . . Pfiedchozí prvek se mÛÏe opakovat
varnam Libovolné jméno GDL promûnné
prompt Libovoln˘ fietûzec znakÛ (nesmí obsahovat uvozovky)
TUâN¯_¤ETùZEC
¤ETùZEC_VELK¯CH _PÍSMEN
zvlá‰tní znaky Musí se zadávat pfiesnû podle ukázky
jiné_fietûzce_mal˘ch_písmen_v_seznamu_parametrÛ
Libovoln˘ GDL v˘raz
24
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 3: Transformace soufiadnic
3
Transformace soufiadnic
ArchiCAD 6.0: Referenãní pfiíruãka GDL
25
Kapitola 3: Transformace soufiadnic
3.1 Transformace v
trojrozmûrném prostoru
V GDL jsou v‰echny geometrické prvky pevnû pfiipojeny k
lokálnímu systému soufiadnic. GDL pouÏívá pravotoãiv˘ soufiadn˘
systém. Napfiíklad jeden roh bloku je v poãátku soufiadnic a jeho
strany jsou v rovinách x-y, x-z a y-z.
Umístûní geometrického prvku do poÏadované polohy vyÏaduje
dva kroky. Nejprve pfiesuÀte soufiadn˘ systém do poÏadované
polohy. Poté vygenerujte prvek. KaÏd˘ pohyb, rotace nebo
protaÏení soufiadného systému podél nebo kolem osy se naz˘vá
transformace.
Transformace se ukládají v zásobníku; interpretace zaãíná od
posledního k prvnímu. Popisy pracují s tímto transformaãním
zásobníkem; mohou do nûj vkládat nové prvky, nemohou v‰ak
vymazat více neÏ ty, které byly lokálnû definovány. Je moÏné
vymazat jednu, nûkolik nebo v‰echny transformace definované v
aktuálním popisu. Po návratu z popisu seÊlokálnû definované
transformace ze zásobníku vymaÏou.
ADDX
ADDY
ADDZ
dx
dy
dz
Transformace pfiesunují lokální soufiadn˘ systém podél dané osy
o vzdálenost dx, dy nebo dz.
ADD
dx, dy, dz
Nahrazuje sekvenci ADDX dx : ADDY dy : ADDZ dz.
Pfiedstavuje jedin˘ zápis v zásobníku, takÏe je moÏné ji vymazat
povelem DEL 1.
26
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 3: Transformace soufiadnic
Pfiíklad:
Z
Y
Z
Y
c
X
b
a
X
ADD a,b,c
MULX
MULY
MULZ
mx
my
mz
Transformace mûní mûfiítko lokálního soufiadného systému ve
smûru dané osy. Negativní mx, my, mz znamená souãasné
zrcadlení
MUL
mx, my, mz
Nahrazuje sekvenci MULX mx : MULY my : MULZ mz.
Pfiedstavuje jedin˘ zápis v zásobníku, takÏe je moÏné ji vymazat
povelem DEL 1.
ROTX
ROTY
ROTZ
alfax
alfay
alfaz
Natáãí lokální soufiadn˘ systém kolem dané osy o alphax, alphay,
alphaz stupÀÛ proti smûru hodinov˘ch ruãiãek.
Pfiíklad:
Z
Y
Y
X
beta
X
ROTZ beta
ArchiCAD 6.0: Referenãní pfiíruãka GDL
27
Kapitola 3: Transformace soufiadnic
ROT
x, y, z, alfa
Natáãí lokální soufiadn˘ systém kolem osy definované vektorem
(x,y,z) o alfa stupÀÛ, proti smûru hodinov˘ch ruãiãek.
Pfiedstavuje jedin˘ zápis v zásobníku, takÏe je moÏné ji vymazat
povelem DEL 1.
XFORM
a11, a12, a13, a14,
a21, a22, a23, a24,
a31, a32, a33, a34
Definuje úplnou transformaãní matici. PouÏívá se hlavnû v
automaticky generovan˘ch GDL kódech. Má pouze jeden vstup
do zásobníku.
x’ = a11 * x + a12 * y + a13 * z + a14
y’ = a21 * x + a22 * y + a23 * z + a24
z’ = a31 * x + a32 * y + a33 * z + a34
Pfiíklad:
A=60
B=30
XFORM
BLOCK
28
2,
0,
0,
1,
COS(A),
SIN(A),
0,
1,
COS(B)*0.6,
SIN(B)*0.6,
1,
1
0,
0,
0
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 3: Transformace soufiadnic
3.2 Transformace ve
dourozmûrném prostoru
Jde o ekvivalenty transformací ADD, MUL a ROTZ 3D ve 2D
prostoru.
ADD2
x, y
Pfiíklad:
Y
Y
X
b
X
a
ADD2
MUL2
x, y
ROT2
alpha
a, b
Pfiíklad:
Y
Y
X
beta
X
ROT2 beta
ArchiCAD 6.0: Referenãní pfiíruãka GDL
29
Kapitola 3: Transformace soufiadnic
3.3 Obsluha transformaãního
zásobníku
DEL
n [, beg_with]
VymaÏe pfiedchozích n zápisÛ v transformaãním zásobníku.
Pokud parametr beg_with není specifikován, smaÏe pfiedchozích
n zápisÛ zásobníku.
Lokální soufiadn˘ systém se pfiesune zpût do své pfiedchozí
polohy.
Pokud je transformace beg_with specifikována, vymaÏe se n
zápisÛ vpfied, pfiiãemÏ se zaãne u té, která byla oznaãena
beg_with. âíslování zaãíná jedniãkou. Pokud je parametr
beg_with specifikován a je negativní, v˘maz probûhne zpûtnû.
Bylo-li v aktuálním popisu provedeno ménû transformací, neÏ
uvádí argument n, vymaÏe se pouze uÏité mnoÏství transfor
mací.
DEL
TOP
SmaÏe v‰echny aktuální transformace v aktuálním popisu.
NTR
()
Vrací skuteãn˘ poãet transformací.
30
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 3: Transformace soufiadnic
Pfiíklad:
BLOCK
ADDX
ADDY
ADDZ
ROTX
ADDX
BLOCK
1,
2
2.5
1.5
-60
1.5
1,
DEL
1,
2
!transformace
BLOCK
1,
1,
1
0.5, 2
1
!Smaže transformaci ADDX
0.5, 1
DEL
1,
BLOCK
1,
NTR()-2
!Smaže ADDZ 1.5
!transformace
0.5, 2
DEL
-2,
3
BLOCK
1,
ArchiCAD 6.0: Referenãní pfiíruãka GDL
!Smaže ROTX -60 a
!ADDY 2.5 transformace
0.5, 2
31
Kapitola 3: Transformace soufiadnic
32
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 4: Rovinné útvary ve 3D
4
Rovinné útvary ve 3D
ArchiCAD 6.0: Referenãní pfiíruãka GDL
33
Kapitola 4: Rovinné útvary ve 3D
LIN_
x1, y1, z1, x2, y2, z2
âárov˘ segment mezi body P1(x1,y1,z1) and P2(x2,y2,z2).
RECT
a, b
Obdélník v rovinû x-y o stranách a a b.
Omezení parametrÛ:
a, b > 0
Y
b
a
X
POLY
n, x1, y1, . . . xn, yn
Polygon o n hranách v rovinû x-y. Soufiadnice uzlui jsou (xi, yi,
0).
Omezení parametrÛ:
n>3
Y
n
1
2
3
X
34
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 4: Rovinné útvary ve 3D
POLY_
n, x1, y1, maska1, . . . xn, yn, maskan
Ekvivalent povelu POLY, ale libovolnou hranu lze vynechat.
Pokud maskai = 0, bude hrana zaãínající ve vrcholu (xi,yi)
vynechána. Pokud maskai = 1, hrana bude viditelná.
maskai = -1 se pouÏívá pro pfiímé definování otvorÛ. Více detailÛ
viz popis povelu PRISM_.
Omezení parametrÛ:
n>3
Y
n
1
2
3
X
Y
n
1
2
3
X
PLANE
n, x1, y1, z1, . . . xn, yn, zn
Polygon o n hranách v libovolné rovinû. Soufiadnice uzlui jsou
(xi,yi,zi). Polygon musí b˘t rovinn˘, aby byl v˘sledek stínování/
fotorealistického zobrazení správn˘, ov‰em pfiekladaã tuto
podmínku nekontroluje.
Omezení parametrÛ:
n>3
PLANE_
n, x1, y1, z1, maska1, . . . xn, yn, zn, maskan
Ekvivalent povelu PLANE, ale libovolná z hran mÛÏe b˘t
vynechána, jako u povelu POLY_.
Omezení parametrÛ:
n>3
ArchiCAD 6.0: Referenãní pfiíruãka GDL
35
Kapitola 4: Rovinné útvary ve 3D
CIRCLE
r
KruÏnice v rovinû x-y se stfiedem v poãátku a polomûrem r.
r
ARC
r, alfa, beta
Oblouk (v reÏimu ãárov˘ model)/v˘seã (v ostatních reÏimech) v
rovinû x-y se stfiedem v poãátku, úhlem od alfa do beta a
polomûremÊr
.
Alfa a beta jsou ve stupních.
Y
ta
be
alpha
X
36
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
5
Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
37
Kapitola 5: Trojrozmûrné útvary
5.1 Základní útvary
BLOCK
BRICK
a, b, c
a, b, c
První vrchol hranolu je v lokálním poãátku a hrany o délkách a,
b a c se mûfií ve smûru os x, y a z.
Nulové hodnoty generují degenerovan˘ hranol (obdélník nebo
úseãku).
Omezení parametrÛ:
a, b, c > 0
Z
a
c
b
Y
X
CYLIND
h, r
Kruhov˘ válec s osou v ose z, v˘‰kou h a polomûrem základny r.
Je-li h rovno nule, generuje se kruÏnice v rovinû x-y.
Je-li r rovno nule, generuje se úseãka v ose z.
Z
h
r
Y
X
38
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
SPHERE
r
Koule se stfiedem v poãátku a polomûrem r.
Z
r
Y
X
ELLIPS
h, r
Polovina elipsoidu. Jeho prÛfiez v rovinû x-y je kruh se stfiedem v
poãátku a polomûrem r. Délka poloosy ve smûru osy z je h.
h
Z
r
Y
X
Pfiíklad:
ELLIPS r, r
ArchiCAD 6.0: Referenãní pfiíruãka GDL
!polokoule
39
Kapitola 5: Trojrozmûrné útvary
CONE
h, r1, r2, alfa1, alfa2
Komol˘ kuÏel, kde alfa1 a alfa2 jsou úhly sklonu základen vÛãi
ose z, r1 a r2 jsou polomûry kruÏnic základen a h je v˘‰ka v ose
z.
Je-li h rovno nule, hodnoty alfa1 a alfa2 nejsou brány v úvahu a
je generován anuloid v rovinû x-y.
Alfa1 a alfa2 jsou ve stupních.
Omezení parametrÛ:
0 < alfa1 < 180° a 0 < alfa2 < 180°
Z
Z
2
ha
alp
r2
h
alp
ha
r1
1
Y
Y
X
Pfiíklad:
CONE h, r, 0, 90, 90
PRISM
! pravoúhl
jehlan
n, h, x1, y1, . . . xn, yn
Hranol s polygonální základnou v rovinû x-y (viz parametry
POLY). V˘‰ka v ose z je abs(h). Mohou b˘t rovnûÏ pouÏity
negativní hodnoty h. V tomto pfiípadû je druhá základna
polygonu nad rovinou x-y.
Omezení parametrÛ:
n>3
h
Z
Y
n
X
40
2
1
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
PRISM_
n, h, x1, y1, maska1, . . . xn, yn, maskan
Ekvivalent povelu PRISM, ale libovolná horizontální hrana ãi
strana mÛÏe b˘t vynechána.
Omezení parametrÛ:
n>3
Z
j3
X
Y
j4
j2
i
j1
i+1
âíslo maskai je binární celé ãíslo (mezi 0 Êa Ê15 nebo 64 a 79)
nebo -1.
maskai = j1 + 2*j2 + 4*j3 + 8*j4 + 64*j7
kde j1, j2, j3, j4, j7 mÛÏe b˘t 0 nebo 1.
âísla j1, j2, j3, j4 udávají, zda vrcholy a strany jsou pfiítomny (1)
nebo vynechány (0):
j1 : dolní vodorovná hrana
j2 : vertikální hrana
j3 : horní vodorovná hrana
j4 : strana
j7 : speciální doplÀková masková hodnota, která se uplatÀuje,
pouze kdyÏ j2 je 1, a ovládá na bodu pohledu závislou
viditelnost aktuální vertikální hrany
j2 = 0: vertikální hrany jsou vÏdy neviditelné
j2 = 1 a j7= 1: vertikální hrana je viditelná, pouze kdyÏ je obrys z
aktuálního smûru pohledu vidût.
j2 = 1 a j7 = 0: vertikální hrana je vÏdy viditelná
ArchiCAD 6.0: Referenãní pfiíruãka GDL
41
Kapitola 5: Trojrozmûrné útvary
MoÏné hodnoty masek (silné ãáry oznaãují viditelné hrany):
invisible surface
visible surface
0
8
1
9
2
10
3
11
4
12
5
13
6
14
7
15
Maskai = -1 se pouÏívá pro pfiímé definování otvorÛ v hranolu.
Oznaãuje konec obrysu a poãátek otvoru uvnitfi obrysu. Indikuje
také konec jednoho otvoru a zaãátek jiného. Soufiadnice pfied
touto hodnotou musí b˘t identické se soufiadnicemi prvního
bodu obrysu/otvoru. PouÏijete-li hodnotu masky -1, poslední
hodnota masky v seznamu parametrÛ musí b˘t -1, neboÈ
oznaãuje konec posledního otvoru.
Otvory se nesmí protínat a vnitfiní prÛseãíky v polygonu jsou
zakázány, aby byly v˘sledky stínování/fotozobrazení správné.
Pfiíklady:
PRISM_ 4,1,
0,0,15,
1,1,15,
2,0,15,
1,3,15
42
PRISM_ 4,1,
0,0,7,
1,1,5,
2,0,15,
1,3,15
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
ROTX 90
PRISM_ 26,
0.3,
0.3,
0.27,
0.27,
0.25,
-0.25,
-0.27,
-0.27,
-0.3,
-0.3,
0.3,
0.10,
0.24,
0.24,
0.10,
0.10,
otvoru
0.07,
0.07,
-0.07,
-0.07,
0.07,
otvoru
-0.24,
-0.24,
-0.1,
-0.1,
-0.24,
otvoru
ArchiCAD 6.0: Referenãní pfiíruãka GDL
1.2,
0,
0.06,
0.06,
0.21,
0.23,
0.23,
0.21,
0.06,
0.06,
0,
0,
0.03,
0.03,
0.2,
0.2,
0.03,
15,
15,
15,
15,
15,
15,
15,
15,
15,
15,
-1,
15,
15,
15,
15,
-1,
!Konec prvního
0.03,
0.2,
0.2,
0.03,
0.03,
15,
15,
15,
15,
-1,
!Konec druhého
0.03,
0.2,
0.2,
0.03,
0.03,
15,
15,
15,
15,
-1
!Konec tfietího
!Konec obrysu
43
Kapitola 5: Trojrozmûrné útvary
j7 = 0
R=1
H=3
PRISM_
-R,
COS(180)*R,
COS(210)*R,
COS(240)*R,
COS(270)*R,
COS(300)*R,
COS(330)*R,
COS(360)*R,
R,
ADDX 5
PRISM_
-R,
COS(180)*R,
COS(210)*R,
COS(240)*R,
COS(270)*R,
COS(300)*R,
COS(330)*R,
COS(360)*R,
R,
44
j7 = 1
9,
R,
SIN(180)*R,
SIN(210)*R,
SIN(240)*R,
SIN(270)*R,
SIN(300)*R,
SIN(330)*R,
SIN(360)*R,
R,
H,
15,
15,
15,
15,
15,
15,
15,
15,
15
9,
R,
SIN(180)*R,
SIN(210)*R,
SIN(240)*R,
SIN(270)*R,
SIN(300)*R,
SIN(330)*R,
SIN(360)*R,
R,
H,
15,
64+15,
64+15,
64+15,
64+15,
64+15,
64+15,
64+15,
15
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
CPRISM_
topmat, botmat, sidemat,
n, h, x1, y1, maska1, . . . xn, yn, maskan
Doplnûk povelu PRISM_ statement, kde první tfii parametry se
pouÏívají jako jméno/index materiálu horního, spodního a
boãního povrchu. Ostatní parametry jsou stejné jako u povelu
PRISM_.
Omezení parametrÛ:
n>3
Viz také povel MATERIAL v kapitole "Atributy" a popis funkce
IND v Pfiíloze.
Pfiíklad:
CPRISM_ “Železo“, 0, T_, !“Železo” je
pfieddefinovan
! materiál.
! 0 je obecn
! materiál.
! T_ je globální
! promûnná (index
! materiálu)
13, 0.2,
0,
0,
15,
2,
0,
15,
2,
2,
15,
0,
2,
15,
0,
0,
-1, ! konec obrysu
0.2,
1.8,
1.0,
0.2,
0.2,
1.8,
1.0,
0.2,
ArchiCAD 6.0: Referenãní pfiíruãka GDL
0.2,
0.2,
0.9,
0.2,
1.8,
1.8,
1.1,
1.8,
15,
15,
15,
-1,
15,
15,
15,
-1
! konec prvního otvoru
! konec druhého otvoru
45
Kapitola 5: Trojrozmûrné útvary
BPRISM_
topmat, botmat, sidemat,
n, h, polomûr,
x1, y1, maska1, . . . xn, yn, maskan
Hladk˘ ohnut˘ hranol, definovan˘ stejnou datovou strukturou
jako pfiím˘ hranol CPRISM_.
Jedin˘ pfiidan˘ parametr je polomûr.
Povel je odvozen od povelu CPRISM_ ohnutím roviny x-y do
válce teãného s touto rovinou.
Hrany rovnobûÏné s osou x jsou transformovány do obloukÛ.
Hrany rovnobûÏné s osou y zÛstávají horizontální. Hrany
rovnobûÏné s osou z budou radiální vÛãi uvaÏovanému
polomûru zakfiivení.
Detaily viz BWALL_
Pfiíklady (s odpovídajícími prvky CPRISM_):
BPRISM_
3,
0.4,
0,
0,
5,
0,
1.3, 2,
46
"sklo",
1,
15,
15,
15
"sklo",
"sklo",
! polomûr =1
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
BPRISM_ "beton", "beton", "beton",
17, 0.3, 5,
0,
7.35, 15,
0,
2,
15,
1.95, 0,
15,
8,
0,
15,
6.3, 2,
15,
2,
2,
15,
4.25, 4,
15,
8,
4,
15,
8,
10,
15,
2.7, 10,
15,
0,
7.35, -1,
4,
8.5,
15,
1.85, 7.05, 15,
3.95, 5.6,
15,
6.95, 5.6,
15,
6.95, 8.5,
15,
4,
8.5,
-1
ArchiCAD 6.0: Referenãní pfiíruãka GDL
47
Kapitola 5: Trojrozmûrné útvary
FPRISM_
topmat, botmat, sidemat, hillmat,
n, tlou‰Èka, úhel, v˘‰ka_vrchlíku,
x1, y1, maska1,
...
xn, yn, maskan
Ekvivalent povelu PRISM_, ale s pfiidan˘mi parametry hillmat,
úhel a v˘‰ka_vrchlíku. Na horní povrch hranolu je pfiidán vrchlík.
hillmat:
boãní materiál vrchlíku
úhel:
sklon boãních hran vrchlíku. Omezení: 0 < úhel<
90. Pokud úhel=0, boãní hrany vrchlíku viditelné z
ortogonálního pohledu tvofií ãtvrtkruh s rozli‰ením
dan˘m povelem RESOL.
v˘‰ka_vrchlíku:
v˘‰ka vrchlíku. V‰imnûte si, Ïe parametr
tlou‰Èky pfiedstavuje celou v˘‰ku tûlesa FPRISM.
Omezení parametrÛ:
n>3
Maskai = -1 se pouÏívá pro pfiímé definování otvorÛ v hranolu.
Viz popis povelu PRISM_ .
hill_height
n
angle
thickness
1
2
48
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
Pfiíklady:
RESOL 10
FPRISM_
"stfiešní taška", " ervená cihla",
"lícovka",
"stfiešní taška",
4,
1.5, 0,
1.0, !úhel = 0
0,
0,
0,
5,
0,
0,
5,
4,
0,
0,
4,
0
FPRISM_
"stfiešní taška", " ervená cihla",
"lícovka",
"stfiešní taška",
10, 2,
45, 1,
0,
0,
0,
6,
0,
0,
6,
5,
0,
0,
5,
0,
0,
0,
-1,
1,
2,
0,
4,
2,
0,
4,
4,
0,
1,
4,
0,
1,
2,
-1
ArchiCAD 6.0: Referenãní pfiíruãka GDL
49
Kapitola 5: Trojrozmûrné útvary
SPRISM_
topmat, botmat, sidemat,
n, xb,yb, xe, ye, h, úhel,
x1, y1, maska1, . . . xn, yn, maskan
Doplnûk povelu CPRISM_, s tím, Ïe horní polygon nemusí b˘t
rovnobûÏn˘ s rovinou x-y. Definice horní roviny je stejná jako
definice roviny u povelu CROOF_. V˘‰ka hranolu je definována
na referenãní ãáfie. Protínání horního a dolního polygonu je
zakázáno.
Pfiidané parametry:
xb, yb, xe, ye: poãáteãní a koncové soufiadnice referenãní ãáry
(vektory),
úhel:
úhel natoãení horního polygonu kolem dané
orientované referenãní ãáry ve stupních (CCW),
Pozn.: V‰echny vypoãítané z-ové soufiadnice uzlÛ horního
polygonu musí b˘t kladné nebo 0.
angle
n
h
(xb,yb )
(xe,ye )
1
2
Pfiíklad:
SPRISM_
6,
0,
0,
0,
0,
10, 1,
11, 6,
5,
7,
4.5, 5.5,
1,
6,
50
'tráva',
'zemina', 'zemina',
11,
15,
15,
15,
15,
15,
15
2,
6,
-10.0,
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
SLAB
n, h, x1, y1, z1, . . . xn, yn, zn
Kos˘ hranol. Boãní plochy jsou vÏdy kolmé k rovinû x-y,
základny tvofií ploché polygony natoãené kolem osy rovnobûÏné
s rovinou x-y. RovnûÏ mohou b˘t pouÏity negativní hodnoty h. V
tom pfiípadû je druh˘ základní polygon pod dan˘m polygonem.
Nekontroluje se, zda se body skuteãnû nacházejí v rovinû.
Vrcholy neleÏící v rovinû zpÛsobí chyby ve stínování/
fotozobrazení.
Omezení parametrÛ:
n>3
Z
Y
X
SLAB_
n, h, x1, y1, z1, maska1, . . . xn, yn, zn, maskan
Ekvivalent povelu SLAB, ale libovolná z vodorovn˘ch hran a
stran mÛÏe b˘t vynechána. Tento povel je analogick˘ poevlu
PRISM_.
CSLAB_
topmat, botmat, sidemat,
n, h, x1, y1, z1, maska1, . . . xn, yn, zn, maskan
Doplnûk poevlu SLAB_; první 3 parametry jsou pouÏity jako
jméno/index materiálu horní, dolní a boãní plochy. Ostatní
parametry jsou totoÏné s pfiíkazem SLAB_.
Viz. rovnûÏ pfiíkaz MATERIAL v kap. 10.2 a funkce IND v kap.
9.3.
Viz také povel MATERIAL v kapitole Atributy a popis funkce IND
v Pfiíloze.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
51
Kapitola 5: Trojrozmûrné útvary
CWALL_
leftmat, rightmat, sidemat,
v˘‰ka, x1, x2, x3, x4, t,
maska1, maska2, maska3, maska4,
n,
xbeg1, spodní, xend1, horní, framevis1,
...
xbegn, spodní, xendn, horní, framevisn,
m,
a1, b1, c1, d1,
...
am, bm, cm, dm
leftmat, rightmat, sidemat:
Jména/indexy materiálÛ pro levé, pravé a boãní plochy.
Levá a pravá strana stûny sledují osu x.
Viz také povel MATERIAL v kapitole Atributy a popis
funkce IND v Pfiíloze.
Referenãní ãára stûny je vÏdy transformována tak, aby se
shodovala s osou x. Strany stûny jsou v rovinû x-z.
v˘‰ka:
V˘‰ka zdi vzhledem k základnû.
x1, x2, x3, x4 :
Zobrazené koncové body zdi leÏící v rovinû x-y je vidût
dole. Pokud zeì stojí sama, pak
x1 = x4 = 0, x2 = x3 = délka zdi.
t:
tlou‰Èka zdi.
t < 0 pokud je tûleso zdi vpravo od osy x,
t > 0 pokud je tûleso zdi vlevo od osy x,
otvory.
t = 0 zeì je reprezentována polygonem a kolem otvorÛ
se generují 'rámy'.
52
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
t
Y
X
x1
x4
x3
x2
maska1, maska2, maska3, maska4 :
¤ídí viditelnost hran a boãních polygonÛ.
maskai = j1 + 2*j2 + 4*j3 + 8*j4
kde j1,j2,j3,j4 mohou b˘t 0 nebo 1.
âísla j1,j2,j3,j4 udávají, zda vrcholy a strany existují (1) nebo jsou
vynechány (0).
Z
mask 3
Y
mask 2
mask 4
j3
j2
j4
j1
X
mask 1
n:
poãet otvorÛ ve zdi.
xbegi, spodníj, xendi, horníi :
soufiadnice otvorÛ, jak je vidût zde.
i
xbeg
xend
i
lower
i
upper
i
height
Z
X
ArchiCAD 6.0: Referenãní pfiíruãka GDL
53
Kapitola 5: Trojrozmûrné útvary
framevisi :
1 pokud jsou hrany otvorÛ viditelné
0 pokud jsou hrany otvorÛ neviditelné.
Záporné hodnoty ovládají viditelnost kaÏdé hrany otvoru
zvlá‰È.
framevisi = - (1*j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 +
64*j7 + 128*j8), kde j1, j2... j8 mohou b˘t 0 nebo 1. âísla j1 aÏ
j4 fiídí viditelnost hran otvoru na levé stranû povrchu
stûny a j5 aÏ j8 ovlivÀují hrany na pravé stranû, jak je vidût
na následujícím obrázku.
Z
j3
j7
j2
j4
j1
j6
j8
j5
Y
X
Hrana, která je kolmá k povrchu stûny, je viditelná, pokud z
obou jejích koncov˘ch bodÛ vedou viditelné hrany.
m:
poãet fiezn˘ch rovin.
ai, bi, ci, di : Koeficienty rovnic, definujících rovinu fiezu [ai*x +
bi*y + ci*z = di].
âásti na kladné stranû fiezné roviny (i.e. ai*x + bi*y + ci*z
> di) budou odfiezány a odstranûny.
[ai, bi, ci]
54
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
BWALL_
leftmat, rightmat, sidemat,
v˘‰ka, x1, x2, x3, x4, t, polomûr,
maska1, maska2, maska3, maska4,
n,
xbeg1, spodní1, xend1, horní1, framevis1,
...
xbegn, spodnín, xendn, hornín, framevisn,
m,
a1, b1, c1, d1,
...
am, bm, cm, dm
Hladká zakfiivená stûna zaloÏená na stejné datové struktufie, jako
prvek CWALL_.
Jedin˘m pfiidan˘m parametrem je polomûr.
Prvek je odvozen od odpovídajícího povelu CWALL_ zakfiivením
roviny x-z do válce teãného k této rovinû.
Hrany podél osy x se transformují na oblouky, hrany podél osy y
mají radiální smûr a vertikální hrany zÛstávají vertikální. Zakfiivení
je aproximováno poãtem segmentÛ nastaven˘ch pfiíkazem
RESOL, podobnû jako koule a válec. Detaily viz CWALL_.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
55
Kapitola 5: Trojrozmûrné útvary
Pfiíklady: BWALL_ a odpovídající CWALL_
ROTZ -60
BWALL_ 1,
1,
4,
0,
6,
0.3, 2,
15, 15, 15,
5,
1,
1,
3.8,
1.8, 0,
3,
4.1, 1,
4.5,
4.1, 1.55, 4.5,
4.1, 2.1, 4.5,
1,
0,
-0.25,
56
1,
6,
0,
15,
2.5, -255,
2.5, -255,
1.4, -255,
1.95, -255,
2.5, -255,
1,
3
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
XWALL_
leftmat, rightmat, sidevmat, sidehmat,
v˘‰ka, x1, x2, x3, x4,
y1, y2, y3, y4,
t, polomûr,
reserved1, reserved2,
maska1, maska2, maska3, maska4,
n,
xbeg1, spodní1, xend1, horní1, framevis1,
...
xbegn, spodnín, xendn, hornín, framevisn,
m,
a1, b1, c1, d1,
...
am, bm, cm, dm
Roz‰ífiená definice zdi, zaloÏená na stejné datové struktufie jako
povel BWALL_.
Pfiidané parametry:
sidevmat, sidehmat: jméno nebo index vertikálních/
horizontálních boãních materiálÛ
y1, y2, y3, y4: promítnuté koncové body zdi na rovinu x-y jak je
vidût na tomto obrázku
Y
y4
y1
y2
y3
x1
x2
reserved1, reserved2:
ArchiCAD 6.0: Referenãní pfiíruãka GDL
x3
x4
X
reserved, always 0.
57
Kapitola 5: Trojrozmûrné útvary
Pfiíklad :
XWALL_ "bílá omítka", "bílá omítka",
"bílá omítka", "bílá omítka",
3.0,
0.0,
4.0,
4.0,
0.0,
0.0,
0.0,
0.3,
1.2,
1.2,
0.0,
0.0,
0.0,
15,
15,
15,
15,
3,
0.25, 0.0,
1.25, 2.5,
-255,
1.25, 1.5,
2.25, 2.5,
-255,
2.25, 0.5,
3.25, 2.5,
-255,
0
58
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
CROOF_
topmat, botmat, sidemat,
n, xb, yb, xe, ye, v˘‰ka, úhel, tlou‰Èka,
x1, y1, alfa1, maska1,
…,
xn, yn, alfan, maskan
·ikmá stfie‰ní rovina s hranami zkosen˘mi pod zvolen˘mi úhly.
topmat, botmat, sidemat:
jméno/index horního, spodního a boãního
materiálu
n:
poãet uzlÛ polygonu stfiechy
xb, yb, xe, ye: referenãní ãára (vektor)
v˘‰ka:
v˘‰ka stfiechy v referenãní ãáfie (dolní povrch)
úhel:
úhel natoãení stfie‰ní roviny kolem dané
orientované referenãní ãáry ve stupních (proti
smûru hodinov˘ch ruãiãek)
tlou‰Èka:
tlou‰Èka stfiechy mûfiená kolmo k rovinû stfiechy
xi, yi:
soufiadnice uzlÛ spodního polygonu stfiechy
alfai:
úhel mezi plochou patfiící hranû i stfiechy a rovinou
kolmou ke stfie‰ní rovinû, -90° < alfai < 90°. Rotaãní
úhel proti smûru hodinov˘ch ruãiãek je kladn˘ ve
smûru hrany správnû orientovaného polygonu
stfiechy.
Hrany polygonu stfiechy jsou orientovány správnû, pokud je v
horním pohledu obrys orientován proti smûru hod. ruãiãek a
otvory jsou orientovány ve smûru hod. ruãiãek.
definuje viditelnost hran stfiechy, viz povel PRISM_.
maskai:
Omezení parametrÛ:
n>3
ArchiCAD 6.0: Referenãní pfiíruãka GDL
59
Kapitola 5: Trojrozmûrné útvary
Pfiíklady:
CROOF_
60
1,
9,
0,
1,
0.0,
-30,
2.5,
0,
10,
10,
0,
0,
2,
8,
5,
2,
1,
1,
! materiály
0,
0,
0,
0,
20,
20,
0,
5,
5,
15,
5,
-60,
0,
-30,
0,
0,
0,
0,
0,
0,
15,
15,
15,
15,
-1,
15,
15,
15,
-1
! referenãní ãára (x1,y1) (x2,y2)
! v˘‰ka
! úhel
! tlou‰Èka
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
L=0.25
R=(0.6^2+L^2)/(2*L)
A=ASN(0.6/R)
CROOF_ "sfiešní taška","borovice","borovice",
16, 2,
0,
0,
0,
0,
45, -0.2*SQR(2),
0,
0,
0,
15,
3.5, 0,
0,
15,
3.5, 3,
-45, 15,
0,
3,
0,
15,
0,
0,
0,
-1,
0.65, 1,
-45, 15,
1.85, 1,
0,
15,
1.85, 2.4-L,
0,
13,
1.25, 2.4-R,
0,
900,
0,
2*A, 0,
4015,
0.65, 1,
0,
-1,
2.5, 2,
45, 15,
3,
2,
0,
15,
3,
2.5, -45, 15,
2.5, 2.5, 0,
15,
2.5, 2,
0,
-1
ArchiCAD 6.0: Referenãní pfiíruãka GDL
61
Kapitola 5: Trojrozmûrné útvary
MESH
a, b, m, n, maska,
z11, z12, . . . z1m,
z21, z22, . . . z2m,. .
, zn2, . . . znm
n1
ednoduchá hladká síÈ, zaloÏená na obdélníku s rovnomûrnou
ítí. Strany obdélníka základny jsou a a b; body m a n jsou podél
s x a y, zij je v˘‰ka uzlu.
askování
aska = j1 + 4*j3 + 16*j5 + 32*j6 + 64*j7
de j1, j3, j5, j6, j7 mÛÏe b˘t 0 nebo 1.
1
(1):
ovrch základny je pfiítomen.
3
(4):
oãní strany jsou pfiítomny.
5
(16):
rany základny a boãní strany jsou viditelné.
6
(32):
orní hrany jsou viditelné.
7
(64):
orní hrany jsou viditelné, horní povrch není
ladk˘.
mezení
62
parametrÛ:
> 2, n > 2
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
Pfiíklady:
MESH 50, 30, 5, 6, 1+4+16+32+64,
2, 4, 6, 7, 8,
10, 3, 4, 5, 6,
7, 9, 5, 5, 7,
8, 10, 9, 4, 5,
6, 7, 9, 8, 2,
4, 5, 6, 8, 6
MESH 90,100, 12,8, 1+4+16+32+64,
17,16,15,14,13,12,11,10,10,10,10, 9,
16,14,13,11,10, 9, 9, 9,10,10,12,10,
16,14,12,11, 5, 5, 5, 5, 5,11,12,11,
16,14,12,11, 5, 5, 5, 5, 5,11,12,12,
16,14,12,12, 5, 5, 5, 5, 5,11,12,12,
16,14,12,12, 5, 5, 5, 5, 5,11,13,14,
17,17,15,13,12,12,12,12,12,12,15,15,
17,17,15,13,12,12,12,12,13,13,16,16
ArchiCAD 6.0: Referenãní pfiíruãka GDL
63
Kapitola 5: Trojrozmûrné útvary
ARMC
r1, r2, l, h, d, alfa
âást trubky vycházející z jiné trubky; parametry podle obrázku
(poãítají se a kreslí se také prÛnikové kfiivky). Alfa je ve stupních.
Omezení parametrÛ:
r1 > r2 + d
r1 < l * sin(alfa) - r2 * cos(alfa)
Z
alp
ha
r2
h
l
X
r1
d
Y
X
Pfiíklad:
ROTY
CYLIND
ADDZ
ARMC
ADDZ
ROTZ
ARMC
ADDZ
ROTZ
ARMC
64
90
10,1
6
1, 0.9, 3,
-1
-90
1, 0.75, 3,
-1
-90
1, 0.6, 3,
0,
0,
45
0,
0,
90
0,
0,
135
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
ARME
l, r1, r2, h, d
âást trubky vycházející z elipsoidu v rovinû y-z; parametry podle
obrázku (poãítají se a kreslí se také prÛnikové kfiivky).
Omezení parametrÛ:
r1 > r2+ d
l > h*Ã(1 - (r2 - d)2 / r12)
Z
r2
h
l
d
Y
r1
Pfiíklad :
ELLIPS 3,4
FOR i=1 TO 6
ARME 6,4,0.5,3,3.7-0.2*i
ROTZ 30
NEXT i
ArchiCAD 6.0: Referenãní pfiíruãka GDL
65
Kapitola 5: Trojrozmûrné útvary
ELBOW
r1, alfa, r2
Segmentov˘ oblouk v rovinû x-z. Polomûr oblouku je r1, úhel je
alfa a polomûr segmentu trubky je r2.
Alfa je ve stupních.
Omezení parametrÛ:
r1 > r2
ha
r1
Z
alp
X
r2
Pfiíklad:
ROTY 90
ELBOW 2.5, 180,
ADDZ -4
CYLIND
4,1
ROTZ -90
MULZ -1
ELBOW 5,
180,
DEL
1
ADDX 10
CYLIND
4,
ADDZ 4
ROTZ 90
ELBOW 2.5, 180,
66
1
1
1
1
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
5.2 Útvary generované z
lomen˘ch ãar
Tyto prvky umoÏÀují vytváfiet komplexní trojrozmûrné tvary
pomocí lomen˘ch ãar a zabudovan˘ch pravidel. MÛÏete otáãet,
promítat nebo pfiená‰et danou lomenou ãáru. V˘sledná tûlesa
jsou zobecnûním jiÏ existujících prvkÛ, jako PRISM_, CYLIND.
Tvary, generované z jedné lomené ãáry:
EXTRUDE
PYRAMID
REVOLVE
Tvary generované ze dvou lomen˘ch ãar:
RULED
SWEEP
TUBE
TUBEA
První lomená ãára je vÏdy v rovinû x-y. Body jsou dány dvûma
soufiadnicemi, tfietí hodnotou je status (viz dále). Druhá lomená
ãára (pro povely RULED a SWEEP) je prostorovou kfiivkou.
Vrcholy jsou dány tfiemi soufiadnicemi.
Tvar generovan˘ ze ãtyfi lomen˘ch ãar:
COONS
Tvar generovan˘ z lomen˘ch ãar:
MASS
Obecná omezení pro lomené ãáry
Pfiilehlé uzly nesmí spl˘vat (s v˘jimkou povelu RULED)
Lomená ãára nesmí protínat samu sebe (tato podmínka se
nekontroluje, ale odstranûní skryt˘ch ãar a interpretace nebudou
provedeny správnû).
Lomené ãáry mohou b˘t otevfiené nebo uzavfiené. Ve druhém
pfiípadû prv˘ uzel musí b˘t na konci v˘razu opakován.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
67
Kapitola 5: Trojrozmûrné útvary
Maskování
Hodnoty masek se vyuÏívají pro zobrazení nebo skr˘vání
charakteristick˘ch povrchÛ a/nebo hran 3D tvarÛ. Hodnoty
masek jsou specifické pro kaÏd˘ prvek a u nich také mÛÏete najít
podrobn˘ popis
maska = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7
kde j1, j2, j3, j4, j5, j6, j7 mÛÏe b˘t 0 nebo 1.
j1, j2, j3, j4 udávají, zda budou povrchy pfiítomny (1) nebo
vynechány (0).
j5, j6, j7 udávají, zda jsou hrany viditelné (1) nebo neviditelné (0).
j1 : spodní povrch.
j2 : horní povrch.
j3 : boãní povrch.
j4 : druh˘ boãní povrch.
j5 : spodní hrany.
j6 : horní hrany.
j7 : hrany prÛfiezu/povrchu jsou viditelné, povrch není hladk˘.
Hodnotou masky 127 zviditelníte v‰echny povrchy a hrany.
Status
Hodnoty statutu se pouÏívají k zadání, aby dan˘ bod lomené ãáry
zanechával za sebou pfii rotaci ostrou stopu.
0:
v‰echny prostorové oblouky/postranní hrany
zaãínající v daném uzlu jsou viditelné.
1:
prostorové oblouky/postranní hrany zaãínající v
daném uzlu se pouÏijí pouze k zobrazení obrysu.
-1:
pouze pro EXTRUDE: oznaãuje konec opsaného
polygonu nebo otvoru a udává, Ïe dal‰í uzel se
stane prvním uzlem dal‰ího otvoru.
Pro vytvofiení hladkého 3D útvaru nastavte v‰echny hodnoty
statutÛ na 1. Status = 0 pouÏijte pro vytvofiení hfiebene.
DoplÀkové hodnoty statutÛ pro oblouky a teãné segmenty jsou
vysvûtleny v kapitole “DoplÀkové kódy statutÛ pro lomené ãáry”.
Dal‰í hodnoty jsou rezervovány pro budoucí roz‰ífiení.
68
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
EXTRUDE
n, dx, dy, dz, maska, x1, y1, s1, . . . xn, yn, sn
Obecn˘ hranol o základnû tvofiené lomenou ãáru v rovinû x-y.
Lomená ãára nemusí b˘t nutnû uzavfiená a postranní hrany
nejsou vÏdy kolmé k rovinû x-y. Lomená ãára základny mÛÏe
obsahovat otvory stejnû jako PRISM_. Je moÏné ovládat
viditelnost obrysov˘ch hran.
Vektor posunu mezi základnami jsou (dx, dy, dz).
n:
poãet uzlÛ lomené ãáry.
maska:
ovládá existenci spodních, horních a (v pfiípadû
otevfiené lomené ãáry) boãních polygonÛ.
s i:
status boãních hran nebo oznaãuje konec
polygonu nebo otvoru.
Omezení parametrÛ:
n>2
Z
j6
j2
j3
Y
n
X
1
j1
j5
2
Maskování
maska = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6
kde j1, j2, j3, j5, j6 mÛÏe b˘t 0 nebo 1.
j1 (1): spodní povrch je pfiítomen.
j2 (2): horní povrch je pfiítomen.
j3 (4): boãní (uzavírající) povrch je pfiítomen.
j5 (16): spodní hrany jsou viditelné.
j6 (32): horní hrany jsou viditelné.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
69
Kapitola 5: Trojrozmûrné útvary
Hodnoty statutÛ
0:
v‰echny hrany zaãínající v daném uzlu.
1:
boãní hrany zaãínající v daném uzlu se pouÏívají
pro zobrazení obrysu.
-1 :
oznaãuje konec pfiipojeného polygonu nebo otvoru
a udává, Ïe dal‰í uzel bude prvním vrcholem
dal‰ího otvoru.
Pfiíklady:
EXTRUDE
70
14,
0,
1,
2,
3,
4,
5,
6,
3,
0,
1,
0,
-3,
-2,
-4,
-2,
-3,
0,
4,
0,
1,
0,
0,
1,
0,
1,
0,
0,
0,
-1,
2,
3,
4,
3,
2,
0,
2,
0,
-2,
0,
0,
0,
0,
0,
-1
4,
1+2+4+16+32,
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
A=5 : B=5
R=2 : S=1
C=R-S
D=A-R
E=B-R
EXTRUDE
28,
0,
D+R*SIN(0),
D+R*SIN(15),
D+R*SIN(30),
D+R*SIN(45),
D+R*SIN(60),
D+R*SIN(75),
D+R*SIN(90),
A,
0,
0,
C,
D+S*SIN(0),
D+S*SIN(15),
D+S*SIN(30),
D+S*SIN(45),
D+S*SIN(60),
D+S*SIN(75),
D+S*SIN(90),
A-C,B-C,0,
R-S*COS(90),
R-S*COS(75),
R-S*COS(60),
R-S*COS(45),
R-S*COS(30),
R-S*COS(15),
R-S*COS(0),
C,
ArchiCAD 6.0: Referenãní pfiíruãka GDL
-1,
0,
4,
0,
R-R*COS(0),
R-R*COS(15),
R-R*COS(30),
R-R*COS(45),
R-R*COS(60),
R-R*COS(75),
R-R*COS(90),
B,
B,
0,
1+2+4+16+32,
0,
1,
1,
1,
1,
1,
1,
1,
0,
0,
-1,
C,
R-S*COS(0),
R-S*COS(15),
R-S*COS(30),
R-S*COS(45),
R-S*COS(60),
R-S*COS(75),
R-S*COS(90),
0,
1,
1,
1,
1,
1,
1,
1,
E+S*SIN(90),
E+S*SIN(75),
E+S*SIN(60),
E+S*SIN(45),
E+S*SIN(30),
E+S*SIN(15),
E+S*SIN(0),
C,
1,
1,
1,
1,
1,
1,
1,
-1
71
Kapitola 5: Trojrozmûrné útvary
PYRAMID
n, h, maska, x1, y1, s1, . . . xn, yn, sn
Pyramida zaloÏená na lomené ãáfie v rovinû x-y. Vrchol pyramidy
je umístûn v soufiadnici (0, 0, h).
n:
poãet uzlÛ lomené ãáry.
maska:
ovládá existenci spodního a (v pfiípadû otevfiené
lomené ãáry) boãního polygonu.
si :
status boãní hrany.
Omezení parametrÛ:
h>0
n>2
h
Z
Y
j3
n
j1
X
1
j5
2
Maskování
maska = j1 + 4*j3 + 16*j5
kde j1, j3, j5 mÛÏe b˘t 0 nebo 1.
j1 (1):
spodní povrch je pfiítomen.
j3 (4):
boãní (uzavírající) povrch je pfiítomen.
j5 (16):
spodní hrany jsou viditelné.
Hodnoty statutÛ
0:
v‰echny boãní hrany zaãínající v daném uzlu jsou
viditelné.
1:
72
boãní hrany zaãínající v daném uzlu se pouÏívají
pro zobrazení obrysu.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
Pfiíklad:
PYRAMID
PYRAMID
ADDX
ADDY
GOSUB
ADDX
GOSUB
ADDY
GOSUB
ADDX
GOSUB
END
100:
PYRAMID
RETURN
ArchiCAD 6.0: Referenãní pfiíruãka GDL
4,
-2,
-2,
2,
2,
4,
-1,
1,
1,
-1,
-1.4
-1.4
100
2.8
100
2.8
100
-2.8
100
1.5,
-2,
2,
2,
-2,
4,
-1,
-1,
1,
1,
1+4+16,
0,
0,
0,
0
21,
0,
0,
0,
0
4,
-0.25,
0.25,
0.25,
-0.25,
1.5,
-0.25,
-0.25,
0.25,
0.25,
21,
0,
0,
0,
0
73
Kapitola 5: Trojrozmûrné útvary
REVOLVE
n, alfa, maska, x1, y1, s1, . . . xn, yn, sn
Povrch generovan˘ rotací lomené ãáry definované v rovinû x-y
kolem osy x.
n:
poãet uzlÛ lomené ãáry.
alfa:
úhel natoãení ve stupních.
maska:
ovládá pfiítomnost spodního, horního a (v pfiípadû
alfa < 360) boãního polygonu.
si:
status prostorov˘ch obloukÛ.
Omezení parametrÛ:
n>2
yi > 0.0
yi a yi + 1 (tj. y hodnota dvou sousedních uzlÛ) souãasnû
nesmí b˘t nula.
Z
j1
Y
n
j4
j6
j3
j5
alpha
j2
2
1
74
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
Maskování
maska = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7
kde j1, j2, j3, j4, j5, j6, j7 mÛÏe b˘t 0 nebo 1.
j1 (1):
spodní povrch je pfiítomen.
j2 (2):
horní povrch je pfiítomen.
j3 (4):
postranní plocha je pfiítomna v poãáteãním úhlu.
j4 (8):
postranní plocha je pfiítomna v koncovém úhlu.
j5 (16):
hrany boãního povrchu v poãáteãním úhlu jsou
viditelné.
j6 (32):
hrany boãního povrchu v koncovém úhlu jsou
viditelné.
j7 (64):
hrany prÛfiezu jsou viditelné, plocha není hladká
Hodnoty statutÛ
0:
v‰echny prostorové oblouky zaãínající v daném
uzlu jsou viditelné.
1:
prostorové oblouky zaãínající v daném uzlu se
pouÏijí pro zobrazení obrysu.
2:
pfii pouÏití rendrování ArchiCADu nebo Z-bufferu a
nastavení hladk˘ch povrchÛ bude vodorovná
hrana, patfiící tomuto bodu definovat zlom. Toto
fie‰ení je ekvivalentní definici doplÀkov˘ch uzlÛ,
v˘poãet provádí kompilátor. Pfii pouÏití jin˘ch
rendrovacích technologií má hodnota stejn˘ efekt
jako 0.
Pfiíklady:
ArchiCAD 6.0: Referenãní pfiíruãka GDL
75
Kapitola 5: Trojrozmûrné útvary
ROTY
REVOLVE
76
-90
22,
0,
0.093,
0.144,
0.220,
0.318,
0.436,
0.617,
0.772,
0.896,
0.987,
1.044,
1.064,
1.167,
1.181,
1.205,
1.236,
1.270,
1.304,
1.333,
1.354,
1.364,
1.564,
360,
1.982,
2,
1.845,
1.701,
1.571,
1.459,
1.263,
1.045,
0.808,
0.557,
0.296,
0.030,
0.024,
0.056,
0.081,
0.096,
0.1,
0.092,
0.073,
0.045,
0.012,
0,
1+64,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
fie‰ení bez statutu 2:
ROTY -90
REVOLVE 26, 180, 16+32,
7, 1, 0,
6.0001, 1, 1,
6, 1, 0,
5.9999, 1.0002, 1,
5.5001, 1.9998, 1,
5.5, 2, 0,
5.4999, 1.9998, 1,
5.0001, 1.0002, 1,
5, 1, 0,
4.9999, 1, 1,
4.0001, 1, 1,
4, 1, 0,
3+COS(15), 1+SIN(15), 1,
3+COS(30), 1+SIN(30), 1,
3+COS(45), 1+SIN(45), 1,
3+COS(60), 1+SIN(60), 1,
3+COS(75), 1+SIN(75), 1,
3, 2, 1,
3+COS(105), 1+SIN(105), 1,
3+COS(120), 1+SIN(120), 1,
3+COS(135), 1+SIN(135), 1,
3+COS(150), 1+SIN(150), 1,
3+COS(165), 1+SIN(165), 1,
2, 1, 0,
1.9999, 1, 0,
1, 1, 0
ArchiCAD 6.0: Referenãní pfiíruãka GDL
stejn˘ v˘sledek se statutem 2:
ROTY -90
REVOLVE 18, 180, 48,
7, 1, 0,
6, 1, 2,
5.5, 2, 2,
5, 1, 2,
4, 1, 2,
3+COS(15), 1+SIN(15), 1,
3+COS(30), 1+SIN(30), 1,
3+COS(45), 1+SIN(45), 1,
3+COS(60), 1+SIN(60), 1,
3+COS(75), 1+SIN(75), 1,
3, 2, 1,
3+COS(105), 1+SIN(105), 1,
3+COS(120), 1+SIN(120), 1,
3+COS(135), 1+SIN(135), 1,
3+COS(150), 1+SIN(150), 1,
3+COS(165), 1+SIN(165), 1,
2, 1, 2,
1, 1, 0
77
Kapitola 5: Trojrozmûrné útvary
RULED
n, maska,
u1, v1, s1, . . . un, vn, sn,
x1, y1, z1, . . . xn, yn, zn
RULED je povrch zaloÏen˘ na jedné rovinné kfiivce a jedné
prostorové kfiivce, které mají stejn˘ poãet uzlÛ. Odpovídající uzly
obou lomen˘ch ãar spojují ãárové segmenty. Je to jedin˘ prvek
GDL, umoÏÀující pfiekr˘vání sousedních uzlÛ.
n:
poãet uzlÛ lomené ãáry kaÏdé kfiivky.
maska:
ovládá existenci spodního, horního a boãního
polygonu a viditelnost hran zdrojov˘ch polygonÛ.
Boãní polygon spojuje první a poslední uzel
kfiivek, pokud Ïádná z nich není uzavfiená.
ui,vi:
soufiadnice uzlÛ plo‰né kfiivky.
si:
status postranních hran.
xi, yi, zi:
soufiadnice uzlÛ prostorové kfiivky.
Omezení parametru:
n>1
Z
2
j2
j6
1
n
j3
Y
n
j1
X
1
2
78
j5
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
Maskování
maska = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6 + 64*j7
kde j1, j2, j3, j5, j6, j7 mÛÏe b˘t 0 nebo 1.
j1 (1):
spodní povrch je pfiítomen.
j2 (2):
horní povrch je pfiítomen (neplatí, pokud horní
povrch není rovinn˘).
j3 (4):
boãní povrch je pfiítomen (rovinn˘ ãtyfiúhelník
nebo dva trojúhelníky).
j5 (16):
hrany rovinné kfiivky jsou viditelné.
j6 (32):
hrany prostorové kfiivky jsou viditelné.
j7 (64):
hrany povrchu jsou viditelné, plocha není hladká.
Hodnoty statutÛ
0:
v‰echny postranní hrany vycházející z daného uzlu
jsou viditelné.
1:
postranní hrany vycházející z daného uzlu se
pouÏiijí pro zobrazení obrysu.
Pfiíklady:
ArchiCAD 6.0: Referenãní pfiíruãka GDL
79
Kapitola 5: Trojrozmûrné útvary
R=3
RULED 16,
1+2+4+16+32,
COS(22.5)*R, SIN(22.5)*R, 0,
COS(45)*R,
SIN(45)*R,
0,
COS(67.5)*R, SIN(67.5)*R, 0,
COS(90)*R,
SIN(90)*R,
0,
COS(112.5)*R,SIN(112.5)*R,0,
COS(135)*R, SIN(135)*R, 0,
COS(157.5)*R,SIN(157.5)*R,0,
COS(180)*R, SIN(180)*R, 0,
COS(202.5)*R,SIN(202.5)*R,0,
COS(225)*R, SIN(225)*R, 0,
COS(247.5)*R,SIN(247.5)*R,0,
COS(270)*R, SIN(270)*R, 0,
COS(292.5)*R,SIN(292.5)*R,0,
COS(315)*R, SIN(315)*R, 0,
COS(337.5)*R,SIN(337.5)*R,0,
COS(360)*R, SIN(360)*R, 0,
COS(112.5)*R,SIN(112.5)*R,10,
COS(135)*R, SIN(135)*R, 10,
COS(157.5)*R,SIN(157.5)*R,10,
COS(180)*R, SIN(180)*R, 10,
COS(202.5)*R,SIN(202.5)*R,10,
COS(225)*R, SIN(225)*R, 10,
COS(247.5)*R,SIN(247.5)*R,10,
COS(270)*R, SIN(270)*R, 10,
COS(292.5)*R,SIN(292.5)*R,10,
COS(315)*R, SIN(315)*R, 10,
COS(337.5)*R,SIN(337.5)*R,10,
COS(360)*R, SIN(360)*R, 10,
COS(22.5)*R, SIN(22.5)*R, 10,
COS(45)*R,
SIN(45)*R,
10,
COS(67.5)*R, SIN(67.5)*R, 10,
COS(90)*R,
SIN(90)*R,
10
80
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
SWEEP
n, m, alfa, mûfiítko, maska,
u1, v1, s1, . . . un, vn, sn,
x1, y1, z1, . . . xm, ym, zm
Povrch generovan˘ posunem rovinné kfiivky podél prostorové
kfiivky.
Lomená ãára mÛÏe b˘t buì otevfiená nebo uzavfiená. Ve své
vlastní rovinû mÛÏe b˘t rotována a zmen‰ována/zvût‰ována.
Rovina lomené ãáry sleduje dráhu kfiivky. Prostorová kfiivka musí
zaãánat v rovinû x-y. Pokud není podmínka splnûna, kfiivka je
pfiesunuta podél osy z do roviny x-y.
PrÛfiez v bodû (xi, yi, zi) je kolm˘ k segmentu prostorové kfiivky
mezi body (xi-1, yi-1, zi-1) a (xi, yi, zi).
Povel SWEEP mÛÏete pouÏít pro modelování hubiãky konvice a
jin˘ch komplexních tvarÛ.
n:
poãet uzlÛ lomené ãáry.
m:
poãet uzlÛ dráhy.
alfa:
pfiírÛstek úhlu natoãení ve své vlastní rovinû mezi
dvûma sousedními uzly.
mûfiítko:
pfiírÛstkov˘ faktor zmûny mûfiítka lomené ãáry
mezi dvûma sousedními uzly dráhy.
maska:
ovládá existenci spodního a horního polygonu a
hran.
ui , vi :
soufiadnice uzlÛ lomené ãáry.
si :
status boãních hran.
xi, yi, zi :
soufiadnice uzlÛ dráhy.
Omezení parametrÛ:
n>1
m>1
z 1 < z2
ArchiCAD 6.0: Referenãní pfiíruãka GDL
81
Kapitola 5: Trojrozmûrné útvary
Maskování
maska = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6 + 64*j7
kde j1, j2, j3, j5, j6, j7 mÛÏe b˘t 0 nebo 1.
j1 (1):
spodní povrch je pfiítomen.
j2 (2):
horní povrch je pfiítomen.
j3 (4):
boãní povrch je pfiítomen.
j5 (16):
spodní hrany jsou viditelné.
j6 (32):
horní hrany jsou viditelné.
j7 (64):
hrany prÛfiezu jsou viditelné, povrch je zv˘raznûn.
Z
j2
j6
m
2
Y
j3
n
X
1
j1
1
2
j5
Hodnoty statutÛ
0:
v‰echny boãní hrany vycházející z daného uzlu
jsou viditelné.
1:
boãní hrany vycházející z daného uzlu se pouÏívají
pro zobrazení obrysu.
Pfiíklady:
82
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
SWEEP 4,
12,
-0.5, -0.25,
0.5, -0.25,
0.5,
0.25,
0.5,
0.25,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
ArchiCAD 6.0: Referenãní pfiíruãka GDL
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
7.5,
0,
0,
0,
0,
1,
1+2+4+16+32,
0.5,
1,
1.5,
2,
2.5,
3,
3.5,
4,
4.5,
5,
5.5,
6
83
Kapitola 5: Trojrozmûrné útvary
TUBE
n, m, maska,
u1, w1, s1,
...
un, wn, sn,
x1, y1, z1, úhel1,
...
xm, ym, zm, úhelm
Povrch generovan˘ posunem lomené ãáry po prostorové kfiivce
bez deformace prÛfiezu. Vnitfiní propojující povrchy jsou otáãivé
v rovinû U-W okamÏitého soufiadného systému UVW.
osa V:
aproximuje teãnu ke kfiivce v odpovídajícím bodû
osa W:
kolmá k ose V a smûfiující nahoru vzhledem k
lokální ose z
osa U:
kolmá k osám V a W a tvofií s nimi pravotoãiv˘
kartézsk˘ soufiadn˘ systém
Je-li osa V vertikální, smûr osy W není definován správnû. Osa W
v pfiedchozím uzlu dráhy urãuje horizontální smûr.
Polygon prÛfiezu trubky mûfien˘ ve stfiedu segmentu dráhy je
vÏdy shodn˘ s polygonem základny (u1, w1, ... un, wn). Polygony
prÛfiezu ve spojovacích uzlech jsou umístûny v rovinû osy úhlu
spojovacích segmentÛ. Polygon základny musí b˘t uzavfien.
n:
poãet hran lomené ãáry
m:
poãet hran dráhy
ui, wi:
soufiadnice vrcholÛ lomené ãáry
s i:
status boãních hran
xi, yi, zi:
soufiadnice vrcholÛ dráhy
(Kfiivka zahrnuje o dva body více, neÏ je poãet
generovan˘ch fiezÛ. První a poslední bod urãují
prostorové umístûní prvního a posledního povrchu
TUBE. Tyto body hrají roli pouze pfii urãování
kolmic povrchÛ, nejsou skuteãn˘mi uzly kfiivky.
Orientace povrchÛ je shodná s orientací tûch, které
by byly generovány v uzlech nejbliωích tûmto
dvûma koncov˘m bodÛm, kdyby trubka
pokraãovala jimi naznaãen˘m smûrem.)
84
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
úheli:
úhel rotace prÛfiezu
Maskování
maska = j1 + 2*j2 + 16*j5 + 32*j6 + 64*j7
kde j1, j2, j5, j6, j7 mÛÏe b˘t 0 nebo 1.
j1 (1):
spodní povrch je pfiítomen.
j2 (2):
koncov˘ povrch je pfiítomen.
j5 (16):
spodní hrany (v bodû x1, y1, z1) jsou viditelné.
j6 (32):
koncové hrany (v bodû xm, ym, zm) jsou viditelné.
j7 (64):
hrany prÛfiezu jsou viditelné, povrch je zv˘raznûn.
Omezení parametrÛ:
n>2
m>3
W
m
m-1
V
W
1
2
alpha
U
U
Hodnoty statutÛ
0:
v‰echny boãní hrany vycházející z daného uzlu
jsou viditelné.
1:
ArchiCAD 6.0: Referenãní pfiíruãka GDL
boãní hrany vycházející z daného uzlu se pouÏívají
pro zobrazení obrysu.
85
Kapitola 5: Trojrozmûrné útvary
Pfiíklady:
TUBE
4,
2.0,
0.0,
0.0,
2.0,
18,
0.0,
0.0,
0.4,
0.4,
-1,
0,
0,
0,
4,
0,
6,
0,
6+4*SIN(15), 4 6+4*SIN(30), 4 6+4*SIN(45), 4 6+4*SIN(60), 4 6+4*SIN(75), 4 10,
4,
6+4*SIN(105),4 6+4*SIN(120),4 6+4*SIN(135),4 6+4*SIN(150),4 6+4*SIN(165),4 6,
8,
0,
8,
-1,
8,
86
16+32,
0,
0,
0,
0,
4*COS(15),
4*COS(30),
4*COS(45),
4*COS(60),
4*COS(75),
4*COS(105),
4*COS(120),
4*COS(135),
4*COS(150),
4*cos(165),
0,
0,
0.1,
0.15,
0.2,
0.25,
0.3,
0.35,
0.4,
0.45,
0.5,
0.55,
0.6,
0.65,
0.7,
0.75,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
TUBE
ArchiCAD 6.0: Referenãní pfiíruãka GDL
14,
0,
0.03,
0.03,
0.06,
0.05,
0.05,
0.05,
1,
0.08,
0.19,
0.19,
0.25,
0.25,
0,
0,
0,
0,
-0.8,
-0.8,
-0.8,
6,
0,0,
0,0,
0.02,
0.02,
0.0699,
0.07,
0.15,
0,
90,
0.15,
0.19,
0.19,
0.25,
0.25,
1,
0.0001,
0,
0,
0.0001,
1,
1+2+16+32,
0,
0,
0,
1,
901,
801,
2000,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
87
Kapitola 5: Trojrozmûrné útvary
TUBE
88
3,
0,
-0.5,
0,
7,
0,
0,
0.5,
16+32,
0,
0,
0,
0.2,
0,
0,
3,
3,
3,
3,
0,
0,
0,
0,
4,
4,
3.8,
-0.2,
0,
5,
5,
5,
0,
-0.2,
0,
0,
0,
0,
0,
0,
0
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
TUBEA
n, m, maska,
u1, w1, s1,
...
un, wn, sn,
x1, y1, z1,
...
xm, ym, zm
2
n
1
m-1
m
1
bisector plane
TUBEA je povrch generovan˘ posunem lomené ãáry
podél prostorové kfiivky s odli‰n˘m algoritmem, neÏ
pouÏívá povel TUBE.
Polygon prÛfiezu generovan˘ v kaÏdém spojovacím bodû
dráhy je shodn˘ s polygonem základny (u1, w1, ... un, wn)
a je situován v rovinû osy úhlu projekce spojovacích
segmentÛ do lokální x-y roviny. Polygon základny mÛÏe
b˘t otevfien: V tom pfiípadû budou polygony prÛfiezu
generovány tak, aby dosáhly lokální x-y roviny jako v
pfiípadû povrchÛ REVOLVE.
PrÛfiez trubky mûfien˘ ve stfiedu segmentu dráhy mÛÏe
b˘t odli‰n˘ od polygonu základny.
Pfiíklady:
ArchiCAD 6.0: Referenãní pfiíruãka GDL
89
Kapitola 5: Trojrozmûrné útvary
TUBEA 9,
-1,
0,
0.8,
0.8,
0.8001,
3.2,
3.2,
4,
5,
0,
0,
4,
9,
9,
14,
20,
90
7,
1,
2,
2,
1.6,
1.6,
1.6,
2,
2,
1,
-7,
0,
0,
3,
10,
10,
15,
1 + 2 + 16 + 32,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
1,
2.25,
2.25,
2.25,
5
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
COONS
n, m, maska,
x11, y11, z11, .
x21, y21, z21, .
x31, y31, z31, .
x41, y41, z41, .
.
.
.
.
.
.
.
.
x1n, y1n, z1n,
x2n, y2n, z2n,
x3m, y3m, z3m,
x4m, y4m, z4m
Povrch generovan˘ ze 4 okrajov˘ch kfiivek.
Maskování
maska = 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7
kde j3, j4, j5, j6, j7 mÛÏe b˘t 0 nebo 1.
j3 (4):
hrany prvního okraje (x1, y1, z1) jsou viditelné
j4 (8):
hrany druhého okraje (x2, y2, z2) jsou viditelné
j5 (16):
hrany tfietího okraje (x3, y3, z3) jsou viditelné
j6 (32):
hrany ãtvrtého okraje (x4, y4, z4) jsou viditelné
j7 (64):
hrany plochy jsou viditelné, plocha nebude hladká
Omezení parametrÛ:
n, m > 1
Z
n)
Y
4(m)
2(n)
3(m)
X
ArchiCAD 6.0: Referenãní pfiíruãka GDL
91
Kapitola 5: Trojrozmûrné útvary
Pfiíklady:
COONS 6,
6,
4+8+16+32+64,
!1. okraj, n=6
0,
0,
5,
1,
0,
4,
2,
0,
3,
3,
0,
2,
4,
0,
1,
5,
0,
0,
!2. okraj, n=6
0,
5,
0,
1,
5,
1,
2,
5,
2,
3,
5,
3,
4,
5,
4,
5,
5,
5,
!3. okraj, m=6
0,
0,
5,
0,
1,
4,
0,
2,
3,
0,
3,
2,
0,
4,
1,
0,
5,
0,
!4. okraj, m=6
5,
0,
0,
5,
1,
1,
5,
2,
2,
5,
3,
3,
5,
4,
4,
5,
5,
5
92
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
ROTZ
-90
ROTY
90
COONS 7,
6,
!1. okraj, n=7
1,
2,
0.5,
1,
0.2,
0.5,
-0.5,
0,
0.2,
-0.5,
0.5,
-1,
1,
-2,
!2. okraj, n=7
6,
10,
6.5,
4,
5,
1,
4,
0,
5,
-1,
6.5,
-4,
6,
-10,
!3. okraj, m=6
1,
2,
2,
4,
3,
6,
4,
8,
5,
9,
6,
10,
!4. okraj, m=6
1,
-2,
2,
-4,
3,
-6,
4,
-8,
5,
-9,
6,
-10,
ArchiCAD 6.0: Referenãní pfiíruãka GDL
4+8+16+32+64,
0,
0,
0,
0,
0,
0,
0,
-2,
-1.5,
-1.2,
-1,
-1.2,
-1.5,
-2,
0,
-0.5,
-1,
-1.5,
-1.8,
-2,
0,
-0.5,
-1,
-1.5,
-1.8,
-2
93
Kapitola 5: Trojrozmûrné útvary
MASS
topmat, botmat, sidemat, n, m, maska, h,
x1, y1, z1, s1,
...
xn, yn, zn, sn,
xn+1, yn+1, zn+1, sn+1,
...
xn+m, yn+m, zn+m, sn+m
topmat, botmat, sidemat:
jméno/index horního, spodního a boãního
materiálu
n:
poãet uzlÛ polygonu MASS
m:
poãet uzlÛ na hranách
h:
v˘‰ka boãních stûn (mÛÏe b˘t negativní)
xi, yi, zi :
soufiadnice uzlÛ
si :
jako u povelu PRISM_
Maskování
maska = j1 + 4*j3 + 16*j5 + 32*j6 + 64*j7
kde j1, j3, j5, j6, j7 mÛÏe b˘t 0 nebo 1.
j1 (1):
spodní povrch je pfiítomen
j3 (4):
boãní porvchy jsou pfiítomny
j5 (16):
spodní a boãní hrany jsou viditelné
j6 (32):
horní hrany jsou viditelné
j7 (64):
horní hrany jsou viditelné, horní povrch není
hladk˘
Omezení parametrÛ:
n > 3, m > 0
m-1
m
n
1
2
dz plane
94
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
Pfiíklad :
MASS
"bílá omítka", "bílá omítka", "bílá omítka",
15, 12, 117, -5.0,
0, 12, 0, 15,
8, 12, 0, 15,
8, 0, 0, 15,
13, 0, 0, 13,
16, 0, 0, 13,
19, 0, 0, 13,
23, 0, 0, 13,
24, 0, 0, 15,
24, 12, 0, 15,
28, 12, 0, 15,
28, 20, 8, 13,
28, 22, 8, 15,
0, 22, 8, 15,
0, 20, 8, 13,
0, 12, 0, -1,
0,
28,
23,
23,
13,
13,
16,
16,
0,
28,
19,
19,
ArchiCAD 6.0: Referenãní pfiíruãka GDL
22,
22,
17,
0,
13,
0,
0,
19,
20,
20,
17,
0,
8,
8,
5,
5,
1,
1,
7,
7,
8,
8,
5,
5,
0,
-1,
0,
-1,
0,
-1,
0,
-1,
0,
-1,
0,
-1
95
Kapitola 5: Trojrozmûrné útvary
5.3 Prvky pro vizualizaci
LIGHT
ãervená, zelená, modrá, stín,
polomûr, alfa, beta, angfalloff,
dist1, dist2, distfalloff
Svûteln˘ zdroj vyzafiuje barevné [ãervená, zelená, modrá] svûtlo z
lokálního poãátku podél lokální osy x. Svûtlo je vyzafiováno
rovnobûÏnû s osou x z bodového nebo kruhového zdroje.
Maximální intenzita svûtla je v kuÏelu o úhlu alfa a na nulovou
intenzitu se sníÏí v kuÏelu o úhlu beta. Tento úbytek svûtla je
ovládán parametrem angfalloff. (Nula vytvofií ostré hrany svûtla,
vy‰‰í hodnoty znamenají plynulé pfiechody.) Svûteln˘ efekt je
podél osy omezen hodnotami dist1 a dist2. Parametr distfalloff
fiídí sníÏení intenzity v závislosti na vzdálenosti. (Nulová hodnota
vytváfií konstantní intenzitu, vût‰í hodnoty se uÏívají pro silnûj‰í
útlum.)
GDL transformace ovlivÀují pouze poãáteãní bod a smûr svûtla.
Parametr stín fiídí v˘poãet stínÛ.
0:
svûtlo nevrhá Ïádné stíny
1:
svûtlo vrhá stíny
radius
beta
alpha
intensity
dist1
dist2
96
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
Omezení parametru:
alfa < beta < 80°
Následující kombinace parametrÛ mají zvlá‰tní v˘znam:
polomûr = 0, alfa = 0, beta = 0
Bodové svûtlo, vyzafiuje kaÏd˘m smûrem, nevrhá stíny.
Parametry stín, angfalloff jsou ignorovány, pfiedpokládá
se, Ïe stín = 0, angfalloff = 0.
polomûr > 0, alfa = 0, beta = 0
Smûrové svûtlo.
Pfiíklad:
LIGHT 1.0,0.2,0.3,
1,
1.0,
45.0,60.0,
0.3,
1.0,10.0,
0.2
!
!
!
!
!
!
!
RGB
v po et stínÛ
polomûr
angle1, angle2
angfalloff
dist1, dist2
distfalloff
Dialog knihovního prvku pro svûtla ArchiCADu:
ArchiCAD 6.0: Referenãní pfiíruãka GDL
97
Kapitola 5: Trojrozmûrné útvary
âást odpovídající GDL popisu:
IF C = 0 GOTO 10
LIGHT G/100*D, G/100*E, G/100*F,
...
10:
!RGB
r = 0, alfa > 0, beta > 0
r > 0, alfa = 0, beta > 0
r > 0, alfa = 0, beta = 0
Typy svûtel uÏívající rÛzné parametry alfa a beta
98
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
PICTURE
v˘raz, a, b, maska
Obrázek pro fotorealistické zobrazení.
V˘raz typu fietûzec znamená jméno souboru, ãíseln˘ v˘raz je
index obrázku uloÏeného v knihovním prvku. Index 0 je zvlá‰tní
hodnota odkazující na náledov˘ obrázek knihovního prvku.
Ostatní obrázky lze ukládat v knihovních prvcích pouze pfii
ukládání projektu nebo oznaãen˘ch prvkÛ, obsahujících obrázky,
jako Objekt ArchiCADu.
Obrázek je pfiizpÛsoben obdélníku, kter˘ se chová jako RECT v
libovolném jiném 3D zobrazení.
maska = alfa + zkroucení
alfa:
ovládání alfa kanálu
0: alfa kanál se nepouÏije, obrázek je obdélníkov˘
1: alfa kanál se pouÏije, ãásti obrázku mohou b˘t
prÛhledné.
zkroucení:
ovládání zkroucení
0: pfiizpÛsobí obrázek danému obdélníku
2: vsadí obrázek do stfiedu obdélníka bez
deformace
4: vsadí obrázek do stfiedu obdélníka, vyplní
obdélník obrázkem bez deformace mûfiítka ãi
rozmûrÛ
ArchiCAD 6.0: Referenãní pfiíruãka GDL
99
Kapitola 5: Trojrozmûrné útvary
5.4 Textov˘ prvek
TEXT
d, 0, v˘raz
3D zobrazení znakového nebo numerického v˘razu. Viz DEFINE
STYLE a SET STYLE v kapitole “Atributy”.
d: tlou‰Èka znakÛ v metrech
V této verzi GDL je druh˘m parametrem vÏdy nula.
Pfiíklady:
DEFINE STYLE "aa" "New York", 3, 7, 0
SET STYLE "aa"
TEXT 0.005, 0, "3D Text"
jméno = "Grand"
ROTX 90
ROTY -30
TEXT 0.003, 0, jméno
ADDX STW (jméno)/1000
ROTY 60
TEXT 0.003, 0, "Hotel"
Pozn.: KvÛli kompatibilitû s 2D GDL popisem je v˘‰ka znakÛ v
povelu DEFINE STYLE vÏdy interpretována v mm.
100
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
5.5 Primitivní prvky
Primitivy 3D datové struktury jsou VERT, VECT, HRANA, PGON a
BODY. Tûlesa jsou reprezentována povrchy a jejich propojeními.
Informace pro vytvofiení 3D fiezu vychází z informace o spojení.
Indexování zaãíná od 1 a kaÏdé nové tûleso nebo pfiíkaz BASE
nastavuje indexy na 1. Pro kaÏdou hranu se ukládají indexy dvou
pfiiléhl˘ch polygonÛ (maximálnû 2). Orientace hran je definována
dvûma vrcholy, ureãn˘mi prvním a druh˘m.
Polygony jsou seznamy hran s orientací, vãetnû indexÛ hran.
âísla mohou mít negativní znaménko, coÏ znamená, Ïe daná
hrana je pouÏita v opaãném smûru.
Polygony mohou obsahovat otvory. V seznamu hran nulov˘
index oznaãuje nov˘ otvor. Otvory nesmí obsahovat jiné otvory.
Jedna hrana mÛÏe pfiíslu‰et Ïádnému, jednomu nebo dvûma
polygonÛm. V pfiípadû uzavfien˘ch tûles je orientace polygonu
správná, pokud má hrana rÛzné pfiedpony v seznamu hran
pfiíslu‰n˘ch dvou polygonÛ.
Normálové vektory polygonÛ se ukládají samosatnû. V pfiípadû
uzavfien˘ch tûles smûfiují ven z tûlesa. Orientace seznamu hran je
proti smûru hodinov˘ch ruãiãek (matematicky pozitivní), pokud
se díváte z vnûj‰ku. Orientace otvorÛ je opaãná vzhledem k
základnímu polygonu. Normálové vektory otevfieného tûlesa
musí smûfiovat ke stejné stranû tûlesa.
K urãení vnitfiku a vnûj‰ku tûles musí b˘t tûlesa uzavfiená.
Jednoduchá definice uzavfieného tûlesa je následující: kaÏdá
hrana má právû dva pfiilehlé polygony.
Rychlost ofiezávání, odstraÀování skryt˘ch ãar nebo
interpretaãních algoritmÛ je niωí u otevfien˘ch tûles. KaÏd˘
sloÏen˘ trojrozmûrn˘ prvek s regulérními parametry je uzavfiené
tûleso v interní 3D datové struktufie.
Vyhledání obrysov˘ch ãar je zaloÏeno na bitech statutÛ hran a
jejich pfiilehl˘ch polygonÛ. To je automaticky nastaveno u
sloÏit˘ch zakfiiven˘ch prvkÛ, v pfiípadû primitivních prvkÛ v‰ak
musíte tyto bity sami správnû specifikovat.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
101
Kapitola 5: Trojrozmûrné útvary
V pfiípadû zjednodu‰ené definice (PGON.ivect = 0 nebo
PGON.status < 0) musí primitiva, na které se odkazují jiná tûlesa,
pfiedcházet tomuto odkazu. V takovém pfiípadû je doporuãené
pofiadí:
VERT (TEVE)
HRANA
(VECT)
PGON (PIPG)
COOR
BODY
Vyhledávání polygonÛ pfiilehl˘ch k hranám probíhá bûhem
provádûní povelu pro tûleso.
âíslování pfiíkazÛ VERT, HRANA, VECT a PGON je relativní
vzhledem k poslednímu (explicitnímu nebo implicitnímu) pfiíkazu
BASE.
Hodnoty statutÛ se pouÏívají pro uloÏení speciálních informací o
primitivních prvcích. KaÏd˘ jednotliv˘ bit má pro status nezávisl˘
v˘znam, av‰ak existují nûkteré v˘jimky.
Dané hodnoty lze sãítat. Jiné neÏ níÏe uvedené kombinace bitÛ
jsou pfiísnû vyhrazeny pro interní pouÏití. Implicitní hodnotou
pro kaÏd˘ status je nula.
VERT
x, y, z
Uzel v prostoru x-y-z definovan˘ 3 soufiadnicemi.
TEVE
x, y, z, u, v
Doplnûk povelu VERT, obsahující navíc definici soufiadnice
textury. Lze jej pouÏít namísto povelu VERT, pokud jsou
poÏadovány uÏivatelsky definované soufiadnice textury místo
automatického pfiilepení textury (viz povel COOR).
x, y, z: soufiadnice uzlu
u, v: soufiadnice textury uzlu
Musí b˘t urãeny (u, v) soufiadnice pro kaÏd˘ vrchol aktuálního
tûlesa a kaÏd˘ vrchol by mûl mít pouze jednu soufiadnici textury.
Pokud jsou povely VERT a TEVE v definici tûlesa promíchány, (u,
v) soufiadnice se neuplatní.
Pozn.: Soufiadnice (u, v) textury se uplatní pouze ve
fotozobrazení, ale nikoli pfii zobrazení vektorov˘ch v˘plní.
102
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
VECT
x, y, z
Definice normálového vektoru polygonu pomocí 3 soufiadnic. V
pfiípadû zjednodu‰ené definice (PGON.ivect = 0) mohou b˘t tyto
pfiíkazy vynechány.
EDGE
vert1, vert2, pgon1, pgon2, status
Definice hrany.
vert1, vert2 : indexy koncov˘ch bodÛ.
Indexy vert1 a vert2 musí b˘t rozdílné a vztahují se k dfiíve
definovan˘m VERTs.
pgon1, pgon2 :
indexy sousedních polygonÛ. Nulové a negativní
hodnoty mají speciální v˘znam:
0 : krajní nebo samostatná hrana.
<0 : ArchiCAD bude hledat moÏné sousedy.
Bity statutÛ:
1
neviditelná hrana.
2
hrana zakfiiveného povrchu.
Rezervované bity statutÛ pro pozdûj‰í vyuÏití:
4
první hrana zakfiivené plochy
(pouze spolu s 2).
8
poslední hrana zakfiivené plochy
(pouze spolu s 2).
16
hrana je segmentem oblouku
32
prv˘ segment oblouku
(pouze spolu s 16).
64
poslední segment oblouku
(pouze spolu s 16).
ArchiCAD 6.0: Referenãní pfiíruãka GDL
103
Kapitola 5: Trojrozmûrné útvary
PGON
n, ivect, status, hrana1, hrana2, . . . hranan
n:
poãet hran v seznamu hran.
ivect:
index normálového vektoru. Musí se vztahovat k
dfiíve definovanému VECT.
Pokud ivect = 0, ArchiCAD vypoãítá normálov˘
vektor bûhem anal˘zy.
Indexy hrana1, hrana2, . . . hranan se musí vztahovat k dfiíve
definovan˘m HRANA. Hodnota 0 znamená zaãátek nebo konec
definice otvoru.
Negativní index mûní smûr uloÏeného normálového vektoru
nebo hrany na opaãn˘ v rámci polygonu. (UloÏen˘ vektor nebo
hrana se nemûní; ostatní polygony se na nû mohou odvolávat,
pouÏívají-li pÛvodní orientaci s pozitivním indexem.)
Bity statutÛ:
1
neviditeln˘ polygon.
2
polygon zakfiivené plochy.
16
konkávní polygon.
32
polygon s otvorem (otvory).
64
otvor (otvory) jsou konvexní
(pouze spolu s 32).
Rezervované hodnoty bitÛ statutu pro budoucí pouÏití:
4
první polygon zakfiivené plochy
(pouze spolu s 2).
8
poslední polygon zakfiivené plochy
(pouze spolu s 2).
Je-li hodnota pro status negativní, ArchiCAD vypoãítá status
polygonu (jako konkávní polygon nebo polygon s otvorem).
n = 0 je povolen pro speciální úãely.
104
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
PIPG
soubor, a, b, maska, n, ivect, status, hrana1, hrana2, . . . hranan
Definice polygonu obrázku. První 4 parametry jsou stejné jako u
prvku PICTURE, zb˘vající jsou stejné jako u prvku PGON.
COOR
wrap, vert1, vert2, vert3, vert4
Lokální soufiadn˘ systém povelu BODY pro pfiilepení v˘plnû a
textury.
pfiilepení:
reÏim pfiilepení + typ projekce
ReÏimy pfiilepení:
1: plocha
2: kubus
3: válec
4: koule
5: stejné jako u válce, ale pfii rendrování horního a
spodního povrchu dostanete pfiilepení ve tvaru
kruhu.
Typy projekce:
vert1:
256:
v˘plÀ vÏdy zaãíná v poãátku lokálního
soufiadného systému
1024:
kvadratická projekce textury
(doporuãeno)
2048:
lineární projekce textury zaloÏená na
prÛmûrné vzdálenosti
4096:
lineární projekce textury zaloÏená na
triangulaci normál
Poslední 3 hodnoty jsou efektivní pouze
s uÏivatelsky definovan˘mi soufiadnicemi
textury (viz povel TEVE).
index VERT, pfiedstavující poãátek lokálního
soufiadného systému.
vert2, vert3, vert4:
indexy VERT definující 3 soufiadné osy.
PouÏijte znaménko mínus pfied indexem VERT, pokud se
pouÏívají pouze pro definování lokálního soufiadného systému.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
105
Kapitola 5: Trojrozmûrné útvary
Pfiíklad pro osy uÏivatelské textury:
Z
Y
Z'
X
X'
Y'
CSLAB_ "lícovka", "lícovka", "lícovka",
4,
0.5,
0,
0,
0,
15,
1,
0,
0,
15,
1,
1,
1,
15,
0,
1,
1,
15
BASE
VERT 1,
0,
0
!#1
VERT 1,
1,
1
!#2
VERT 0,
0,
0
!#3
VERT 1,
0,
1
!#4
COOR 2,
-1, -2, -3, -4
BODY 1
106
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
BODY
status
Tvofií tûleso definované v˘‰e uveden˘mi primitivy.
Bity statutu:
1
uzavfiené tûleso.
2
tûleso vãetnû zakfiivené plochy (ploch)
4
povrchov˘ model, pfii fiezu tûlesem Ïádná plocha
nezaãíná na plo‰e fiezu.
32
tûleso vÏdy vrhá stín nezávisle na automatickém
pfiednastaveném algoritmu.
64
tûleso nikdy nevrhá stíny.
Pokud není nastaveno ani 32, ani 64, pak se uskuteãní
automaticky pfiednastavené vrhání stínÛ. Viz SHADOW v kapitole
“Atributy”.
Je-li hodnota statutu negativní, vypoãítá ArchiCAD status tûlesa.
Pfiíklad:
Z
5
6
8
7
1
4
Y
3
2
X
ArchiCAD 6.0: Referenãní pfiíruãka GDL
107
Kapitola 5: Trojrozmûrné útvary
1: Úpln˘ popis
108
VERT
VERT
VERT
VERT
VERT
VERT
VERT
VERT
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
VECT
VECT
VECT
PGON
0.0,
0.0,
0.0
1.0,
0.0,
0.0
1.0,
1.0,
0.0
0.0,
1.0,
0.0
0.0,
0.0,
1.0
1.0,
0.0,
1.0
1.0,
1.0,
1.0
0.0,
1.0,
1.0
1,
2,
1,
3,
2,
3,
1,
4,
3,
4,
1,
5,
4,
1,
1,
6,
5,
6,
2,
3,
6,
7,
2,
4,
7,
8,
2,
5,
8,
5,
2,
6,
1,
5,
6,
3,
2,
6,
3,
4,
3,
7,
4,
5,
4,
8,
5,
6,
1.0,
0.0,
0.0
0.0,
1.0,
0.0
0.0,
0.0,
1.0
4, -3, 0, -1, -4, -3,
PGON
4,
3,
0,
5,
PGON
4, -2,
0,
1, 10, -5, -9
PGON
4,
1,
0,
2, 11, -6, -10
PGON
4,
2,
0,
3, 12, -7, -11
PGON
4, -1,
0,
4,
BODY
1
6,
7,
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
9, -8, -12
!#1
!#2
!#3
!#4
!#5
!#6
!#7
!#8
!#1
!#2
!#3
!#4
!#5
!#6
!#7
!#8
!#9
!#10
!#11
!#12
!#1
!#2
!#3
!#1
!VERT1,2,3,4
!#2
!VERT5,6,7,8
!#3
!VERT1,2,5,6
!#4
!VERT2,3,6,7
!#5
!VERT3,4,7,8
!#6
!VERT1,4,5,8
!CUBE
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
2: (bez pfiímého odkazu na polygony nebo vektory, ArchiCAD
je vypoãítá)
VERT
VERT
VERT
VERT
VERT
VERT
VERT
VERT
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
PGON
0.0,
1.0,
1.0,
0.0,
0.0,
1.0,
1.0,
0.0,
1,
2,
3,
4,
5,
6,
7,
8,
1,
2,
3,
4,
4, 0,
PGON
4,
PGON
4, 0,
PGON
4,
0,
-1,
2, 11, -6, -10
PGON
4,
0,
-1,
3, 12, -7, -11
PGON
4, 0,
BODY
-1
0,
0.0,
0.0
0.0,
0.0
1.0,
0.0
1.0,
0.0
0.0,
1.0
0.0,
1.0
1.0,
1.0
1.0,
1.0
2,
-1,
-1,
3,
-1,
-1,
4,
-1,
-1,
1,
-1,
-1,
6,
-1,
-1,
7,
-1,
-1,
8,
-1,
-1,
5,
-1,
-1,
5,
-1,
-1,
6,
-1,
-1,
7,
-1,
-1,
8,
-1,
-1,
-1, -1, -4, -3,
-1,
-1,
-1,
5,
6,
0
0
0
0
0
0
0
0
0
0
0
0
-2
7,
8
1, 10, -5, -9
4,
9, -8, -12
!#1
!#2
!#3
!#4
!#5
!#6
!#7
!#8
!#1
!#2
!#3
!#4
!#5
!#6
!#7
!#8
!#9
!#10
!#11
!#12
!#1
!VERT1,2,3,4
!#2
!VERT5,6,7,8
!#3
!VERT1,2,5,6
!#4
!VERT2,3,6,7
!#5
!VERT3,4,7,8
!#6
!VERT1,4,5,8
!CUBE
BASE
Resetuje poãítadla pro základní geometrické prvky (VERT, VECT,
EDGE a PGON). Implictnû je povel vydáván po kaÏdé definici
sloÏeného prvku.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
109
Kapitola 5: Trojrozmûrné útvary
5.6 PouÏívání binárních 3D dat
BINARY
reÏim [, ãást]
Speciální pfiíkaz k zahrnutí vnitfiních binárních objektÛ do GDL
makra. Sada vrcholÛ, vektorÛ, hran, polygonÛ, tûles a materiálÛ
se naãte ze speciální ãásti souboru knihovního prvku. Ty se
transformují podle aktuálních transformací a zaãlení do 3D
modelu. Data obsaÏená v binární ãásti nelze editovat.
reÏim:
0:
ãást:
platí aktuální nastavení pro PEN (pero) a
MATERIAL
1:
aktuální hodnoty PEN a MATERIAL se neuplatní.
Knihovní prvek bude zobrazen s uloÏen˘mi
definicemi pro barvy a materiál. Vzhled povrchu je
konstantní
2:
pouÏijí se uloÏená nastavení pro PEN a MATERIAL,
nedefinované materiály jsou nahrazeny aktuálním
nastavením.
3:
pouÏijí se uloÏená nastavení pro PEN a MATERIAL,
nedefinované materiály jsou nahrazeny uloÏen˘mi
implicitními atributy.
index binárního prvku, od 1 do 16
PouÏitím 0 jako indexu ãásti se mÛÏete odkazovat souãasnû ke
v‰em existujícím binárním prvkÛm.
Jedinû ãást s indexem 1 mÛÏe b˘t uloÏena z GDL, odkazují se k
nûmu také povely BINARY bez argumentu ãásti. Ostatní indexy
ãásti budou pouÏity externími nástroji (StairMaker, ArchiSite,
VisualGDL, atd.).
Otevfiete-li soubory s datovou strukturou odli‰nou od ArchiCADu
(napfi. DXF, ZOOM), bude jejich 3D popis pfiemûnûn do
binárního formátu.
Je moÏné uloÏit knihovní prvek ArchiCADu v binárním tvaru
pomocí pfiíkazu Otevfiít knihovní prvek v menuSoubor.
Pomocí pfiíkazu UloÏit jako... mÛÏete ukládat z hlavního
editaãního okna Knihovní prvek v binárním tvaru. Je-li zatrÏeno
políãko UloÏit v binárním tvaru v dialogu UloÏit jako..., pak GDL
text aktuálního knihovního prvku bude nahrazen binárním
popisem.
110
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
Pokyn: UloÏením 3D modelu po vytvofiení 3D fiezu v
binárním formátu uloÏíte sefiíznut˘ model. Tak mÛÏete
vytváfiet ofiezané tvary.
SvÛj knihovní prvek mÛÏete uloÏit v binárním tvaru, pouze
jestliÏe jiÏ byl vygenerován 3D model, jin˘mi slovy, jestliÏe jste
vidûli 3D zobrazení prvku alespoÀ jednou.
Náhradou GDL popisu binárním popisem knihovního prvku
mÛÏete podstatnû zredukovat ãas pro 3D konverzi prvku.
Na druhé stranû binární 3D popis není parametrick˘ a zabírá
vût‰í prostor na disku neÏ algoritmick˘ program v GDL.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
111
Kapitola 5: Trojrozmûrné útvary
5.7 ¤ezy ve 3D
CUTPLANE
[x, y, z [, strana]]
[stmt1
stmt2
...
stmtn]
CUTEND
nebo
CUTPLANE
úhel
[stmt1
stmt2
...
stmtn]
CUTEND
Vytváfií fieznou rovinu a odstraÀuje odfiíznuté ãásti uzavfien˘ch
tvarÛ. CUTPLANE mÛÏe mít rÛzn˘ poãet parametrÛ.
CUTPLANE má:
Îádn˘ parametr: rovina x-y
1 parametr: rovina fiezu prochází osou x, úhel je mezi rovinou
fiezu a rovinou x-y
2 parametry: rovina fiezu je rovnobûÏná s osou z, prochází osami
x a y v dan˘ch hodnotách
3 parametry: prochází osami x, y a z v dan˘ch hodnotách
4 parametry: první tfii parametry stejné jako v˘‰e,
strana = 0:
odstraní ãásti nad rovinou fiezu (implicitnû)
strana = 1:
odstraní ãásti pod rovinou fiezu; v pfiípadû x-y, x-z,
y-z, ãásti v záporném smûru osy.
Pfiíkaz (bez parametrÛ side) odstraní ãásti nad rovinou fiezu.
Pokud první tfii parametry definují roviny x-y, x-z nebo y-z (napfi.
1.0, 1.0, 0.0 definuje rovinu x-y), ãásti v kladném smûru tfietí osy
budou odstranûny.
Libovoln˘ poãet a druh povelÛ mÛÏe b˘t mezi CUTPLANE a
CUTEND. Také makra mohou obsahovat CUTPLANE.
Parametry CUTPLANE se vztahují k aktuálnímu soufiadnicovému
systému.
Transformace mezi CUTPLANE a CUTEND nemají vliv na
samotnou rovinu fiezu, ale v‰echny následující CUTPLANE budou
112
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
transformovány. Tedy: pouÏívejte jen tolik transformací k
nastavení CUTPLANE, kolik je nezbytné, poté tyto transformace
pfied definováním tvarÛ, které mají b˘t fiezány, vymaÏte.
Dvojice pfiíkazÛ CUTPLANE-CUTEND mohou b˘t spojeny,
dokonce i ve smyãkách. Chybí-li koneãn˘ CUTEND, jeho
CUTPLANE bude ovlivÀovat v‰echny tvary aÏ do konce popisu.
CUTPLANE v makrech ovlivÀují pouze tvary v makru, dokonce i
kdyÏ chybí CUTEND.
Je-li mezi CUTPLANE a CUTEND voláno makro, tvary v makru
budou fiezány.
Aktuální nastavení materiálu, pera a v˘pnû se projeví na
fiezan˘ch povr‰ích.
Pozor na následující:
- Pokud CUTPLANE není uzavfien CUTENDem, mohou v
nejhor‰ím pfiípadû b˘t odstranûny v‰echny tvary. Proto
budete vÏdy varováni hlá‰ením o chybûjícím CUTEND.
- Pokud nejsou odstranûny transformace, které se pouÏívají
pouze pro umístûní CUTPLANE, mohli byste si myslet, Ïe
CUTPLANE je ve ‰patné pozici, kdyÏ ve skuteãnosti byly
odsunuty celé ãásti.
Pfiíklady:
CUTPLANE
CUTPLANE
CUTPLANE
CUTPLANE
ADD
BRICK
DEL
CUTEND
CUTEND
CUTEND
CUTEND
ArchiCAD 6.0: Referenãní pfiíruãka GDL
2,
-2,
-2,
2,
-1,
2,
1
2,
2,
-2,
-2,
-1,
2,
4
4
4
4
0
4
113
Kapitola 5: Trojrozmûrné útvary
114
CUTPLANE
SPHERE 2
CUTEND
CUTPLANE 1, 1, 0, 1
SPHERE 2
CUTEND
CUTPLANE 1.8, 1.8,
1.8
SPHERE 2
CUTEND
CUTPLANE 1.8, 1.8,
1.8, 1
SPHERE 2
CUTEND
CUTPLANE 60
BRICK 2, 2, 2
CUTEND
CUTPLANE -120
BRICK 2, 2, 2
CUTEND
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
CUTPOLY
n,
x1, y1, . . . xn, yn
[, x, y, z]
[stmt1
stmt2
...
stmtn]
CUTEND
Ekvivalent povelu CUTPLANE, parametry povelu CUTPOLY se
vztahují k aktuálnímu soufiadnému systému. Polygony musí b˘t
konvexní a nesmí se protínat. Smûr fiezu je osa Z nebo lze
specifikovat voliteln˘ (x, y, z) vektor.
Parametry definují nekoneãnou "trubku": prufiez trubky je
polygonální, smûr fiezu je smûr trubky. V‰e uvnitfi trubky bude
odstranûno.
Pfiíklady:
ROTX 90
MULZ -1
CUTPOLY
3,
0.5, 1,
2,
2,
3.5, 1,
-1.8, 0,
1
DEL
1
BPRISM_ "ãervená cihla", "ãervená cihla", "lícovka",
4,
0.9,
7,
0.0,
0.0,
15,
6.0,
0.0,
15,
6.0,
3.0,
15,
0.0,
3.0,
15
CUTEND
ArchiCAD 6.0: Referenãní pfiíruãka GDL
115
Kapitola 5: Trojrozmûrné útvary
A=1.0
D=0.1
CUTPOLY
D,
A-D,
A-D,
D,
ROTX -90
CUTPOLY
D,
A-D,
A-D,
D,
DEL 1
ROTY 90
CUTPOLY
D,
A-D,
A-D,
D,
DEL 1
BLOCK A,
CUTEND
CUTEND
CUTEND
116
4,
D,
D,
A-D,
A-D
4,
D,
D,
A-D,
A-D
4,
D,
D,
A-D,
A-D
A,
A
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
ROTX 90
FOR I=1 TO 3
FOR J=1 TO 5
CUTPOLY
4,
0,
0,
1,
1,
1,
0,
ADDX
1.2
NEXT J
DEL 5
ADDY 1.2
NEXT I
DEL NTR()-1
ADD
-0.2, -0.2, 0
BRICK 6.2, 3.8, 1
FOR K=1 TO 15
CUTEND
NEXT K
DEL TOP
ArchiCAD 6.0: Referenãní pfiíruãka GDL
0,
1
117
Kapitola 5: Trojrozmûrné útvary
CUTPOLYA
n, status, d,
x1, y1, maska1, . . . xn, yn, maskan
[, x, y, z]
[stmt1
stmt2
...
stmtn]
CUTEND
Ekvivalent definice CUTPOLY, ale s moÏností ovládat viditelnost
hrany generovan˘ch polygonÛ. ¤ez tvofií z jedné strany
nekoneãnou trubku definovanou polygonálním prÛfiezem. Konec
fiezného tvaru nesmí viset dolÛ do tûlesa.
Z
j3
j2
Y
i
j1
i+1
X
status:
1: pouÏijte své vlastní atributy tûlesa pro generované
polygony a hrany
2: generované ofiezané polygony se chovají jako normální
polygony
d:
vzdálenost mezi lokálním poãátkem a koncem
trubky
d = 0 znamená fiez nekoneãnou trubkou
maskai:
jako u povelu PRISM_
maskai = j1 + 2 * j2 + 4 * j3
118
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 5: Trojrozmûrné útvary
Pfiíklad:
ROTX 90
FOR I=1 TO 3
FOR J=1 TO 5
CUTPOLYA
6,
1,
0,
1,
0.15, 5,
0.15, 0.15, 900,
0,
90, 4007,
0,
0.85, 5,
0.85, 0.85, 900,
0,
90, 4007
ADDX 1
NEXT J
DEL 5
ADDY 1
NEXT I
DEL NTR()-1
ADD
-0.2, -0.2, 0
BRICK 5.4, 3.4, 0.5
FOR K=1 TO 15
CUTEND
NEXT K
DEL TOP
ArchiCAD 6.0: Referenãní pfiíruãka GDL
119
Kapitola 5: Trojrozmûrné útvary
CUTSHAPE
d
[stmt1
stmt2
...
stmtn]
CUTEND
Pokud d = 0.0, je fiezn˘ tvar v rovinû X-Y, fiez odstraní
ãást nad rovinou X-Y.
d < 0.0 znamená fiez ve tvaru L. âást nad rovinou X-Y s x
³ 0 bude odstranûna.
d > 0.0 znamená fiez tvaru U. Jako u fiezu tvaru L, ãást
nad rovinou X-Y s 0 < x < d bude odstranûna.
FOR I = 1 TO 5
ADDX 0.4 * I
ADDZ 2.5
CUTSHAPE 0.4
DEL 2
ADDX 0.4
NEXT I
DEL TOP
BRICK 4.4, 0.5, 4
FOR I = 1 TO 5
CUTEND
NEXT I
120
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 6: 2D útvary
6
Dvojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
121
Kapitola 6: 2D útvary
6.1 Kresebné prvky
HOTSPOT2
x, y
Y
(x, y)
X
LINE2
x1, y1, x2, y2
(x2, y2)
Y
(x1, y1)
X
RECT2
x1, y1, x2, y2
(x2, y2)
Y
(x1, y1)
X
122
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 6: 2D útvary
POLY2
n, rámv˘plnû, x1, y1, .... xn, yn
Otevfien˘ nebo uzavfien˘ polygon o n hranách.
Omezení parametrÛ:
n>2
Y
n
2
1
X
rámv˘plnû = j1 + 2*j2 + 4*j3
kde j1, j2, j3 mÛÏe b˘t 0 nebo 1.
POLY2_
j1 (1):
pouze obrys
j2 (2):
pouze v˘plÀ
j3 (4):
uzavfie otevfien˘ polygon.
n, rámv˘plnû, x1, y1, maska1, .... xn, yn, maskan
Ekvivalent povelu POLY2, ale nûkteré hrany mohou b˘t
vynechány. JestliÏe je maskai = 0, hrana vycházející z xi, yi bude
vynechána. JestliÏe je maskai = 1, vrchol se zobrazí. Maskai = 1 se
pouÏívá k pfiímé definici otvorÛ. Více informací viz PRISM_.
Omezení parametrÛ:
n>2
Y
n
1
2
X
ArchiCAD 6.0: Referenãní pfiíruãka GDL
123
Kapitola 6: 2D útvary
rámv˘plnû = j1 + 2*j2 + 4*j3
kde j1, j2, j3 mÛÏe b˘t 0 nebo 1.
j1 (1):
pouze obrys
j2 (2):
pouze v˘plÀ
j3 (4):
uzavfie otevfien˘ polygon.
maskai :
0: dal‰í segment je neviditeln˘
1: dal‰í segment je viditeln˘
-1: konec obrysu
POLY2_A
n, rámv˘plnû, perov˘plnû,
x1, y1, maska1, ..., xn, yn, maskan
POLY2_B
n, rámv˘plnû, perov˘plnû,
peropozadív˘plnû,
x1, y1, maska1, ..., xn, yn, maskan
Pokroãilá verze povelu POLY2_ s pfiidan˘mi parametry: pero
v˘plnû a pero pozadí v˘plnû. V‰echny ostatní parametry jsou
stejné jako parametry popsané u povelu POLY2_.
ARC2
x, y, r, alfa, beta
Oblouk se stfiedem v bodû (x, y) vymezen˘ úhly alfa a beta, o
polomûru r.
Alfa a beta jsou ve stupních.
be
Y
ta
r
alpha
(x, y)
X
124
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 6: 2D útvary
CIRCLE2
x, y, r
KruÏnice se stfiedem v bodû (x, y) a polomûrem r.
r
Y
(x, y)
X
SPLINE2
n, status, x1, y1, úhel1,…, xn, yn, úheln
Omezení:
n≥2
Kfiivka o n fiídících bodech. Teãna kekfiivcev fiídícím bodû (xi,Êyi)
je definována úhlemi, úhlem s osou x ve stupních.
angle i
i
(x i ,yi )
1
Y
n
X
Hodnoty statutu:
0:
implicitní
1:
uzavfiená kfiivka, poslední a první uzel kfiivky se
spojí a kfiivka se tak uzavfie
2:
automaticky vyhlazená kfiivka, parametr úhlu uzlÛ
mezi prvním a posledním uzlem se pfii generování
kfiivky nepouÏívá. PouÏívá se vnitfiní algoritmus
automatického vyhlazení.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
125
Kapitola 6: 2D útvary
Pfiíklady:
SPLINE2
0,
0,
1,
2,
1.5, 1.5,
3,
4,
4,
3,
5,
2,
60,
30,
-30,
45,
-45
n = 5
FOR I = 1 TO n
SPLINE2
4,
0.0,
2.0,
-1.0,
1.8,
-1.0,
1.0,
0.0,
0.0,
MUL2
-1.0,
SPLINE2
4,
0.0,
2.0,
-1.0,
1.8,
-1.0,
1.0,
0.0,
0.0,
DEL 1
SPLINE2
4,
0.0,
2.0,
0.0,
2.5,
0.0,
2.4,
0.0,
2.0,
ADD2
2.5,
NEXT I
126
0,
1.0
0,
0,
135.0,
240.0,
290.0,
45.0
135.0,
240.0,
290.0,
45.0
100.0,
0.0,
270.0,
270.0
0
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 6: 2D útvary
SPLINE2_A
n, status,
x1, y1, úhel1, lenPrev1, lenNext1,
...
xn, yn, úheln, lenPrevn, lenNextn
len
Pr
ev
i
len
Ne
xti
Doplnûk povelu SPLINE2 (Bézierova kfiivka), pouÏívá se hlavnû
pfii automatickém generování 2D popisu, a to z dÛvodu jeho
komplexnosti (více detailÛ najdete v eferenãní
r
pfiíruãce
ArchiCADu).
Y
angle i
i
1
(x i ,yi )
n
X
Kódy statutu:
0:
implicitní
1:
uzavfiená kfiivka, poslední a první uzly kfiivky se
propojí a kfiivka se tak uzavfie
2:
Automaticky vyhlazená kfiivka, parametry úhel,
lenPrevi a lenNexti uzlÛ mezi prvním a posledním
uzlem se nepouÏívá pfii generování kfiivky. PouÏívá
se vnitfiní algoritmus automatického vyhlazení.
xi, yi:
soufiadnice fiídícího bodu
lenPrevi, lenNexti:
délka teãen pro pfiedchozí a dal‰í fiídící bod
úheli:
ArchiCAD 6.0: Referenãní pfiíruãka GDL
smûrov˘ úhel teãny
127
Kapitola 6: 2D útvary
Pfiíklad:
SPLINE2A
0.0,
0.7,
1.9,
1.9,
1.8,
2.4,
3.5,
4.7,
6.0,
PICTURE2
9,
0.0,
1.5,
0.8,
1.8,
3.1,
4.1,
3.3,
3.7,
4.6,
2,
0.0,
15,
72,
100,
85,
352,
338,
36,
0,
0.0,
0.9,
0.8,
0.3,
0.4,
0.4,
0.4,
0.4,
0.0,
0.0,
1.0,
0.3,
0.4,
0.5,
0.4,
0.4,
0.8,
0.0
v˘raz, a, b, maska
MÛÏe b˘t pouÏit ve 2D, podobnû jako povel PICTURE ve 3D.
V˘raz fietûzcového typu znamená jméno souboru, ãíseln˘ v˘raz je
index obrázku uloÏeného v knihovním prvku. 0 index je zvlá‰tní
hodnota, vztahující se k náhledovému obrázku knihovního
prvku. Ostatní obrázky mohou b˘t uloÏeny v knihovních prvcích
pfii ukládání projektu nebo oznaãen˘ch prvkÛ obsahujících
obrázky jako Objekt ArchiCADu.
128
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 6: 2D útvary
6.2 Textov˘ prvek
TEXT2
x, y, v˘raz
Text nebo hodnoty vypoãítaného numerického v˘razu se pí‰í v
nastaveném stylu v soufiadnicích x, y.
Y
ArchiCAD
(x,y)
X
ArchiCAD 6.0: Referenãní pfiíruãka GDL
129
Kapitola 6: 2D útvary
6.3 PouÏívání binárních 2D dat
FRAGMENT2
index_fragmentu, pouÏití_aktuálních_atributÛ
Fragment s dan˘m indexem se vloÏí do úplného pohledu na 2D
symbol s aktuálními transformacemi.
pouÏití_aktuálních_atributÛ:
0:
fragment se zobrazí s barvou, typem ãáry s typem
v˘plnû definovan˘m pro nûj
1:
FRAGMENT2
aktuální nastavení popisu se pouÏije namísto barvy,
typu ãáry a typu v˘plnû fragmentu
ALL, pouÏití_aktuálních_atributÛ
Obsah v‰ech fragmentÛ se vloÏí do úplného pohledu na 2D
symbol s aktuálními transformacemi.
pouÏití_aktuálních_atributÛ:
0:
fragment se zobrazí s barvou, typem ãáry s typem
v˘plnû definovan˘m pro nûj
1:
130
aktuální nastavení popisu se pouÏije namísto barvy,
typu ãáry a typu v˘plnû fragmentu
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 6: 2D útvary
6.4 3D zobrazení vloÏené do 2D
PROJECT2
projcode, úhel, metoda
Vytváfií zobrazení 3D popisu ve stejném knihovním prvku a pfiidá
vygenerované ãáry do 2D parametrického symbolu.
projcode:
3:
horní pohled
4:
boãní pohled
6:
ãelní axonometrie
7:
izometrická axonometrie
8:
monometrická axonometrie
9:
dimetrická axonometrie
-3:
-6:
-7:
-8:
-9:
úhel:
spodní pohled
ãelní spodní axonometrie
isometriká ãelní axonometrie
monometrická spodní axonometrie
dimetrická spodní axonometrie
azimut úhlu nastavená v dialogu Nastavení 3D
zobrazení.
metoda:
1:
2:
ãárov˘ model
analytické viditelné ãáry
Pfiíklad:
ArchiCAD 6.0: Referenãní pfiíruãka GDL
131
Kapitola 6: 2D útvary
6.5 Obrázky v seznamu
Tyto povely se uplatní pfii vytváfiení seznamu prvkÛ.
KdyÏ je knihovní prvek typu Vlastnosti a je nûjak pfiipojen ke
knihovním prvkÛm (Objekt, Dvefie, Okna nebo Svûtla)
umístûn˘m v pÛdoryse, budou se následující povely v jeho 2D
popisu odkazovat ke 2D a 3D ãástem knihovního prvku. Tento
virtuální odkaz, kter˘ se fie‰í bûhem procesu vytváfiení seznamu,
pouÏívá 2D nebo 3D popis prvkÛ, které se aktuálnû zobrazí v
seznamu.
DRAWING2
Vytváfií kresbu knihovního prvku pfiipojeného ke knihovnímu
prvku typu vlastnosti obsahujícího tento povel.
DRAWING3
projcode, úhel, metoda
Stejnû jako povel PROJECT2, vytváfií zobrazení 3D popisu
knihovního prvku pfiipojeného ke knihovnímu prvku typu
vlastnosti, obsahujícího tento povel. V‰echny parametry jsou
stejné jako u povelu PROJECT2.
132
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
7
Pfiídavné kódy statutÛ pro
rovinné lomené ãáry
ArchiCAD 6.0: Referenãní pfiíruãka GDL
133
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
Rovinné lomené ãáry s kódem masky/statutu v uzlech tvofií
základ mnoha GDL prvkÛ:
POLY_
maskai
PRISM_
maskai
CPRISM_
maskai
BPRISM_
maskai
FPRISM_
maskai
SPRISM_
maskai
CROOF_
maskai
EXTRUDE
si
PYRAMID
si
REVOLVE
si
SWEEP
si
TUBE
si
TUBEA
si
POLY2_
maskai
POLY2_A
maskai
POLY2_B
maskai
Rozli‰ení obloukÛ je ovládáno direktivy popsan˘mi v kapitole
"Atributy".
V pfiípadû povelu POLY2_, pokud je rozli‰ení vût‰í neÏ 8, se
generuje skuteãn˘ oblouk, jinak jsou v‰echny generované
oblouky dûleny do segmentÛ.
Následující doplÀkové kódy masek/statutÛ umoÏÀují vytváfiet
segmenty a oblouky v lomen˘ch ãarách pomocí speciálních
usmûrnûní. Vztahují se vÏdy k dal‰ímu segmentu nebo oblouku.
PÛvodní kódy masek/statutu(Û) jsou efektivní pouze tam, kde
jsou specifikovány (po pfiídavném kódu je vloÏen znak "+s").
134
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
Pfiedcházející ãást lomené ãáry: definuje aktuální pozici a teãnu.
x,y
0
Segment dan˘ absolutním umístûním koncového bodu
x, y, s,
kde 0 < s < 100
dy
dx
100
Segment dan˘ relativním umístûním koncového bodu
dx, dy, 100+s,
kde 0 < s < 100
ArchiCAD 6.0: Referenãní pfiíruãka GDL
135
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
l
a
200
Segment dan˘ délkou a smûrem
l, a, 200+s,
kde 0 < s < 100
l
300
Teãn˘ segment dan˘ délkou
l, 0, 300+s,
kde 0 < s < 100
(x1,y1)
600
Nastavení poãáteãního bodu
x1, y1, 600,
136
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
700
Zavfiení lomené ãáry
0, 0, 700,
ey
ex
800
Nastavení teãny
ex, ey, 800,
(x0,y0)
900
Nastavení stfiedu
x0, y0, 900,
ArchiCAD 6.0: Referenãní pfiíruãka GDL
137
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
(x,y)
1000
Teãn˘ oblouk do konocového bodu
x, y, 1000+s,
kde 0 < s < 100
r
a
2000
Teãn˘ oblouk dan˘ polomûrem a úhlem
r, a, 2000+s,
kde 0 < s < 100
3000
x,y
Oblouk dan˘ stfiedem a bodem finálního polomûru
x, y, 3000+s,
kde 0 < s < 100
138
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
4000
a
Oblouk dan˘ stfiedem a úhlem
0, a, 4000+s,
kde 0 < s < 100
r
4000
Plná kruÏnice daná stfiedem a polomûrem
r, 360, 4000+s,
kde 0 < s < 100
V pfiípadû, Ïe se status s vztahuje k celé kruÏnici.
V‰echny úhlové hodnoty jsou ve stupních. Vynechané
soufiadnice, oznaãenéÊ0 (pro kódy 300, 700, 4000) mohou mít
libovolnou hodnotu.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
139
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
Pfiíklady:
EXTRUDE
0,
0,
7,
0,
7,
3,
6,
3,
5,
3,
1,
90,
2,
1,
1,
1,
0,
1,
-1,
2,
-1,
-1,
bodem
0,
1,
0.5,
3.5,
1,
140
3,
3,
2,
21,
0,
0,
1,
1000,
1001,
2000,
1001,
900,
3000,
2.5,
900,
-180, 4001,
0,
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
0,
3, 1+2+4+16+32,
te n oblouk do koncového bodu
te n oblouk do koncového bodu
te n oblouk dan polomûrem
a úhlem
te n oblouk do koncového bodu
nastavení stfiedu
oblouk dan stfiedem, stfied
a bodem finálního polomûru
nastavení stfiedu
oblouk dan po áte ním bodem,
stfiedem a úhlem
te n oblouk do koncovéhobodu
segment dan vektorem (dx, dy)
segment dan vektorem
(len, úhel)
nastavení te ny
te n oblouk dan konocv m
5,
0,
225,
1000,
100,
200,
0,
0,
800,
1000,
0,
1,
360,
-1,
! konec obrysu
900,
! nastavení stfiedu
4000, ! plná kružnice daná stfiedem
! a polomûrem
900,
! nastavení stfiedu
4001
! plná kružnice daná stfiedem
! a polomûrem
1.5,
360,
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
EXTRUDE
0,
3,
2.5,
2.5,
1.5,
1.5,
2.5,
0,
0,
1,
-1,
0,
0,
-1,
1,
0,
0,
-1.5,
-2.5,
-2.5,
-2.5,
-1.5,
-1.5,
-2.5,
SQR(2)-1,
-2.5,
-2.5,
0,
1,
ArchiCAD 6.0: Referenãní pfiíruãka GDL
2+5+10+10+2,
1+2+4+16+32,
0,
360,
-1,
1,
1,
-1,
-1,
2.5,
-1,
1.5,
0,
0.5,
1,
1.5,
0,
2.5,
2.5,
0,
0,
1,
1,
1,
-1,
-1,
45,
0,
0,
-1.5,
360,
0,
0,
3,
900,
4001,
0,
0,
1,
1001,
-1,
600,
800,
1001,
800,
1001,
800,
1001,
800,
1001,
700,
900,
600,
3000,
0,
0,
1001,
0,
200,
3000,
700,
900,
4000
141
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
EXTRUDE
0,
0,
3,
360,
2,
360,
3,
1,
900,
4001,
4000
ROTY
REVOLVE
7,
1,
6,
1,
5.5, 2,
5,
1,
4,
1,
3,
1,
0,
180,
-90
9,
180,
16+32,
0,
0,
0,
0,
0,
900,
! nastavení stfiedu
4001, ! oblouk dan po áte ním bodem,
! stfiedem a úhlem
0,
0
2,
1,
142
1,
1,
1,
3,
1+2+4+16+32,
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 8: Atributy
8
Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
143
Kapitola 8: Atributy
8.1 Direktivy
Následující direktivy ovlivÀují interpretaci následujících pfiíkazÛ
GDL. Jejich vliv trvá aÏ do dal‰ího direktivu nebo do konce
popisu. Volané popisy pfievezmou aktuální nastavení: zmûny mají
lokální vliv. Návrat z popisu vrací nastavení zpût do stavu, v
jakém bylo pfied voláním makra.
Direktivy RADIUS, RESOL a TOLER nastavují hladkost válcov˘ch
3D prvkÛ (CIRCLE, ARC, CYLIND, SPHERE, ELLIPS, CONE,
ARMC, ARME, ELBOW, REVOLVE) aa obloukÛ ve 2D lomen˘ch
ãarách zakfiivením hran (viz kapitola "Pfiídavné kódy pro rovinné
lomené ãáry").
Direktivy pouÏívané ve 3D a 2D
popisech
[LET]
varnam = n
Pfiifiazení hodnoty. Direktiv LET je voliteln˘. Promûnná uloÏí
vyhodnocenou hodnotu n.
RADIUS
rmin, rmax
Nastaví vyhlazení válcov˘ch prvkÛ a obloukÛ v lomen˘ch ãarách.
KruÏnice o polomûru r je reprezentována:
je-li r < rmin, pak ‰estiúhelníkem,
je-li r > rmax, pak pravideln˘m 36-hranem,
je-li rmin < r < rmax,pak pravideln˘m (6+30*(r–rmin)/(rmax–
rmin))-hranem.
Konverze oblouku je tomu úmûrná.
Po povelu RADIUS ztrácejí efekt pfiedcházející pfiíkazy RESOL a
TOLER.
Omezení parametrÛ:
rmin < rmax
144
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 8: Atributy
Pfiíklady:
RADIUS 1.1, 1.15
CYLIND 3.0, 1.0
RESOL
RADIUS 0.9, 1.15
CYLIND 3.0, 1.0
n
Nastavuje hladkost válcov˘ch prvkÛ a obloukÛ v lomen˘ch
ãarách. KruÏnice se konvertují na pravidelné n-hranné
mnohoúhleníky.
Konverze oblouku je tomu úmûrná.
Po povelu RESOL ztrácejí efekt pfiedcházející povely RADIUS a
TOLER.
n>3
Implicitnû:
RESOL 36
Pfiíklady:
RESOL 5
CYLIND 3.0, 1.0
TOLER
RESOL 36
CYLIND 3.0, 1.0
d
Nastavuje hladkost válcov˘ch prvkÛ. Odchylka v aproximaci
válce (tj. maximální odchylka mezi teoretick˘m obloukem a
generovan˘m pfiímkov˘m segmentem) bude men‰í neÏ d.
Po pfiíkazu TOLER ztrácejí efekt pfiedcházející povely RADIUS a
RESOL.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
145
Kapitola 8: Atributy
Pfiíklady:
TOLER 0.1
CYLIND 3.0, 1.0
PEN
TOLER 0.01
CYLIND 3.0, 1.0
n
Nastaví aktuální barvu.
Omezení parametrÛ:
0 < n < 99
Implicitnû:
PEN 1
Pokud v popisu neníÏán˘ povel PEN.
(ArchiCAD ãte implicitní hodnoty pro knihovní prvky z okna
Nastavení knihovního prvku. Pokud se popis vztahuje k
neexistujícímu indexu, stává se PEN 1 implicitním nastavením.)
[SET] STYLE
[SET] STYLE
fietûzec_jména
index
V‰echny texty generované pozdûji budou psány tímto stylem,
dokud nebude zadáno dal‰í nastavení SET STYLE.
Index je konstanta vztahující se k zásobníku stylÛ ve vnitfiní
datové struktufie ArchiCADu. Tento zásobník je modifikován
bûhem GDL anal˘zy a mÛÏe b˘t modifikován také z programu.
PouÏití indexu namísto jména stylu je doporuãeno pouze s
pfiedchozím uÏitím funkce IND, která je vysvûtlena v˘‰e.
Implicitnû:
SET STYLE 0
(font aplikace, velikost 5 mm, kotevní bod = 1, fiez normální)
jestliÏe v popisu není povel SET STYLE.
Viz téÏ funkce IND v kapitole 10.
146
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 8: Atributy
Direktivy pouÏívané pouze ve 3D
popisech
MODEL
MODEL
MODEL
WIRE
SURFACE
SOLID
Nastavuje reÏim zobrazení v aktuálním popisu.
MODEL WIRE: Pouze ãárov˘ model, Ïádné plochy ani objemy.
Objekty jsou prÛhledné.
MODEL SURFACE, MODEL SOLID: Generování fiezan˘ch ploch je
zaloÏená na vztahu hraniãních ploch, takÏe obû metody generují
stejnou interní 3D strukturu dat. Objekty jsou neprÛhledné.
Jedin˘ rozdíl lze pozorovat po odfiíznutí ãásti tûlesa:
MODEL SURFACE: vnitfiek tûlesa je viditeln˘,
MODEL SOLID:
mohou se objevit nové plochy.
Implicitnû:
MODEL SOLID
V‰echny tfii modelovací metody jsou ilustrovány na tfiech
hranolech:
MODEL
BLOCK
ADDY
MODEL
BLOCK
ADDY
MODEL
BLOCK
WIRE
3,2,1
4
SURFACE
3,2,1
4
SOLID
3,2,1
Po fiezu rovinou:
ArchiCAD 6.0: Referenãní pfiíruãka GDL
147
Kapitola 8: Atributy
[SET] MATERIAL
[SET] MATERIAL
fietûzec_jména
index
V‰echny plochy generované poté budou pouÏívat tento materiál,
a to aÏ do dal‰ího povelu MATERIAL. Plochy tûles, vznikl˘ch na
základû BPRISM_, CPRISM_, FPRISM_, SPRISM_, CSLAB_,
CWALL_, BWALL_, XWALL_, CROOF_, a MASS tvofií v˘jimky z
tohoto pravidla.
Index je konstanta, vztahující se k zásobníku materiálÛ ve vnitfiní
datové struktufie ArchiCADu. Zásobník je modifikován bûhem
anal˘zy GDL a mÛÏe b˘t modifikován rovnûÏ programem. PouÏití
indexu namísto jména materiálu se doporuãuje pouze s
pfiedcházející funkcí IND, popsanou dfiíve.
Index 0 má speciální v˘znam: plochy mají barvu aktuálního pera
a mají matn˘ vzhled.
Implicitnû:
MATERIAL 0
pokud v popisu není povel MATERIAL.
(ArchiCAD ãte implicitní hodnoty pro knihovní prvky z okna
Nastavení knihovního prvku. Pokud se popis vztahuje k
neexistujícímu indexu, stává se MATERIAL 0 implicitním
nastavením.)
Viz téÏ funkce IND v Pfiíloze.
SHADOW
keyword1[, keyword2]
¤ídí vrhání stínÛ prvkÛ pfii fotozobrazení a v˘poãtu vektorov˘ch
stínÛ.
keyword1:
ON, AUTO nebo OFF
keyword2:
ON nebo OFF
ON:
v‰echny následné prvky budou vrhat stín za v‰ech
okolností.
OFF:
Ïádné následné prvky nebudou vrhat stín za
Ïádn˘ch okolností.
AUTO:
vrhání stínÛ se urãuje automaticky.
Nastavení SHADOW OFF pro skryté prvky u‰etfií prostor i ãas pfii
zpracování.
Nastavení SHADOW ON zajistí, Ïe kaÏd˘ mal˘ detail bude vrhat
stín.
148
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 8: Atributy
Nepovinné druhé klíãové slovo fiídí vzhled stínÛ na povrchu.
SHADOW, keyword1, OFF potlaãí stínování na následujících
povr‰ích.
SHADOW, keyword1, ON pfiepne zpût vektorové stínování
Implicitnû:
SHADOW AUTO
SHADOW
BRICK
ADDX
SHADOW
BRICK
ADDX
SHADOW
BRICK
OFF
1,
2
ON
1,
2
OFF
1,
1,
1
1,
2
1,
3
Direktivy pouÏívané pouze ve 2D
popisech
[SET] FILL
[SET] FILL
fietûzec_jména
index
V‰echny 2D polygony, generované poté, budou vyplÀovány
touto v˘plní, dokud nebude pouÏito dal‰í nastavení SET FILL.
Index je konstanta vztahující se k zásobníku v˘plní ve vnitfiní
datové struktufie ArchiCADu. Tento zásobník je modifikován
bûhem GDL anal˘zy a mÛÏe b˘t modifikován také z programu.
PouÏití indexu namísto jména v˘plnû je doporuãeno pouze s
pfiedchozím uÏitím funkce IND, která je vysvûtlena v˘‰e.
Implicitnû:
SET FILL 0
prázdná v˘plÀ, jestliÏe v popisu není pouÏito nastavení SET FILL.
Viz téÏ funkce IND v Pfiíloze.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
149
Kapitola 8: Atributy
[SET] LINE_TYPE
[SET] LINE_TYPE
fietûzec_jména
index
V‰echny 2D ãáry generované pozdûji budou kresleny tímto
typem ãáry (v ãarách, obloucích, lomen˘ch ãarách) dokud
nebude pouÏito dal‰í SET LINE_TYPE. Index je konstanta
vztahující se k zásobníku typÛ ãar ve vnitfiní datové struktufie
ArchiCADu. Tento zásobník je modifikován bûhem GDL anal˘zy
a mÛÏe b˘t modifikován také z programu. PouÏití indexu namísto
jména typu ãáry se doporuãuje pouze s pfiedchozím pouÏitím
funkce IND, která je vysvûtlena v˘‰e.
Implicitnû:
SET LINE_TYPE 1
plná ãára, jestliÏe v popisu není nastavení SET LINE_TYPE.
Viz téÏ funkce IND v Pfiíloze.
8.2 Pfiímá definice atributÛ
Atributy v ArchiCADu lze generovat pomocí dialogÛ pro
materiály, v˘plnû a typy ãar. Na tyto pÛdorysné atributy se
mÛÏete odvolávat i z libovoln˘ch GDL popisÛ. Atributy lze také
definovat v GDL popisech. Existují dva rÛzné pfiípady:
1. Definice atributÛ v popisu MASTER_GDL. Popis MASTER_GDL je
interpertován, kdyÏ je knihovna, která jej obsahuje, naãtena do
pamûti. Atributy z MASTER_GDL popisu se spojí s pÛdorysn˘mi
atributy; atributy ArchiCADu se stejn˘mi jmény nebudou
nahrazeny. Jakmile je MASTER_GDL naãten, lze se na atributy v
nûm definované odvolávat z libovolného popisu.
2. Definice atributÛ v knihovních prvcích. Materiály a textury takto
definované lze pouÏít pouze v tûchto popisech a popisech druhé
generace. V˘plnû a typy ãar definované a pouÏité ve 2D popise
mají stejné chování , jako by byly definovány v MASTER_GDL
popise.
Povel Zkontrolovat GDL popisy v dialogu knihovního prvku
ovûfiuje, zda materiál, v˘plÀ, typ ãáry nebo parametry stylÛ jsou
správné.
Pokud se material, v˘plÀ, typ ãáry nebo styl ve 3D vyjádfiení
knihovního prvku li‰í od poÏadovaného, ale neobjevilo se
chybové hlá‰ení, je to nejspí‰e tím, Ïe jeden nebo více hodnot
parametrÛ je nesprávn˘ch. Pfiíkaz Zkontrolovat GDL popisy Vám
detailními hlá‰eními pomÛÏe tyto parametry najít.
150
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 8: Atributy
Definice materiálu
DEFINE MATERIAL
jméno typ, m1, m2, . . . mn
Libovoln˘ GDL popis mÛÏe obsahovat materiál definovan˘ pfied
prvním voláním tohoto materiálu. Materiál takto definovan˘ mÛÏe
b˘t pouÏit pouze v popisu 3D prvkÛ, kde byl definován, a v jeho
podprogramech.
jméno:
jméno materiálu
typ:
0: obecná definice, n=16
V˘znam parametrÛ a jejich limity jsou zobrazeny v
následujících pfiíkladech.
1: jednoduchá definice, n=9
Zvlá‰tní parametry jsou konstanty nebo jsou
vypoãteny z dan˘ch hodnot.
2-7: pfieddefinované typy materiálÛ, n=3
Tyto 3 hodnoty jsou komponenty RGB z palety
barev. Ostaní parametry jsou konstanty nebo jsou
vypoãteny z barvy.
2: matn˘
3: kov
4: plast
5: sklo
6: záfiící
7: konstantní
10: v‰eobecná definice s parametrem v˘plnû, n=17
11: jednoduchá definice s parametrem v˘plnû, n=10
12-17: pfieddefinované typy materiálÛ s parametrem v˘plnû,
n=4
20: obecná definice s v˘plní, indexem barvy v˘plnû a
indexem parametrÛ textury, n=19
21: jendoduchá definice s v˘plní, indexem barvy v˘plnû a
indexem parametrÛ textury, n=12
22-27: pfieddefinovan˘ typ materiálu s v˘plní, indexem barvy
v˘plnû a indexem parametrÛ textury, n=6
ArchiCAD 6.0: Referenãní pfiíruãka GDL
151
Kapitola 8: Atributy
Pfiíklady:
DEFINE MATERIAL "voda" 0,
0.5284, 0.5989, 0.6167,
! RGB povrchu [0.0..1.0]
1.0, 0.5, 0.5, 0.9,
! okolí, rozptyl, zrcadlení, prÛhlednost
! koeficienty [0.0..1.0]
20,
! vyzafiování [0.0..100.0]
1,
! útlum prÛhlednosti [0.0..4.0]
0.5284, 0.5989, 0.6167,
! zrcadlená barva: RGB [0.0..1.0]
0, 0, 0,
! vyzafiovaná barva: RGB [0.0..1.0]
0.0
! útlum vyzafiování [0.0..65.5]
DEFINE MATERIAL "asfalt" 1,
0.1995, 0.2023, 0.2418
! povrchová barva: RGB [0.0..1.0]
1.0, 1.0, 0.0, 0.0,
! okolí, rozptyl, zrcadlení, prÛhlednost
! koeficienty [0.0..1.0]
0,
! vyzafiování [0..100]
0
! útlum prÛhlednosti [0..4]
DEFINE MATERIAL "matnû erven " 2,
1.0, 0.0, 0.0
! povrchová barva: RGB [0.0..1.0]
DEFINE MATERIAL " ervená cihla" 10,
0.878294, 0.398199, 0.109468,
0.58, 0.85, 0.0, 0.0,
0,
0.0,
0.878401, 0.513481, 0.412253,
0.0, 0.0, 0.0,
0,
IND(FILL, "bûžná cihla")
! index v plnû
152
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 8: Atributy
DEFINE MATERIAL
"žlutá cihla+*" 20,
1,
1,
0,
! povrchová barva: RGB [0.0 .. 1.0]
0.58, 0.85, 0, 0,
! okolí, rozptyl, zrcadlení, prÛhlednost
! koeficienty [0.0 .. 1.0]
0,
! záfiení [0.0 .. 100.0]
0,
! útlum prÛhlednosti [0.0 .. 4.0]
0.878401, 0.513481, 0.412253,
! zrcadlená barva: RGB [0.0 .. 1.0]
0,
0,
0,
! vyzafiovaná barva: RGB [0.0 .. 1.0]
0,
! útlum vyzafiování [0.0 .. 65.5]
IND(FILL, "cihelná vazba 25x75"), 61,
IND(TEXTURE, "cihla")
! index v plnû, index barvy, index textury
Zvlá‰tní v˘znamy pro typy 20 - 27:
- Pokud je ãíslo pera 0, vektorové ‰rafy budou generovány s
aktivním perem.
- Nulová hodnota indexu textury umoÏÀuje definovat materiály
bez vektorov˘ch ‰rafur a textury.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
153
Kapitola 8: Atributy
DEFINE TEXTURE
jméno, soubor, x, y, maska, úhel
Libovoln˘ GDL popis mÛÏe obsahovat texturu definovanou pfied
prvním voláním jména této textury. Textura mÛÏe b˘t uÏita pouze
v popisu, kde byla definována, a v popisech druhé generace.
jméno:
jméno textury
soubor:
jméno souboru obrázku
x:
logická ‰ífika textury
y:
logická v˘‰ka textury
maska:
j1 + 2 * j2 + 4 * j3 + 8 * j4 + 16 * j5 +
32 * j6 + 64 * j7 + 128 * j8 + 256 * j9
kde j1, j2, j3, j4, j5, j6, j7, j8, j9 mÛÏe b˘t 0 nebo 1.
Ovladaãe Alfa kanálu (j1… j6):
j1:
alfa kanál mûní prÛhlednost textury
j2:
Bump mapping nebo rozru‰ení normál povrchu
Bump mapping pouÏívá alfa kanál k urãení
amplitudy normály povrchu.
j3:
alfa kanál mûní rozptyl barvy textury
j4:
alfa kanál mûní zrcadlenou barvu textury
j5:
alfa kanál mûní barvu okolí povrchu textury
j6:
alfa kanál mûní barvu povrchu textury
Ovladaãe pfiipojení (j7… j9):
Je-li hodnota nulová, je zvolen normální reÏim:
y
x
154
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 8: Atributy
j7 :
textura bude posunuta náhodnû.
y
x
j8 :
zrcadlení ve smûru osy 'x'
y
x
j9 :
zrcadlení ve smûru osy 'y'
y
x
úhel: úhel natoãení od pfiirozené orientace.
Pfiíklad:
DEFINE TEXTURE "cihla" "Cihla.PICT",
1.35, 0.3, 256+128, 35.0
ArchiCAD 6.0: Referenãní pfiíruãka GDL
155
Kapitola 8: Atributy
Definice v˘plnû
DEFINE FILL
jméno pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8,
mezery, úhel, n,
freq1, dir1, offsetx1, offsety1, m1,
len11, . . . lenm1,
...
freqn, dirn, offsetxn, offsetyn, mn,
lenn1, . . . lennm
Libovoln˘ GDL popis mÛÏe obsahovat v˘plÀ definovanou pfied
prvním voláním jména této v˘plnû. V˘plÀ mÛÏe b˘t uÏita pouze v
popisu, kde byla definována, a v popisech druhé generace.
len
.... im
leni2
m line parts
Y leni1
diri
offsetyi
freq
i
offsetx i X
jméno:
freq
i
jméno v˘plnû
pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8 :
definice vzoru, 8 ãísel mezi 0 a 255
reprezentujících binární hodnoty. Definuje
bitmapov˘ vzor v˘plnû.
y
spa
cing
angle
*y
156
*x
cing
spa
x
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 8: Atributy
mezery:
mezery vzoru v˘plnû - definuje globální faktor
mezer pro celou v˘plÀ. V‰echny hodnoty budou
násobeny tímto ãíslem ve smûru osy x a y.
úhel:
globální úhel rotace ve stupních
n:
poãet ãar ‰rafury
freqi:
frekvence ãar (vzdálenost mezi dvûma ãarami je
mezery * freqi)
diri :
úhel ãáry ve stupních
offsetxi,
offsetyi :
posun ãáry od poãátku
mi :
poãet ãástí ãar
lenij :
délky jednotliv˘ch ãástí ãar (skuteãná délka je
mezery * lenij). âásti ãar jsou segmenty a mezery
následující za sebou. První ãást ãáry je segment,
nulová délka znamená bod.
Bitmapov˘ vzor je definován pouze parametry pat1...pat8 a
pouÏívá se v ArchiCADu, kdyÏ je zadána volba Volby/Volby
zobrazení/V˘plnû polygonÛ/Bitmapová v˘plÀ. Chcete-li jej
definovat, zvolte nejmen‰í jendotku v˘plnû a popi‰te ji jako body
a prázdná místa pomocí obdélníkové sítû s 8x8 pozicemi. 8
parametrÛ vzoru jsou desetinné reprezentace binárních hodnot v
ãarách sítû (bod 1, prázdné místo je 0).
Vektorová v˘plÀ (Volby/Volby zobrazení/V˘plnû polygonÛ/
Vektorové ‰rafování) je definována druhou ãástí definice v˘plnû
jako sada pfieru‰ovan˘ch ãar, opakovaná s danou fekvencí (freqi).
KaÏdá ãára sady je popsána smûrem (diri), posuvem od poãátku
(offsetxi, offsetyi) a definicí pfieru‰ované ãáry, která obsahuje
segmenty a mezery o dan˘ch délkách (lenij), následující za sebou.
Pozn.: V GDL lze definovat pouze jednoduché, nikoli
symbolové v˘plnû.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
157
Kapitola 8: Atributy
Pfiíklad:
DEFINE FILL "cihla"
0.08333,
1.0,
3.0,
1.0,
3.0,
1.0,
1.5,
1.0,
Bitmapov vzor:
Vzor:
Pohled:
pat1 = 85
pat2 = 255
pat3 = 136
pat4 = 255
pat5 = 34
pat6 = 255
pat7 = 136
pat8 = 255
0.0,
0.0,
90.0,
1.0,
90.0,
3.0,
90.0,
5.0
85, 255, 136, 255,
34, 255, 136, 255,
4,
0.0,
0.0,
0,
0.0,
0.0,
2,
1.5,
1.0,
0.75,
1.0,
1.0,
3.0,
4,
2,
Binární hodnota:
01010101
11111111
10001000
11111111
00100010
11111111
10001000
11111111
• • • •
••••••••
•
•
••••••••
•
•
••••••••
•
•
••••••••
Vektorová šrafa:
158
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 8: Atributy
Roz‰ífiená definice v˘plnû
DEFINE FILLA
jméno pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8,
mezerax, mezeray, úhel, n,
freq1, doffset1, dir1, offsetx1, offsety1, m1,
len11, . . . lenm1,
...
freqn, doffsetn,dirn, offsetxn, offsetyn, mn,
lenn1, . . . lennm
len
.... im
leni2
m line parts
Y leni1
diri
offsetyi
freq
doffset i
i
offsetx i X
freq
i
doffset i
Roz‰ífien˘ povel DEFINE FILL. Pfiidané parametry:
spa
cing
y
y*y
angle
x*x
cing
spa
x
mezerax :
faktor odstupÛ ve smûru osy x
mezeray :
faktor odstupÛ ve smûru osy x
Tyto dva parametry definují globální faktor mezer
pro celou v˘plÀ. V‰echny hodnoty ve smûru osy x
budou násobeny parametrem mezerax a v‰echny
hodnoty ve smûru osy y budou násobeny
parametrem mezeray.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
159
Kapitola 8: Atributy
doffseti:
posuv od poãátku dal‰í stejné ãáry ‰rafy, mûfieno
ve smûru ãáry. KaÏdá ãára série bude nakreslena
ve vzdálenosti dané parametrem freqi s posuvem
dan˘m parametrem doffseti . Skuteãná délka
posuvu bude spacing násoben˘ doffseti.
Pfiíklad:
DEFINE FILLA "TEST"
8,
8,
0.5, 0.5, 0,
2,
2,
1,
90, 0,
0,
1,
2,
0,
0,
0,
FILL "TEST"
POLY2 4,
6,
-0.5, -0.5, 12, -0.5,
12,
6,
-0.5, 6
Bitmapov vzor:
Vzor:
Pohled:
pat1 = 8
pat2 = 142
pat3 = 128
pat4 = 232
pat5 = 8
pat6 = 142
pat7 = 128
pat8 = 232
142, 128, 232,
142, 128, 232,
2,
2,
1,
1,
1,
3
Binární hodnota:
00001000
10001110
10000000
11101000
00001000
10001110
10000000
11101000
.
•
•••
•
••• •
•
•
•••
•
••• •
Vektorová šrafa:
160
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 8: Atributy
Definice typu ãáry
DEFINE LINE_TYPE
jméno mezera, n, len1, . . . lenn
Libovoln˘ GDL popis mÛÏe obsahovat typ ãáry definovan˘ pfied
prvním voláním jména této ãáry. âára mÛÏe b˘t uÏita pouze pro
2D prvky v popisu, kde byla definována, a v popisech druhé
generace.
jméno:
jméno typu ãáry
mezera:
faktor mezer
n:
poãet ãástí ãáry
leni :
délky ãástí ãar (skuteãná délka je spacing * leni).
âásti ãar se skládají ze segmentÛ a mezer
následujících za sebou. První ãást ãáry je segment,
nulová délka znamená bod.
Pozn: V GDL lze definovat pouze jednoduché typy ãar, tj.
sloÏené pouze ze segmentÛ a mezer, nelze zde definovat
symbolové ãáry.
Pfiíklad:
DEFINE LINE_TYPE " ára - - ." 1,
6, 0.005, 0.002, 0.001, 0.002, 0.0, 0.002
ArchiCAD 6.0: Referenãní pfiíruãka GDL
161
Kapitola 8: Atributy
Definice stylu
DEFINE STYLE
DEFINE STYLE
DEFINE STYLE
jméno skupina_fontu, velikost, kotevní_bod, fiez
jméno PLOTMAKER, velikost, kotevní_bod, sklon
jméno PLOTTER, velikost, kotevní_bod, sklon
GDL popisy mohou obsahovat styly definované pfied prvním
voláním jména tohoto stylu. Styly takto definované mohou b˘t
pouÏity pouze v popisu, kde byly definovány, a v popisech
druhé generace.
jméno:
jméno stylu
skupina_fontu: jméno pouÏité skupiny fontÛ (napfi. Geneva CE)
velikost:
v˘‰ka znakÛ v mm.
kotevní_bod:
kód umísÈovacího bodu v textu
1
2
3
4
5
6
7
8
9
fiez:
sklon:
162
kombinace následujících hodnot:
0
normálnû
1
tuãnû
2
kurzíva
4
podtrÏeno
8
obrysové písmo
16
stínované písmo
úhel ve stupních (platí pouze pro fonty
PLOTMAKERu a PLOTRu)
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 9: Negeometrické popisy
9
Negeometrické popisy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
163
Kapitola 9: Negeometrické popisy
9.1 Popisy vlastností
Knihovní prvky mají GDL okno rezervované pro popisy
vlastností. Tento popis umoÏÀuje vytváfiet vlastnosti knihovních
prvkÛ závislé na parametrech a prostfiednictvím direktiv definovat
jejich umístûní ve finálním seznamu komponentÛ. Pomocí
nûkolika povelÛ je moÏné definovat v popisu lokální popisy a
komponenty, charakteristiky, které jsou známé z oken vlastností
dfiívûj‰ích verzí ArchiCADu. Lze se také odvolávat na popisy a
komponenty z externích databází. Délka kódÛ nesmí pfiesáhnout
32 znakÛ.
V popisech vlastností mÛÏete pouÏít libovoln˘ GDL povel, kter˘
negeneruje útvar.
DESCRIPTOR
jméno [,kód, kód_klíãe]
Definice lokálního popisu. Popisy mohou obsahovat libovoln˘
poãet POPISÒ.
jméno:
mÛÏe b˘t del‰í neÏ jeden fiádek. Nov˘ fiádek lze
definovat znakem '\n' a tabulátory znakem '\t'.
VloÏením znaku '\' na konec fiádku umoÏníte
pokraãování fietûzce na dal‰ím fiádku bez pfiidání
nového fiádku. Pokud je znak '\' v rámci fietûzce
dublován (\\), ztratí svou fiídící funkci a bude
znamenat prostû znak '\'.
Délka fietûzce (vãetnû znaku nového fiádku) nesmí
pfiesáhnout 255 znakÛ: dal‰í znaky kompilátor
prostû smaÏe. Pokud potfiebujete del‰í text,
pouÏijte více POPISÒ.
REF DESCRIPTOR
kód:
fietûzec, definuje kód pro popis
Kód_klíãe:
fietûzec, odkaz na klíã v externí databázi. Klíã bude
pfiifiazen popisu.
kód [, kód_klíãe]
Odkaz fietûzcem kódu a kódu klíãe na popis v externí databázi.
COMPONENT
jméno, kvantita, jednotka [, prop_with, kód, kód_klíãe,
kód_jednotky]
Definice lokálního komponentu. Popis mÛÏe obsahovat libovoln˘
poãet COMPONENTÛ.
jméno:
jméno komponentu (max. 128 znakÛ)
164
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 9: Negeometrické popisy
kvantita:
mnoÏství, ãíseln˘ v˘raz
jednotka:
fietûzec pouÏit˘ pro popis jednotky
prop_with :
kód od 1 do 6. Pfii sestavování seznamÛ bude
kvantita komponentÛ, definovaná v˘‰e,
automaticky násobena hodnotou vypoãtenou pro
aktuální prvek
1:
2:
3:
4:
5:
6:
kus
délka
povrch A
povrch B
povrch
objem
kód:
fietûzec, definuje kód pro komponent
kód_klíãe:
fietûzec, odkaz na klíã v externí databázi
Klíã bude pfiifiazen komponentu.
kód_jednotky:
fietûzec, odkaz na jednotku v externí
databázi, která fiídí v˘stupní formát kvantity
komponentu. To nahradí lokálnû definovan˘
fietûzec jednotky.
REF COMPONENT
kód [, kód_klíãe [, num_v˘raz]]
Odkaz fietûzcem kódu a kódu_klíãe na komponent v externí
databázi. Hodnota pro násobení komponentu databáze mÛÏe b˘t
pfiepsána voliteln˘m ãíseln˘m v˘razem, kter˘ zde zadáte.
BINARYPROP
Odkaz na binární data vlastností (komponenty a popisy)
definované v ãásti Komponenty/Popisy knihovního prvku.
SURFACE3D ( )
VOLUME3D ( )
Tyto funkce vypoãtou povrch a objem 3D tvaru knihovního
prvku.
Pozor: Pokud umístíte dva nebo více útvarÛ na stejné místo
se stejn˘mi parametry, tyto funkce vypoãtou celkov˘ povrch
a objem v‰ech útvarÛ.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
165
Kapitola 9: Negeometrické popisy
POSITION
povel_pozice
Uplatní se jen v seznamu komponentÛ.
Zmûní pouze typ prvku, ke kterému jsou pfiifiazeny následující
popisy a komponenty. Pokud takové direktivy v popisu vlastností
zadány nejsou, budou popisy a komponenty vyjmenovány s
jejich implicitním typem prvku. Povely jsou tyto:
WALLS
COLUMNS
DOORS
WINDOWS
OBJECTS
CEILS
PITCHED_ROOFS
LIGHTS
HATCHES
ROOMS
MESHES
Direktiv zÛstane platn˘ pro v‰echny následné DESCRIPTORy a
COMPONENTy, dokud není zadán dal‰í direktiv. Popis mÛÏe
obsahovat libovoln˘ poãet direktivÛ.
Pfiíklad:
DESCRIPTOR
"\tNatfiená skfiíÀka.\n\t Vlastnosti:\n\
\t\t - k vavá dvífika\n\
\t\t - nastavitelná v ška\n\
\t\t - odolná proti odûru"
REF DESCRIPTOR
"0001"
s = SURFACE3D () ! povrch skfiínû
COMPONENT "lepidlo", 1.5, "kg"
COMPONENT "úchytka", 2 * c, "nb"
! c po et
dvefií
COMPONENT "nátûr", 0.5 * s, "kg"
POSITION
WALLS
REF COMPONENT
"0002"
DRAWING
Odkazuje na kresbu popsanou ve 2D popise stejného knihovního
prvku. PouÏijte ji pro vloÏení kresby do rozpoãtu materiálÛ.
166
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 9: Negeometrické popisy
9.2 Popis seznamu hodnot
Seznamy hodnot jsou sady moÏn˘ch ãíseln˘ch nebo fietûzcov˘ch
hodnot. Mohou b˘t uplatnûny na parametry, jak byly definovány
v popise seznamu hodnot knihovního prvku nebo v
MASTER_GDL popise. Typ parametru musí b˘t seznam hodnot
libovolného jednoduchého typu. Kompatibilita typu je
kontrolována kompilátorem.
Popis seznamu hodnot bude interpretován pokaÏdé, kdyÏ se má
parametr typu seznamu hodnot zmûnit a moÏné hodnoty
definované v popise se objeví v roletovém menu. Povel pro
definici seznamu je:
VALUES
jméno, val1 [, val2, ..., valn]
jméno:
jméno parametru
vali :
moÏná hodnota
ArchiCAD 6.0: Referenãní pfiíruãka GDL
167
Kapitola 9: Negeometrické popisy
168
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 10: V˘razy a funkce
10
V˘razy a funkce
ArchiCAD 6.0: Referenãní pfiíruãka GDL
169
Kapitola 10: V˘razy a funkce
V‰echny parametry útvarÛ GDL mohou b˘t v˘sledkem v˘poãtu.
Napfiíklad mÛÏete definovat, Ïe v˘‰ka válce je pûtinásobkem
polomûru válce nebo pfied definicí krychle mÛÏete posunout
systém soufiadnic v kaÏdém smûru o polovinu rozmûru krychle
tak, aby poãátek byl ve stfiedu krychle, nikoli v jejím levém
dolním rohu.
Pro definice tûchto v˘poãtÛ má GDL mnoÏství matematick˘ch
nástrojÛ: v˘razy,operátory a funkce.
10.1 V˘razy
V GDL popisech mÛÏete psát sloÏité v˘razy. V˘razy mohou b˘t
ãíselné nebo fietûzcové. Jsou to konstanty, promûnné, parametry
nebo volání funkce a jejich libovolná kombinace v operátorech.
Kulaté závorky (( )) (priorita 1) se pouÏívají pro pfiepsání
implicitní priority operátorÛ.
Promûnné jednoduchého typu mohou mít danou ãíselnou a
fietûzcovou hodnotu, dokonce i ve stejném popisu a lze je pouÏít
ve v˘razu ãíselného nebo fietûzcového typu. Operace, jejichÏ
v˘sledkem je fietûzec, NELZE pouÏít pfiímo jako jméno makra ve
volání makra ani jako jména atributÛ v definicích materiálÛ,
v˘plní, typÛ ãar nebo stylu. S promûnn˘mi, jejichÏ v˘sledkem je
fietûzcová hodnota, bude takto i nakládáno a lze je pouÏít,
kdykoli je vyÏadována fietûzcová hodnota. Pokud je dále v popise
stejné promûnné pfiifiazena ãíselná hodnota, bude tato promûnná
pouÏitelná pouze v ãíseln˘ch v˘razech, dokud nedostane opût
fietûzcovou hodnotu. V procesu prekompliace je typ v˘razu
kontrolován.
GDL podporuje jedno a dvou rozmûrné matice. Promûnné se
stanou maticí po deklaraci v˘razu, ve kterém jsou urãeny jejich
maximální rozmûry:
DIM
var1 [dim_1], var2 [dim_1][dim_2], ...
Po povelu DIM mÛÏe následovat libovoln˘ poãet promûnn˘ch,
oddûlen˘ch ãárkou. var1 a var2 jsou jména matice, ãísla mezi
závorkami reprezentují rozmûry matice (ãíselné konstanty).
Promûnné v˘razy nemohou b˘t pouÏity jako rozmûry.
Parametry knihovního prvku mohou také b˘t matice. Jejich
rozmûry jsou urãeny v dialogu knihovního prvku. Matice
parametrÛ nemusí b˘t deklarovány v popise. KdyÏ se odkazujete
na knihovní prvek povelem CALL, musí b˘t skuteãn˘ parametr
matice se stejn˘mi rozmûry.
170
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 10: V˘razy a funkce
Na prvky matic se lze odkazovat kdekoli v popise, ale pokud
jsou to promûnné, pak pouze po jejich deklaraci:
var1 [num_v˘raz] nebo var1
var2 [num_v˘raz][num_v˘raz2] nebo var2
Zápis jména matice bez skuteãn˘ch hodnot indexÛ znamená
odkaz na celou matici, coÏ je v nûkter˘ch pfiípadech akceptováno
(povely CALL, PRINT, LET, PUT, REQUEST, INPUT, OUTPUT).
Prvky matice lze pouÏívat v libovolném ãíselném nebo
fietûzcovém v˘razu, lze jim dávat fietûzcové nebo ãíselné hodnoty.
Indexy zaãínají a libovoln˘ ãíseln˘ v˘raz lze pouÏít jako index.
Jména matic nelze znovu pouÏít pozdûji ve stejném popise jako
jednoduchá jména promûnn˘ch.
Pokud se hodnota aktuálního indexu stane vût‰í neÏ deklarovan˘
rozmûr nebo rozmûr parametru, zobrazí se varovná zpráva.
Pfiíklady ãíseln˘ch v˘razÛ:
Z
5.5
(+15)
-X
A*(B+C)
SIN(X+Y)*Z
A+R*COS(I*D)
5' 4"
SQR (x^2 + y^2) / (1 - d)
a + b * sin (alfa)
vyska * sirka
Pfiíklady fietûzcov˘ch v˘razÛ:
"Konstantní fietûzec"
jméno + STR ("%m", i) + "." + ext
string_param <> "Režim 1"
Pfiíklady v˘razÛ pouÏivajících maticové hodnoty:
DIM tab [5], tab2 [3][4]
tab [1] + tab [2]
tab2 [2][3] + A
PRINT tab
ArchiCAD 6.0: Referenãní pfiíruãka GDL
! deklarace
171
Kapitola 10: V˘razy a funkce
10.2 Operátory
NíÏe uvedené operátory jsou sefiazeny podle klesající priority.
Vyhodnocení v˘razu zaãíná od operátoru s nejvy‰‰í prioritou a
zleva doprava.
Aritmetické operátory
^ (or **)
druhá mocnina
priorita 2
*
násobení
priorita 3
/
dûlení
priorita 3
Modulo (zbytek)
priorita 3
MOD (nebo %)
X MOD Y = X - Y * INT (X/Y)
+
souãet
priorita 4
-
rozdíl
priorita 4
Pozn.: + (souãet) mÛÏe b˘t také pouÏit pro fietûzcové v˘razy:
v˘sledkem je spojení fietûzcÛ.
Relaãní operátory
=
je rovno
priorita 5
<
je men‰í neÏ
priorita 5
>
je vût‰í neÏ
priorita 5
<=
je men‰í nebo rovno
priorita 5
>=
je vût‰í nebo rovno
priorita 5
<> (nebo #) není rovno
priorita 5
Relaãní operátory srovnávají hodnoty aritmetick˘ch v˘razÛ.
Vracejí hodnotu 1.0, kdyÏ v˘raz „je pravda“ a 0.0, kdyÏ „není
pravda“. Tato funkce rozli‰uje malá a velká písmena.
Boolovské operátory
AND (nebo &)
172
logické a
priorita 6
OR (nebo |)
logické vãetnû nebo
priorita 7
EXOR (nebo @)
logické kromû nebo
priorita 8
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 10: V˘razy a funkce
GDL pouÏívá v˘hradnû ãísla s plovovoucí desetinnou ãárkou,
zatímco Boolovské operátory pracují s reáln˘mi ãísly. Proto 0.0
znamená „není pravda“ a jakékoli jiné ãíslo znamená „je pravda“.
Hodnota logického v˘razu je také reálné ãíslo, tj. 1.0 pro „je
pravda“ a 0.0 pro „není pravda“.
10.3 Funkce
Aritmetické funkce
ABS (x)
Vrací absolutní hodnotu x.
INT (x)
Vrací celoãíselnou ãást x.
(napfi. INT(1.23) = 1, INT(-1.23) = -2).
FRA (x)
Vrací zlomkovou ãást x.
(napfi. FRA(1.23) = 0.23, FRA(-1.23) = 0.77).
SGN (x)
Vrací +1.0, pokud je x kladné, -1.0 pokud je x záporné, jinak 0.0.
SQR (x)
Vrací druhou odmocninu x.
Goniometrické funkce
Tyto funkce pouÏívají stupnû pro argumenty (COS, SIN, TAN) a
pro vrácené hodnoty (ACS, ASN, ATN).
ACS (x)
Vrací arcus cosinus x.
(-1.0 < x < 1.0; 0° < ACS(x) < 180°).
ASN (x)
Vrací arcus sinus x.
(-1.0 < x < 1.0; -90° < ASN(x) < 90°).
ATN (x)
Vrací arcus tangens x.
(-90° < ATN(x) < 90°).
COS (x)
Vrací cosinus x.
SIN (x)
TAN (x)
PI
Vrací sinus x.
Vrací tangens x.
Vrací Ludolphovo ãíslo (π = 3.1415926...).
ArchiCAD 6.0: Referenãní pfiíruãka GDL
173
Kapitola 10: V˘razy a funkce
Transcendentální funkce
tou
EXP (x)
Vrací x
LGT (x)
Vrací dekadick˘ logaritmus x.
LOG (x)
Vrací pfiirozen˘ logaritmus x.
mocninu e (e = 2.7182818).
Boolovské funkce
NOT (x)
Vrací 0.0, pokud je x pravda (≠0.0) a
1.0, pokud je x nepravda (=0.0).
(logická negace).
Statistické funkce
MIN (x1,x2, . . . xn)
Vrací nejmen‰í z neomezeného poãtu argumentÛ.
MAX (x1,x2, . . . xn)
Vrací nejvût‰í z neomezeného poãtu argumentÛ.
RND (x)
Vrací náhodnouhodnotu mezi 0.0 a x (x > 0.0).
¤etûzcové funkce
STR
STR
(numerick˘_v˘raz, len, frac)
(formatstring, numerick˘_v˘raz)
První forma funkce vytvofií fietûzec z aktuální hodnoty ãíselného
v˘razu. Maximální ãíslo pro ãíselné znaky v fietûzci je len,
zatímco frac pfiedstavuje ãísla následující za desetinnou ãárkou.
Pfiíklad:
A=4.5
B=2.345
TEXT2 0, 2, STR(A, 8, 2)
TEXT2 0, 1, STR(B, 8, 2)
TEXT2 0, 0, STR(A*B, 8, 2)
! 4.50
! 2.34
! 10.55
Ve druhém pfiípadû mÛÏe b˘t formatstring buì promûnná nebo
konstanta. Pokud je formát prázdn˘, je interpretován jako metry s
pfiesností na tfii desetinná místa (zobrazuje nula jednotek).
174
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 10: V˘razy a funkce
Formatstring mÛÏe b˘t zadán takto:
%[0 nebo více znakÛ] [‰ífika_pole] [.pfiesnost] konv_spec
znaky (pro m, mm, cm, e, df, di, sqm, sqcm, sqf, sqi, dd, gr, rad):
nic
zarovnání doprava (implicitní)
-
zarovnání doleva
+
explicitní znaménko plus
mezera v místû znaku +
znaky (pro m, mm, cm, df, di, sqm, sqcm, sqf, sqi, dd, gr, rad):
'#'
nezobrazovat nula celc˘ jednotek
znaky (pro ffi, fdi, fi):
'0'
zobrazovat 0 palcÛ
‰ífika_pole: celé ãíslo bez znaménka
minimální poãet znakÛ, které se mají generovat
pfiesnost: celé ãíslo bez znaménka
poãet znakÛ ve zlomku, které se mají generovat
konv_spec (specifikátor konverze):
e
- exponenciální formát (metr)
m
- metr
mm
- milimetr
cm
- centimetr
ffi
- stopy & zlomkové palce
fdi
- stopy & desetinné palce
df
- desetinné stopy
fi
- zlomkové palce
di
- desetinné palce
pro plochy:
sqm
- ãtvereãní metr
sqcm - ãtvereãní centimetry
sqmm - ãtvereãní milimetry
ArchiCAD 6.0: Referenãní pfiíruãka GDL
sqf
- ãtvereãní stopy
sqi
- ãtvereãní palce
175
Kapitola 10: V˘razy a funkce
pro úhly:
dd
- desetinné stupnû
dms
- stupnû, minuty, vtefiiny
gr - grády
rad
- radiány
surv
- jednotky pozorovatele
Pfiíklady:
h = 23
nr = 0.345678
TEXT2
TEXT2
TEXT2
TEXT2
TEXT2
TEXT2
0,
0,
0,
0,
0,
0,
h, STR ("%m", nr)
h-1, STR ("%#10.2m", nr)
h-2, STR ("%.4cm", nr)
h-3, STR ("%12.4cm", nr)
h-4, STR ("%.6mm", nr)
h-5, STR ("%+15e", nr)
!0.346
!
35
! 34.5678
!
34.5678
!345.678000
!+3.456780e-01
TEXT2
TEXT2
TEXT2
TEXT2
TEXT2
TEXT2
0,
0,
0,
0,
0,
0,
h-6, STR ("%ffi", nr)
h-7, STR ("%0.16ffi", nr)
h-8, STR ("% .3fdi", nr)
h-9, STR ("% -10.4df", nr)
h-10, STR ("%0.64fi", nr)
h-11, STR ("%+12.4di", nr)
!1'-2"
!1'-1 5/8"
! 1'-1.609"
! 1.1341'
!13 39/64"
! +13.6094"
TEXT2
TEXT2
TEXT2
TEXT2
TEXT2
0,
0,
0,
0,
0,
h-12,
h-13,
h-14,
h-15,
h-16,
STR
STR
STR
STR
STR
("%#.3sqm", nr)
("%+sqcm", nr)
("% .2sqmm", nr)
("%-12sqf", nr)
("%10sqi", nr)
! 346
!+3,456.78
! 345,678.00
!3.72
!
535.80
STR
STR
STR
STR
STR
STR
("%+10.3dd", alfa)
("%.1dms", alfa)
("%.2dms", alfa)
("%10.4gr", alfa)
("%rad", alfa)
("%.2surv", alfa)
! +88.657°
!88°39'
!88°39'25"
! 98.5078G
!1.55R
!N 1°20'35" E
alfa = 88.657
TEXT2
TEXT2
TEXT2
TEXT2
TEXT2
TEXT2
176
0,
0,
0,
0,
0,
0,
h-17,
h-18,
h-19,
h-20,
h-21,
h-22,
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 10: V˘razy a funkce
SPLIT
(fietûzec, formát, var1 [, var2, ..., varn])
Rozdûlí fietûzcov˘ parametr podle formátu na jednu nebo více
ãíseln˘ch nebo fietûzcov˘ch ãástí. Proces rozdûlování se zastaví ,
kdyÏ narazí na první ãást, která nevyhovuje zadání. Vrací poãet
úspe‰nû naãten˘ch hodnot.
fietûzec:
fietûzec, kter˘ chcete rozdûlit
formát:
libovolná kombinace fietûzcÛ konstant, %s a %n.
âásti fietûzce musí vyhovovat fietûzci konstant, %s
uvádí libovolnou hodnotu fietûzce omezenou
mezerami nebo tabulátory, zatímco %n znaãí
libovolnou ãíselnou hodnotu.
vari :
jména promûnn˘ch, která uloÏí rozdûlené ãásti
fietûzce
Pfiíklad:
ss = "3 kusy trámu 2x5"
n = SPLIT (ss, "%n kusy %nx%n %s", num, ss1, size1,
ss2, size2, jméno)
IF n = 6 THEN
PRINT num, ss1, size1, ss2, size2, jméno
!3 kusy trámu 2 x 5
ELSE
PRINT "ERROR"
ENDIF
STW
(fietûzcov˘_v˘raz)
Vrací ‰ífiku fietûzce v metrech zobrazenou v aktuálním stylu.
Pfiíklad:
DEFINE STYLE "vlastní" "Arial CE", 180000 / A_, 0, 0
SET STYLE "vlastní"
retezec = "abcd"
sirka = STW (retezec) / 1000 * A_
REQUEST ("V ška_stylu", "vlastní", vyska)
vyska = vyska / 1000 * A_
text2 0,0, retezec
rect2 0,0, sirka, -vyska
ArchiCAD 6.0: Referenãní pfiíruãka GDL
177
Kapitola 10: V˘razy a funkce
STRLEN
(fietûzcov˘_v˘raz)
Vrací délku fietûzce (poãet znakÛ)
STRSTR
(fietûzcov˘_v˘raz1, fietûzcov˘_v˘raz2)
Vrací umístûní prvního v˘skytu druhého fietûzce v prvním fietûzci.
Pokud první fietûzec neobsahuje druh˘, funkce vrací 0.
STRSUB
(fietûzcov˘_v˘raz, begpos, numchars)
Vrací podfietûzec parametru fietûzce, kter˘ zaãíná na pozici dané
parametrem begpos a jeho délka je numchars znakÛ.
Pfiíklad:
ss = ""
REQUEST ("Linearni_rozmer", "", ss)
jednotka = ""
IF STRSTR (ss, "m") > 0 THEN jednotka = "m"
IF STRSTR (ss, "mm") > 0 THEN jednotka = "mm"
IF STRSTR (ss, "cm") > 0 THEN jednotka = "cm"
TEXT2 0, 0, STR (ss, a) + " " + jednotka
! 1.00 m
retezec = "Kvetiny.PICT"
len = STRLEN (retezec)
n = STRSTR (retezec, ".")
TEXT2 0, -1, STRSUB (retezec, 1, n - 1)
! Kvetiny
TEXT2 0, -2, STRSUB (retezec, len - 4, 5) ! .PICT
178
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 10: V˘razy a funkce
Speciální funkce
Speciální funkce (kromû globálních promûnn˘ch) lze pouÏít v
popisu pro komunikaci s ArchiCADem. Dotazují se buì na
aktuální stav a rÛzná nastavení pfiedvoleb programu, nebo se
odkazují na aktuální prostfiedí knihovního prvku. Volání lze také
pouÏít pro komunikaci s doplÀky GDL.
Existují dva typy speciálních funkcí: dotazy a IND funkce:
REQ
REQUEST
IND
IND
IND
IND
(fietûzec_parametru)
(jméno_otázky, jméno| index, var1 [, var2,....])
(MATERIAL, fietûzec_jména)
(FILL, fietûzec_jména)
(LINE_TYPE, fietûzec_jména)
(STYLE, fietûzec_jména)
Více detailÛ viz Pfiíloha: Speciální funkce.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
179
Kapitola 10: V˘razy a funkce
180
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 11: ¤ídící povely
11
¤ídící povely
ArchiCAD 6.0: Referenãní pfiíruãka GDL
181
Kapitola 11: ¤ídící povely
11.1 Povely pro fiízení chodu
programu
FOR
varnam = poãáteãní_hodnota TO koncvoá_hodnota [ STEP
hodnota_kroku]
První pfiíkaz smyãky FOR. Pokud chybí klíãové slovo STEP a
hodnota kroku, pfiedpokládá se krok rovn˘ jedné.
Globální promûnná jako fiídící promûnná smyãky není povolena.
Pfiíklad:
FOR I=1 TO 10 STEP 2
PRINT I
NEXT I
NEXT
varnam
Poslední pfiíkaz smyãky FOR.
Promûnná smyãky se mûní od parametru poãáteãní_hodnota do
parametru koneãná_hodnota po pfiírÛstcích (nebo úbytcích) krok
pfii kaÏdém prÛbûhu smyãkou (pfiíkazy mezi FOR a NEXT).
JestliÏe promûnná smyãky dosáhne hodnoty koneãná_hodnota,
program provede pfiíkaz následující za pfiíkazem NEXT.
Dva následující fragmenty programu jsou ekvivalentní:
Last statement of a FOR loop.
! první
A = B
1:IF C > 0 AND A > D OR C < 0 AND A < D THEN 2
PRINT A
A = A + C
GOTO 1
2:
! druh
FOR A = B TO D STEP C
PRINT A
NEXT A
Pfiedchozí pfiíklad ukazuje, Ïe krok=0 zpÛsobí nekoneãnou
smyãku.
Po pfiíkazu FOR je povolen jen jedin˘ pfiíkaz NEXT. Je povoleno
opustit smyãku pfiíkazem GOTO (nebo IF...GOTO) a po opu‰tûní
se znovu navrátit, av‰ak není povoleno vstoupit do smyãky s
pfieskoãením pfiíkazu FOR.
182
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 11: ¤ídící povely
DO
WHILE
[stmt1
stmt2
...
stmtn]
podmínka
Povely mezi klíãov˘mi slovy se provádûjí, dokud je podmínka
pravdivá.
Pravdivost podmínky se kontroluje vÏdy po provedení povelu.
WHILE
podmínka DO
[stmt1
stmt2
...
stmtn]
ENDWHILE
Povely mezi klíãov˘mi slovy se provádûjí, dokud je podmínka
pravdivá.
Pravdivost podmínky se kontroluje vÏdy pfied provedením
povelÛ.
REPEAT
UNTIL
[stmt1
stmt2
...
stmtn]
podmínka
Povely mezi klíãov˘mi slovy se provádûjí, dokud se podmínka
nestane pravdivou.
Pravdivost podmínky se kontroluje vÏdy po provedení povelÛ.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
183
Kapitola 11: ¤ídící povely
Pfiíklad:
Následující 4 sekvence GDL povelÛ jsou ekvivalentní:
! první
FOR i = 1 TO 5 STEP 1
BRICK 0.5, 0.5, 0.1
ADDZ 0.3
NEXT i
! druhá
i = 1
DO
BRICK 0.5, 0.5, 0.1
ADDZ 0.3
i = i + 1
WHILE i <= 5
! tfietí
i = 1
WHILE i <= 5 DO
BRICK 0.5, 0.5, 0.1
ADDZ 0.3
i = i + 1
ENDWHILE
! tvrtá
i = 1
REPEAT
BRICK 0.5, 0.5, 0.1
ADDZ 0.3
i = i + 1
UNTIL i > 5
IF
IF
IF
podmínka THEN návû‰tí
podmínka GOTO návû‰tí
podmínka GOSUB návû‰tí
Podmínûn˘ skokov˘ povel. Je-li hodnota v˘razu podmínky rovna
0, pfiíkaz nemá Ïádn˘ efekt, v ostatních pfiípadech program
pokraãuje v návû‰tí.
Pfiíklady:
IF
IF
IF
184
A THEN 28
I > J GOTO 200+I*J
I > 0 GOSUB 9000
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 11: ¤ídící povely
IF
podmínka THEN povel [ELSE povel]
nebo
IF
podmínka THEN
[stmt1
stmt2
...
stmtn]
[ELSE
stmtn+1
stmtn2
...
stmtn+m]
ENDIF
Napí‰ete-li jen jeden pfiíkaz po klíãov˘ch slovech THEN a/nebo
ELSE ve stejném fiádku, pak není tfieba zadávat ENDIF. Pfiíkaz po
THEN nebo ELSE ve stejném fiádku znamená jednoznaãnû ENDIF.
Je-li po THEN nová fiádka, následující pfiíkazy (v‰echny, aÏ po
klíãové slovo ELSE nebo ENDIF) budou provedeny, jedinû pokud
v˘raz v podmínce je pravdiv˘ (jin˘ neÏ nula). V opaãném
pfiípadû budou pfiíkazy následující ELSE vykonány. Pokud klíãové
slovo ELSE chybí, pfiíkazy po ENDIF budou vykonány.
Pfiíklad:
IF a = b THEN vyska = 5 ELSE vyska = 7
IF needdoors THEN
CALL
"makro_dvefií" PARAMETERS
ADDX
a
ENDIF
IF jendoduche THEN
HOTSPOT2
0, 0
RECT2
a, 0, 0, b
ELSE PROJECT2
3, 270, 1
IF jmeno = "koule" THEN
ADDY
b
SPHERE 1
ELSE
ROTX
90
TEXT
0.002, 0, jmeno
ENDIF
ArchiCAD 6.0: Referenãní pfiíruãka GDL
185
Kapitola 11: ¤ídící povely
GOTO
návû‰tí
Nepodmínûn˘ jump statement. Program provede úsek programu
oznaãen˘ hodnotou návû‰tí.
Pfiíklad:
GOTO K+2
GOSUB
návû‰tí
Volání vnitfiního podprogramu, kde návû‰tí je vstupním bodem
podprogramu.
Viz Návû‰tí v kapitole "Základní syntaktické prvky".
RETURN
Návrat z vnitfiního podprogramu.
END
EXIT
Konec aktuálního GDL popisu. Program se ukonãí nebo vrátí o
jednu úroveÀ v˘‰e. Je moÏné pouÏít nûkolika pfiíkazÛ END nebo
EXIT v jednom GDL souboru.
BREAKPOINT
v˘raz
Tímto povelem mÛÏete specifikovat zlomové body v GDL
popisu. Debugér GDL se na tomto povelu zastaví, pokud
hodnota parametru (ãíseln˘ v˘raz) je pravdivá (1) a v debuggéru
je zatrÏena volba Zapnout zlomové body. V "normálním" reÏimu
provádûní popisu pfiekladaã tento povel GDL jednodu‰e
pfieskoãí.
186
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 11: ¤ídící povely
11.2 Manipulace s pamûtí
Zásobník pamûti je zabudovaná datová struktura, kterou lze
pouÏít, pokud se nûkteré hodnoty (napfi. soufiadnice) mûní po
urãitém jednoznaãném pravidle, které je moÏno popsat pomocí
matematického v˘razu, chcete-li zachovat aktuální hodnoty
promûnn˘ch, nebo v nûkter˘ch jin˘ch pfiípadech.
Zásobník pamûti je nekoneãná fiada, ve které mÛÏete uchovávat
numerické hodnoty pomocí povelu PUT. Povel uloÏí dané
hodnoty na konec zásobníku. Tyto hodnoty mohou b˘t pozdûji
pouÏity (povely GET, USE) v tomtéÏ pofiadí, v jakém byly vloÏeny
(takÏe první uloÏená hodnota bude pouÏita jako první). Pfiíkazy
GET(n) nebo USE(n) jsou ekvivalentní s n hodnotami
oddûlen˘mi ãárkami. Mohou tak b˘t pouÏity v libovolném
seznamu parametrÛ GDL, kde je potfieba n hodnot.
PUT
NSP = NSP+1
GET
NSP = NSP-1
USE
PUT
v˘raz [ , v˘raz ] . . .
UloÏí dané hodnoty v daném pofiadí do vnitfiního zásobníku
pamûti.
GET
(n)
PouÏije n hodnot z vnitfiního zásobníku, a pak je smaÏe.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
187
Kapitola 11: ¤ídící povely
USE
(n)
PouÏije n hodnot z vnitfiního zásobníku parametrÛ a nesmaÏe je.
Následující funkce USE a GET mohou pouÏít stejnou sekvenci
parametrÛ.
NSP
Vrací poãet parametrÛ uloÏen˘ch ve vnitfiním zásobníku.
Pfiíklad pro pouÏití zásobníku parametrÛ:
R=2 : B=6 : C=4 : D=10
N=12
S=180/N
FOR T=0 TO 180 STEP S
PUT R+R*COS(T), C-R*SIN(T), 1
NEXT T
FOR I=1 TO 2
EXTRUDE 3+NSP/3, 0,0,D, 1+16,
0, B, 0,
2*R, B, 0,
USE(NSP),
0, B, 0
MULY -1
NEXT I
DEL 1
ADDZ D
REVOLVE 3+NSP/3, 180, 0,
0, B, 0,
2*R, B, 0,
GET(NSP),
0, B, 0
188
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 11: ¤ídící povely
Pln˘ popis:
R=2 : B=6 : C=4 : D=10
FOR I=1 TO 2
EXTRUDE 16, 0,0,D, 1+16,
0, B, 0,
2*R, B, 0,
2*R, C, 1,
R+R*COS(15), C-R*SIN(15),
R+R*COS(30), C-R*SIN(30),
R+R*COS(45), C-R*SIN(45),
R+R*COS(60), C-R*SIN(50),
R+R*COS(75), C-R*SIN(75),
R+R*COS(90), C-R*SIN(90),
R+R*COS(105), C-R*SIN(105),
R+R*COS(120), C-R*SIN(120),
R+R*COS(135), C-R*SIN(135),
R+R*COS(150), C-R*SIN(150),
R+R*COS(165), C-R*SIN(165),
0, B, 1,
0, B, 0
MULY -1
NEXT I
DEL 1
ADDZ D
REVOLVE 16, 180, 0,
0, B, 0,
2*R, B, 0,
2*R, C, 1,
R+R*COS(15), C-R*SIN(15),
R+R*COS(30), C-R*SIN(30),
R+R*COS(45), C-R*SIN(45),
R+R*COS(60), C-R*SIN(50),
R+R*COS(75), C-R*SIN(75),
R+R*COS(90), C-R*SIN(90),
R+R*COS(105), C-R*SIN(105),
R+R*COS(120), C-R*SIN(120),
R+R*COS(135), C-R*SIN(135),
R+R*COS(150), C-R*SIN(150),
R+R*COS(165), C-R*SIN(165),
0, B, 1,
0, B, 0
ArchiCAD 6.0: Referenãní pfiíruãka GDL
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
189
Kapitola 11: ¤ídící povely
11.3 Makro objekty
Aãkoli lze trojrozmûrné objekty vÏdy rozloÏit do komplexních
nebo primitivních prvkÛ, je nûkdy Ïádoucí definovat tyto
komplexní prvky speciálnû pro urãité aplikace. Takto uÏivatelsky
definovan˘ prvek se naz˘vá MACRO.
CALL
fietûzec_jména_makra [,seznam_parametrÛ]
CALL
fietûzec_jména_makra PARAMETERS [jméno1=jméno1,…
jménon=jménon]
Jména maker nesmí b˘t del‰í neÏ 31 znakÛ.
Jméno makra mÛÏe b˘t fietûzcová konstanta, promûnná nebo
parametry. Jako jméno pfii volání makra nelze pouÏít fietûzové
operace.
Pozor! Pokud byly fietûzcové promûnné nebo parametry pouÏity
jako jména maker, volané makro nebude uloÏeno v archivním
projektu, i kdyÏ je zatrÏena volba “Zahrnout v‰echny prvky
naãten˘ch knihoven”.
Jméno makra musí b˘t mezi uvozovkami (",',`,´,”,’,“,‘), pokud
nevyhovuje definici identifikátorÛ, tj. nezaãíná písmûnem nebo
znakem '_' nebo '~' a neobsahuje pouze písmena, ãísla a znaky
'_' a '~'. Jinak musí b˘t uvozovky pouÏité v pfiíkazu CALL stejné
na zaãátku i na konci a musí se li‰it od libovolného znaku uvnitfi
jména makra.
Samotné jméno makra mÛÏe b˘t pouÏito jako pfiíkaz bez
klíãového slova CALL
jméno_makra
[seznam_parametrÛ]
jméno_makra
PARAMETERS [jméno1=hodnota1,… jménon=hodnotan]
První typ volání makra mÛÏete pouÏít v jednoduch˘ch GDL
textov˘ch souborech jako libovoln˘ knihovní prvek, pod
podmínkou, Ïe jeho seznam parametrÛ obsahuje jen parametry o
jednom písmenu (A…Z). Tato forma makra mÛÏe b˘t pouÏita pro
kompatibilitu s pfiedchozími verzemi, ale doporuãujeme druh˘
typ. V˘znam seznamu parametrÛ je následující: hodnota
parametru A bude první hodnotou v seznamu, parametr B bude
druhou hodnotou, atd. Pokud makro (knihovního prvku) nemá
parametr o jednom písmenu odpovídající hodnotû, interpretace
bude pokraãovat pfieskoãením této hodnoty, ale program Vás
bude varovat. U této metody nejsou povoleny fietûzcové v˘razy.
190
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 11: ¤ídící povely
Druh˘ typ mÛÏe b˘t pouÏit pouze s plnû vybaven˘mi knihovními
prvky, nikoli s textov˘mi GDL soubory. Po klíãovém slovû
PARAMETERS musíte zadat jména parametrÛ volaného makra v
jakékoli sekvenci, a to se znakem '=' i hodnotou pro kaÏd˘
parametr.
MÛÏete tady pouÏít fietûzcov˘ v˘raz, ale dbejte na to, abyste
pouÏili fietûzcové hodnoty jen v parametrech fietûzcového typu.
Maticov˘m parametrÛm musí b˘t dány plné matice hodnot se
stejn˘mi rozmûry. Pokud seznam parametrÛ nelze ve volaném
makru nalézt, progam Vás o tom bude informovat chybovou
zprávou. ParametrÛm volaného makra, které nejsou vyjmenovány
ve volání makra, budou pfiifiazeny jejich pÛvodní implicitní
hodnoty definované v knihovním prvku volaném jako makro.
GDL makro má své vlastní prostfiedí, které závisí na pofiadí jeho
volání. Aktuální hodnoty voleb MODEL, RADIUS, RESOL, TOLER,
PEN, LINE_TYPE, MATERIAL, FILL, STYLE, SHADOW a aktuální
transformace zÛstávají v makru platné. MÛÏete je pouÏít nebo
modifikovat, ale modifikace nemají úãinek v úrovni, ze které
bylo makro voláno.
Pfiifiazování parametrÛ volanému makru znamená pfiifiazování
implicitních hodnot v úrovni makra.
Parametry A a B jsou obvykle pouÏívány pro zmûnu mûfiítka
objektu.
Pfiíklady:
CALL "noha" 2, , 5
noha 2, , 5
! A = 2, B = 0, C = 5
CALL "dvefie-1" PARAMETERS vyska = 2, a = 25.5,
jmeno = "fieditel"
CALL "dvefie-1" PARAMETERS
! použití implicitních hodnot parametrÛ
dvefie-1 PARAMETERS
V souhrnu: Kdykoli nepotfiebujete parametry s dlouh˘m jménem
nebo jménem fietûzcového typu, mÛÏe b˘t vhodné pouÏít typ
GDL text. Tento typ GDL mÛÏe b˘t volán jedinû prvním typem
volání makra, protoÏe neobsahuje seznam parametrÛ. Na druhou
stranu, jestliÏe nechcete omezovat jména parametrÛ svého makra
na písmena od A do Z, nebo pokud chcete, aby seznam
parametrÛ obsahoval fietûzce, musí b˘t makro knihovním
prvkem, volan˘m druh˘m typem GDL syntaxe.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
191
Kapitola 11: ¤ídící povely
11.4 V˘stupní povely
PRINT
v˘raz [, v˘raz ]. . .
Vypí‰e v‰echny argumenty v dialogu. Argumenty mohou b˘t
fietûzcové nebo ãíselné v˘razy libovolného poãtu v libovolném
pofiadí, oddûlené ãárkami.
Pfiíklady:
PRINT
PRINT
PRINT
PRINT
PRINT
"promûnné-smy ka:", I
J, K-3*L
"Za átek interpretace"
a * SIN (alfa) + b * COS (alfa)
"Hodnoty parametrÛ: ", "a = ", a,
", b = ", b
PRINT jmeno + STR ("%m", i) + "." + ext
192
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 11: ¤ídící povely
11.5 Operace se soubory
Následující klíãová slova umoÏÀují otevfiít externí soubory pro
ãtení nebo zápis a manipulovat s nimi vkládáním nebo získáváním
hodnot do nebo z GDL popisu. Tento proces nezbytnû vyÏaduje
pouÏití speciálních doplÀkÛ ArchiCADu. S textov˘mi soubory se dá
pracovat pomocí doplÀku TEXT GDL I/O. DoplÀky pro soubory
jiného typu mohou b˘t vytvofieny externími spolupracovníky.
OPEN
(filtr, soubor, paramstring)
filtr:
fietûzec, jméno existujícího doplÀku
soubor:
fietûzec, jméno souboru
paramstring: fietûzec, obsahuje specifické oddûlovací znaky
operaãního doplÀku a reÏim otevfiení. jeho obsah
je interpretován doplÀkem
Otevfie soubor podle pfiíkazÛ. V˘slednou hodnotou je kladné celé
ãíslo, které identifikuje urãit˘ soubor. Tato hodnota bude
referenãním ãíslem souboru pro následující pfiíklady.
INPUT
(kanál, recordID, fieldID, var1 [, var2,...])
recordID, fieldID:
poãáteãní pozice pro ãtení fietûzcového nebo
ãíselného typu, jeho obsah je interpretován
doplÀkem
Poãet dan˘ch parametrÛ definuje poãet hodnot od poãáteãní
pozice, ãtené ze souboru identifikovaného hodnotou kanálu. V
seznamu parametrÛ musí b˘t alespoÀ jedna hodnota. Tato funkce
vkládá naãtené hodnoty do parametrÛ podle pofiadí. Tyto
hodnoty mohou b˘t fietûzcového nebo numerického typu,
nezávisle na typu parametru definovaného pro uloÏení
V˘slednou hodnotou je ãíslo úspû‰nû naãten˘ch hodnot. Pfii
dosaÏení znaku konce souboru, je to -1.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
193
Kapitola 11: ¤ídící povely
OUTPUT
kanál, recordID, fieldID, v˘raz1 [, v˘raz2, ...]
recordID, fieldID:
poãáteãní pozice (fietûzcového nebo numerického typu)
pro zápis, jeho obsah je interpretován doplÀkem
Z dané pozice zapisuje do souboru identifikovaného hodnotou
kanálu tolik hodnot, kolik je definovan˘ch v˘razÛ. Musí to b˘t
nejménû jeden v˘raz. Typ hodnot je tent˘Ï jako typ v˘razÛ.
CLOSE
kanál
Zavfie soubor identifikovan˘ hodnotou kanálu.
194
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
12
Zvlá‰tní instrukce pro
okna a dvefie
ArchiCAD 6.0: Referenãní pfiíruãka GDL
195
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
12.1 Obecná pravidla
Tato kapitola popisuje rÛzné speciální volby vztahující se k
vytváfiení knihovních prvkÛ typu dvefie/okno.
Jakmile byly dvefie/okno vloÏeny do zdi, implicitní pozice
soufiadného systému tûchto knihovních prvkÛ se natoãí tak, Ïe
rovina x-y je svislá a osa z mífií vodorovnû do zdi. Poãátek je
umístûn do spodního stfiedu otvoru ve zdi, na vnûj‰í stranu zdi.
Takto lze dvefie/okna jednou‰e modelovat pomocí prvkÛ v rovinû
x-y. Viz ilustrace dole.
Vzhledem ke zvlá‰tnímu chování tûchto knihovních prvkÛ je
symbol 2D generován ze speciální zabudované projekce pro
uÏivatele jinak nedosaÏitelné (boãní pohled shora dolÛ ze smûru
90°). Symbol a 3D tvar se pfiizpÛsobí poãátku dvefií/oken ve
spodním (y) stfiedu (x) ohraniãujícího rámeãku, nebude v‰ak
provedeno pfiizpÛsobení ve smûru osy z, aby uÏivatelé mohli
navrhovat dvefie/okna pfiesahující zeì v libovolném smûru z.
Pfii respektování tûchto pravidel postupujte podle následujících
pokynÛ, aby dvefie/okna, které vytvofiíte, fungovaly správnû:
- Pfii konstrukci dvefií/oken v pÛdoryse si uvûdomte, Ïe se na
nû díváte zevnitfi stûny, do které budou umístûny.
- Pfiedstavujte si nulovou úroveÀ projektu jako vnûj‰í plochu
stûny.
- Prvky, které mají b˘t uvnitfi stûny, jako rám okna, musí b˘t
nad nulovou úrovní.
- Otevírání dvefií smûrem ven má b˘t pod nulovou úrovní.
196
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
12.2 Vytváfiení knihovních prvkÛ
typu dvefie/okno
Pfii vytváfiení dvefií/oken existuje nûkolik moÏností
pfiedstavujících rÛzné problémy:
- Vytváfiení obdélníkov˘ch dvefií/oken v pfiím˘ch zdech
- Vytváfiení neobdélníkov˘ch dvefií/oken v pfiím˘ch zdech
- Vytváfiení obdélníkov˘ch dvefií/oken v zakfiiven˘ch zdech
- Vytváfiení neobdélníkov˘ch dvefií/oken v zakfiiven˘ch zdech
Obdélníkové dvefie/okna v pfiím˘ch
zdech
Toto je nejjednodu‰‰í a nejpfiímûj‰í zpÛsob vytváfiení dvefií a
oken. Doporuãujeme pouÏití jednoduch˘ch GDL povelÛ, jako
PRISM_ nebo RECT.
Pokud chcete pfiizpÛsobit povrchové materiály dvefií/oken
materiálÛm zdi, pak spodní povrch prvkÛ odpovídá vnûj‰ímu a
horní povrch vnitfinímu povrchu zdi. MÛÏete toho dosáhnout z
popisÛ pomocí globálních promûnn˘ch G_, H_ a I_, které vypí‰í
materiály zdí , do kter˘ch jsou dvefie/okno vloÏeny. Ve 2D popise
mohou b˘t uÏiteãné globální promûnné E_, F_ a A~, jelikoÏ
vypí‰í ãísla per obrysu zdi a v˘plnû a index v˘plnû zdi v
pÛdorysu, do které jsou dvefie/okno vloÏeny. V pfiípadû
sendviãov˘ch zdí musíte pouÏít odpovídající promûnné. Detaily
viz Pfiíloha.
Knihovna ArchiCADu obsahuje velké mnoÏství maker dvefií/
oken. Tyto GDL popisy obsahují spoleãné stavební prvky, které
lze pouÏít v mnoha dvefiích/oknech knihovny ArchiCADu.
Existují makra pro generování spoleãnû pouÏívan˘ch rámÛ,
panelÛ a mnoh˘ch dal‰ích typÛ dvefií/oken. Otevfiete nûkter˘
prvek dvefií/okna a prohlédnûte si, jak˘ druh maker volá a jak˘
typ prvkÛ tato makra generují.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
197
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
Pfiíklad:
Z
Y
X
A=0.9: B=1.5: C=0.1: D=0.08
E=0.08: F=0.9: G=0.03: H=3
PRISM_ 10,C,
-A/2, 0, 15, A/2, 0, 15,
A/2, B, 15, -A/2, B, 15,
-A/2, 0, -1,
-A/2+D, D, 15, A/2-D, D, 15,
A/2-D, B-D, 15, -A/2+D, B-D, 15,
-A/2+D, D, -1
ADDX -A/2+D, F, 0
BRICK A-2*D, E, C
ADDX -G/2, -F+D, C/2
GOSUB 1
ADDZ -G
GOSUB 1
DEL 2
MATERIAL "Glass"
RECT A-2*D, F-D
ADDY F-D+E
RECT A-2*D, B-F-E-D
END
1: FOR I=1 TO H-1
ADDX (A-2*D)/3
BLOCK G, F-D, G
ADDY F+E-D
BLOCK G, B-F-D-E, G
DEL 1
NEXT I
DEL H-1
RETURN
198
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
Neobdélníkové dvefie/okna v
pfiím˘ch zdech
Pfii práci s dvefimi/okny je dÛleÏité vûdût, ÏeArchiCAD vÏdy
vyfieÏe obdélníkov˘ otvor do zdi, do které vkládáte dvefie/okno.
Velikost otvorÛ je urãena parametry A a B knihovního prvku
dvefie/okno. Nicménû kdyÏ dvefie/okno není v pohledu
obdélníkové, nevyplní zcela tento vyfiezan˘ otvor. Pro to existují
dvû fie‰ení:
1. 3D popis musí obsahovat prvky, které vygenerují prvky zdi,
jeÏ vyplní otvor mezi tûlesem dvefií/okna a hranami
obdélníkového otvoru ve zdi. V takovém pfiípadû musíte
dávat pozor zvlá‰tû na viditelnost hran tûchto v˘plní.
Z
Y
X
2. PouÏití povelu WALLHOLE, kter˘ je dostupn˘ od verze
ArchiCAD 6.0. Tímto povelem mÛÏete definovat polygonální
tvar, kter˘ se má vyfiezat do zdi, kde jsou umístûny dvefie/
okna.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
199
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
WALLHOLE
n, status,
x1, y1, maska1,
...
xn, yn, maskan
[, x, y, z]
n:
poãet uzlÛ polygonu
status:
1: pouÏití vlastních atributÛ tûlesa pro generované
polygony a hrany
2: generované vyfiezané polygony budou
zpracovány jako normální polygony
x i, yi :
soufiadnice prÛfiezu polygonu
maskai:
jako v povelu CUTPOLYA
maskai = j1 + 2 * j2 + 4 * j3
x, y, z:
voliteln˘ smûrov˘ vektor (implicitnû je to osa Z
dvefií/oken)
z
x
Z
y
j3
n
Y
j2
i+1
j1
1
i
X
Tento povel lze pouÏít ve 3D popisech dvefií/oken pro vyfiezání
uÏivatelského otvoru(Û) do zdi, do které jsou vloÏeny. Bûhem
generování 3D aktuální zdi se 3D popis v‰ech jejích dvefií/oken
interpretuje bez generování modelu a shromáÏdí se zadané
povely WALLHOLE. Pokud existují, ArchiCAD vyfieÏe otvor z
aktuální zdi pomocí nekoneãné trubky s polygonálním prÛfiezem
a smûrem definovan˘m v popise. Pro kaÏdé dvefie/okno mÛÏe
b˘t zadán libovoln˘ poãet povelÛ WALLHOLE, takÏe mÛÏete
vyfiezat více otvorÛ pro jediné dvefie/okno, a ty se mohou
dokonce protínat. Pokud je alespoÀ jeden povel WALLHOLE
interpretovaán ve 3D popisu dvefií/okna, ArchiCAD nebude pro
tyto dvefie/okno generovat obdélníkov˘ otvor.
Pozn.: 3D ostûní nebude generováno automaticky pro
uÏivatelské otvory, musíte je generovat popisem.
200
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
Otvor takto upraven˘ bude viditeln˘ pouze ve 3D, protoÏe
povely WALLHOLE nemají vliv na 2D. 2D reprezentaci lze
popsat, pokud to potfiebujete (a vypnete-li volbu rámování v
pÛdoryse).
Doporuãujeme pouÏívat konvexní polygonální prÛfiez; pouÏití
konkávních polygonÛ mÛÏe pfiinést podivné v˘sledky pfii
stínování nebo fotozobarzení nebo chyby pfii fiezání. Konvexní
polygony lze kombinovat a vytváfiet tak konkávní tvary.
Pfiíklady:
RESOL 72
L1=2.7 : L2=1.2 : H1=2.1 : H2=0.3 : H3=0.9
R=((L1/2)^2+H2^2)/(2*H2)
A=ATN((L1/2)/(R-H2))
WALLHOLE 5,1,
-L1/2,H3,15,
L1/2,H3,15,
L1/2,H1-H2,13,
0,H1-R,915,
0,2*A,4015
WALLHOLE 4,1,
L1/2-L2,0,15,
L1/2,0,15,
L1/2,H3,15,
L1/2-L2,H3,15
ArchiCAD 6.0: Referenãní pfiíruãka GDL
201
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
WALLHOLE
5,1,
-0.45,
0,
15,
0.45, 0,
15,
0.45, 1.5, 15,
0,
1.95, 15,
-0.45,
1.5, 15
PRISM_ 12, 0.1,
-0.45,
0,
15,
0.45, 0,
15,
0.45, 1.5, 15,
0,
1.95, 15,
-0.45,
1.5, 15,
-0.45,
0,
-1,
-0.35,
0.1, 15,
0.35, 0.1, 15,
0.35, 1.45, 15,
0,
1.80, 15,
-0.35,
1.44, 15,
-0.35,
0.1, -1
202
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
Obdélníkové dvefie/okna v
zakfiiven˘ch zdech
Pfii umísÈování dvefií/oken do zakfiiven˘ch zdí se mohou strany
otvorÛ fiezan˘ch do zdi li‰it, jak je vidût na dal‰ím obrázku.
Otvor ve zdi nalevo je vytvofien automatick˘m vyfiezáním otvoru
pro dvefie/okno. V tom pfiípadû mají strany radiální smûr.
Napravo je otvor vyfiezán pomocí povelu WALLHOLE ve 3D
popisu objektu dvefií/okna. Objekt sám musí b˘t popsán s
ohledem na tyto faktory.
Dal‰í vûc, kterou je potfieba brát v úvahu, je, zda jsou dvefie/
okno umístûné do zakfiivené zdi pfiímé nebo zakfiivené.
V pfiípadû pfiím˘ch dvefií/okna, jako na obrázku vlevo nahofie,
má tlou‰Èka a ‰ífika objektu a tlou‰Èka zdi úzk˘ vztah, protoÏe
nad urãit˘ rozmûr by se objekt ocitnul mimo zeì. Pfii pouÏívání
zakfiiven˘ch dvefií/oken se tento problém neobjeví.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
203
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
Pfiíklad:
Z
Y
X
RESOL 72
ROTX -90
MULY -1
C= 0.12 : Z=(360*A)/(2*R_*PI)
Y= (360*C)/(2*R_*PI)
A1= 270+Z/2 : A2=270-Z/2
GOSUB 1
ADDZ B
MULZ -1
GOSUB 1
DEL
2
ADDZ C
GOSUB 2
MULX -1
GOSUB 2
END
1:
PRISM_
9,
C,
COS(A2)*R_,
SIN(A2)*R_+R_,
COS(A2+Y)*R_,
SIN(A2+Y)*R_+R_,
0,
R_,
0,
Z-2*Y,
COS(A1)*R_,
SIN(A1)*R_+R_,
COS(A1)*(R_-0.1),
SIN(A1)*(R_-0.1)+R_,
COS(A1-Y)*(R_-0.1), SIN(A1-Y)*(R_-0.1)+R_,
0,
-(Z-2*Y),
COS(A2)*(R_-0.1),
SIN(A2)*(R_-0.1)+R_,
RETURN
2:
PRISM_
4,
B-2*C,
COS(A2)*R_,
SIN(A2)*R_+R_,
COS(A2+Y)*R_,
SIN(A2+Y)*R_+R_,
COS(A2+Y)*(R_-0.1), SIN(A2+Y)*(R_-0.1)+R_,
COS(A2)*(R_-0.1),
SIN(A2)*(R_-0.1)+R_,
RETURN
204
11,
13,
900,
4009,
11,
11,
13,
4009,
11
10,
15,
10,
10
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
Neobdélníkové dvefie/okna v
zakfiiven˘ch zdech
Obecná pravidla, daná pro obdélníkové dvefie/okna v
zakfiiven˘ch zdech, zde platí také.
Pfiíklad:
C=0.1 : D=0.025
Z=A/2-SQR(2)*C : Y=A/2-SQR(2)*C-D
ADDY A/2
WALLHOLE
4,
1,
0,
-A/2, 15,
A/2, 0,
15,
0,
A/2, 15,
-A/2, 0,
15
PRISM_ 10, 0.1,
0,
-A/2, 15,
A/2, 0,
15,
0,
A/2, 15,
-A/2, 0,
15,
0,
-A/2, -1,
0,
-Z, 15,
Z,
0,
15,
0,
Z,
15,
-Z, 0,
15,
0,
-Z, -1
ADDZ 0.02
GOSUB 1
ADDZ 0.03
ArchiCAD 6.0: Referenãní pfiíruãka GDL
205
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
GOSUB 1
ADDY
-Z
SET MATERIAL "Glass"
ROTZ
45
RECT
SQR(2)*Z,
SQR(2)*Z
END
1:
PRISM_ 16, 0.03,
0,
-Z, 15,
D,
-Y, 15,
D,
-D, 15,
Y,
-D, 15,
Z,
0,
15,
Z,
D,
15,
D,
D,
15,
D,
Y,
15,
0,
Z,
15,
-D, Y,
15,
-D, D,
15,
-Y, D,
15,
-Z, 0,
15,
-Y, -D, 15,
-D, -D, 15,
-D, -Y, 15
RETURN
206
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
Pfiíloha
A:
Seznam globálních promûnn˘ch
B:
Speciální funkce
C:
GDL uloÏen˘ z pÛdorysu
D:
Povely pouze pro 3D zobrazení
E:
Povely pouze pro 2D symboly
F:
Povely pro 3D i 2D pouÏití
G:
Povely pro negeometrické popisy
H:
Spoleãné povely
I:
Rezervované a zastaralé povely
J:
Seznam konverzí jmen zastaral˘ch
globálních promûnn˘ch
K:
Abecední seznam povelÛ
L:
Textov˘ doplnûk
ArchiCAD 6.0: Referenãní pfiíruãka GDL
207
Pfiíloha
A
Globální promûnné
Globální promûnné umoÏÀují ukládání speciálních hodnot modelu. To umoÏÀuje pfiístup
ke geometrick˘m informacím o prostfiedí GDL makra. Napfiíklad se mÛÏete dostat k
parametrÛm zdí, kdyÏ definujete okno, které musí do zdi vsadit. Globální promûnné se
bûhem volání makra neukládají do zásobníku.
Obecné informace o prostfiedí
GLOB_SCRIPT_TYPE
T~ typ aktuálního popisu
1-popis vlastností, 2-2D popis, 3-3D popis, 4-neimplementováno, 5-popis seznamu
hodnot, 1- hlavní popis
GLOB_CONTEXT
kontext vzhledu
1-editor knihovního prvku, 2-pÛdorys, 3-3D pohled, 4-fiez, 5-dialog pro nastavení,
6-seznam
GLOB_SCALE
A_ mûfiítko
podle aktuálního okna
GLOB_NORTH_DIR
U~ sever projektu
vzhledem k implicitnímu soufiadnému systému projektu podle nastavení
provedeného v dialogu Slunce...
GLOB_DRAWING_BGD_PEN
pero barevného pozadí obrázku
nejbliωí pero z aktuální palety barvû pozadí aktuálního okna
Informace o podlaÏí
GLOB_HSTORY_ELEV
B_ v˘‰ková úroveÀ v˘chozího podlaÏí
v˘chozí podlaÏí je to, kde je objekt umístûn
GLOB_HSTORY_HEIGHT
Q_ v˘‰ka v˘chozího podlaÏí
v˘chozí podlaÏí je to, kde je objekt umístûn
GLOB_CSTORY_ELEV
Q~ v˘‰ková úroveÀ aktuálního podlaÏí
aktuální podlaÏí je to, které je právû zobrazeno v oknû pÛdorysu
GLOB_CSTORY_HEIGHT
R~ v˘‰ka aktuálního podlaÏí
aktuální podlaÏí je to, které je právû zobrazeno v oknû pÛdorysu
GLOB_CH_STORY_DIST
S~ relativní umístûní akt. podlaÏí k v˘ch. podlaÏí
aktuální podlaÏí je to, které je právû zobrazeno v oknû pÛdorysu
Informace o pfieletu
GLOB_FRAME_NR
N_ ãíslo aktuálního zábûru v animaci
platné pouze pro animace, 0 pro statické obrázky
208
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
GLOB_FIRST_FRAME
O_ index prvního zábûru v pfieletu
platné pouze pro animace, 0 pro statické obrázky
GLOB_LAST_FRAME
P_ index posledního zábûru v pfieletu
platné pouze pro animace, 0 pro statické obrázky
GLOB_EYEPOS_X
K~ aktuální pozice kamery (x)
platné pouze v perspektivním zobrazení pro animaci i statické obrázky
GLOB_EYEPOS_Y
L~ aktuální umístûní kamery (y)
platné pouze v perspektivních zobrazeních pro animace i statické obrázky
GLOB_EYEPOS_Z
M~ aktuální camera umístûní (z)
platné pouze v perspektivních zobrazeních pro animace i statické obrázky
GLOB_TARGPOS_X
N~ aktuální umístûní cíle (x)
platné pouze v perspektivních zobrazeních pro animace i statické obrázky
GLOB_TARGPOS_Y
O~ aktuální umístûní cíle (y)
platné pouze v perspektivních zobrazeních pro animace i statické obrázky
GLOB_TARGPOS_Z
P~ aktuální umístûní cíle (z)
platné pouze v perspektivních zobrazeních pro animace i statické obrázky
Obecné parametry prvkÛ
GLOB_LAYER
vrstva prvku
jméno vrstvy, ke které je prvek pfiifiazen
GLOB_ID
uÏivatelské ID prvku
ID, jak je nastaveno v dialogu pro nastavení prvku
GLOB_INTID
vnitfiní ID prvku
vnitfiní jedineãné ID generované programem (nelze ovlivnit uÏivatelsky)
GLOB_ELEVATION
J_ v˘‰ková úroveÀ základny prvku
vzhledem k poãátku projektu (kromû dvefií a oken: v˘‰ka parapetu podle aktuálního
nastavení)
Obecné parametry prvku - dostupné pouze pro seznamy
GLOB_ELEM_TYPE
typ prvku
1-objekt, 2-lampa, 3-okno, 4-dvefie, 5-zeì, 6-sloup, 7-deska, 8-stfiecha, 9-v˘plÀ, 10síÈ
Parametry objektÛ, lamp, dvefií, oken
SYMB_LINETYPE
typ ãáry knihovního prvku
uplatní se jako implicitní typ ãáry 2D symbolu
SYMB_FILL
typ v˘plnû knihovního prvku
uplatní se na fiezan˘ch povr‰ích knihovních prvkÛ v fiezech
SYMB_FILL_PEN
pero v˘plnû knihovního prvku
uplatní se na fiezan˘ch povr‰ích knihovních prvkÛ v fiezech
SYMB_FBGD_PEN
pero pozadí v˘plnû knihovního prvku
uplatní se na fiezan˘ch povr‰ích knihovních prvkÛ v fiezech
ArchiCAD 6.0: Referenãní pfiíruãka GDL
209
Pfiíloha
SYMB_SECT_PEN
pero knihovního prvku v fiezu
uplatní na obrysech fiezan˘ch povrchÛ knihovních prvkÛ v fiezech
SYMB_VIEW_PEN
L_ implicitní pero knihovního prvku
uplatní se na v‰ech hran ách ve 3D oknû a na pohledov˘ch hran ách v fiezech
SYMB_MAT
M_ implicitní materiál knihovního prvku
SYMB_POS_X
X~ umístûní knihovního prvku (x)
vzhledem k projektovému poãátku (kromû dvefií a oken: vzhledem k poãáteãnímu
bodu jejich zdi)
SYMB_POS_Y
Y~ umístûní knihovního prvku (y)
vzhledem k projektovému poãátku (kromû dvefií a oken: vzhledem k poãáteãnímu
bodu jejich zdi)
SYMB_POS_Z
Z~ umístûní knihovního prvku (z)
vzhledem k projektovému poãátku (kromû dvefií a oken: vzhledem k poãáteãnímu
bodu jejich zdi)
Parametry objektÛ a lamp
SYMB_ROTANGLE
W~ úhel natoãení knihovního prvku
rotace se provádí kolem aktuálního kotevního bodu
SYMB_MIRRORED
V~ zrcadlení knihovního prvku
0-ne, 1-zrcadlen (zrcadlení se provádí kolem aktuálního kotevního bodu)
Parametry objektÛ, lamp, dvefií a oken - dostupné pouze pro seznamy
SYMB_A_SIZE
jmenovitá délka /‰ífika knihovního prvku
délka objektu/lampy, ‰ífika okna/dvefií (fixní parametr)
SYMB_B_SIZE
jmenovitá ‰ífika/v˘‰ka knihovních prvkÛ
‰ífika objektu/lampy, v˘‰ka okna/dvefií (fixní parametr)
Parametry objektÛ a lamp - dostupné pouze pro seznamy
SYMB_Z_SIZE
jmenovitá v˘‰ka knihovního prvku
pokud je první uÏivatelsk˘ parametr pojmenovan˘ ve formátu zzxyz, pak bude
pouÏit pro jmenovitou v˘‰ku, jinak 0
Parametry oken a dvefií
WIDO_REVEAL_ON
ostûní okna/dvefií zapnuto
0-ostûní je vypnuto, 1-ostûní je zapnuto
WIDO_SILL
K_ parapet okna/práh dvefií
pro zakfiivené zdi: v radiálním smûru v rohu otvoru jmenovit˘ch rozmûrÛ
WIDO_RIGHT_JAMB
B~ ostûní okna/dvefií na levé stranû
jak je nastaveno v dialogu Ostûní
WIDO_LEFT_JAMB
ostûní okna/dvefií na pravé stranû
jak je nastaveno v dialogu Ostûní
WIDO_THRES_DEPTH
C~ parapet okna/práh dvefií/hloubka prahu
jak je nastaveno v dialogu Ostûní
210
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
WIDO_HEAD_DEPTH
D~ hloubka nadpraÏí okna/dvefií
jak je nastaveno v dialogu Ostûní
WIDO_REVEAL_SIDE
E~ strana ostûní je opaãná ke stranû otevírání
1-ano, 0-ne - pfii umísÈování prvku, implicitní hodnota je 0 pro okna, 1 pro dvefie
WIDO_FRAME_THICKNESS
F~ tlou‰Èka rámu okna/dvefií
pfii pfieklápûní dvefií/okna budou zrcadleny a pfiemístûny automaticky o tuto
hodnotu
WIDO_POSITION
H~ posuv dvefií/okna
úhel nebo vzdálenost mezi osou otevfiení a normálov˘m vektorem v poãáteãním
bodû zdi
WIDO_ORIENTATION
orientace otevfiení okna/dvefií
levé/pravé - bude fungovat správnû, pouze pokud byly dvefie/okno vytvofieny podle
místních norem
WIDO_MARKER_TXT
text znaãky okna/dvefií
jak je nastaveno v poddialogu pro nastavení kótování oken/dvefií
WIDO_SUBFL_THICKNESS
tlou‰Èka konstrukce podlahy (vyrovnání prahu)
jak je nastaveno v poddialogu pro nastavení kótování oken/dvefií
WIDO_PREFIX
pfiedpona v˘‰ky parapetu okna/prahu dvefií
jak je nastaveno v poddialogu pro nastavení kótování okna/dvefií
WIDO_CUSTOM_MARKER
pfiepínaã uÏivatelské znaãky okna/dvefií
1-parametry lze pouÏít ve 2D popisu, kdyÏ není zapnuto automatické kótování
WIDO_ORIG_DIST
R_ vzdálenost lokálního poãátku od konce zdi
vzdálenost lokálního poãátku od stfiedu zakfiivené zdi, 0 pro pfiímé zdi
Parametry lamp - dostupné pouze pro seznamy
LIGHT_ON
svûtlo je zapnuto
0-svûtlo je vypnuto, 1-svûtlo je zapnuto: jak je nastaveno v dialogu pro nastavení
lamp (fixní parametr)
LIGHT_RED
ãervená sloÏka barvy svûtla
jak je nastaveno v dialogu pro nastavení lamp (fixní parametr)
LIGHT_GREEN
zelená sloÏka barvy svûtla
jak je nastaveno v dialogu pro nastavení lamp (fixní parametr)
LIGHT_BLUE
modrá sloÏka barvy svûtla
jak je nastaveno v dialogu pro nastavení lamp (fixní parametr)
LIGHT_INTENSITY
intenzita svûtla
jak je nastaveno v dialogu pro nastavení lamp (fixní parametr)
Parametry zdi - dostupné pro dvefie/okna
WALL_RESOL
J~ 3D rozli‰ení zakfiivené zdi
efektivní pouze ve 3D
WALL_THICKNESS
C_ tlou‰Èka zdi
v pfiípadû naklonûn˘ch zdí: tlou‰Èka zdi v ose otvoru (lokální osa z)
ArchiCAD 6.0: Referenãní pfiíruãka GDL
211
Pfiíloha
WALL_INCL
nakolnûní povrchÛ zdi
úhel mezi dvûma naklonûn˘mi povrchy zdi - 0 pro bûÏné pfiímé zdi
WALL_HEIGHT
D_ v˘‰ka zdi
WALL_MAT_A
G_ materiál zdi na stranû opaãné ke stranû otvoru
v pfiípadû otvorÛ se mÛÏe li‰it u jednotliv˘ch otvorÛ ve stejné zdi
WALL_MAT_B
H_ materiál zdi na stranû otvoru
mÛÏe se li‰it u jednotliv˘ch otvorÛ ve stejné zdi
WALL_MAT_EDGE
I_ materiál hran zdi
WALL_LINE_TYPE
typ ãáry zdi
uplatní se pouze u obrysÛ v pÛdoryse
WALL_FILL
A~ typ v˘plnû zdi
index v˘plnû - jeho hodnota je negativní v pfiípadû sendviãové konstrukce
WALL_FILL_PEN
F_ pero v˘plnû zdi
WALL_COMPS_NAME
sendviãová konstrukce zdi
jméno sendviãové konstrukce
WALL_SKINS_NUMBER
poãet vrstev sendviãové zdi
rozsah od 1 do 8, 0 pokud je aplikována jediná v˘plÀ
WALL_SKINS_PARAMS
parametry vrstev sendviãové zdi
matice o 6 sloupcích: v˘plÀ, tlou‰Èka, pero, pero v˘plnû, pero pozadí v˘plnû, status
jádra a aÏ 8 fiádcích
WALL_SECT_PEN
E_ pero obrysu zdi v fiezu
uplatní se na obrysech fiezan˘ch povrchÛ zdí v pÛdoryse i fiezu
WALL_VIEW _PEN
pero obrysu zdi v pohledu
uplatní se na v‰ech hranách ve 3D oknû a na pohledov˘ch hranách v fiezu
WALL_FBGD_PEN
pero pozadí v˘plnû zdi
WALL_DIRECTION
smûr zdi
pfiímé zdi: smûr referenãní ãáry, zakfiivené zdi: smûr tûtivy oblouku
WALL_POSITION
absolutní soufiadnice zdi
umístûní poãáteãního bodu zdi vzhledem k projektovému poãátku
Parametry zdi - dostupné pouze v seznamech
WALL_LENGTH_A
WALL_LENGTH_B
WALL_SURFACE_A
WALL_SURFACE_B
WALL_EDGE_SURF
WALL_VOLUME
WALL_DOORS_NR
WALL_WINDS_NR
WALL_HOLES_NR
WALL_DOORS_SURF
WALL_WINDS_SURF
WALL_HOLES_SURF
212
délka zdi na stranû referenãní ãáry
délka zdi na stranû opaãné k referenãní ãáfie
povrch zdina stranû referenãní ãáry
délka zdi na stranû opaãné k referenãní ãáfie
povrch hrany zdi
objem zdi
poãet dvefií ve zdi
poãet oken ve zdi
poãet prázdn˘ch otvorÛ
povrch dvefií ve zdi
povrch oken ve zdi
povrch prázdn˘ch otvorÛ ve zdi
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
WALL_WINDS_WID
WALL_DOORS_WID
WALL_COLUMNS_NR
celková ‰ífika oken ve zdi
celková ‰ífika dvefií ve zdi
poãet sloupÛ ve zdi
Parametry sloupÛ - dostupné pouze pro seznamy
COLU_CORE
vlastnosti jádra/obkladu
slouÏí pro kompatibilitu: je efektivní pouze v popisech vlastností souborÛ CPS
(Vlastnosti.sloupÛ)
COLU_HEIGHT
v˘‰ka sloupu
COLU_VENEER_WIDTH
tlou‰Èka obkladu sloupu
COLU_MAT
materiál sloupu
Pozn.: obalování zdi nahradí materiál sloupu materiály pfiipojené zdi
COLU_LINETYPE
typ ãáry sloupu
uplatní se pouze na obrysech v pÛdoryse
COLU_CORE_FILL
v˘plÀ jádra sloupu
COLU_VENEER_FILL
v˘plÀ obkladu sloupu
COLU_SECT_PEN
pero obrysÛ sloupu v fiezu
uplatní se na obrysech fiezan˘ch povrchÛ v pÛdoryse i v fiezu
COLU_VIEW_PEN
pero sloupu v pohledu
uplatní se na v‰ech hranách ve 3D oknû a na pohledov˘ch hranách v fiezu
COLU_CORE_FILL_PEN
pero v˘plnû jádra sloupu
COLU_CORE_FBGD_PEN
pero pozadí v˘plnû jádra sloupu
COLU_VENEER_FILL_PEN
pero v˘plnû obkladu sloupu
COLU_VENEER_FBGD_PEN
pero pozadí v˘plnû obkladu sloupu
COLU_CORE_SURF
povrch jádra sloupu
COLU_CORE_VOL
objem jádra sloupu
COLU_VENEER_SURF
povrch obkladu sloupu
COLU_VENEER_VOL
objem obkladu sloupu
Parametry desek - dostupné pouze pro seznamy
SLAB_THICKNESS
tlou‰Èka desky
SLAB_MAT_TOP
materiál horního povrchu desky
SLAB_MAT_EDGE
materiál hran desky
SLAB_MAT_BOTT
materiál spodního povrch desky
SLAB_LINETYPE
typ ãáry desky
SLAB_FILL
v˘plÀ desky
index v˘plnû - její hodnota je negativní v pfiípadû sendviãové konstrukce
SLAB_FILL_PEN
pero v˘plnû desky
SLAB_FILLBGD_PEN
pero pozadí v˘plnû desky
SLAB_COMPS_NAME
sendviãová konstrukce desky
jméno sendviãové konstrukce
SLAB_SKINS_NUMBER
poãet vrstev sendviãové desky
rozsah od 1 do 8, 0 pokud je aplikována jediná v˘plÀ
ArchiCAD 6.0: Referenãní pfiíruãka GDL
213
Pfiíloha
SLAB_SKINS_PARAMS
parametry vrstev sendviãové desky
matice o 6 sloupcích: v˘plÀ, tlou‰Èka, pero, pero v˘plnû, pero pozadí v˘plnû, status
jádra a aÏ 8 fiádcích
SLAB_SECT_PEN
pero obrysÛ desky v fiezu
uplatní se na na obrysech fiezan˘ch povrchÛ v pÛdoryse a fiezu
SLAB_VIEW_PEN
pero desky
uplatní se na v‰ech hranách ve 3D oknû a na pohledov˘ch hranách v fiezu
SLAB_TOP_SURF
horní povrch desky
SLAB_BOT_SURF
spodní povrch desky
SLAB_EDGE_SURF
povrch hrany desky
SLAB_PERIMETER
obvod desky
SLAB_VOLUME
objem desky
SLAB_SEGMENTS_NR
poãet segmentÛ desky
SLAB_HOLES_NR
poãet otvorÛ v desce
SLAB_HOLES_AREA
plocha otvorÛ v desce
SLAB_HOLES_PRM
obvod otvorÛ v desce
Parametry stfiechy- dostupné pouze pro seznamy
ROOF_THICKNESS
tlou‰Èka stfiechy
ROOF_ANGLE
sklon stfiechy
ROOF_MAT_TOP
materiál horního povrchu stfiechy
ROOF_MAT_HRANA
materiál hran stfiechy
ROOF_MAT_BOTT
materiál spodního povrchu stfiechy
ROOF_LINETYPE
typ ãáry stfiechy
uplatní se pouze na obrysech v pÛdorysu
ROOF_FILL
v˘plÀ stfiechy
index v˘plnû- jeho hodnota je negativní v pfiípadû sendviãové konstrukce
ROOF_FILL_PEN
pero v˘plnû stfiechy
ROOF_FBGD_PEN
pero pozadí v˘plnû stfiechy
ROOF_COMPS_NAME
sendviãová konstrukce stfiechy
jméno sendviãové konstrukce
ROOF_SKINS_NUMBER
poãet vrstev sendviãové stfiechy
rozsah od 1 do 8, 0 pokud je aplikována jediná v˘plÀ
ROOF_SKINS_PARAMS
parametry vrstev sendviãové stfiechy
matice o 6 sloupcích: v˘plÀ, tlou‰Èka, pero, pero v˘plnû, pero pozadí v˘plnû, status
jádra a aÏ 8 fiádcích
ROOF_SECT_PEN
pero obrysÛ stfiechy v fiezu
uplatní se na obrysech fiezan˘ch povrchÛ zdí v pÛdoryse a v fiezu
ROOF_VIEW_PEN
pero stfiechy v pohledu
uplatní se na v‰ech hranách ve 3D oknû a na pohledov˘ch hranách v fiezu
ROOF_BOTTOM_SURF
spodní povrch stfiechy
ROOF_TOP_SURF
horní povrch stfiechy
ROOF_EDGE_SURF
povrch hran stfiechy
ROOF_PERIMETER
obvod stfiechy
214
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
ROOF_VOLUME
ROOF_SEGMENTS_NR
ROOF_HOLES_NR
ROOF_HOLES_AREA
ROOF_HOLES_PRM
objem stfiechy
poãet segmentÛ stfiechy
poãet otvorÛ stfiechy
plocha otvorÛ stfiechy
obvod otvorÛ stfiechy
Parametry v˘plnû - dostupné pouze pro seznamy
FILL_LINETYPE
FILL_FILL
FILL_FILL_PEN
FILL_PEN
FILL_FBGD_PEN
FILL_SURF
FILL_PERIMETER
FILL_SEGMENT_NR
FILL_HOLES_NR
FILL_HOLES_PRM
FILL_HOLES_AREA
typ ãáry v˘plnû
typ v˘plnû
pero v˘plnû
pero v˘plnû
pero pozadí v˘plnû
plocha v˘plnû
obvod v˘plnû
poãet segmentÛ v˘plnû
poãet otvorÛ v˘plnû
obvod otvorÛ v˘plnû
plocha otvorÛ v˘plnû
Parametry sítû - dostupné pouze pro seznamy
MESH_TYPE
typ sítû
1- uzavfiené tûleso, 2 - horní porvch & hrana, 3 - pouze horní povrch
MESH_BASE_OFFSET
posuv spodního povrchu od úrovnû základny
MESH_USEREDGE_PEN
pero uÏivatelsky definovan˘ch hfiebenÛ sítû
MESH_TRIEDGE_PEN
pero triangulovan˘ch hran sítû
MESH_SECT_PEN
pero obrysÛ sítû v fiezu
uplatní se na obrysech fiezan˘ch povrchÛ v pÛdoryse a v fiezu
MESH_VIEW_PEN
pero obrysÛ v pohledu
uplatní se na v‰ech hranách ve 3D oknû a na pohledov˘ch hranách v fiezu
MESH_MAT_TOP
materiál horního povrchu sítû
MESH_MAT_EDGE
materiál hran sítû
MESH_MAT_BOTT
materiál spodního povrchu sítû
MESH_LINETYPE
typ ãáry sítû
uplatní se pouze na obrysech v pÛdoryse
MESH_FILL
typ v˘plnû sítû
MESH_FILL_PEN
pero v˘plnû sítû
MESH_FBGD_PEN
pero pozadí v˘plnû sítû
MESH_BOTTOM_SURF
spodní povrch sítû
MESH_TOP_SURF
horní povrch sítû
MESH_EDGE_SURF
povrch hrany sítû
MESH_PERIMETER
obvod sítû
MESH_VOLUME
objem sítû
MESH_SEGMENTS_NR
poãet segmentÛ sítû
ArchiCAD 6.0: Referenãní pfiíruãka GDL
215
Pfiíloha
MESH_HOLES_NR
MESH_HOLES_AREA
MESH_HOLES_PRM
poãet otvorÛ sítû
plocha otvorÛ sítû
obvod otvorÛ sítû
Globální promûnné volné pro uÏivatele
GLOB_USER_1
GLOB_USER_2
GLOB_USER_3
GLOB_USER_4
GLOB_USER_5
GLOB_USER_6
GLOB_USER_7
GLOB_USER_8
GLOB_USER_9
GLOB_USER_10
GLOB_USER_11
GLOB_USER_12
GLOB_USER_13
GLOB_USER_14
GLOB_USER_15
GLOB_USER_16
GLOB_USER_17
GLOB_USER_18
GLOB_USER_19
GLOB_USER_20
216
S_
T_
U_
V_
W_
X_
Y_
Z_
G~
I~
globální promûnné volné pro uÏivatele 1 aÏ 10 jsou
implicitnû inicializovány pro ãíslo
globální promûnné volné pro uÏivatele 11 aÏ 20 jsou
implicitnû inicializovány pro fietûzec
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
B
Speciální funkce
REQ
(fietûzec_parametru)
Tato funkce dotazuje aktuální stav programu. Její parametr dotaz - je fietûzec. Pfiekladaã GDL odpoví ãíselnou hodnotou.
Pokud otázce nezorumí, odpovûì je negativní.
Seznam aktuálních dotazÛ:
"GDL_version"
âíslo verze kompilátoru/pfiekladaãe GDL. (Pozor: není
shodné s verzí ArchiCADu).
"Program"
kód programu (1: ArchiCAD, 2: topCAD, atd.).
"Serial_number"
Sériové ãíslo ochranného klíãe.
"Model_size"
Velikost aktuální struktury 3D dat v bytech.
"Red_of_material jméno"
"Green_of_material jméno"
"Blue_of_material jméno"
Definuje RGB komponenty barvy daného materiálu RGB
v hodnotách od 0 do 1.
"Red_of_pen index"
"Green_of_pen index"
"Blue_of_pen index"
Definuje RGB komponenty barvy daného pera v
hodnotách od 0 do 1.
"Pen_of_RGB r g b"
Definuje index pera nejbliωího dané barvû. Konstanty r,
g a b jsou v hodnotách od 0 do 1.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
217
Pfiíloha
REQUEST
(jméno_dotazu, jméno | index, var1 [, var2,....])
První parametr pfiedstavuje fietûzec otázky a druh˘ objekt dotazu
(pokud existuje) a mÛÏe b˘t buì fietûzcového nebo ãíselného
typu (napfiíklad dotaz mÛÏe b˘t "Rgb_of_material" a jeho
objektem je jméno materiálu, nebo "Rgb_of_pen" a objektem je
index pera). Ostatní parametry jsou jména promûnn˘ch, do
kter˘ch se uloÏí vrácené hodnoty (odpovûdi). Vrácená hodnota
funkce je poãet odpovûdí (v pfiípadû ‰patnû formulovaného
dotazu nebo neexistujícího jména bude hodnota 0).
REQUEST
("Name_of_program", "", jménoprogramu)
Vrátí v danné promûnné jméno programu, napfi. "ArchiCAD",
"topCAD" , atd.
REQUEST
("Name_of_macro", "", mojejméno)
REQUEST
("Name_of_main", "", hlavníjméno)
Po provedení volání této funkce bude promûnná mojeméno
obsahovat jméno makra, zatímco promûnná hlavníjméno jméno
hlavního makra (pokud neexistuje, pak prázdn˘ fietûzec).
REQUEST
("ID_of_main", "", idstring)
Pro knihovní prvky umístûné v pÛdoryse vrací v promûnné
idstring identifikátor nastaven˘ v jeho dialogu pro nastavení
(jinak je to prázdn˘ fietûzec).
REQUEST
("Name_of_plan", "", jméno)
Vrací v danné promûnné jméno aktuálního projektu.
REQUEST
("Story", "", index, jménopodlaÏí)
Vrací v promûnn˘ch index a jménopodlaÏí index a jméno
aktuálního podlaÏí.
REQUEST
("Internal_id", "", id)
Vrací v promûnné id vnitfiní id knihovního prvku.
218
REQUEST
("Linear_dimension", "", formatstr)
REQUEST
("Angular_dimension", "", formatstr)
REQUEST
("Angular_length_dimension", "", formatstr)
REQUEST
("Radial_dimension", "", formatstr)
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
REQUEST
("Level_dimension", "", formatstr)
REQUEST
("Elevation_dimension", "", formatstr)
REQUEST
("Window_door_dimension", "", formatstr)
REQUEST
("Sill_height_dimension", "", formatstr)
REQUEST
("Area_dimension", "", formatstr)
Tyto dotazy umoÏÀují získávat formáty kót nastavené v dialogu
Volby/Pfiedvolby/Kóty v ArchiCADu. Vrací fietûzec formátu, kter˘
mÛÏete pouÏít jako první parametr ve funkci STR ().
Pfiíklad:
format = ""
num = 60.55
REQUEST ("Angular_dimension", "", format) !”%.2dd”
TEXT2 0, 0, STR (format, num)
!60.55°
REQUEST
("Clean_intersections", "", status)
Vrací status funkce Vyãistit prÛseãíky zdí v menu Volby (1 pfii
jeho zapnutí, 0 pfii vypnutí)
REQUEST
("Zone_category", "", jméno, kód)
Pro zóny vrací fietûzec jména a kódu aktuální kategorie zóny.
REQUEST
("Zone_relations", "", katjméno, kód, jméno, nr [,
katjméno2, kód2, jméno2, nr2])
Vrací v dann˘ch promûnn˘ch jméno kategorie zóny, kód
kategorie zóny, jméno zóny a ãíslo zóny, ve které se nachází
knihovní prvek obashující dotaz. Pro dvefie a okna to mohou b˘t
maximálnû 2 zóny. Vrácená hodnota dotazu je poãet úspû‰nû
získan˘ch hodnoty (0, pokud knihovní prvek není v Ïádné zónû).
REQUEST
("Zone_colus_area", "", plocha)
Vrací v promûnné plocha celkovou plochu sloupÛ umístûn˘ch v
aktuální zónû. Platí pouze pro razítka zón.
REQUEST
("Custom_auto_label", "", jméno)
Vrací v promûnné jméno jméno uÏivatelského automatického
popisu knihovního prvku nebo prázdn˘ fietûzec, pokud
neexistuje.
ArchiCAD 6.0: Referenãní pfiíruãka GDL
219
Pfiíloha
REQUEST
("Rgb_of_material", jméno, r, g, b)
REQUEST
("Rgb_of_pen", indexpera, r, g, b)
REQUEST
("Pen_of_RGB", "r g b", indexpera)
Stejnû jako funkce REQ() (v jediném volání), vrací v ur
ãen˘ch
promûnn˘ch hodnotu r, g a b komponentÛ materiálu a pera,
nebo index pera odpovídajícího dan˘m hodnotám r, g a b.
REQUEST
("Height_of_style", jméno, v˘‰ka)
Vrací v danné promûnné v˘‰ku stylu daného jména mûfienou v
metrech.
REQUEST
("Name_of_material", index, jméno)
Vrací v danné promûnné jméno materiálu identifikovaného
indexem.
REQUEST
("Name_of_fill", index, jméno)
Vrací v promûnné jméno jméno v˘plnû identifikované indexem.
REQUEST
("Name_of_line_type", index, jméno)
Vrací v danné promûnné jméno ãáry identifikované indexem.
REQUEST
("Name_of_style", index, jméno)
Vrací v danné promûnné jméno stylu identifikovaného indexem.
Pokud je index < 0, vztahuje se k materiálu, v˘plni, typu ãáry
nebo stylu definovaném v GDL popisu nebo v souboru
MASTER_GDL. Volání dotazu s indexem = 0 vrací v promûnné
jméno implicitního materiálu nebo typu ãáry (prázdn˘ fietûzec
v˘plnû a stylu.)
Vrácená hodnota dotazu je poãet úspû‰nû získan˘ch hodnot (1,
pokud se neobjeví Ïádná chyba, 0, pfii chybû, kdyÏ je index
neplatn˘).
REQUEST
(jméno_doplÀku, fietûzec_parametru, v1, v2, ...)
Pokud dotaz není ani jedním z v˘‰e uveden˘ch dotazÛ, funkce
REQUEST () se pokusí jej pouÏít jako jméno doplÀku. Pokud ve
sloÏce DoplÀky ArchiCADu takov˘ doplnûk existuje, bude pouÏit
pro získání tolika hodnot, kolik je v dotazu promûnn˘ch. ¤etûzec
parametru je interpretován doplÀkem.
220
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
IND
(MATERIAL, fietûzec_jména)
IND
(FILL, fietûzec_jména)
IND
(LINE_TYP, fietûzec_jména)
IND
(STYLE, fietûzec_jména)
Tato funkce vrací aktuální index materiálu, v˘plnû, typu ãáry
nebo stylu. Hlavní pouÏití v˘sledného ãísla je jeho pfienos do
makra, které vyÏaduje stejné atributy jako volané makro.
V˘sledkem je negativní ãíslo pro doãasnou definici a kladné pro
globální definice (viz povely Materiály..., Typy v˘plnû... a Typy
ãar... v ArchiCADu).
Viz také MATERIAL, FILL, LINE_TYP, STYLE v kapitole "Pfiímá
definice atributÛ".
ArchiCAD 6.0: Referenãní pfiíruãka GDL
221
Pfiíloha
C
GDL popis vytvofien˘ z
pÛdorysu
UloÏením pÛdorysu jako Popis GDL nebo knihovní prvek se
vytvofií následující GDL prvky. Tyto GDL popisy mÛÏete pouÏít
jako ‰ablony pro nové knihovní prvky. Viz také kapitola
“Trojrozmûrné útvary”.
3D popis :
Zdi:
LIN_, xWALL_
Sloupy:
cPRISM_
Desky:
cPRISM_
·ikmé stfiechy:
cSLAB_, cROOF_
Sítû:
MASS
Okna:
Dvefie:
CALL
Objekty:
Lampy:
¤ezné roviny nastavené v dialogu 3D Roviny fiezu (aktivovan˘
povelem pro 3D fiez):
CUTPLANE
¤ezné roviny a polygony generované stfiechami:
CUTPOLY and CUTPLANE
2D popis:
HOTSPOT2, POLY2_B, LINE2
CALL
222
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
D
Povely pouze pro 3D
zobrazení
ADDX, ADDY, ADDZ
ADD
MULX, MULY, MULZ
MUL
ROTX, ROTY, ROTZ
ROT
XFORM
LIN_
RECT
POLY, POLY_
PLANE, PLANE_
CIRCLE
ARC
BLOCK, BRICK
CYLIND
SPHERE
ELLIPS
CONE
PRISM, PRISM_, CPRISM_, BPRISM_, FPRISM_, SPRISM_
SLAB, SLAB_, CSLAB_
CWALL_, BWALL_, XWALL_
WALLHOLE
CROOF_
ARMC
ARME
ELBOW
ArchiCAD 6.0: Referenãní pfiíruãka GDL
223
Pfiíloha
EXTRUDE
PYRAMID
REVOLVE
RULED
SWEEP
TUBE, TUBEA
COONS
MESH
MASS
LIGHT
PICTURE
TEXT
VERT, TEVE
VECT
EDGE
PGON, PIPG
COOR
BODY
BASE
BINARY
CUTPLANE
CUTSHAPE
CUTPOLY
CUTPOLYA
CUTEND
DEFINE MATERIAL
DEFINE TEXTURE
[SET] MATERIAL
SHADOW
MODEL
224
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
E
Povely pouze pro 2D
symbol
ADD2
MUL2
ROT2
HOTSPOT2
LINE2
RECT2
POLY2, POLY2_, POLY2_A, POLY2_B
ARC2
CIRCLE2
SPLINE2, SPLINE2A
PICTURE2
TEXT2
FRAGMENT2
PROJECT2
DEFINE FILL
DEFINE FILLA
DEFINE LINE_TYPE
[SET] FILL
[SET] LINE_TYPE
DRAWING2
DRAWING3
ArchiCAD 6.0: Referenãní pfiíruãka GDL
225
Pfiíloha
F
Povely pro 2D i 3D
pouÏití
DEL
[LET]
RADIUS
RESOL
TOLER
PEN
DEFINE STYLE
[SET] STYLE
226
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
G
Povely pro
negeometrické popisy
Popis vlastností
DESCRIPTOR
COMPONENT
REF
SURFACE3D
VOLUME3D
UMÍSTùNÍ
WALLS
COLUMNS
DOORS
WINDOWS
OBJECTS
PITCHED_ROOFS
HIP_ROOFS
LIGHTS
HATCHES
ROOMS
MESHES
DRAWING
BINARYPROP
Popis seznamu hodnot
VALUES
ArchiCAD 6.0: Referenãní pfiíruãka GDL
227
Pfiíloha
H
228
Spoleãné povely
Operátory
Funkce
FOR, NEXT
DO, WHILE, ENDWHILE
REPEAT, UNTIL
IF, THEN, ELSE, ENDIF
GOTO
GOSUB
RETURN
END
EXIT
PUT
GET
USE
NSP
CALL, PARAMETERS
PRINT
OPEN
INPUT
OUTPUT
CLOSE
DIM
BREAKPOINT
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
I
Rezervované povely
Povely uvedené zde jsou rezervované, existují z dÛvodu
kompatibility nebo nejsou zvefiejnûny.
BAS
BOX
GDLBIN
LIN
LINE
NOD
NODE
ORIGO
PARS
RECT_
SFLINE
TET
TETRA
TRI
WALL_
VOCA
UI_INFIELD
UI_OUTFIELD
UI_BUTTON
UI_PAGE
UI_DIALOG
UI_OK
UI_CANCEL
UI_PREV
UI_NEXT
UI_SEPARATOR
UI_GROUPBOX
UI_PICT
ArchiCAD 6.0: Referenãní pfiíruãka GDL
229
Pfiíloha
J
Seznam konverzí jmen
zastaral˘ch globálních
promûnn˘ch
Jména zastaral˘ch globálních promûnn˘ch lze pouÏít, nicménû
doporuãujeme pouÏívat nová jména. KaÏdá stará globální
promûnná má svÛj protûj‰ek v nové promûnné s dlouh˘m
jménem.
A_
B_
C_
D_
E_
F_
G_
H_
I_
J_
K_
L_
N_
N_
M_
P_
Q_
R_
S_
T_
U_
V_
W_
X_
Y_
Z_
230
GLOB_SCALE
GLOB_HSTORY_ELEV
WALL_THICKNESS
WALL_HEIGHT
WALL_OUTLINE_PEN
WALL_FILL_PEN
WALL_MAT_A
WALL_MAT_B
WALL_MAT_EDGE
GLOB_ELEVATION
WIDO_SILL
SYMB_PEN
SYMB_MAT
GLOB_FRAME_NR
GLOB_FIRST_FRAME
GLOB_LAST_FRAME
GLOB_HSTORY_HEIGHT
WIDO_ORIG_DIST
GLOB_USER_1
GLOB_USER_2
GLOB_USER_3
GLOB_USER_4
GLOB_USER_5
GLOB_USER_6
GLOB_USER_7
GLOB_USER_8
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
A~
B~
C~
D~
E~
F~
G~
H~
I~
J~
K~
L~
M~
N~
O~
P~
Q~
R~
S~
T~
U~
V~
W~
X~
Y~
Z~
ArchiCAD 6.0: Referenãní pfiíruãka GDL
WALL_FILL
WIDO_RIGHT_JAMB
WIDO_THRES_DEPTH
WIDO_HEAD_DEPTH
WIDO_REVEAL_SIDE
WIDO_FRAME_THICKNESS
GLOB_USER_9
WIDO_POSITION
GLOB_USER_10
WALL_RESOL
GLOB_EYEPOS_X
GLOB_EYEPOS_Y
GLOB_EYEPOS_Z
GLOB_TARGPOS_X
GLOB_TARGPOS_Y
GLOB_TARGPOS_Z
GLOB_CSTORY_ELEV
GLOB_CSTORY_HEIGHT
GLOB_CH_STORY_DIST
GLOB_POPIS_TYPE
GLOB_NORTH_DIR
SYMB_MIRRORED
SYMB_ROTANGLE
SYMB_POS_X
SYMB_POS_Y
SYMB_POS_Z
231
Pfiíloha
K
Abecední seznam
aktuálních GDL povelÛ
ABS (x)
ACS (x)
ADD
dx, dy, dz
ADD2
x, y
ADDX
dx
ADDY
dy
ADDZ
dz
AND
ARC
r, alfa, beta
ARC2
x, y, r, alfa, beta
ARMC
r1, r2, l, h, d, alfa
ARME
l, r1, r2, h, d
ASN (x)
ATN (x)
BASE
BINARY
reÏim [, ãást]
BINARYPROP
BLOCK
a, b, c
BODY
status
BPRISM_
topmat, botmat, sidemat,
n, h, polomûr,
x1, y1, maska1, . . . xn, yn, maskan
BREAKPOINT
BRICK
232
v˘raz
a, b, c
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
BWALL_
leftmat, rightmat, sidemat,
v˘‰ka, x1, x2, x3, x4, t, polomûr,
maska1, maska2, maska3, maska4,
n,
xbeg1, spodní1, xend1, horní1, framevis1,
...
xbegn, spodnín, xendn, hornín, framevisn,
m,
a1, b1, c1, d1,
...
am, bm, cm, dm
CALL
fietûzec_jména_makra [seznam_parametrÛ]
CALL
fietûzec_jména_makra PARAMETERS
[jméno1=hodnota1,
. . . jménon=hodnotan]
CIRCLE
r
CIRCLE2
x, y, r
CLOSE
kanál
COMPONENT jméno, kvantita, jednotka, [, prop_with, kód,
kód_klíãe, kód_jednotky]
CONE
h, r1, r2, alfa1, alfa2
COONS
n, m, maska,
x11, y11, z11, . .
x21, y21, z21, . .
x31, y31, z31, . .
x41, y41, z41, . .
COOR
.
.
.
.
x1n, y1n, z1n,
x2n, y2n, z2n,
x3m, y3m, z3m,
x4m, y4m, z4m
obalování, vert1, vert2, vert3, vert4
COS (x)
CPRISM_
topmat, botmat, sidemat,
n, h, x1, y1, maska1, . . . xn, yn, maskan
CROOF_
topmat, botmat, sidemat,
n,
xb, yb, xe, ye, v˘‰ka, úhel,
tlou‰Èka,
x1, y1, alfa1, maska1, . . . xn, yn, alfan, maskan
ArchiCAD 6.0: Referenãní pfiíruãka GDL
233
Pfiíloha
CSLAB_
topmat, botmat, sidemat,
n, h, x1, y1, z1, maska1, . . . xn, yn, zn, maskan
CUTPLANE
[x, y, z [, strana]]
v˘razy
CUTEND
CUTPLANE
úhel
v˘razy
CUTEND
CUTPOLY
n, status, d,
x1, y1, . . . xn, yn,
[, x, y, z]
v˘razy
CUTEND
CUTPOLYA n, status, d,
x1, y1, maska1, . . . xn, yn, maskan
[, x, y, z]
v˘razy
CUTEND
CUTSHAPE
d
v˘razy
CUTEND
CWALL_
leftmat, rightmat, sidemat,
v˘‰ka, x1, x2, x3, x4, t,
mask1, maska2, maska3, maska4,
n,
xbeg1, spodní1, xend1, horní1, framevis1,
...
xbegn, spodnín, xendn, hornín, framevisn,
m,
a1, b1, c1, d1,
...
am, bm, cm, dm
CYLIND
h, r
DEFINE FILL jméno pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8,
mezera, úhel, n,
freq1, dir1, offsetx1, offsety1, m1,
len11, . . . lenm1,
...
freqn, dirn, offsetxn, offsetyn, mn,
lenn1, . . . lennm
234
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
DEFINE FILLA jméno pat1,pat2,pat3,pat4,pat5,pat6,pat7,pat8,
mezerax, mezeray, úhel, n,
freq1, doffset1, dir1, offsetx1, offsety1, m1,
len11, . . . lenm1,
...
freqn, doffsetn,dirn, offsetxn, offsetyn, mn,
lenn1, . . . lennm
DEFINE LINE_TYPE jméno mezera, n, len1, . . . lenn
DEFINE MATERIAL jméno typ, m1, m2, . . . mn
DEFINE STYLE jméno skupina_fontÛ, velikost, kotevní_bod, fiez
DEFINE STYLE jméno PLOTMAKER, velikost, kotevní_bod, sklon
DEFINE STYLE jméno PLOTTER, velikost, kotevní_bod, sklon
DEFINE TEXTURE
DEL
n
DEL
TOP
jméno, soubor, x, y, maska, úhel
DESCRIPTOR fietûzec
DIM
var1 [dim_1], var2 [dim_1][dim_2], . . .
DO
v˘razy
WHILE
podmínka
DRAWING
DRAWING2
DRAWING3
EDGE
vert1, vert2, pgon1, pgon2, status
ELBOW
r1, alfa, r2
ELLIPS
h, r
END
EXIT
EXOR
EXP (x)
EXTRUDE
n, dx, dy, dz, maska, x1, y1, s1, . . . xn, yn, sn
FILL
index
FILL
fietûzec_jména
ArchiCAD 6.0: Referenãní pfiíruãka GDL
235
Pfiíloha
FOR
varnam = poãáteãní_hodnota TO koncová_hodnota
[STEP hodnota_kroku]
FPRISM_
topmat, botmat, sidemat, hillmat,
n, tlou‰Èka, úhel, v˘‰ka_vrchlíku,
x1, y1 , maska1,
...
xn, yn, maskan
FRA (x)
FRAGMENT2 ALL, pouÏít_aktuální_návû‰tí_atributÛ
FRAGMENT2 index, pouÏít_aktuální_návû‰tí_atributÛ
GET (n)
GOSUB
návû‰tí
GOTO
návû‰tí
HOTSPOT2 x, y
IF
podm GOSUB
návû‰tí
IF
podm GOTO
návû‰tí
IF
podm THEN
návû‰tí
IF
podmínka THEN v˘raz [ELSE v˘raz]
IF
podmínka THEN
v˘razy
[ELSE
v˘razy]
ENDIF
IND
(FILL, fietûzec_jména)
IND
(LINE_TYP, fietûzec_jména)
IND
(MATERIAL, fietûzec_jména)
IND
(STYLE, fietûzec_jména)
IND
(TEXTURE, fietûzec_jména)
INPUT
(kanál, recordID, fieldID, var1 [, var2, . . .]
INT (x)
LET
LGT (x)
236
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
LIGHT
ãervená, zelená, modrá, stín,
polomûr, alfa, beta, angfalloff,
dist1, dist2, distfalloff
LIN_
x1, y1, z1, x2, y2, z2
LINE_TYPE index
LINE_TYPE fietûzec_jména
LINE2
x1, y1, x2, y2
LOG (x)
MASS
topmat, botmat, sidemat, n, m, maska, h,
x1, y1, z1, s1,
...
xn, yn, zn, sn,
xn+1, yn+1, zn+1, sn+1,
...
xn+m, yn+m, zn+m, sn+m
MATERIAL
index
MATERIAL
fietûzec_jména
MAX (x1,x2, . . . xn)
MESH
a, b, m, n, maska,
z11, z12, . . . z1m,
z21, z22, . . . z2m,
...
zn1, zn2, . . . znm
MIN (x1,x2, . . . xn)
MOD
MODEL
SOLID
MODEL
SURFACE
MODEL
WIRE
MUL
mx, my, mz
MUL2
x, y
MULX
mx
MULY
my
MULZ
mz
NEXT
varnam
NOT (x)
ArchiCAD 6.0: Referenãní pfiíruãka GDL
237
Pfiíloha
NSP
NTR ( )
OPEN
(filtr, soubor, paramstring)
OR
OUTPUT
kanál, recordID, fieldID, v˘raz1 [, v˘raz2, . . .]
PEN
n
PGON
n, ivect, status, hrana1, hrana2, . . . hranan
PI
238
PICTURE
soubor, a, b, maska
PICTURE2
v˘raz, a, b, maska
PIPG
soubor, a, b, maska,
n, ivect, status, hrana1, hrana2, . . . hranan
PLANE
n, x1, y1, z1, . . . xn, yn, zn
PLANE_
n, x1, y1, z1, maska1, . . . xn, yn, zn, maskan
POLY
n, x1, y1, . . . xn, yn
POLY_
n, x1, y1, maska1, . . . xn, yn, maskan
POLY2
n, rámv˘plnû, x1, y1, . . . xn, yn
POLY2_
n, rámv˘plnû, x1, y1, maska1, . . . xn, yn, maskan
POLY2_A
n, rámv˘plnû, perov˘plnû,
x1, y1, maska1, . . . xn, yn, maskan
POLY2_B
n, rámv˘plnû, perov˘plnû,
peropozadív˘plnû,
x1, y1, maska1, . . . xn, yn, maskan
POSITION
povel_umístûní
PRINT
[v˘raz] [, v˘raz] . . .
PRISM
n, h, x1, y1, . . . xn, yn
PRISM_
n, h, x1, y1, maska1, . . . xn, yn, maskan
PROJECT2
projkód, úhel, metoda
PUT
v˘raz [, v˘raz] . . .
PYRAMID
n, h, maska, x1, y1, s1, . . . xn, yn, sn
RADIUS
rmin, rmax
RECT
a, b
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
RECT2
x1, y1, x2, y2
REF COMPONENT kód [, num_v˘raz [, kód_klíãe]]
REF DEPOPISOR
kód [, kód_klíãe]
REPEAT
v˘razy
UNTIL
podmínka
REQ (fietûzec_parametru)
REQUEST
(jméno_dotazu, jméno | index, var1 [, var2, . . .])
RESOL
n
RETURN
REVOLVE
n, alfa, maska, x1, y1, s1, . . . xn, yn, sn
RND (x)
ROT
x, y, z, alfa
ROT2
alfaz
ROTX
alfax
ROTY
alfay
ROTZ
alfaz
RULED
n, maska,
u1, v1, s1, . . . un, vn, sn,
x1, y1, z1, . . . xn, yn, zn
SET FILL
index
SET FILL
fietûzec_jména
SET LINE_TYPE
index
SET LINE_TYPE
fietûzec_jména
SET MATERIAL
index
SET MATERIAL
fietûzec_jména
SET STYLE
index
SET STYLE
fietûzec_jména
SGN (x)
SHADOW
AUTO
SHADOW
OFF
SHADOW
ON
ArchiCAD 6.0: Referenãní pfiíruãka GDL
239
Pfiíloha
SIN (x)
SLAB
n, h, x1, y1, z1, . . . xn, yn, zn
SLAB_
n, h, x1, y1, z1, maska1, . . . xn, yn, zn, maskan
SPHERE
r
SPLINE2
n, status, x1, y1, úhel1, . . . xn, yn, úheln
SPLINE2_A
n, status,
x1, y1, úhel1, lenPrev1, lenNext1,
...
xn, yn, úheln, lenPrevn, lenNextn
SPLIT
(fietûzec, formát, var1 [, var2, . . . varn])
SPRISM_
topmat, botmat, sidemat,
n, xb,yb, xe, ye, h, úhel,
x1, y1, maska1, . . . xn, yn, maskan
SQR (x)
STR
(numerick˘_v˘raz, len, frac)
STR
(formatfietûzec, numerick˘_v˘raz)
STRLEN
(fietûzec_exp)
STRSTR
(fietûzec_exp1, fietûzec_exp2)
STRSUB
(fietûzec_exp, begpos, numchars)
STW
(fietûzec_v˘raz)
STYLE
index
STYLE
fietûzec_jména
SURFACE3D ( )
SWEEP
n, m, alfa, mûfiítko, maska,
u1, v1, s1, . . . un, vn, sn,
x1, y1, z1, . . . xm, ym, zm
TAN (x)
240
TEVE
x, y, z, u, v
TEXT
d, 0, v˘raz
TEXT2
x, y, fietûzec
TOLER
d
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
TUBE
n, m, maska,
u1, w1, s1, . . . un, wn, sn,
x1, y1, z1, úhel1, . . . xm, ym, zm, úhelm
TUBEA
n, m, maska,
u1, w1, s1, . . . un, wn, sn,
x1, y1, z1, . . . xm, ym, zm
USE (n)
VALUES
jméno, val1 [, val2, . . . valn]
VECT
x, y, z
VERT
x, y, z
VOLUME3D ( )
WALLHOLE n, status,
x1, y1, maska1, . . . xn, yn, maskan
[, x, y, z]
WHILE
podmínka DO
v˘razy
ENDWHILE
XFORM
a11, a12, a13, a14,
a21, a22, a23, a24,
a31, a32, a33, a34
XWALL_
leftmat, rightmat, sidevmat, sidehmat,
v˘‰ka, x1, x2, x3, x4,
y1, y2, y3, y4,
t, polomûr,
reserved1, reserved2,
mask1, maska2, maska3, maska4,
n,
xbeg1, spodní1, xend1, horní1, framevis1,
...
xbegn, spodnín, xendn, hornín, framevisn,
m,
a1, b1, c1, d1,
...
am, bm, cm, dm
ArchiCAD 6.0: Referenãní pfiíruãka GDL
241
Pfiíloha
L
Textov˘ doplnûk
Toto je ukázka doplÀku demonstrující moÏnosti I/O operací se
soubory. Jiné doplÀky tohoto typu jsou dostupné u Graphisoftu
nebo jin˘ch prodejcÛ.
Doplnûk interpretuje fietûzce v seznamu parametrÛ povelÛ OPEN,
INPUT, OUTPUT.
Pfiedpokládá se, Ïe vedle ArchiCADu existuje sloÏka "Data
ArchiCADu" pro uÏivatelsky definované soubory (jméno této
sloÏky je definováno ve zdrojích doplÀkÛ). Neexistuje-li taková
sloÏka, doplnûk ji vytvofií. SloÏka mÛÏe obsahovat podsloÏky,
kde doplnûk hledá existující soubory. Textové soubory mohou
b˘t ãteny i pfiepisovány.
1. kanál =
filtr:
OPEN (filtr, soubor, paramstring)
specifick˘ podle doplÀku, v pfiípadû textového
doplÀku "TEXT"
soubor:
jméno souboru, kter˘ má b˘t otevfien
paramstring:
obsahuje specifické oddûlovací znaky doplÀku a
reÏim otevfiení
Tento povel otevfie soubor. JestliÏe soubor, do kterého chcete
psát, neexistuje, vytvofií jej. Neexistuje-li soubor, ze kterého se
má ãíst, objeví se chybová zpráva.
Vrácená hodnota je kladné celé ãíslo, které bude identifikovat
tento soubor. Tato hodnota je referenãním ãíslem souboru.
Promûnná paramfietûzec mÛÏe obsahovat následující:
• SEPARATOR = po povelu mezi jednoduch˘mi uvozovkami (' ')
mÛÏete zadat znak,kter˘m se budou v textovém souboru (pro
ãtení i psaní) oddûlovat sloupce.
Zvlá‰tní pfiípadem je tabulátor ('\t') a znaãka nového fiádku ('\n').
242
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
• MODE = po povelu musí následovat reÏim otevfiení. Existují
pouze tfii reÏimy otevfiení:
RO (pouze pro ãtení)
WA (pouze pro zápis, pfiipojit) na konec souboru
WO (pouze pro zápis, pfiepsat) v‰echna data dfiíve
uloÏená v souboru budou ztracena!
Soubor nemÛÏe b˘t otevfien pro ãtení a psaní souãasnû.
VÏdy napi‰te ãárku (,) mezi SEPARATOR a MODE.
PouÏijete-li povel, kter˘ neexistuje, jsou-li dané oddûlovací znaky
nesprávné, nebo je fietûzec parametrÛ prázdn˘, doplnûk pouÏije
implicitní nastavení SEPARATOR = '\t', MODE = RO.
Pfiíklad:
ch1 = OPEN ("TEXT", "soubor1", "SEPARATOR=';',
MODE=RO")
ch2 = OPEN ("TEXT", "soubor2", "")
ch3 = OPEN ("TEXT", "soubor3", "SEPARATOR='\n',
MODE=WO")
2. n = INPUT (kanál, recordID, fieldID, var1 [, var2, ...])
recordID:
index fiádku (numerick˘ nebo fietûzec)
fieldID:
index sloupce v daném fiádku
Povel naãte tolik hodnot z dané poãáteãní pozice v souboru,
identifikovaného hodnotou kanálu, kolik je zadáno parametrÛ. V
seznamu parametrÛ musí b˘t alespoÀ jedna hodnota. Funkce
vkládá naãtené hodnoty podle pofiadí parametrÛ. Hodnoty
mohou b˘t ãíselného nebo fietûzcového typu. Na místû hodnot v
souboru mohou b˘t také ãíslené nebo fietûzcové v˘razy, které
mohou obsahovat také ãíslené nebo fietûzcové konstanty i volání
matematick˘ch GDL funkcí. Tûmto v˘razÛm jsou pfiifiazovány
hodnoty bûhem procesu vkládání.
Pfiíklad: v textovém souboru (oddûlovaãem je znak ','):
1.23,1'2","aaa",2 * SIN(45) + 1,SQR (3)
Vrácená hodnota je poãet úspû‰nû naãten˘ch hodnot, pro konec
souboru je to (-1).
Poãet fiádkÛ a sloupcÛ musí b˘t kladné celé ãíslo, jinak se objeví
chybové hlá‰ení.
Je-li poãet fiádkÛ a sloupcÛ chybn˘, vstup se neprovede (n = 0)
ArchiCAD 6.0: Referenãní pfiíruãka GDL
243
Pfiíloha
Pfii identifikaci fiádkÛ a sloupcÛ bude pfiifiazeno tolik hodnot z
dané poãáteãní pozice, kolik je dáno parametrÛ, nebo pokud
více parametrÛ neÏ hodnot, budou parametry bez odpovídajících
hodnot nastaveny na nulu.
Parametry pro prázdné sloupce (tzn. není-li mezi oddûlovacími
znaky nic) budou nastaveny na nulu.
Pfiíklad:
nr = INPUT (ch1, 1, 1, v1, v2, v3)
! vložení tfií hodnot z prvního sloupce
! prvního fiádku
PRINT nr, v1, v2, v3
3. OUTPUT kanál, recordID, fieldID, v˘raz1 [, v˘raz2, ...]
recordID :
je-li kladné, v˘stupní hodnoty budou následovat
novou fiádkou
fieldID :
nemá Ïádnou roli, hodnota se nepouÏívá
Dává do souboru, identifikovaného hodnotou kanálu z dané
pozice tolik hodnot, kolik je definováno v˘razÛ. Musí existovat
alespoÀ jeden v˘raz. Typy v˘stupních hodnot jsou stejné jako
typy v˘razÛ.
Povel OUTPUT bude do textového doplÀku, v pofiadí v závislosti
na reÏimu otevfiení, vkládat dané v˘razy do po sobû jdoucích
pozic, oddûlen˘ch znaky, které byly dány pfii otevfiení souboru, a
to pfiepsáním nebo pfiidáním na konec souboru. V tom pfiípadû
se dané umístûní neinterpretuje.
RecordID se pouÏívá k ovládání nov˘ch fiádkÛ pfii v˘stupu.
Je-li recordID kladn˘, v˘stupní hodnoty budou následovány
novou fiádkou, jinak bude poslední hodnota následována
oddûlovacím znakem
Pfiíklad:
fietûzec = "Datum: 19.01.1996"
a = 1.5
OUTPUT ch2, 1, 0, fietûzec
! fietûzec následovan nov m fiádkem
OUTPUT ch2, 0, 0, a, a + 1, a + 2
! oddûlovací znak po a + 2 bez nového fiádku
244
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha
4. CLOSE kanál
Tento povel zavfie soubor identifikovan˘ hodnotou kanálu.
Pfiíklad:
Objekt GDL, kter˘ bude jednodu‰e kopírovat obsah souboru "f1"
do souboru "f2" a "f3" a napí‰e v‰echny hodnoty z tabulek v
souboru "f1" do oddûlen˘ch fiádkÛ v souboru "f2" a "f3".
ch1
ch2
ch3
i =
1:
2:
END
= OPEN ("TEXT", "f1", "MODE=ro")
= OPEN ("TEXT", "f2", "SEPARATOR='\n', MODE=wo")
= OPEN ("TEXT", "f3", "SEPARATOR='\n', MODE=wo")
1
n = INPUT (ch1, i, 1, var1, var2, var3, var4)
IF n <> -1 THEN
OUTPUT ch2, 1, 0, var1, var2, var3, var4
OUTPUT ch3, 1, 0, var1, var2, var3, var4
i = i + 1
GOTO 1
ELSE
GOTO 2
ENDIF
CLOSE ch1
CLOSE ch2
CLOSE ch3
ArchiCAD 6.0: Referenãní pfiíruãka GDL
245
Pfiíloha
246
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Rejstfiík
Rejstfiík
2D popis 7
3D popis 7
A
ABS 173
Absolutní poãátek 16
ACS 173
ADD 26
ADD2 29
ADDX 26
ADDY 26
ADDZ 26
AND 172
ARC 36, 144
ARC2 124
ArchiSITE 2, 5
ARMC 64, 144
ARME 65, 144
ASN 173
ATN 173
B
BASE 109
BinárníÊ2D data 7
Binární 3D data 7
Binární popisy vlastností 7
BINARY 7, 110
BINARYPROP 7, 165
Bitmapov˘ vzor 157
BLOCK 38
BODY 107
BPRISM_ 46, 134
BREAKPOINT 186
BRICK 38
BWALL_ 55
ArchiCADu 6.0: Referenãní pfiíruãka GDL
247
Rejstfiík
C
CALL 190
CEILS 166
CIRCLE 36, 144
CIRCLE2 125
CLOSE 194
COLUMNS 166
COMPONENT 164, 165, 166
CONE 40, 144
COONS 91
COOR 105
COS 173
CPRISM_ 45, 134
CROOF_ 59, 134
CSLAB_ 51
CUTEND 112
CUTPLANE 112
CUTPOLY 115
CUTPOLYA 118
CUTSHAPE 120
CWALL_ 52
CYLIND 38, 144
D
DEFINE FILL 156
DEFINE FILLA 159
DEFINE LINE_TYPE 161
DEFINE MATERIAL 151
DEFINE STYLE 162
DEFINE TEXTURE 154
Definice atributÛ 18
DEL 30
DEL TOP 30
DESCRIPTOR 164
DIM 170
DO 183
DOORS 166
DRAWING2 132
DRAWING3 132
DXF 5
END 22, 186
ENDIF 185
ENDWHILE 183
EXIT 22, 186
EXOR 172
EXP 174
EXTRUDE 69, 134
F
FILL 149, 156, 191
FILLA 159
FOR 182
Formát fietûzce 174
FPRISM_ 48, 134
FRA 173
FRAGMENT2 7, 130
G
GET 187
Globální promûnné 18
GOSUB 22, 184, 186
GOTO 22, 184, 186
Graphisoft Collection 4
H
HATCHES 166
Hlavní popis 7
Hlavní soufiadn˘ systém 16
Hodnoty masek 42
HOTSPOT2 122
I
Identifikátory 23
IF 184, 185
IND 179, 221
INPUT 193, 243
INT 173
J
E
Jednoduché typy 24
EDGE 103
ELBOW 66, 144
ELLIPS 39, 144
ELSE 185
K
248
Knihovní prvky 7
Komentáfi 8
Komponenty 7
ArchiCADu 6.0: Referenãní pfiíruãka GDL
Rejstfiík
L
LET 144
LGT 174
LIGHT 96
LIGHTS 166
LIN_ 34
LINE_TYPE 150, 161, 191
LINE2 122
LOG 174
Lokální soufiadn˘ systém 16
M
MASS 94
MASTER_GDL 18, 23, 150, 167, 220
MASTEREND_GDL 18
MATERIAL 148, 151, 191
MAX 174
MESH 62
MIN 174
MOD 172
MODEL 147, 191
MUL 27
MUL2 29
MULX 27
MULY 27
MULZ 27
N
Náhledov˘ obrázek 8
Návû‰tí 22
NEXT 182
NOT 174
NSP 188
NTR 30
O
OBJECTS 166
OPEN 193, 242
OR 172
OUTPUT 194, 244
P
PARAMETERS 190
Parametry 7, 24, 170
ArchiCADu 6.0: Referenãní pfiíruãka GDL
PEN 146, 191
PGON 104
PI 173
PICTURE 8, 99
PICTURE2 8, 128
PIPG 105
PITCHED_ROOFS 166
PLANE 35
PLANE_ 35
POLY 34
POLY_ 35, 134
POLY2 123
POLY2_ 123, 134
POLY2_A 124, 134
POLY2_B 124, 134
Popis seznamu hodnot 7
Popis vlastností 7, 164
Popisy 7
POSITION 166
Povely 22
PRINT 192
PRISM 40
PRISM_ 41, 134
PROJECT2 131
Promûnné 23
PUT 187
PYRAMID 72, 134
R
RADIUS 144, 191
RECT 34
RECT2 122
REF 164
REPEAT 183
REQ 179, 217
REQUEST 179, 218
RESOL 145, 191
RETURN 186
REVOLVE 74, 134, 144
RND 174
ROT 28
ROT2 29
ROTX 27
ROTY 27
ROTZ 27
RULED 78
249
Rejstfiík
¤
U
¤ádek 22
UNTIL 183
USE 188
S
SET FILL 149
SET LINE_TYPE 150
SET MATERIAL 148
SET STYLE 146
Seznam hodnot 18, 167
Seznam komponentÛ 166
SGN 173
SHADOW 148, 191
SIN 173
SLAB 51
SLAB_ 51
SOLID 147
SPHERE 39, 144
SPLINE2 125
SPLINE2_A 127
SPLIT 177
SPRISM_ 50, 134
SQR 173
StairMaker 2, 4
STEP 182
STR 174
STRLEN 178
STRSTR 178
STRSUB 178
STW 177
STYLE 146, 162, 191
SURFACE 147
SURFACE3D 165
SWEEP 81, 134
V
V˘razy 24
VALUES 167
VECT 103
Vektorová v˘plÀ 157
VERT 102
VisualGDL 5
VOLUME3D 165
W
WALLHOLE 199, 200
WALLS 166
Wavefront 5
WHILE 183
WINDOWS 166
WIRE 147
X
XFORM 28
XWALL_ 57
Z
ZOOM 5
T
Táhnout & pustit 20
TAN 173
TEVE 102
TEXT 100
TEXT2 129
TEXTURE 154
THEN 184, 185
TO 182
TOLER 145, 191
Transformaãní zásobník 26
TUBE 84, 134
TUBEA 89, 134
250
ArchiCADu 6.0: Referenãní pfiíruãka GDL
Obsah
Obsah
1 Úvod
1
1.1 O této pfiíruãce ___________________________________________________________ 2
1.2 Knihovní prvky v ArchiCADu _____________________________________________ 2
Zdroje knihovních prvkÛ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Knihovna ArchiCADu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
DoplÀkové knihovny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
StairMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Externí doplÀky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Knihovny ve formátu DXF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
PouÏijte své vlastní schopnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Modelování v jin˘ch3D aplikacích . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Modelování vlastními 3D nástroji ArchiCADu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
GDL popisy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Pfiehled vytváfiení GDL popisÛ ____________________________________________ 7
Co je GDL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Struktura knihovních prvkÛ ArchiCADu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Analyzujte, rozkládejte a zjednodu‰ujte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Vypracování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Zaãínáme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Povely základní úrovnû . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Povely stfiední úrovnû . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
SloÏité povely a funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
GDL popisy nejvy‰‰í úrovnû . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4 Jak ArchiCAD generuje 3D zobrazení _____________________________________ 16
3D prostor v ArchiCADu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
K ãemu jsou transformace soufiadnic? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Pfiekladaã GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Pofiadí anal˘zy GDL popisu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5 Vytváfiení objektÛ v ArchiCADu __________________________________________ 19
ArchiCAD 6.0: Referenãní pfiíruãka GDL
i
Obsah
2
Základní syntaktické prvky
21
3 Transformace soufiadnic
25
3.1 Transformace v trojrozmûrném prostoru _________________________________ 26
3.2 Transformace ve dourozmûrném prostoru _______________________________ 29
3.3 Obsluha transformaãního zásobníku _____________________________________ 30
4 Rovinné útvary ve 3D
33
5 Trojrozmûrné útvary
37
5.1 Základní útvary _________________________________________________________ 38
5.2 Útvary generované z lomen˘ch ãar _______________________________________ 67
5.3 Prvky pro vizualizaci ____________________________________________________ 96
5.4 Textov˘ prvek _________________________________________________________ 100
5.5 Primitivní prvky _______________________________________________________ 101
5.6 PouÏívání binárních 3D dat _____________________________________________ 110
5.7 ¤ezy ve 3D ____________________________________________________________ 112
6 Dvojrozmûrné útvary
121
6.1 Kresebné prvky ________________________________________________________
6.2 Textov˘ prvek _________________________________________________________
6.3 PouÏívání binárních 2D dat _____________________________________________
6.4 3D zobrazení vloÏené do 2D ____________________________________________
6.5 Obrázky v seznamu ____________________________________________________
122
129
130
131
132
7 Pfiídavné kódy statutÛ pro rovinné lomené ãáry
133
8 Atributy
143
8.1 Direktivy ______________________________________________________________ 144
Direktivy pouÏívané ve 3D a 2D popisech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Direktivy pouÏívané pouze ve 3D popisech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Direktivy pouÏívané pouze ve 2D popisech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
8.2 Pfiímá definice atributÛ _________________________________________________ 150
Definice materiálu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Definice v˘plnû . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Roz‰ífiená definice v˘plnû . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
ii
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Obsah
Definice typu ãáry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Definice stylu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
9 Negeometrické popisy
163
9.1 Popisy vlastností _______________________________________________________ 164
9.2 Popis seznamu hodnot _________________________________________________ 167
10 V˘razy a funkce
169
10.1 V˘razy _______________________________________________________________ 170
10.2 Operátory ____________________________________________________________ 172
Aritmetické operátory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Relaãní operátory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Boolovské operátory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
10.3 Funkce _______________________________________________________________ 173
Aritmetické funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Goniometrické funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Transcendentální funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Boolovské funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Statistické funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
¤etûzcové funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Speciální funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
11 ¤ídící povely
11.1 Povely pro fiízení chodu programu _____________________________________
11.2 Manipulace s pamûtí __________________________________________________
11.3 Makro objekty ________________________________________________________
11.4 V˘stupní povely ______________________________________________________
11.5 Operace se soubory ___________________________________________________
12 Zvlá‰tní instrukce pro okna a dvefie
181
182
187
190
192
193
195
12.1 Obecná pravidla ______________________________________________________ 196
12.2 Vytváfiení knihovních prvkÛ typu dvefie/okno __________________________ 197
Obdélníkové dvefie/okna v pfiím˘ch zdech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Neobdélníkové dvefie/okna v pfiím˘ch zdech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Obdélníkové dvefie/okna v zakfiiven˘ch zdech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Neobdélníkové dvefie/okna v zakfiiven˘ch zdech . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
ArchiCAD 6.0: Referenãní pfiíruãka GDL
iii
Obsah
Pfiíloha
207
A Globální promûnné ____________________________________________________
B Speciální funkce _______________________________________________________
C GDL popis vytvofien˘ z pÛdorysu _______________________________________
D Povely pouze pro 3D zobrazení _________________________________________
E Povely pouze pro 2D symbol ___________________________________________
F Povely pro 2D i 3D pouÏití _____________________________________________
G Povely pro negeometrické popisy ______________________________________
H Spoleãné povely _______________________________________________________
I Rezervované povely ____________________________________________________
J Seznam konverzí jmen zastaral˘ch globálních promûnn˘ch ______________
K Abecední seznam aktuálních GDL povelÛ ________________________________
L Textov˘ doplnûk _______________________________________________________
Rejstfiík ___________________________________________________________________
iv
208
217
222
223
225
226
227
228
229
230
232
242
247
ArchiCAD 6.0: Referenãní pfiíruãka GDL

Podobné dokumenty

stáhnout

stáhnout interakcí ãi jejich pfiesunováním nebo kopírováním. Vytvofiené objekty se skládají z jednotliv˘ch polygonÛ (plo‰ek). S tûmi lze pracovat samostatnû.

Více

Přední náprava E

Přední náprava E L/H front splined hub, náboj kola C19225 R/H front splined hub,náboj kola C28685 L/H continental spinner, kolová matka C28684 R/H continental spinner, kolová matka C15097 saddle bracket,držáky pro ...

Více

Protokol - PLUVITEC

Protokol - PLUVITEC Tato klasifikace platí pro následující aplikace konečného použití: Hydroizolační fólie DANOPOL HS (v tloušťkách 1,2 mm a 1,5 mm) se používá jako kotvená fólie pro hydroizolační systémy střech ve sk...

Více

Katalog Svět sítí proti hmyzu 2014

Katalog Svět sítí proti hmyzu 2014 Dveřní profil extrudovaný P 50x20 LUX DE (53 mm x 20 mm kulatý s drážkou na kartáč)

Více

SPS_Prezentace_FATRA_2014

SPS_Prezentace_FATRA_2014 souvrstvím dlažbou prostoru prostor

Více

stáhnout

stáhnout dobû, kdy investofii kladou stále vût‰í nároky na projektanty, není pochyb. V˘sledkem spojení práce s CAD programem a tûmito katalogy je nejen pfiesn˘ a skuteãnosti odpovídající, ale i rychleji zprac...

Více