Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
1
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
1 Úvod
2
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
1.1 O této pfiíruãceTato pfiíruãka je kompletním popisem GDL (Geometric DefinitionLanguage - jazyk geometrického popisu), kter˘ ArchiCADobsahuje.
Tato pfiíruãka je doporuãena pro ty uÏivatele ArchiCADu, ktefiíchtûjí pokroãit za moÏnosti konstrukãních prostfiedkÛ ArchiCADua knihoven pfiedmûtÛ, dodávan˘ch s programovou sadou.
Krátká úvodní kapitola pfiiná‰í struãn˘ pfiehled rÛzn˘ch cest azvykÛ 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 sepouÏívat GDL popis. Pravdûpodobnû nebudete nikdy ãíst tutoãást vcelku, ale budete prozkoumávat její obsah v závislosti nasv˘ch potfiebách, znalostech, dovednostech a ambicích.
Tento manuál pfiedpokládá, Ïe jste seznámeni s ArchiCADemalespoÀ na stfiední úrovni a Ïe jste prostudovali odpovídajícíkapitoly Pfiíruãky ArchiCADu.
1.2 Knihovní prvky v ArchiCADuKromû 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 andArchiSITE), které umoÏÀují vkládat pfieddefinované prvky doprojektu. Abyste je mohli umístit, musíte provést rÛzné akce. Poumístûní mají rÛzné chování a jejich charakteristika je uloÏena vrÛzn˘ch typech dokumentÛ.
Co mají v‰echny tyto prvky spoleãného, je zpÛsob, jak˘m bylodefinová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 ajin˘mi detaily.
3
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Zdroje knihovních prvkÛ
Knihovna ArchiCADu
Knihovna ArchiCADStojí Stojí skuteãnû za to projít si KnihovnuArchiCADu pfiedtím, neÏ sami zaãnete vytváfiet své vlastníknihovní prvky. Pfied zapoãetím vlastní tvorby prostudujtev‰echny moÏnosti: objevíte prvky, o jejichÏ pouÏití jste nikdypfiedtím nepfieml˘‰eli.
Také byste se mûli seznámit s typick˘mi rozmûry a doplÀkov˘miparametry knihovních prvkÛ. Ty mÛÏete modifikovat podlevlastních potfieb.
4
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
DoplÀkové knihovny
V souãasnosti je k dispozici nûkolik specializovan˘ch knihovenod firmy Graphisoft (tzv. Graphisoft Collection, knihovny 3Dlidsk˘ch postav, 3D písmo, nábytek, atd.).
StairMaker
Aplikace Graphisoftu StairMaker umoÏÀuje pfiístup ksofistikované objektové knihovnû. StairMaker poskytuje nûkoliktypÛ modelÛ schodi‰È, které mÛÏete pfiizpÛsobit sv˘m potfiebámmodifikováním parametrÛ jednotliv˘ch schodi‰È.
Model toãitého schodi‰tû vytvofieného ve StairMakeru
5
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Externí doplÀky
Existuje mnoÏství externích programÛ, které mohou vytváfietnebo editovat knihovní prvky ArchiCADu. Prvky vytvofienétûmito aplikacemi obsahují GDL popis a dal‰í data, závislá naaplikaci. Tyto aplikace mohou b˘t pfiístupné buì pfiímo zArchiCADu nebo samostatnû. Více informací Vám poskytne Vá‰prodejce ArchiCADu.
Model telefonu vytvofieného v aplikaci VisualGDL Model terénuvytvofieného v aplikaci ArchiSITE
Knihovny ve formátu DXF
DXF knihovny jsou roz‰ífiené ve CAD svûtû a pokr˘vají témûfikaÏ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í schopnostiV mnoha pfiípadech budete potfiebovat knihovní prvky, kterénenajdete v Ïádné knihovnû. V tomto pfiípadû máte stále nûkolikmoÏností, aniÏ byste museli pouÏít GDL popis.
Modelování v jin˘ch3D aplikacích
ArchiCAD umí importovat rÛzné 3D prvky, které jste vytvofiilipomocí 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 jsouVám k dispozici pro pouÏití jako obecné stevbní prvky bezohledu na své pÛvodní urãení. MÛÏete napfi. jednodu‰e
6
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
vymodelovat stÛl pomocí zdí a desek. Takové konstrukce pakmÛÏ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 jsoueditovatelné, takÏe jejich modifikací mÛÏete vylep‰ovat 3Dzobrazení knihovních prvkÛ. Binární knihovní prvky nabízejírychlé zobrazování svûteln˘ch úãinkÛ, ale dovolují pouzelimitovanou 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Ïitdal‰í binární knihovní prvek.
KruÏba gotickéh okna vymodelovaná deskami a stfiechami
UloÏíte-li prvky pÛdorysu jako GDL popis, komplexnostv˘sledného popisu závisí na typech prvkÛ, které jste pouÏili.
Detailní informace o knihovních prvcích získan˘ch z pÛdorysuArchiCADu 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, nebopotfiebujete-li knihovní prvky, jejichÏ tvar mÛÏe b˘t ovládánuÏivatelsky definovateln˘mi parametry, Va‰í dal‰í moÏností jevyuÏití prostfiedí GDL popisÛ, které nabízí ArchiCAD.
7
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
1.3 Pfiehled vytváfiení GDLpopisÛ
Co je GDL?
GDL je vlastní parametrick˘ programovací jazyk ArchiCADupodobn˘ BASICu. Jeho úãelem je popis tfiídimenzionálníchobjektÛ, jakou jsou dvefie, okna, nábytek, prvky staveb, schody,apod., a 2D symbolÛ, které je representují v pÛdoryse. Tytopfiedmû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 a2D symboly. Knihovní prvky mohou také mít popis prokvantitativní v˘poãty v ArchiCADu, které naz˘váme popisyvlastností.
Povely hlavního popisu se provádûjí pfied kaÏd˘m popisem(jako by byly zkopírovány pfied ostatní popisy knihovníhoprvku).
2D popis obsahuje parametrick˘ popis 2D kresby. Binární Ê2Ddata knihovního prvku (obsah okna 2D symbolu) lze vyvolávatpomocí povelu FRAGMENT2. Pokud je okno 2D popisu prázdné,binární 2D data budou pouÏita pro zobrazení knihovního prvkuv pÛdoryse.
3D popis obsahuje parametrick˘ popis 3D modelu. Binární 3Ddata (která se generují bûhem importu nebo operace UloÏitjako...) lze vyvolávat povelem BINARY.
Popis vlastností obsahuje komponenty a popisy pouÏité vseznamech prvkÛ, komponentÛ a zón. Binární popisyvlastností popsané v oddíle komponenty a popisy knihovníhoprvku lze vyvolávat pomocí povelu BINARYPROP. Pokud je oknopopisu vlastností prázdné, pouÏijí se pfii sestavování seznamÛbinární data vlastností.
V popisu seznamu hodnot mÛÏete definovat sady moÏn˘chhodnot patametrÛ knihovních prvkÛ.
Parametry nastavené v ãásti parametrÛ se pouÏívají jakoimplicitní hodnoty knihovních prvkÛ, kdyÏ jej vkládáte dopÛdorysu.
8
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Náhledov˘ obrázek se zobrazuje v dialogu pro nastaveníknihovního prvku, kdyÏ prohlíÏíte aktivní knihovnu. Lze jejvyvolat 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˘chgeometrick˘ch tvarÛ. VÏdy zaãnûte s jednoduch˘mi a krátk˘mianal˘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 jazykaGDL popisu. Pokud byla va‰e anal˘za správná, syntézou tûchtoentit 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 podlev˘ukového plánu, zaãnûte s objekty definovan˘ch rozmûrÛ adoveìte je do nejjednodu‰‰í, ale stále je‰tû rozpoznatelné formy.Jak se budete seznamovat se základním modelováním, mÛÏetesniÏovat úroveÀ zjednodu‰ování a postupnû se dostávat blíÏ ablíÏ k ideálnmu tvaru.
"Ideální" neznamená nutnû "komplikovan˘". V závislosti naarchitektonickém projektu se ideální knihovní prvky budoupohybovat od základních tvarÛ aÏ po do detailÛ propracovanéprvky. Okno na obrázku vlevo se dobfie hodí pro vizualizaciprojektu. Okno vpravo je tak realistické a detailní, Ïe je moÏnéjej pouÏít v provádûcích fázích projektu.
9
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Vypracování
Va‰e parametrické objekty se mohou li‰it propracovaností vzávislosti na Va‰em zámûru. Objekty pro vnitfiní pouÏití vkancelá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 separametrické zmûny nemusí ve 2D projevovat, mÛÏete jejichparametrick˘ 2D popis vypustit.
Dokonce i kdyÏ se parametrické zmûny ve 2D mají projevit, neníabsolutnû nutné psát parametrick˘ 2D popis. MÛÏete tvofiitparametrické modifikace v oknû 3D popisu, pouÏít 3D hornípohled modifikovaného objektu jako nov˘ symbol a uloÏit tentoobjekt pod nov˘m jménem. V˘sledkem bude nûkolik obdobn˘chobjektÛ získan˘ch z pÛvodního pomocí parametrick˘ch zmûnimplicitní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 2Dpopisem. 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 aznalosti deskriptivní geometrie jistû ovlivní, kde s GDL zaãnete.
Nezaãínejte s GDL s komplikovan˘mi cíli. Radûji se zkuste uãitGDL 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étokapitole.
Ovládáte-li nûjak˘ programovací jazyk, jako je BASIC, mÛÏete ses GDL seznámit tak, Ïe si prohlédnete existující popisy. Mnohose nauãíte také otevfiením knihovních prvkÛ ArchiCADu a
10
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
prozkoumáním jejich 2D a 3D popisÛ. Kromû toho mÛÏeteukládat prvky z pÛdorysu v formátu GDL a prohlíÏet si jejichpopisy.
Neznáte-li BASIC, ale hráli jste nûkdy LEGO, jenÏ má daleko kprogramovacímu jazyku, mÛÏete i vy najít svÛj zpÛsobprocviã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 seskládají komplexní knihovní prvky. Jsou to konstrukãní blokyjazyka GDL. ÚtvaryÊdo 3D prostoru vloÏíte pomocí pfiíkazÛ v GDLpopisu.
Pfiíkaz pro útvar se skládá z povelu, kter˘ definuje typ útvaru, a znû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 pracovatpouze 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
11
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Transformace soufiadnic
Transformace soufiadnic by se daly pfiirovnat k pohybu ruky naurãité místo, neÏ umístíte dílek LEGA. Nastavují pozici, orientaci amûfiítko dal‰ího útvaru.
LG
Z
Z
X
Y
X
Y
BLOCK 1, 0.5, 0.5ADDX 1.5ROTY 30BLOCK 1, 0.5, 0.5
Ve 3D oknû knihovního prvku mÛÏete pfiípadnû sledovatpoãáteãní (G=globální) a aktuální (L=lokální) pozici trojicesoufiadn˘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 jejnatoãí kolem libovolné osy.
Povely stfiední úrovnû
Tyto pfiíkazy jsou o nûco sloÏitûj‰í, nikoli proto, Ïe by vyÏadovalyznalost programování, ale proto, Ïe popisují sloÏitûj‰í útvary neboabstraktnûj‰í transformace.
12
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Ve 3D:
ELLIPS CONE
POLY_ LIN_ PLANE PLANE_
PRISM_ CPRISM_ SLAB SLAB_ CSLAB_
TEXT
Ve 2D:
HOTSPOT2 POLY2_ TEXT2 FRAGMENT2
Tyto pfiíkazy obvykle vyÏadují definování více hodnot, neÏjednoduché povely. Nûkteré z nich vyÏadují hodnoty statutÛ proovládání viditelnosti hran a povrchÛ.
Transformace soufiadnic
Ve 3D:
MULX MULY MULZ
ADD MUL ROT
Ve 2D:
MUL2
�
PRISM 4, 1, 3, 0,3, 3, -3, 3,-3, 0
ADDZ -1MUL 0.666667, 0.666667, 1PRISM 4, 1, 3, 0,
3, 3, -3, 3,-3, 0
ADDZ -1MUL 0.666667, 0.666667, 1PRISM 4, 1, 3, 0,
3, 3, -3, 3,-3, 0
13
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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ádceovlivÀují v‰echny tfii dimenze prostoru najednou.
SloÏité povely a funkce
Tyto povely pfiidávají dal‰í úroveÀ komplexnosti. Nejen kvÛligeometrick˘m útvarÛm, které vytváfiejí, ale také proto, Ïeprezentují 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 generovatkomplexní volitelné útvary z jednoduch˘ch útvarÛ. Odpovídajícípovely jsou CUTPLANE, CUTPOLY, CUTPOLYA, CUTSHAPE aCUTEND.
Ve 2D:
PICTURE2 POLY2_A
SPLINE2 SPLINE2_A
Povely pro fiízení chodu programu a podmínkovépovely
FOR NEXT
DO WHILE ENDWHILE
REPEAT UNTIL
IF THEN ELSE ENDIF
GOTO GOSUB
RETURN END EXIT
14
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Tyto povely by mûly b˘t známy v‰em, kdo se nûkdy setkali spoãítaãov˘m programováním, ale jsou tak základní, Ïe jimmÛÏete porozumût i bez tûchto zku‰eností.
UmoÏÀují provádût opakovanû ãásti popisÛ, napfiíklad provytvofiení nûkolika útvarÛ jedin˘m krátk˘m popisem, neboprovádût rozhodovací operace na základû dfiívej‰ích v˘poãtÛ.
�
FOR I = 1 TO 5PRISM_ 8, 0.05, -0.5, 0, 15, -0.5, -0.15, 15, 0.5, -0.15, 15, 0.5, 0, 15, 0.45, 0, 15, 0.45, -0.1, 15, -.45, -0.1, 15, -0.45, 0, 15ADDZ 0.2NEXT I
Parametry
V tomto stádiu v˘uky mÛÏete nahrazovat fixní ãíselné hodnotypromûnn˘mi. Objekt se tak stane mnohem flexibilnûj‰ím. Tytopromûnné jsou dostupné v hlavním dialogu nastavení knihovníhoprvku 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 jehopouÏití v jiném popisu jednodu‰e “zavolejte” jeho jméno pfienestedo nûj poÏadované parametry jako u standardních povelÛ proútvary.
15
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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 velikostsouboru va‰ich GDL popisÛ, hloubku volání maker a poãettransformací.
Dal‰í informace o v˘‰e uveden˘ch GDL pfiíkazech jsou v dal‰íchkapitolách této pfiíruãky.
Pfiehled dostupn˘ch povelÛ a struktury jejich parametrÛ najdete vpfiíslu‰né nápovûdû v ArchiCADu.
16
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
1.4 Jak ArchiCAD generuje 3DzobrazeníTrojrozmûrné modelování v ArchiCADu je zaloÏeno naaritmetice s plovoucí desetinnou ãárkou, coÏ znamená, Ïevelikost modelu není omezena. Pfii libovolné velikosti je vÏdyzachována stejná pfiesnost do nejmen‰ích detailÛ.
3D model, kter˘ nakonec uvidíte na obrazovce, je sloÏen zgeometrick˘ch primitiv. Tato primitiva jsou uloÏena v pamûtipoãítaãe v binárním formátu a ArchiCAD je generuje podlepÛdorysu, kter˘ jste vytvofiili. Tato promûna inteligentnícharchitektonick˘ch pÛdorysn˘ch prvkÛ na binární 3D data senaz˘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ûlesatvofií 3D model. V‰echny funkce 3D vizualizace v ArchiCADu -hladké povrchy, vrhání stínÛ, lesk a prÛhlednost materiálÛ - jsouzaloÏeny na této datové struktufie.
3D prostor v ArchiCADu3D 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émuse naz˘vá absolutní poãátek.
V ArchiCADu je absolutní poãátek ve spodním levém rohupracovního okna, pokud program spustíte bez naãtení urãitéhodokumentu. 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, jehopÛdorysné umístûní definuje jeho pozici v osách x a y tohotoglobálního soufiadného systému. Umístûní v ose z mÛÏe b˘tnastaveno v dialogu pro nastavení objektÛ nebo upraveno pfiímopfii vkládání ve 3D. Tato pozice bude základem pro implicitníumístûní lokálního soufiadného systému objektu. Útvarydefinované v popisu budou umístûny vzhledem k tomutolokálnímu soufiadnému systému.
17
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
K ãemu jsou transformacesoufiadnic?KaÏd˘ GDL útvar je spojen s aktuální pozicí lokálníhosoufiadné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émsmû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á parametrypro posun a rotaci.
Odpovûdí je posun soufiadného systému do správné polohy pfiedzadáním povelu BLOCK. Pomocí povelÛ pro transformacisoufiadnic 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ã �GDLPfii interpretaci popisu GDL bude pfiekladaã GDL, zabudovan˘ vArchiCADu. naãítat umístûní, velikost, úhel natoãení, uÏivatelskydefinované parametry a zrcadlové zobrazení knihovního prvku.Na základû tûchto informací posune lokální soufiadn˘ systém dopfiíslu‰né polohy a bude pfiipraven akceptovat pfiíkazy GDL zpopisu knihovního prvku. PokaÏdé, kdyÏ pfiekladaã narazí napovel pro základní útvar, vygeneruje geometrická primitiva, zekter˘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Ï sezv˘‰í rychlost anal˘zy. Pfii modifikaci GDL popisu se generujenov˘ kód.
Datové struktury pfievedené z jin˘ch standardních formátÛsouborÛ (napfi. DXF, ZOOM, Alias Wavefront) se ukládají do 3Dbinární ãásti knihovních prvkÛ ArchiCADu. Na tuto ãást seodkazuje pfiíkaz BINARY GDL popisÛ.
18
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pofiadí anal˘zy GDL popisuUÏivatelé ArchiCADu nemají moÏnost urãovat pofiadí, ve kterémbudou analyzovány knihovní prvky v pÛdorysu. Pofiadí anal˘zyGDL popisÛ je zaloÏeno na vnitfiní struktufie dat, navíc jejovlivÀuje i pouÏití pfiíkazÛ Zpût a Vrátit, stejnû jako modifikacedat. Jedinou vyjímkou z tohoto pravidla jsou speciální GDLpopisy, tzv. "MASTER_GDL" nebo "MASTEREND_GDL" popisy.Popisy, jejichÏ jména zaãínají "MASTER_GDL", se provádûjí pfied3D konverzí, pfied vytváfiením fiezu, pfied startem procesuvytvá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ãístknihovny, Otevfiít projekt, Nov˘ pro��jekt, Konec).
Tyto popisy se neprovádûjí, kdyÏ editujete knihovní prvky.Pokud knihovní prvky obsahují jeden nebo více takov˘chpopisÛ, budou v‰echny provedeny v pofiadí, které nenídefinováno.
MASTER_GDL a MASTEREND_GDL popisy mohou obsahovatdefinice atributÛ, inicializace globálních uÏivatelsk˘chpromûnn˘ch, 3D povely (uplatÀující se pouze ve 3D modelu),definice seznamu hodnot (viz povel VALUES v kapitoleNegeometrické 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 nebudounahrazeny, zatímco atributy vzniklé v GDL a needitované v�ArchiCADu budou nahrazeny vÏdy).
19
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
1.5 Vytváfiení objektÛ vArchiCADu3D knihovní prvky se tradiãnû vytváfiejí sestavením GDL popisu aruãním nakreslením 2D symbolu. ArchiCAD nabízí ãtyfii zpÛspby,jak tento proces automatizovat uloÏením sad pÛdorysn˘chkonstrukãních prvkÛ jako jedin˘ knihovní prvek.
1) UloÏení celého projektu nebo jeho oznaãen˘ch prvkÛ jako3D GDL dokument (UloÏit jako... > 3D GDL).
Takto budou v‰echny (nebo oznaãené) pÛdorysné prvky uloÏenyjako 3D GDL útvary, jak je popsáno v Pfiíloze. Tento GDL soubormÛÏete otevírat a editovat v ArchiCADu buì jako hol˘ GDL textnebo jako knihovní prvek (UloÏit speciálnû > ObjektArchiCADu).
2) UloÏení celého projektu nebo jeho oznaãené prvky jakoobjekt ArchiCADu.
V‰echny (nebo oznaãené) pÛdorysné prvky budou uloÏeny jakokompletní knihovní prvek s 2D a 3D popisem. Tento knihovníprvek je ve skuteãnosti reprezentantem pÛdorysu s popsanou 2Da 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 popisunebo needitovateln˘ch binárních dat. 2D symbol je generovánpfií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 strukturumodelu 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 vybertedokument 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˘ modelnebo 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.�
20
Kapitola 1: Úvod
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Dvefie/okna: Implicitní umístûní soufiadného systému tûchtoknihovních prvkÛ je natoãen tak, Ïe rovina x-y je svislá a osa zmífií vodorovnû do zdi. Poãátek je vloÏen do stfiedu dolníhookraje otvoru ve zdi, na vnûj‰í stranu zdi. Takto lze jednodu‰emodelovat 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 popisuknihovního prvku). V závislosti na cíli bude generován 2DGDL popis (2D popis nebo jiné textové okno) nebo 3Dpopis (okno 3D popisu) prvkÛ.
21
Kapitola 2: Základní syntaktické prvky�
ArchiCAD 6.0: Referenãní pfiíruãka GDL
2 Základní syntaktické prvky
22
Kapitola 2: Základní syntaktické prvky�
ArchiCAD 6.0: Referenãní pfiíruãka GDL
GDL nerozli‰uje velká a malá písmena; rozdíl mezi velk˘mi amal˘mi písmeny se uplatÀuje pouze u fietûzcÛ napsan˘ch meziuvozovkami. Logick˘ konec GDL popisu je oznaãen povelemEND nebo EXIT nebo fyzick˘m koncem popisu.
Povely Program v GDL se skládá z povelÛ. Povel mÛÏe zaãínat klíãov˘mslovem (definujícím GDL útvar, transformaci soufiadnic nebochod programu), jménem makra (viz kap. 5.4.) nebo jménempromû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ímfiádku. Dvojteãka (:) se pouÏívá pro oddûlení pfiíkazÛ GDL nafiá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 nebotabelá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ímnásleduje. Je kontrolována jednoznaãnost v˘skytu návû‰tí.Provádûní programu mÛÏe po povelu GOTO nebo GOSUBpokraã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˘ vpopisu nefiguruje jako identifikátor s danou hodnotou (volánímakra, název atributu, název souboru). ¤etûzce bez uvozovekbudou zamûnûny za velká písmena, doporuãujeme tedyuvozovky pouÏívat. Maximální povolená délka fietûzce znakÛ je255.
Znak '\' má zvlá‰tní fiídící hodnoty. Jeho smysl závisí nanásledujícím znaku.
23
Kapitola 2: Základní syntaktické prvky�
ArchiCAD 6.0: Referenãní pfiíruãka GDL
\\ samotn˘ znak '\'
\n nov˘ fiádek
\t tabulátor
\new line pokraãování na dal‰ím fiádku bez znaku novéhofiádku
\jiné nesprávnû, zobrazí se varování
Pfiíklady:
"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˘miidentifiká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, jsoupovaÏovány za lokální promûnné. Dokud nejsou inicializovány,jejich hodnota je 0,0. Lokální promûnné jsou spjaté s volan˘mimakry a pfii návratu z makra pfiekladaã jejich hodnoty obnoví.
Globální promûnné mají rezervovaná jména (seznam globálníchpromûnn˘ch ArchiCADu najdete v Pfiíloze). Bûhem volání makrase neukládají, ãímÏ umoÏÀují uÏivateli ukládat speciální hodnotymodelu 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é doknihovního prvku MASTER_GDL. Ostatní globální promûnné lzepouÏít v popisech pro komunikaci s ArchiCADem.
PouÏitím pfiíkazu "=" mÛÏete pfiifiadit lokálním a globálnímpromûnn˘m ãíselnou nebo fietûzcovou hodnotu.
24
Kapitola 2: Základní syntaktické prvky�
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Parametry Identifikátory vyjmenované v seznamu parametrÛ knihovníchprvkÛ se naz˘vají parametry. Délka parametru nesmí pfiekroãit 32znakÛ. V rámci popisu se pro parametry uplatÀují stejná pravidlajako pro lokální promûnné.
Parametry ãistû textov˘ch GDL souborÛ jsou identifikoványpísmeny A aÏ Z.
Jednoduché typy Promûnné, parametry a v˘razy mohou b˘t dvou jednoduch˘chtypÛ: ãíselné nebo fietûzcové.
âíselné v˘razy jsou konstantní ãísla, numerické promûnné neboparametry, funkce, jejichÏ v˘sledkem jsou numerické hodnoty, alibovonlná 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 parametrymohou 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ímoindexem.
Seznamy hodnot jsou sady moÏn˘ch numerick˘ch nebofietûzcov˘ch hodnot. Mohou b˘t pfiifiazeny parametrÛm v popisuseznamu hodnot knihovního prvku nebo v MASTER_GDL popisua 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 jeuvedeno 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
25
Kapitola 3: Transformace soufiadnic
ArchiCAD 6.0: Referenãní pfiíruãka GDL
3 Transformace soufiadnic
26
Kapitola 3: Transformace soufiadnic
ArchiCAD 6.0: Referenãní pfiíruãka GDL
3.1 Transformace vtrojrozmûrném prostoruV GDL jsou v‰echny geometrické prvky pevnû pfiipojeny klokálnímu systému soufiadnic. GDL pouÏívá pravotoãiv˘ soufiadn˘systém. Napfiíklad jeden roh bloku je v poãátku soufiadnic a jehostrany jsou v rovinách x-y, x-z a y-z.
Umístûní geometrického prvku do poÏadované polohy vyÏadujedva kroky. Nejprve pfiesuÀte soufiadn˘ systém do poÏadovanépolohy. Poté vygenerujte prvek. KaÏd˘ pohyb, rotace neboprotaÏ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á odposledního k prvnímu. Popisy pracují s tímto transformaãnímzásobníkem; mohou do nûj vkládat nové prvky, nemohou v‰akvymazat více neÏ ty, které byly lokálnû definovány. Je moÏnévymazat jednu, nûkolik nebo v‰echny transformace definované vaktuálním popisu. Po návratu z popisu seÊlokálnû definovanétransformace ze zásobníku vymaÏou.
ADDX dxADDY dyADDZ dz
Transformace pfiesunují lokální soufiadn˘ systém podél dané osyo 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 vymazatpovelem DEL 1.
27
Kapitola 3: Transformace soufiadnic
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklad:
c
b
Z
a
Z
Y
Y
X
X
ADD a,b,c
MULX mxMULY myMULZ mz
Transformace mûní mûfiítko lokálního soufiadného systému vesmû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 vymazatpovelem DEL 1.
ROTX alfaxROTY alfayROTZ 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:
Y
X
X
Z
Y
beta
ROTZ beta
28
Kapitola 3: Transformace soufiadnic
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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 vymazatpovelem DEL 1.
XFORM a11, a
12, a
13, a
14,
a21, a
22, a
23, a
24,
a31, a
32, a
33, a
34
Definuje úplnou transformaãní matici. PouÏívá se hlavnû vautomaticky generovan˘ch GDL kódech. Má pouze jeden vstupdo zásobníku.
x’ = a11 * x + a12 * y + a13 * z + a14y’ = a21 * x + a22 * y + a23 * z + a24z’ = a31 * x + a32 * y + a33 * z + a34
Pfiíklad:
A=60B=30XFORM 2, COS(A), COS(B)*0.6, 0, 0, SIN(A), SIN(B)*0.6, 0, 0, 0, 1, 0BLOCK 1, 1, 1
29
Kapitola 3: Transformace soufiadnic
ArchiCAD 6.0: Referenãní pfiíruãka GDL
3.2 Transformace vedourozmûrném prostoruJde o ekvivalenty transformací ADD, MUL a ROTZ 3D ve 2Dprostoru.
ADD2 x, y
Pfiíklad:
X
Y
X
Y
b
a
ADD2 a, b
MUL2 x, y
ROT2 alpha
Pfiíklad:
X
Y
X
Y
beta
ROT2 beta
30
Kapitola 3: Transformace soufiadnic
ArchiCAD 6.0: Referenãní pfiíruãka GDL
3.3 Obsluha transformaãníhozá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íchn 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 nzápisÛ vpfied, pfiiãemÏ se zaãne u té, která byla oznaãenabeg_with. âíslování zaãíná jedniãkou. Pokud je parametrbeg_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í transformací.
DEL TOP
SmaÏe v‰echny aktuální transformace v aktuálním popisu.
NTR ( )
Vrací skuteãn˘ poãet transformací.
31
Kapitola 3: Transformace soufiadnic
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklad:
BLOCK 1, 1, 1ADDX 2ADDY 2.5ADDZ 1.5ROTX -60ADDX 1.5BLOCK 1, 0.5, 2
DEL 1, 1 !Smaže transformaci ADDX2!transformaceBLOCK 1, 0.5, 1
DEL 1, NTR()-2 !Smaže ADDZ 1.5!transformace
BLOCK 1, 0.5, 2
DEL -2, 3 !Smaže ROTX -60 a!ADDY 2.5 transformace
BLOCK 1, 0.5, 2
32
Kapitola 3: Transformace soufiadnic
ArchiCAD 6.0: Referenãní pfiíruãka GDL
33
Kapitola 4: Rovinné útvary ve 3D
ArchiCAD 6.0: Referenãní pfiíruãka GDL
4 Rovinné útvary ve 3D
34
Kapitola 4: Rovinné útvary ve 3D
ArchiCAD 6.0: Referenãní pfiíruãka GDL
LIN_ x1, y
1, z
1, x
2, y
2, z
2
âá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
X
Y
a
b
POLY n, x1, y
1, . . . x
n, y
n
Polygon o n hranách v rovinû x-y. Soufiadnice uzlui jsou (xi, yi,0).
Omezení parametrÛ:
n > 3
n
X
1 32
Y
35
Kapitola 4: Rovinné útvary ve 3D
ArchiCAD 6.0: Referenãní pfiíruãka GDL
POLY_ n, x1, y
1, maska
1, . . . x
n, y
n, maska
n
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
n
X
1 32
Y
n
X
1 32
Y
PLANE n, x1, y
1, z
1, . . . x
n, y
n, z
n
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ã tutopodmínku nekontroluje.
Omezení parametrÛ:
n > 3
PLANE_ n, x1, y
1, z
1, maska
1, . . . x
n, y
n, z
n, maska
n
Ekvivalent povelu PLANE, ale libovolná z hran mÛÏe b˘tvynechána, jako u povelu POLY_.
Omezení parametrÛ:
n > 3
36
Kapitola 4: Rovinné útvary ve 3D
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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) vrovinû x-y se stfiedem v poãátku, úhlem od alfa do beta apolomûremÊr.
Alfa a beta jsou ve stupních.
alpha
beta
Y
X
37
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
5 Trojrozmûrné útvary
38
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
5.1 Základní útvaryBLOCK a, b, cBRICK 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
Y
b
X
Z
a
c
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.
r
Z
Y
X
r
Z
Y
X
h
39
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
SPHERE r
Koule se stfiedem v poãátku a polomûrem r.
Y
X
Z
r
ELLIPS h, r
Polovina elipsoidu. Jeho prÛfiez v rovinû x-y je kruh se stfiedem vpoãátku a polomûrem r. Délka poloosy ve smûru osy z je h.
rY
Z
X
h
Pfiíklad:
ELLIPS r, r !polokoule
40
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
CONE h, r1, r
2, alfa
1, alfa
2
Komol˘ kuÏel, kde alfa1 a alfa2 jsou úhly sklonu základen vÛãiose z, r1 a r2 jsou polomûry kruÏnic základen a h je v˘‰ka v osez.
Je-li h rovno nule, hodnoty alfa1 a alfa2 nejsou brány v úvahu aje generován anuloid v rovinû x-y.
Alfa1 a alfa2 jsou ve stupních.
Omezení parametrÛ:
0 < alfa1 < 180° a 0 < alfa2 < 180°
r2
r1Y
Z
X
Y Y
Z
Y
halpha1
alpha2
Pfiíklad:
CONE h, r, 0, 90, 90 ! pravoúhl jehlan
PRISM n, h, x1, y
1, . . . x
n, y
n
Hranol s polygonální základnou v rovinû x-y (viz parametryPOLY). V˘‰ka v ose z je abs(h). Mohou b˘t rovnûÏ pouÏitynegativní hodnoty h. V tomto pfiípadû je druhá základnapolygonu nad rovinou x-y.
Omezení parametrÛ:
n > 3
Y
n
Z
X 12
h
41
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
PRISM_ n, h, x1, y
1, maska
1, . . . x
n, y
n, maska
n
Ekvivalent povelu PRISM, ale libovolná horizontální hrana ãistrana mÛÏe b˘t vynechána.
Omezení parametrÛ:
n > 3
Y
i
j4j2
j3
i+1j1
Z
X
âíslo maskai je binární celé ãíslo (mezi 0 Êa Ê15 nebo 64 a 79)
nebo -1.
maskai = j
1 + 2*j
2 + 4*j
3 + 8*j
4 + 64*j
7
kde j1, j
2, j
3, j
4, j
7 mÛÏe b˘t 0 nebo 1.
âísla j1, j
2, j
3, j
4 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 j
7= 1: vertikální hrana je viditelná, pouze kdyÏ je obrys z
aktuálního smûru pohledu vidût.
j2 = 1 a j
7 = 0: vertikální hrana je vÏdy viditelná
42
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
MoÏné hodnoty masek (silné ãáry oznaãují viditelné hrany):
3
6
1
0
4
5
8
9
10
11
12
13
14
visible surfaceinvisible surface
7
2
15
3
Maskai = -1 se pouÏívá pro pfiímé definování otvorÛ v hranolu.Oznaãuje konec obrysu a poãátek otvoru uvnitfi obrysu. Indikujetaké konec jednoho otvoru a zaãátek jiného. Soufiadnice pfiedtouto hodnotou musí b˘t identické se soufiadnicemi prvníhobodu 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 jsouzakázány, aby byly v˘sledky stínování/fotozobrazení správné.
Pfiíklady:
PRISM_ 4,1, PRISM_ 4,1,0,0,15, 0,0,7,1,1,15, 1,1,5,2,0,15, 2,0,15,1,3,15 1,3,15
43
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
ROTX 90PRISM_ 26, 1.2,
0.3, 0, 15,0.3, 0.06, 15,0.27, 0.06, 15,0.27, 0.21, 15,0.25, 0.23, 15,-0.25, 0.23, 15,-0.27, 0.21, 15,-0.27, 0.06, 15,-0.3, 0.06, 15,-0.3, 0, 15,0.3, 0, -1, !Konec obrysu0.10, 0.03, 15,0.24, 0.03, 15,0.24, 0.2, 15,0.10, 0.2, 15,0.10, 0.03, -1, !Konec prvního
otvoru0.07, 0.03, 15,0.07, 0.2, 15,-0.07, 0.2, 15,-0.07, 0.03, 15,0.07, 0.03, -1, !Konec druhého
otvoru-0.24, 0.03, 15,-0.24, 0.2, 15,-0.1, 0.2, 15,-0.1, 0.03, 15,-0.24, 0.03, -1 !Konec tfietího
otvoru
44
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
j7 = 0 j
7 = 1
R=1H=3PRISM_ 9, H, -R, R, 15, COS(180)*R, SIN(180)*R, 15, COS(210)*R, SIN(210)*R, 15, COS(240)*R, SIN(240)*R, 15, COS(270)*R, SIN(270)*R, 15, COS(300)*R, SIN(300)*R, 15, COS(330)*R, SIN(330)*R, 15, COS(360)*R, SIN(360)*R, 15, R, R, 15ADDX 5PRISM_ 9, H, -R, R, 15, COS(180)*R, SIN(180)*R, 64+15, COS(210)*R, SIN(210)*R, 64+15, COS(240)*R, SIN(240)*R, 64+15, COS(270)*R, SIN(270)*R, 64+15, COS(300)*R, SIN(300)*R, 64+15, COS(330)*R, SIN(330)*R, 64+15, COS(360)*R, SIN(360)*R, 64+15, R, R, 15
45
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
CPRISM_ topmat, botmat, sidemat,n, h, x
1, y
1, maska
1, . . . x
n, y
n, maska
n
Doplnûk povelu PRISM_ statement, kde první tfii parametry sepouÏívají jako jméno/index materiálu horního, spodního aboãního povrchu. Ostatní parametry jsou stejné jako u poveluPRISM_.
Omezení parametrÛ:
n > 3
Viz také povel MATERIAL v kapitole "Atributy" a popis funkceIND v Pfiíloze.
Pfiíklad:
CPRISM_ “Železo“, 0, T_, !“Železo” jepfieddefinovan
! 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, 0.2, 15,1.8, 0.2, 15,1.0, 0.9, 15,0.2, 0.2, -1, ! konec prvního otvoru0.2, 1.8, 15,1.8, 1.8, 15,1.0, 1.1, 15,0.2, 1.8, -1 ! konec druhého otvoru
46
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
BPRISM_ topmat, botmat, sidemat,n, h, polomûr,x
1, y
1, maska
1, . . . x
n, y
n, maska
n
Hladk˘ ohnut˘ hranol, definovan˘ stejnou datovou strukturoujako pfiím˘ hranol CPRISM_.
Jedin˘ pfiidan˘ parametr je polomûr.
Povel je odvozen od povelu CPRISM_ ohnutím roviny x-y dová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í. HranyrovnobûÏné s osou z budou radiální vÛãi uvaÏovanémupolomûru zakfiivení.
Detaily viz BWALL_
Pfiíklady (s odpovídajícími prvky CPRISM_):
BPRISM_ "sklo", "sklo", "sklo", 3, 0.4, 1, ! polomûr =1 0, 0, 15, 5, 0, 15, 1.3, 2, 15
47
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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
48
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
FPRISM_ topmat, botmat, sidemat, hillmat,n, tlou‰Èka, úhel, v˘‰ka_vrchlíku,x
1, y
1, maska
1,
...x
n, y
n, maska
n
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é zortogonálního pohledu tvofií ãtvrtkruh s rozli‰enímdan˘m povelem RESOL.
v˘‰ka_vrchlíku: v˘‰ka vrchlíku. V‰imnûte si, Ïe parametrtlou‰È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_ .
1
n
2
hill_height
thickness
angle
49
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklady:
RESOL 10FPRISM_ "stfiešní taška", " ervená cihla","lícovka","stfiešní taška",4, 1.5, 0, 1.0, !úhel = 00, 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
50
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
SPRISM_ topmat, botmat, sidemat,n, x
b,y
b, x
e, y
e, h, úhel,
x1, y
1, maska
1, . . . x
n, y
n, maska
n
Doplnûk povelu CPRISM_, s tím, Ïe horní polygon nemusí b˘trovnobûÏn˘ s rovinou x-y. Definice horní roviny je stejná jakodefinice roviny u povelu CROOF_. V˘‰ka hranolu je definovánana referenãní ãáfie. Protínání horního a dolního polygonu jezakázáno.
Pfiidané parametry:
xb, y
b, x
e, y
e: 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íhopolygonu musí b˘t kladné nebo �0.
n
h
1
2
(x ,y )b b
(x ,y )ee
angle
Pfiíklad:
SPRISM_ 'tráva', 'zemina', 'zemina',6,0, 0, 11, 6, 2, -10.0,0, 0, 15,10, 1, 15,11, 6, 15,5, 7, 15,4.5, 5.5, 15,1, 6, 15
51
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
SLAB n, h, x1, y
1, z
1, . . . x
n, y
n, z
n
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. Vtom 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
Y
Z
X
SLAB_ n, h, x1, y
1, z
1, maska
1, . . . x
n, y
n, z
n, maska
n
Ekvivalent povelu SLAB, ale libovolná z vodorovn˘ch hran astran mÛÏe b˘t vynechána. Tento povel je analogick˘ poevluPRISM_.
CSLAB_ topmat, botmat, sidemat,n, h, x
1, y
1, z
1, maska
1, . . . x
n, y
n, z
n, maska
n
Doplnûk poevlu SLAB_; první 3 parametry jsou pouÏity jakojmé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 INDv Pfiíloze.
52
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
CWALL_ leftmat, rightmat, sidemat,v˘‰ka, x
1, x
2, x
3, x
4, t,
maska1, maska
2, maska
3, maska
4,
n,xbeg
1, spodní, xend
1, horní, framevis
1,
...xbeg
n, spodní, xend
n, horní, framevis
n,
m,a
1, b
1, c
1, d
1,
...a
m, b
m, c
m, d
m
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 popisfunkce IND v Pfiíloze.
Referenãní ãára stûny je vÏdy transformována tak, aby seshodovala s osou x. Strany stûny jsou v rovinû x-z.
v˘‰ka:
V˘‰ka zdi vzhledem k základnû.
x1, x
2, x
3, x
4 :
Zobrazené koncové body zdi leÏící v rovinû x-y je vidûtdole. Pokud zeì stojí sama, pakx
1 = x
4 = 0, x
2 = x
3 = 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'.
53
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
x4 x2x3x1
Y
X
tmaska
1, maska
2, maska
3, maska
4 :
¤í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 jsouvynechány (0).
j4
j3
Z
X
Y
j1
mask 1
j2
mask 4 mask 2
mask 3
n : poãet otvorÛ ve zdi.
xbegi, spodní
j, xend
i, horní
i :
soufiadnice otvorÛ, jak je vidût zde.
X
Z
xend i
low
eri
uppe
ri
xbeg i
heig
ht
54
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
framevisi :
1 pokud jsou hrany otvorÛ viditelné
0 pokud jsou hrany otvorÛ neviditelné.
Záporné hodnoty ovládají viditelnost kaÏdé hrany otvoruzvlá‰È.
framevisi = - (1*j
1 + 2*j
2 + 4*j
3 + 8*j
4 + 16*j
5 + 32*j
6 +
64*j7 + 128*j
8), kde j
1, j2... j
8 mohou b˘t 0 nebo 1. âísla j1
aÏj4
fiídí viditelnost hran otvoru na levé stranû povrchustûny a j5
aÏ j8 ovlivÀují hrany na pravé stranû, jak je vidût
na následujícím obrázku.
j4
j3
j1
j2
j5
j7
j6
j8
Y
Z
X
Hrana, která je kolmá k povrchu stûny, je viditelná, pokud zobou jejích koncov˘ch bodÛ vedou viditelné hrany.
m: poãet fiezn˘ch rovin.
ai, b
i, c
i, d
i : Koeficienty rovnic, definujících rovinu fiezu [a
i*x +
bi*y + c
i*z = d
i].
âásti na kladné stranû fiezné roviny (i.e. ai*x + b
i*y + c
i*z
> di) budou odfiezány a odstranûny.
[ai, bi, ci]
55
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
BWALL_ leftmat, rightmat, sidemat,v˘‰ka, x
1, x
2, x
3, x
4, t, polomûr,
maska1, maska
2, maska
3, maska
4,
n,xbeg
1, spodní
1, xend
1, horní
1, framevis
1,
. . .xbeg
n, spodní
n, xend
n, horní
n, framevis
n,
m,a
1, b
1, c
1, d
1,
. . .a
m, b
m, c
m, d
m
Hladká zakfiivená stûna zaloÏená na stejné datové struktufie, jakoprvek CWALL_.
Jedin˘m pfiidan˘m parametrem je polomûr.
Prvek je odvozen od odpovídajícího povelu CWALL_ zakfiivenímroviny 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 ymají radiální smûr a vertikální hrany zÛstávají vertikální. Zakfiiveníje aproximováno poãtem segmentÛ nastaven˘ch pfiíkazemRESOL, podobnû jako koule a válec. Detaily viz CWALL_.
56
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklady: BWALL_ a odpovídající CWALL_
ROTZ -60BWALL_1, 1, 1,4, 0, 6, 6, 0,0.3, 2,15, 15, 15, 15,5,1, 1, 3.8, 2.5, -255,1.8, 0, 3, 2.5, -255,4.1, 1, 4.5, 1.4, -255,4.1, 1.55,4.5, 1.95,-255,4.1, 2.1, 4.5, 2.5, -255,1,0, -0.25, 1, 3
57
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
XWALL_ leftmat, rightmat, sidevmat, sidehmat,v˘‰ka, x
1, x
2, x
3, x
4,
y1, y
2, y
3, y
4,
t, polomûr,reserved1, reserved2,maska
1, maska
2, maska
3, maska
4,
n,xbeg
1, spodní
1, xend
1, horní
1, framevis
1,
...xbeg
n, spodní
n, xend
n, horní
n, framevis
n,
m,a
1, b
1, c
1, d
1,
...a
m, b
m, c
m, d
m
Roz‰ífiená definice zdi, zaloÏená na stejné datové struktufie jakopovel BWALL_.
Pfiidané parametry:
sidevmat, sidehmat: jméno nebo index vertikálních/horizontálních boãních materiálÛ
y1, y
2, y
3, y
4: promítnuté koncové body zdi na rovinu x-y jak je
vidût na tomto obrázku
Y
Xy3
y1
y2
y4
x1 x2 x3 x4
reserved1, reserved2: reserved, always 0.
58
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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
59
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
CROOF_ topmat, botmat, sidemat,n, x
b, y
b, x
e, y
e, v˘‰ka, úhel, tlou‰Èka,
x1, y
1, alfa
1, maska
1,
…,x
n, y
n, alfa
n, maska
n
·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íhomateriálu
n: poãet uzlÛ polygonu stfiechy
xb, y
b, x
e, y
e: 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 (protismûru hodinov˘ch ruãiãek)
tlou‰Èka: tlou‰Èka stfiechy mûfiená kolmo k rovinû stfiechy
xi, y
i: 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˘ vesmûru hrany správnû orientovaného polygonustfiechy.
Hrany polygonu stfiechy jsou orientovány správnû, pokud je vhorním pohledu obrys orientován proti smûru hod. ruãiãek aotvory jsou orientovány ve smûru hod. ruãiãek.
maskai: definuje viditelnost hran stfiechy, viz povel PRISM_.
Omezení parametrÛ:
n > 3
60
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklady:
CROOF_ 1, 1, 1, ! materiály9,0, 0,1, 0, ! referenãní ãára (x1,y1) (x2,y2)0.0, ! v˘‰ka-30, ! úhel2.5, ! tlou‰Èka0, 0, -60, 15,10, 0, 0, 15,10, 20, -30, 15,0, 20, 0, 15,0, 0, 0, -1,2, 5, 0, 15,8, 5, 0, 15,5, 15, 0, 15,2, 5, 0, -1
61
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
L=0.25R=(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
62
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
MESH a, b, m, n, maska,z
11, z
12, . . . z
1m,
z21, z
22, . . . z
2m,�-
. .�
n1, z
n2, . . . z
nm
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, z
ij je v˘‰ka uzlu.
askování
aska = j
1 + 4*j
3 + 16*j
5 + 32*j
6 + 64*j
7
de j1, j
3, j
5, j
6, j
7 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í parametrÛ:
> 2, n > 2
63
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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
64
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
ARMC r1, r
2, 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 > r
2 + d
r1 < l * sin(alfa) - r
2 * cos(alfa)
Y
X
Z
X
alpha
lh
r1
r2
d
Pfiíklad:
ROTY 90CYLIND 10,1ADDZ 6ARMC 1, 0.9, 3, 0, 0, 45ADDZ -1ROTZ -90ARMC 1, 0.75,3, 0, 0, 90ADDZ -1ROTZ -90ARMC 1, 0.6, 3, 0, 0, 135
65
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
ARME l, r1, r
2, h, d
âást trubky vycházející z elipsoidu v rovinû y-z; parametry podleobrázku (poãítají se a kreslí se také prÛnikové kfiivky).
Omezení parametrÛ:
r1 > r
2+ d
l > h*Ã(1 - (r2 - d)2 / r
12)
Z
Y
r2
l
h
r1
d
Pfiíklad :
ELLIPS 3,4FOR i=1 TO 6 ARME 6,4,0.5,3,3.7-0.2*i ROTZ 30NEXT i
66
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
ELBOW r1, alfa, r
2
Segmentov˘ oblouk v rovinû x-z. Polomûr oblouku je r1, úhel jealfa a polomûr segmentu trubky je r2.
Alfa je ve stupních.
Omezení parametrÛ:
r1 > r
2
Z
X
r1alpha
r2
Pfiíklad:
ROTY 90ELBOW 2.5, 180, 1ADDZ -4CYLIND 4,1ROTZ -90MULZ -1ELBOW 5, 180, 1DEL 1ADDX 10CYLIND 4, 1ADDZ 4ROTZ 90ELBOW 2.5, 180, 1
67
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
5.2 Útvary generované zlomen˘ch ãarTyto prvky umoÏÀují vytváfiet komplexní trojrozmûrné tvarypomocí lomen˘ch ãar a zabudovan˘ch pravidel. MÛÏete otáãet,promítat nebo pfiená‰et danou lomenou ãáru. V˘sledná tûlesajsou 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ûmasoufiadnicemi, 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 senekontroluje, ale odstranûní skryt˘ch ãar a interpretace nebudouprovedeny správnû).
Lomené ãáry mohou b˘t otevfiené nebo uzavfiené. Ve druhémpfiípadû prv˘ uzel musí b˘t na konci v˘razu opakován.
68
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Maskování
Hodnoty masek se vyuÏívají pro zobrazení nebo skr˘vánícharakteristick˘ch povrchÛ a/nebo hran 3D tvarÛ. Hodnotymasek jsou specifické pro kaÏd˘ prvek a u nich také mÛÏete najítpodrobn˘ popis
maska = j1 + 2*j
2 + 4*j
3 + 8*j
4 + 16*j
5 + 32*j
6 + 64*j
7
kde j1, j
2, j
3, j
4, j
5, j
6, j
7 mÛÏe b˘t 0 nebo 1.
j1, j
2, j
3, j
4 udávají, zda budou povrchy pfiítomny (1) nebo
vynechány (0).
j5, j
6, j
7 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é ãáryzanechával za sebou pfii rotaci ostrou stopu.
0: v‰echny prostorové oblouky/postranní hranyzaãínající v daném uzlu jsou viditelné.
1: prostorové oblouky/postranní hrany zaãínající vdaném uzlu se pouÏijí pouze k zobrazení obrysu.
-1: pouze pro EXTRUDE: oznaãuje konec opsanéhopolygonu nebo otvoru a udává, Ïe dal‰í uzel sestane prvním uzlem dal‰ího otvoru.
Pro vytvofiení hladkého 3D útvaru nastavte v‰echny hodnotystatutÛ na 1. Status = 0 pouÏijte pro vytvofiení hfiebene.
DoplÀkové hodnoty statutÛ pro oblouky a teãné segmenty jsouvysvûtleny v kapitole “DoplÀkové kódy statutÛ pro lomené ãáry”.Dal‰í hodnoty jsou rezervovány pro budoucí roz‰ífiení.
69
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
EXTRUDE n, dx, dy, dz, maska, x1, y
1, s
1, . . . x
n, y
n, s
n
Obecn˘ hranol o základnû tvofiené lomenou ãáru v rovinû x-y.Lomená ãára nemusí b˘t nutnû uzavfiená a postranní hranynejsou vÏdy kolmé k rovinû x-y. Lomená ãára základny mÛÏeobsahovat 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Û.
si: status boãních hran nebo oznaãuje konec
polygonu nebo otvoru.
Omezení parametrÛ:
n > 2
Z
X 1
2
n
Y
j1
j2
j3
j5
j6
Maskování
maska = j1 + 2*j
2 + 4*j
3 + 16*j
5 + 32*j
6
kde j1, j
2, j
3, j
5, j
6 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é.
70
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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 otvorua udává, Ïe dal‰í uzel bude prvním vrcholemdal‰ího otvoru.
Pfiíklady:
EXTRUDE 14, 1, 1, 4, 1+2+4+16+32,0, 0, 0,1, -3, 0,2, -2, 1,3, -4, 0,4, -2, 1,5, -3, 0,6, 0, 0,3, 4, 0,0, 0, -1,
2, 0, 0,3, 2, 0,4, 0, 0,3, -2, 0,2, 0, -1
71
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
A=5 : B=5 R=2 : S=1 C=R-S D=A-R E=B-REXTRUDE 28, -1, 0, 4, 1+2+4+16+32,
0, 0, 0,D+R*SIN(0), R-R*COS(0), 1,D+R*SIN(15), R-R*COS(15), 1,D+R*SIN(30), R-R*COS(30), 1,D+R*SIN(45), R-R*COS(45), 1,D+R*SIN(60), R-R*COS(60), 1,D+R*SIN(75), R-R*COS(75), 1,D+R*SIN(90), R-R*COS(90), 1,A, B, 0,0, B, 0,0, 0, -1,
C, C, 0,D+S*SIN(0), R-S*COS(0), 1,D+S*SIN(15), R-S*COS(15), 1,D+S*SIN(30), R-S*COS(30), 1,D+S*SIN(45), R-S*COS(45), 1,D+S*SIN(60), R-S*COS(60), 1,D+S*SIN(75), R-S*COS(75), 1,D+S*SIN(90), R-S*COS(90), 1,A-C,B-C,0,R-S*COS(90), E+S*SIN(90), 1,R-S*COS(75), E+S*SIN(75), 1,R-S*COS(60), E+S*SIN(60), 1,R-S*COS(45), E+S*SIN(45), 1,R-S*COS(30), E+S*SIN(30), 1,R-S*COS(15), E+S*SIN(15), 1,R-S*COS(0), E+S*SIN(0), 1,C, C, -1
72
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
PYRAMID n, h, maska, x1, y
1, s
1, . . . x
n, y
n, s
n
Pyramida zaloÏená na lomené ãáfie v rovinû x-y. Vrchol pyramidyje 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
1
Z
2
n
X
j3
j1
Y
j5
h
Maskování
maska = j1 + 4*j
3 + 16*j
5
kde j1, j
3, j
5 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 jsouviditelné.
1 : boãní hrany zaãínající v daném uzlu se pouÏívajípro zobrazení obrysu.
73
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklad:
PYRAMID 4, 1.5, 1+4+16,-2, -2, 0,-2, 2, 0,2, 2, 0,2, -2, 0
PYRAMID 4, 4, 21,-1, -1, 0,1, -1, 0,1, 1, 0,-1, 1, 0
ADDX -1.4ADDY -1.4GOSUB 100ADDX 2.8GOSUB 100ADDY 2.8GOSUB 100ADDX -2.8GOSUB 100END
100:PYRAMID 4, 1.5, 21,
-0.25, -0.25, 0,0.25, -0.25, 0,0.25, 0.25, 0,-0.25, 0.25, 0
RETURN
74
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
REVOLVE n, alfa, maska, x1, y
1, s
1, . . . x
n, y
n, s
n
Povrch generovan˘ rotací lomené ãáry definované v rovinû x-ykolem 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 y
i + 1 (tj. y hodnota dvou sousedních uzlÛ) souãasnû
nesmí b˘t nula.
j6
j1
j3
j2
j4
1
n
Z
2
Y
j5
alpha
75
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Maskování
maska = j1 + 2*j
2 + 4*j
3 + 8*j
4 + 16*j
5 + 32*j
6 + 64*j
7
kde j1, j
2, j
3, j
4, j
5, j
6, j
7 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 jsouviditelné.
j6 (32): hrany boãního povrchu v koncovém úhlu jsouviditelné.
j7 (64): hrany prÛfiezu jsou viditelné, plocha není hladká
Hodnoty statutÛ
0: v‰echny prostorové oblouky zaãínající v danémuzlu jsou viditelné.
1: prostorové oblouky zaãínající v daném uzlu sepouÏijí pro zobrazení obrysu.
2 : pfii pouÏití rendrování ArchiCADu nebo Z-bufferu anastavení hladk˘ch povrchÛ bude vodorovnáhrana, patfiící tomuto bodu definovat zlom. Totofie‰ení je ekvivalentní definici doplÀkov˘ch uzlÛ,v˘poãet provádí kompilátor. Pfii pouÏití jin˘chrendrovacích technologií má hodnota stejn˘ efektjako 0.
Pfiíklady:
76
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
ROTY -90REVOLVE 22, 360, 1+64,
0, 1.982, 0,0.093, 2, 0,0.144, 1.845, 0,0.220, 1.701, 0,0.318, 1.571, 0,0.436, 1.459, 0,0.617, 1.263, 0,0.772, 1.045, 0,0.896, 0.808, 0,0.987, 0.557, 0,1.044, 0.296, 0,1.064, 0.030, 0,1.167, 0.024, 0,1.181, 0.056, 0,1.205, 0.081, 0,1.236, 0.096, 0,1.270, 0.1, 0,1.304, 0.092, 0,1.333, 0.073, 0,1.354, 0.045, 0,1.364, 0.012, 0,1.564, 0, 0
77
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
fie‰ení bez statutu 2: stejn˘ v˘sledek se statutem 2:
ROTY -90 ROTY -90REVOLVE 26, 180, 16+32, REVOLVE 18, 180, 48, 7, 1, 0, 7, 1, 0, 6.0001, 1, 1, 6, 1, 2, 6, 1, 0, 5.5, 2, 2, 5.9999, 1.0002, 1, 5, 1, 2, 5.5001, 1.9998, 1, 4, 1, 2, 5.5, 2, 0, 3+COS(15), 1+SIN(15), 1, 5.4999, 1.9998, 1, 3+COS(30), 1+SIN(30), 1, 5.0001, 1.0002, 1, 3+COS(45), 1+SIN(45), 1, 5, 1, 0, 3+COS(60), 1+SIN(60), 1, 4.9999, 1, 1, 3+COS(75), 1+SIN(75), 1, 4.0001, 1, 1, 3, 2, 1, 4, 1, 0, 3+COS(105), 1+SIN(105), 1, 3+COS(15), 1+SIN(15), 1, 3+COS(120), 1+SIN(120), 1, 3+COS(30), 1+SIN(30), 1, 3+COS(135), 1+SIN(135), 1, 3+COS(45), 1+SIN(45), 1, 3+COS(150), 1+SIN(150), 1, 3+COS(60), 1+SIN(60), 1, 3+COS(165), 1+SIN(165), 1, 3+COS(75), 1+SIN(75), 1, 2, 1, 2, 3, 2, 1, 1, 1, 0 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
78
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
RULED n, maska,u
1, v
1, s
1, . . . u
n, v
n, s
n,
x1, y
1, z
1, . . . x
n, y
n, z
n
RULED je povrch zaloÏen˘ na jedné rovinné kfiivce a jednéprostorové kfiivce, které mají stejn˘ poãet uzlÛ. Odpovídající uzlyobou lomen˘ch ãar spojují ãárové segmenty. Je to jedin˘ prvekGDL, 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íhopolygonu a viditelnost hran zdrojov˘ch polygonÛ.Boãní polygon spojuje první a poslední uzelkfiivek, 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
j3
j61
n
j2
j5
1
Z
2
n
Xj1
Y
2
79
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Maskování�
maska = j
1 + 2*j
2 + 4*j
3 + 16*j
5 + 32*j
6 + 64*j
7
kde j1, j
2, j
3, j
5, j
6, j
7 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íknebo 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 uzlujsou viditelné.
1: postranní hrany vycházející z daného uzlu sepouÏiijí pro zobrazení obrysu.
Pfiíklady:
80
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
R=3RULED 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
81
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
SWEEP n, m, alfa, mûfiítko, maska,u
1, v
1, s
1, . . . u
n, v
n, s
n,
x1, y
1, z
1, . . . x
m, y
m, z
m
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 jepfiesunuta podél osy z do roviny x-y.
PrÛfiez v bodû (xi, y
i, z
i) je kolm˘ k segmentu prostorové kfiivky
mezi body (xi-1, y
i-1, z
i-1) a (x
i, y
i, z
i).
Povel SWEEP mÛÏete pouÏít pro modelování hubiãky konvice ajin˘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û mezidvûma sousedními uzly.
mûfiítko: pfiírÛstkov˘ faktor zmûny mûfiítka lomené ãárymezi dvûma sousedními uzly dráhy.
maska: ovládá existenci spodního a horního polygonu ahran.
ui, v
i : soufiadnice uzlÛ lomené ãáry.
si : status boãních hran.
xi, y
i, z
i : soufiadnice uzlÛ dráhy.
Omezení parametrÛ:
n > 1
m > 1
z1 < z2
82
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Maskování
maska = j
1 + 2*j
2 + 4*j
3 + 16*j
5 + 32*j
6 + 64*j
7
kde j1, j
2, j
3, j
5, j
6, j
7 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.
j3
j2
j5
j6
2
1
Z
2
n
Xj1
Y
m
1
Hodnoty statutÛ
0 : v‰echny boãní hrany vycházející z daného uzlujsou viditelné.
1 : boãní hrany vycházející z daného uzlu se pouÏívajípro zobrazení obrysu.
Pfiíklady:
83
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
SWEEP 4, 12, 7.5, 1, 1+2+4+16+32,-0.5, -0.25, 0, 0.5, -0.25, 0, 0.5, 0.25, 0, 0.5, 0.25, 0,
0, 0, 0.5,0, 0, 1,0, 0, 1.5,0, 0, 2,0, 0, 2.5,0, 0, 3,0, 0, 3.5,0, 0, 4,0, 0, 4.5,0, 0, 5,0, 0, 5.5,0, 0, 6
84
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
TUBE n, m, maska,u
1, w
1, s
1,
. . .u
n, w
n, s
n,
x1, y
1, z
1, úhel
1,
. . .x
m, y
m, z
m, úhel
m
Povrch generovan˘ posunem lomené ãáry po prostorové kfiivcebez 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 kloká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 Wv pfiedchozím uzlu dráhy urãuje horizontální smûr.
Polygon prÛfiezu trubky mûfien˘ ve stfiedu segmentu dráhy jevÏdy shodn˘ s polygonem základny (u
1, w
1, ... u
n, w
n). Polygony
prÛfiezu ve spojovacích uzlech jsou umístûny v rovinû osy úhluspojovacích segmentÛ. Polygon základny musí b˘t uzavfien.
n: poãet hran lomené ãáry
m: poãet hran dráhy
ui, w
i: soufiadnice vrcholÛ lomené ãáry
si: status boãních hran
xi, y
i, z
i: soufiadnice vrcholÛ dráhy
(Kfiivka zahrnuje o dva body více, neÏ je poãetgenerovan˘ch fiezÛ. První a poslední bod urãujíprostorové umístûní prvního a posledního povrchuTUBE. 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ûmtodvûma koncov˘m bodÛm, kdyby trubkapokraãovala jimi naznaãen˘m smûrem.)
85
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
úheli: úhel rotace prÛfiezu
Maskování
maska = j
1 + 2*j
2 + 16*j
5 + 32*j
6 + 64*j
7
kde j1, j
2, j
5, j
6, j
7 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, y
1, z
1) jsou viditelné.
j6
(32): koncové hrany (v bodû xm, y
m, z
m) jsou viditelné.
j7
(64): hrany prÛfiezu jsou viditelné, povrch je zv˘raznûn.
Omezení parametrÛ:
n > 2
m > 3
W
U
Wm
m-1
21
alpha
V
U
Hodnoty statutÛ
0 : v‰echny boãní hrany vycházející z daného uzlujsou viditelné.
1 : boãní hrany vycházející z daného uzlu se pouÏívajípro zobrazení obrysu.
86
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklady:
TUBE 4, 18, 16+32,2.0, 0.0, 0,0.0, 0.0, 0,0.0, 0.4, 0,2.0, 0.4, 0,
-1, 0, 0, 0,0, 0, 0, 0,4, 0, 0.1, 0,6, 0, 0.15, 0,6+4*SIN(15), 4 - 4*COS(15), 0.2, 0,6+4*SIN(30), 4 - 4*COS(30), 0.25, 0,6+4*SIN(45), 4 - 4*COS(45), 0.3, 0,6+4*SIN(60), 4 - 4*COS(60), 0.35, 0,6+4*SIN(75), 4 - 4*COS(75), 0.4, 0,10, 4, 0.45, 0,6+4*SIN(105),4 - 4*COS(105), 0.5, 0,6+4*SIN(120),4 - 4*COS(120), 0.55, 0,6+4*SIN(135),4 - 4*COS(135), 0.6, 0,6+4*SIN(150),4 - 4*COS(150), 0.65, 0,6+4*SIN(165),4 - 4*cos(165), 0.7, 0,6, 8, 0.75, 0,0, 8, 1, 0,-1, 8, 1, 0
87
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
TUBE 14, 6, 1+2+16+32,0, 0,0,0.03, 0,0,0.03, 0.02, 0,0.06, 0.02, 0,0.05, 0.0699, 0,0.05, 0.07, 1,0.05, 0.15, 901,1, 0, 801,0.08, 90, 2000,0.19, 0.15, 0,0.19, 0.19, 0,0.25, 0.19, 0,0.25, 0.25, 0,0, 0.25, 0,0, 1, 0, 0,0, 0.0001, 0, 0,0, 0, 0, 0,-0.8, 0, 0, 0,-0.8, 0.0001, 0, 0,-0.8, 1, 0, 0
88
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
TUBE 3, 7, 16+32,0, 0, 0,-0.5, 0, 0,0, 0.5, 0,
0.2, 0, -0.2, 0,0, 0, 0, 0,0, 0, 5, 0,3, 0, 5, 0,3, 4, 5, 0,3, 4, 0, 0,3, 3.8, -0.2, 0
89
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
TUBEA n, m, maska,u
1, w
1, s
1,
. . .u
n, w
n, s
n,
x1, y
1, z
1,
. . .x
m, y
m, z
m
2m-1 m1
1
n
bisector plane
TUBEA je povrch generovan˘ posunem lomené ãárypodé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 (u
1, w
1, ... u
n, w
n)
a je situován v rovinû osy úhlu projekce spojovacíchsegmentÛ do lokální x-y roviny. Polygon základny mÛÏeb˘t otevfien: V tom pfiípadû budou polygony prÛfiezugenerovány tak, aby dosáhly lokální x-y roviny jako vpfiípadû povrchÛ REVOLVE.
PrÛfiez trubky mûfien˘ ve stfiedu segmentu dráhy mÛÏeb˘t odli‰n˘ od polygonu základny.
Pfiíklady:
90
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
TUBEA 9, 7, 1 + 2 + 16 + 32,-1, 1, 0,0, 2, 0,0.8, 2, 0,0.8, 1.6, 0,0.8001, 1.6, 1,3.2, 1.6, 0,3.2, 2, 0,4, 2, 0,5, 1, 0,0, -7, 0,0, 0, 0,4, 0, 1,9, 3, 2.25,9, 10, 2.25,14, 10, 2.25,20, 15, 5
91
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
COONS n, m, maska,x1
1, y1
1, z1
1, . . . x1
n, y1
n, z1
n,
x21, y2
1, z2
1, . . . x2
n, y2
n, z2
n,
x31, y3
1, z3
1, . . . x3
m, y3
m, z3
m,
x41, y4
1, z4
1, . . . x4
m, y4
m, z4
m
Povrch generovan˘ ze 4 okrajov˘ch kfiivek.
Maskování
maska = 4*j
3 + 8*j
4 + 16*j
5 + 32*j
6 + 64*j
7
kde j3, j
4, j
5, j
6, j
7 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
4(m)
2(n)
3(m)
n)
Z
Y
X
92
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklady:
COONS 6, 6, 4+8+16+32+64,!1. okraj, n=60, 0, 5,1, 0, 4,2, 0, 3,3, 0, 2,4, 0, 1,5, 0, 0,
!2. okraj, n=60, 5, 0,1, 5, 1,2, 5, 2,3, 5, 3,4, 5, 4,5, 5, 5,
!3. okraj, m=60, 0, 5,0, 1, 4,0, 2, 3,0, 3, 2,0, 4, 1,0, 5, 0,
!4. okraj, m=65, 0, 0,5, 1, 1,5, 2, 2,5, 3, 3,5, 4, 4,5, 5, 5
93
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
ROTZ -90ROTY 90COONS 7, 6, 4+8+16+32+64,
!1. okraj, n=71, 2, 0,0.5, 1, 0, 0.2, 0.5, 0,-0.5, 0, 0, 0.2, -0.5, 0,0.5, -1, 0,1, -2, 0,!2. okraj, n=76, 10, -2,6.5, 4, -1.5,5, 1, -1.2,4, 0, -1,5, -1, -1.2,6.5, -4, -1.5,6, -10, -2,
!3. okraj, m=61, 2, 0,2, 4, -0.5,3, 6, -1,4, 8, -1.5,5, 9, -1.8,6, 10, -2,!4. okraj, m=61, -2, 0,2, -4, -0.5,3, -6, -1,4, -8, -1.5,5, -9, -1.8,6, -10, -2
94
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
MASS topmat, botmat, sidemat, n, m, maska, h,x
1, y
1, z
1, s
1,
. . .x
n, y
n, z
n, s
n,
xn+1
, yn+1
, zn+1
, sn+1
, . . .x
n+m, y
n+m, z
n+m, s
n+m
topmat, botmat, sidemat:
jméno/index horního, spodního a boãníhomateriá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, y
i, z
i : soufiadnice uzlÛ
si : jako u povelu PRISM_
Maskování
maska = j
1 + 4*j
3 + 16*j
5 + 32*j
6 + 64*j
7
kde j1, j
3, j
5, j
6, j
7 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
dz plane
1
2
n
m-1
m
95
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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, 22, 8, 0,28, 22, 8, -1,23, 17, 5, 0,23, 0, 5, -1,13, 13, 1, 0,13, 0, 1, -1,16, 0, 7, 0,16, 19, 7, -1, 0, 20, 8, 0,28, 20, 8, -1,19, 17, 5, 0,19, 0, 5, -1
96
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
5.3 Prvky pro vizualizaciLIGHT ãervená, zelená, modrá, stín,
polomûr, alfa, beta, angfalloff,dist1, dist2, distfalloff
Svûteln˘ zdroj vyzafiuje barevné [ãervená, zelená, modrá] svûtlo zlokálního poãátku podél lokální osy x. Svûtlo je vyzafiovánorovnobûÏ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 nulovouintenzitu se sníÏí v kuÏelu o úhlu beta. Tento úbytek svûtla jeovládán parametrem angfalloff. (Nula vytvofií ostré hrany svûtla,vy‰‰í hodnoty znamenají �plynulé pfiechody.) Svûteln˘ efekt jepodél osy omezen hodnotami dist1 a dist2. Parametr distfallofffiídí sníÏení intenzity v závislosti na vzdálenosti. (Nulová hodnotavytvá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
dist1
dist2
betaalpha
radi
us
intensity
97
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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, ! RGB 1, ! v po et stínÛ 1.0, ! polomûr 45.0,60.0, ! angle1, angle2 0.3, ! angfalloff 1.0,10.0, ! dist1, dist2 0.2 ! distfalloff
Dialog knihovního prvku pro svûtla ArchiCADu:
98
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
âást odpovídající GDL popisu:
IF C = 0 GOTO 10LIGHT G/100*D, G/100*E, G/100*F, !RGB...10:
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
99
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
PICTURE v˘raz, a, b, maska
Obrázek pro fotorealistické zobrazení.
V˘raz typu fietûzec znamená jméno souboru, ãíseln˘ v˘raz jeindex 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 pfiiuklá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 vlibovolné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˘tprÛ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 bezdeformace
4: vsadí obrázek do stfiedu obdélníka, vyplníobdélník obrázkem bez deformace mûfiítka ãirozmûrÛ
100
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
5.4 Textov˘ prvekTEXT d, 0, v˘raz
3D zobrazení znakového nebo numerického v˘razu. Viz DEFINESTYLE 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, 0SET STYLE "aa"TEXT 0.005, 0, "3D Text"
jméno = "Grand"
ROTX 90ROTY -30TEXT 0.003, 0, jméno
ADDX STW (jméno)/1000ROTY 60TEXT 0.003, 0, "Hotel"
Pozn.: KvÛli kompatibilitû s 2D GDL popisem je v˘‰ka znakÛ vpovelu DEFINE STYLE vÏdy interpretována v mm.
101
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
5.5 Primitivní prvkyPrimitivy 3D datové struktury jsou VERT, VECT, HRANA, PGON aBODY. 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 BASEnastavuje indexy na 1. Pro kaÏdou hranu se ukládají indexy dvoupfiiléhl˘ch polygonÛ (maximálnû 2). Orientace hran je definovánadvû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ûmapolygonÛm. V pfiípadû uzavfien˘ch tûles je orientace polygonusprávná, pokud má hrana rÛzné pfiedpony v seznamu hranpfií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 jeproti smûru hodinov˘ch ruãiãek (matematicky pozitivní), pokudse díváte z vnûj‰ku. Orientace otvorÛ je opaãná vzhledem kzákladnímu polygonu. Normálové vektory otevfieného tûlesamusí 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 nebointerpretaã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 ajejich pfiilehl˘ch polygonÛ. To je automaticky nastaveno usloÏit˘ch zakfiiven˘ch prvkÛ, v pfiípadû primitivních prvkÛ v‰akmusíte tyto bity sami správnû specifikovat.
102
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
V pfiípadû zjednodu‰ené definice (PGON.ivect = 0 neboPGON.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ûhemprová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íkazuBASE.
Hodnoty statutÛ se pouÏívají pro uloÏení speciálních informací oprimitivní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í hodnotoupro 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 soufiadnicetextury. Lze jej pouÏít namísto povelu VERT, pokud jsoupoÏadovány uÏivatelsky definované soufiadnice textury místoautomatické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íhotû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 vefotozobrazení, ale nikoli pfii zobrazení vektorov˘ch v˘plní.
103
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
VECT x, y, z
Definice normálového vektoru polygonu pomocí 3 soufiadnic. Vpfiípadû zjednodu‰ené definice (PGON.ivect = 0) mohou b˘t tytopfiíkazy vynechány.
EDGE vert1, vert
2, pgon
1, pgon
2, status
Definice hrany.
vert1, vert
2 : indexy koncov˘ch bodÛ.
Indexy vert1 a vert
2 musí b˘t rozdílné a vztahují se k dfiíve
definovan˘m VERTs.
pgon1, pgon
2 :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).
104
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
PGON n, ivect, status, hrana1, hrana
2, . . . hrana
n
n: poãet hran v seznamu hran.
ivect: index normálového vektoru. Musí se vztahovat kdfiíve definovanému VECT.
Pokud ivect = 0, ArchiCAD vypoãítá normálov˘vektor bûhem anal˘zy.
Indexy hrana1, hrana
2, . . . hrana
n se musí vztahovat k dfiíve
definovan˘m HRANA. Hodnota 0 znamená zaãátek nebo konecdefinice otvoru.
Negativní index mûní smûr uloÏeného normálového vektorunebo hrany na opaãn˘ v rámci polygonu. (UloÏen˘ vektor nebohrana 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á statuspolygonu (jako konkávní polygon nebo polygon s otvorem).
n = 0 je povolen pro speciální úãely.
105
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
PIPG soubor, a, b, maska, n, ivect, status, hrana1, hrana
2, . . . hrana
n
Definice polygonu obrázku. První 4 parametry jsou stejné jako uprvku PICTURE, zb˘vající jsou stejné jako u prvku PGON.
COOR wrap, vert1, vert
2, vert
3, vert
4
Lokální soufiadn˘ systém povelu BODY pro pfiilepení v˘plnû atextury.
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 aspodního povrchu dostanete pfiilepení ve tvarukruhu.
Typy projekce:
256: v˘plÀ vÏdy zaãíná v poãátku lokálníhosoufiadného systému
1024: kvadratická projekce textury(doporuãeno)
2048: lineární projekce textury zaloÏená naprÛmûrné vzdálenosti
4096: lineární projekce textury zaloÏená natriangulaci normálPoslední 3 hodnoty jsou efektivní pouzes uÏivatelsky definovan˘mi soufiadnicemitextury (viz povel TEVE).
vert1: index VERT, pfiedstavující poãátek lokálního
soufiadného systému.
vert2, vert
3, vert
4:
indexy VERT definující 3 soufiadné osy.
PouÏijte znaménko mínus pfied indexem VERT, pokud sepouÏívají pouze pro definování lokálního soufiadného systému.
106
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklad pro osy uÏivatelské textury:
X
Y
X'
Y'
Z
Z'
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
BASEVERT 1, 0, 0 !#1VERT 1, 1, 1 !#2VERT 0, 0, 0 !#3VERT 1, 0, 1 !#4COOR 2, -1, -2, -3, -4BODY 1
107
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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á plochanezaãíná na plo‰e fiezu.
32 tûleso vÏdy vrhá stín nezávisle na automatickémpfiednastavené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:
1
3
Y
7
X
Z
5 8
4
6
2
108
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
1: Úpln˘ popis
VERT 0.0, 0.0, 0.0 !#1VERT 1.0, 0.0, 0.0 !#2VERT 1.0, 1.0, 0.0 !#3VERT 0.0, 1.0, 0.0 !#4VERT 0.0, 0.0, 1.0 !#5VERT 1.0, 0.0, 1.0 !#6VERT 1.0, 1.0, 1.0 !#7VERT 0.0, 1.0, 1.0 !#8EDGE 1, 2, 1, 3, 0 !#1EDGE 2, 3, 1, 4, 0 !#2EDGE 3, 4, 1, 5, 0 !#3EDGE 4, 1, 1, 6, 0 !#4EDGE 5, 6, 2, 3, 0 !#5EDGE 6, 7, 2, 4, 0 !#6EDGE 7, 8, 2, 5, 0 !#7EDGE 8, 5, 2, 6, 0 !#8EDGE 1, 5, 6, 3, 0 !#9EDGE 2, 6, 3, 4, 0 !#10EDGE 3, 7, 4, 5, 0 !#11EDGE 4, 8, 5, 6, 0 !#12VECT 1.0, 0.0, 0.0 !#1VECT 0.0, 1.0, 0.0 !#2VECT 0.0, 0.0, 1.0 !#3PGON 4, -3, 0, -1, -4, -3, -2 !#1
!VERT1,2,3,4PGON 4, 3, 0, 5, 6, 7, 8 !#2
!VERT5,6,7,8PGON 4, -2, 0, 1, 10, -5, -9 !#3
!VERT1,2,5,6PGON 4, 1, 0, 2, 11, -6, -10 !#4
!VERT2,3,6,7PGON 4, 2, 0, 3, 12, -7, -11 !#5
!VERT3,4,7,8PGON 4, -1, 0, 4, 9, -8, -12 !#6
!VERT1,4,5,8BODY 1 !CUBE
109
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
2: (bez pfiímého odkazu na polygony nebo vektory, ArchiCADje vypoãítá)
VERT 0.0, 0.0, 0.0 !#1VERT 1.0, 0.0, 0.0 !#2VERT 1.0, 1.0, 0.0 !#3VERT 0.0, 1.0, 0.0 !#4VERT 0.0, 0.0, 1.0 !#5VERT 1.0, 0.0, 1.0 !#6VERT 1.0, 1.0, 1.0 !#7VERT 0.0, 1.0, 1.0 !#8EDGE 1, 2, -1, -1, 0 !#1EDGE 2, 3, -1, -1, 0 !#2EDGE 3, 4, -1, -1, 0 !#3EDGE 4, 1, -1, -1, 0 !#4EDGE 5, 6, -1, -1, 0 !#5EDGE 6, 7, -1, -1, 0 !#6EDGE 7, 8, -1, -1, 0 !#7EDGE 8, 5, -1, -1, 0 !#8EDGE 1, 5, -1, -1, 0 !#9EDGE 2, 6, -1, -1, 0 !#10EDGE 3, 7, -1, -1, 0 !#11EDGE 4, 8, -1, -1, 0 !#12PGON 4, 0, -1, -1, -4, -3, -2 !#1
!VERT1,2,3,4PGON 4, 0, -1, 5, 6, 7, 8 !#2
!VERT5,6,7,8PGON 4, 0, -1, 1, 10, -5, -9 !#3
!VERT1,2,5,6PGON 4, 0, -1, 2, 11, -6, -10 !#4
!VERT2,3,6,7PGON 4, 0, -1, 3, 12, -7, -11 !#5
!VERT3,4,7,8PGON 4, 0, -1, 4, 9, -8, -12 !#6
!VERT1,4,5,8BODY -1 !CUBE
BASE
Resetuje poãítadla pro základní geometrické prvky (VERT, VECT,EDGE a PGON). Implictnû je povel vydáván po kaÏdé definicisloÏeného prvku.
110
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
5.6 PouÏívání binárních 3D datBINARY reÏim [, ãást]
Speciální pfiíkaz k zahrnutí vnitfiních binárních objektÛ do GDLmakra. Sada vrcholÛ, vektorÛ, hran, polygonÛ, tûles a materiálÛse naãte ze speciální ãásti souboru knihovního prvku. Ty setransformují podle aktuálních transformací a zaãlení do 3Dmodelu. Data obsaÏená v binární ãásti nelze editovat.
reÏim:
0: platí aktuální nastavení pro PEN (pero) aMATERIAL
1: aktuální hodnoty PEN a MATERIAL se neuplatní.Knihovní prvek bude zobrazen s uloÏen˘midefinicemi pro barvy a materiál. Vzhled povrchu jekonstantní
2: pouÏijí se uloÏená nastavení pro PEN a MATERIAL,nedefinované materiály jsou nahrazeny aktuálnímnastavením.
3: pouÏijí se uloÏená nastavení pro PEN a MATERIAL,nedefinované materiály jsou nahrazeny uloÏen˘miimplicitními atributy.
ãást: index binárního prvku, od 1 do 16
PouÏitím 0 jako indexu ãásti se mÛÏete odkazovat souãasnû kev‰em existujícím binárním prvkÛm.
Jedinû ãást s indexem 1 mÛÏe b˘t uloÏena z GDL, odkazují se knû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 dobinárního formátu.
Je moÏné uloÏit knihovní prvek ArchiCADu v binárním tvarupomocí pfiíkazu Otevfiít knihovní prvek v menu� Soubor.
Pomocí pfiíkazu UloÏit jako... mÛÏete ukládat z hlavníhoeditaãního okna Knihovní prvek v binárním tvaru. Je-li zatrÏenopolíãko UloÏit v binárním tvaru v dialogu UloÏit jako..., pak GDLtext aktuálního knihovního prvku bude nahrazen binárnímpopisem.
111
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pokyn: UloÏením 3D modelu po vytvofiení 3D fiezu vbinárním formátu uloÏíte sefiíznut˘ model. Tak mÛÏetevytváfiet ofiezané tvary.
SvÛj knihovní prvek mÛÏete uloÏit v binárním tvaru, pouzejestliÏe jiÏ byl vygenerován 3D model, jin˘mi slovy, jestliÏe jstevidûli 3D zobrazení prvku alespoÀ jednou.
Náhradou GDL popisu binárním popisem knihovního prvkumÛÏ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.
112
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
5.7 ¤ezy ve 3DCUTPLANE [x, y, z [, strana]]
[stmt1stmt2...stmtn]
CUTEND
nebo
CUTPLANE úhel[stmt1stmt2...stmtn]
CUTEND
Vytváfií fieznou rovinu a odstraÀuje odfiíznuté ãásti uzavfien˘chtvarÛ. 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 rovinoufiezu a rovinou x-y
2 parametry: rovina fiezu je rovnobûÏná s osou z, prochází osamix 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í osybudou odstranûny.
Libovoln˘ poãet a druh povelÛ mÛÏe b˘t mezi CUTPLANE aCUTEND. Také makra mohou obsahovat CUTPLANE.
Parametry CUTPLANE se vztahují k aktuálnímu soufiadnicovémusystému.
Transformace mezi CUTPLANE a CUTEND nemají vliv nasamotnou rovinu fiezu, ale v‰echny následující CUTPLANE budou
113
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
transformovány. Tedy: pouÏívejte jen tolik transformací knastavení CUTPLANE, kolik je nezbytné, poté tyto transformacepfied 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, jehoCUTPLANE bude ovlivÀovat v‰echny tvary aÏ do konce popisu.
CUTPLANE v makrech ovlivÀují pouze tvary v makru, dokonce ikdyÏ chybí CUTEND.
Je-li mezi CUTPLANE a CUTEND voláno makro, tvary v makrubudou fiezány.
Aktuální nastavení materiálu, pera a v˘pnû se projeví nafiezan˘ch povr‰ích.
Pozor na následující:
- Pokud CUTPLANE není uzavfien CUTENDem, mohou vnejhor‰ím pfiípadû b˘t odstranûny v‰echny tvary. Protobudete 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, ÏeCUTPLANE je ve ‰patné pozici, kdyÏ ve skuteãnosti bylyodsunuty celé ãásti.
Pfiíklady:
CUTPLANE 2, 2, 4CUTPLANE -2, 2, 4CUTPLANE -2, -2, 4CUTPLANE 2, -2, 4
ADD -1, -1, 0BRICK 2, 2, 4DEL 1
CUTENDCUTENDCUTENDCUTEND
114
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
CUTPLANE CUTPLANE 1, 1, 0, 1 SPHERE 2 SPHERE 2CUTEND CUTEND
CUTPLANE 1.8, 1.8, CUTPLANE 1.8, 1.8, 1.8 1.8, 1 SPHERE 2 SPHERE 2CUTEND CUTEND
CUTPLANE 60 CUTPLANE -120 BRICK 2, 2, 2 BRICK 2, 2, 2CUTEND CUTEND
115
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
CUTPOLY n,x
1, y
1, . . . x
n, y
n
[, x, y, z][stmt1stmt2...stmtn]
CUTEND
Ekvivalent povelu CUTPLANE, parametry povelu CUTPOLY sevztahují k aktuálnímu soufiadnému systému. Polygony musí b˘tkonvexní a nesmí se protínat. Smûr fiezu je osa Z nebo lzespecifikovat voliteln˘ (x, y, z) vektor.
Parametry definují nekoneãnou "trubku": prufiez trubky jepolygonální, smûr fiezu je smûr trubky. V‰e uvnitfi trubky budeodstranûno.
Pfiíklady:
ROTX 90MULZ -1CUTPOLY 3,
0.5, 1,2, 2,3.5, 1,-1.8,0, 1
DEL 1BPRISM_ "ã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
116
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
A=1.0D=0.1CUTPOLY 4,
D, D,A-D, D,A-D, A-D,D, A-D
ROTX -90CUTPOLY 4,
D, D,A-D, D,A-D, A-D,D, A-D
DEL 1ROTY 90CUTPOLY 4,
D, D,A-D, D,A-D, A-D,D, A-D
DEL 1BLOCKA, A, A
CUTENDCUTENDCUTEND
117
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
ROTX 90FOR I=1 TO 3
FOR J=1 TO 5 CUTPOLY 4,
0, 0, 1, 0,1, 1, 0, 1
ADDX 1.2NEXT JDEL 5ADDY 1.2
NEXT IDEL NTR()-1ADD -0.2, -0.2,0BRICK 6.2, 3.8, 1FOR K=1 TO 15
CUTENDNEXT KDEL TOP
118
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
CUTPOLYA n, status, d,x
1, y
1, maska
1, . . . x
n, y
n, maska
n
[, x, y, z][stmt1stmt2...stmtn]
CUTEND
Ekvivalent definice CUTPOLY, ale s moÏností ovládat viditelnosthrany generovan˘ch polygonÛ. ¤ez tvofií z jedné stranynekoneãnou trubku definovanou polygonálním prÛfiezem. Konecfiezného tvaru nesmí viset dolÛ do tûlesa.
i
Y
X
Z
jj
j
i+11
2 3
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 koncemtrubkyd = 0 znamená fiez nekoneãnou trubkou
maskai: jako u povelu PRISM_
maskai = j
1 + 2 * j
2 + 4 * j
3
119
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklad:
ROTX 90FOR 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 1NEXT JDEL 5ADDY 1
NEXT IDEL NTR()-1ADD -0.2, -0.2,0BRICK 5.4, 3.4, 0.5FOR K=1 TO 15
CUTENDNEXT KDEL TOP
120
Kapitola 5: Trojrozmûrné útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
CUTSHAPE d[stmt1stmt2...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, ãástnad rovinou X-Y s 0 < x < d bude odstranûna.
FOR I = 1 TO 5ADDX 0.4 * IADDZ 2.5CUTSHAPE 0.4DEL 2ADDX 0.4
NEXT IDEL TOPBRICK 4.4, 0.5, 4FOR I = 1 TO 5
CUTENDNEXT I
121
Kapitola 6: 2D útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
6 Dvojrozmûrné útvary
122
Kapitola 6: 2D útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
6.1 Kresebné prvky
HOTSPOT2 x, y
(x, y)
Y
X
LINE2 x1, y
1, x
2, y
2
Y
(x1, y1)
X
(x2, y2)
RECT2 x1, y
1, x
2, y
2
Y
(x1, y1)
X
(x2, y2)
123
Kapitola 6: 2D útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
POLY2 n, rámv˘plnû, x1, y
1, .... x
n, y
n
Otevfien˘ nebo uzavfien˘ polygon o n hranách.
Omezení parametrÛ:
n > 2
n
12
Y
X
rámv˘plnû = j1 + 2*j
2 + 4*j
3
kde j1, j
2, j
3 mÛÏe b˘t 0 nebo 1.
j1
(1): pouze obrys
j2
(2): pouze v˘plÀ
j3
(4): uzavfie otevfien˘ polygon.
POLY2_ n, rámv˘plnû, x1, y
1, maska
1, .... x
n, y
n, maska
n
Ekvivalent povelu POLY2, ale nûkteré hrany mohou b˘tvynechány. JestliÏe je maska
i = 0, hrana vycházející z xi, yi bude
vynechána. JestliÏe je maskai = 1, vrchol se zobrazí. Maska
i = 1 se
pouÏívá k pfiímé definici otvorÛ. Více informací viz PRISM_.
Omezení parametrÛ:
n > 2
n
12
Y
X
124
Kapitola 6: 2D útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
rámv˘plnû = j1 + 2*j
2 + 4*j
3
kde j1, j
2, j
3 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û,x
1, y
1, maska
1, ..., x
n, y
n, maska
n
POLY2_B n, rámv˘plnû, perov˘plnû,peropozadív˘plnû,x
1, y
1, maska
1, ..., x
n, y
n, maska
n
Pokroãilá verze povelu POLY2_ s pfiidan˘mi parametry: perov˘plnû a pero pozadí v˘plnû. V‰echny ostatní parametry jsoustejné jako parametry popsané u povelu POLY2_.
ARC2 x, y, r, alfa, beta
Oblouk se stfiedem v bodû (x, y) vymezen˘ úhly alfa a beta, opolomûru r.
Alfa a beta jsou ve stupních.
(x, y)
beta
alpha
X
Yr
125
Kapitola 6: 2D útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
CIRCLE2 x, y, r
KruÏnice se stfiedem v bodû (x, y) a polomûrem r.
(x, y)YY
X
r
SPLINE2 n, status, x1, y
1, úhel
1,…, x
n, y
n, úhel
n
Omezení:
n ≥ 2
Kfiivka o n fiídících bodech. Teãna kekfiivcev fiídícím bodû (xi,Êy
i)
je definována úhlemi, úhlem s osou x ve stupních.
(x ,y )1 n
angle i
ii i
X
Y
Hodnoty statutu:
0: implicitní
1: uzavfiená kfiivka, poslední a první uzel kfiivky sespojí 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í algoritmusautomatického vyhlazení.
126
Kapitola 6: 2D útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklady:
SPLINE2 5, 2,0, 0, 60,1, 2, 30,1.5, 1.5, -30,3, 4, 45,4, 3, -45
n = 5FOR I = 1 TO nSPLINE2 4, 0,
0.0, 2.0, 135.0,-1.0, 1.8, 240.0,-1.0, 1.0, 290.0,0.0, 0.0, 45.0
MUL2 -1.0, 1.0SPLINE2 4, 0,
0.0, 2.0, 135.0,-1.0, 1.8, 240.0,-1.0, 1.0, 290.0,0.0, 0.0, 45.0
DEL 1SPLINE2 4, 0,
0.0, 2.0, 100.0,0.0, 2.5, 0.0,0.0, 2.4, 270.0,0.0, 2.0, 270.0
ADD2 2.5, 0NEXT I
127
Kapitola 6: 2D útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
SPLINE2_A n, status,x
1, y
1, úhel
1, lenPrev
1, lenNext
1,
...x
n, y
n, úhel
n, lenPrev
n, lenNext
n
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 referenãní pfiíruãceArchiCADu).
1 n
angle i
ii i
X
Y (x ,y )lenP
revi
lenN
exti
Kódy statutu:
0: implicitní
1: uzavfiená kfiivka, poslední a první uzly kfiivky sepropojí a kfiivka se tak uzavfie
2: Automaticky vyhlazená kfiivka, parametry úhel,lenPrev
i a lenNext
i uzlÛ mezi prvním a posledním
uzlem se nepouÏívá pfii generování kfiivky. PouÏíváse vnitfiní algoritmus automatického vyhlazení.
xi, y
i: soufiadnice fiídícího bodu
lenPrevi, lenNext
i:
délka teãen pro pfiedchozí a dal‰í fiídící bod
úheli: smûrov˘ úhel teãny
128
Kapitola 6: 2D útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklad:
SPLINE2A 9, 2,0.0, 0.0, 0.0, 0.0, 0.0,0.7, 1.5, 15, 0.9, 1.0,1.9, 0.8, 72, 0.8, 0.3,1.9, 1.8, 100, 0.3, 0.4,1.8, 3.1, 85, 0.4, 0.5,2.4, 4.1, 352, 0.4, 0.4,3.5, 3.3, 338, 0.4, 0.4,4.7, 3.7, 36, 0.4, 0.8,6.0, 4.6, 0, 0.0, 0.0
PICTURE2 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 jeindex 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íhoprvku. Ostatní obrázky mohou b˘t uloÏeny v knihovních prvcíchpfii ukládání projektu nebo oznaãen˘ch prvkÛ obsahujícíchobrázky jako Objekt ArchiCADu.
129
Kapitola 6: 2D útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
6.2 Textov˘ prvekTEXT2 x, y, v˘raz
Text nebo hodnoty vypoãítaného numerického v˘razu se pí‰í vnastaveném stylu v soufiadnicích x, y.
Y
X
ArchiCAD(x,y)
130
Kapitola 6: 2D útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
6.3 PouÏívání binárních 2D datFRAGMENT2 index_fragmentu, pouÏití_aktuálních_atributÛ
Fragment s dan˘m indexem se vloÏí do úplného pohledu na 2Dsymbol s aktuálními transformacemi.
pouÏití_aktuálních_atributÛ:
0: fragment se zobrazí s barvou, typem ãáry s typemv˘plnû definovan˘m pro nûj
1: aktuální nastavení popisu se pouÏije namísto barvy,typu ãáry a typu v˘plnû fragmentu
FRAGMENT2 ALL, pouÏití_aktuálních_atributÛ
Obsah v‰ech fragmentÛ se vloÏí do úplného pohledu na 2Dsymbol s aktuálními transformacemi.
pouÏití_aktuálních_atributÛ:
0: fragment se zobrazí s barvou, typem ãáry s typemv˘plnû definovan˘m pro nûj
1: aktuální nastavení popisu se pouÏije namísto barvy,typu ãáry a typu v˘plnû fragmentu
131
Kapitola 6: 2D útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
6.4 3D zobrazení vloÏené do 2DPROJECT2 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: spodní pohled-6: ãelní spodní axonometrie-7: isometriká ãelní axonometrie-8: monometrická spodní axonometrie-9: dimetrická spodní axonometrie
úhel: azimut úhlu nastavená v dialogu Nastavení 3Dzobrazení.
metoda:1: ãárov˘ model2: analytické viditelné ãáry
Pfiíklad:
132
Kapitola 6: 2D útvary
ArchiCAD 6.0: Referenãní pfiíruãka GDL
6.5 Obrázky v seznamuTyto povely se uplatní pfii vytváfiení seznamu prvkÛ.
KdyÏ je knihovní prvek typu Vlastnosti a je nûjak pfiipojen keknihovním prvkÛm (Objekt, Dvefie, Okna nebo Svûtla)umístûn˘m v pÛdoryse, budou se následující povely v jeho 2Dpopisu odkazovat ke 2D a 3D ãástem knihovního prvku. Tentovirtuální odkaz, kter˘ se fie‰í bûhem procesu vytváfiení seznamu,pouÏívá 2D nebo 3D popis prvkÛ, které se aktuálnû zobrazí vseznamu.
DRAWING2
Vytváfií kresbu knihovního prvku pfiipojeného ke knihovnímuprvku typu vlastnosti obsahujícího tento povel.
DRAWING3 projcode, úhel, metoda
Stejnû jako povel PROJECT2, vytváfií zobrazení 3D popisuknihovního prvku pfiipojeného ke knihovnímu prvku typuvlastnosti, obsahujícího tento povel. V‰echny parametry jsoustejné jako u povelu PROJECT2.
133
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
ArchiCAD 6.0: Referenãní pfiíruãka GDL
7 Pfiídavné kódy statutÛ pro
rovinné lomené ãáry
134
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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, segeneruje 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áfietsegmenty a oblouky v lomen˘ch ãarách pomocí speciálníchusmûrnûní. Vztahují se vÏdy k dal‰ímu segmentu nebo oblouku.PÛvodní kódy masek/statutu(Û) jsou efektivní pouze tam, kdejsou specifikovány (po pfiídavném kódu je vloÏen znak "+s").
135
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiedcházející ãást lomené ãáry: definuje aktuální pozici a teãnu.
0
x,y
Segment dan˘ absolutním umístûním koncového bodu
x, y, s,
kde 0 < s < 100
dx
100
dy
Segment dan˘ relativním umístûním koncového bodu
dx, dy, 100+s,
kde 0 < s < 100
136
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
ArchiCAD 6.0: Referenãní pfiíruãka GDL
l
200
a
Segment dan˘ délkou a smûrem
l, a, 200+s,
kde 0 < s < 100
300l
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,
137
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
ArchiCAD 6.0: Referenãní pfiíruãka GDL
700
Zavfiení lomené ãáry
0, 0, 700,
800
ey
ex
Nastavení teãny
ex, ey, 800,
900
(x0,y0)
Nastavení stfiedu
x0, y0, 900,
138
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
ArchiCAD 6.0: Referenãní pfiíruãka GDL
1000
(x,y)
Teãn˘ oblouk do konocového bodu
x, y, 1000+s,
kde 0 < s < 100
2000
r
a
Teãn˘ oblouk dan˘ polomûrem a úhlem
r, a, 2000+s,
kde 0 < s < 100
x,y
3000
Oblouk dan˘ stfiedem a bodem finálního polomûru
x, y, 3000+s,
kde 0 < s < 100
139
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
ArchiCAD 6.0: Referenãní pfiíruãka GDL
a4000
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ítlibovolnou hodnotu.
140
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklady:
EXTRUDE 21, 0, 0, 3, 1+2+4+16+32, 0, 0, 0, 7, 0, 0, 7, 3, 1, 6, 3, 1000, ! te n oblouk do koncového bodu 5, 3, 1001, ! te n oblouk do koncového bodu 1, 90, 2000, ! te n oblouk dan polomûrem
! a úhlem 2, 3, 1001, ! te n oblouk do koncového bodu 1, 3, 900, ! nastavení stfiedu 1, 2, 3000, ! oblouk dan stfiedem, stfied
! a bodem finálního polomûru 1, 2.5, 900, ! nastavení stfiedu 0, -180, 4001, ! oblouk dan po áte ním bodem,
! stfiedem a úhlem 1, 5, 1000, ! te n oblouk do koncovéhobodu -1, 0, 100, ! segment dan vektorem (dx, dy) 2, 225, 200, ! segment dan vektorem
! (len, úhel)-1, 0, 800, ! nastavení te ny-1, 0, 1000, ! te n oblouk dan konocv mbodem 0, 0, -1, ! konec obrysu 1, 1, 900, ! nastavení stfiedu0.5, 360, 4000, ! plná kružnice daná stfiedem
! a polomûrem3.5, 1.5, 900, ! nastavení stfiedu 1, 360, 4001 ! plná kružnice daná stfiedem
! a polomûrem
141
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
ArchiCAD 6.0: Referenãní pfiíruãka GDL
EXTRUDE 2+5+10+10+2, 0, 0, 3,1+2+4+16+32,
0, 0, 900, 3, 360, 4001, 2.5, -1, 0, 2.5, 1, 0, 1.5, 1, 1, 1.5, -1, 1001, 2.5, -1, -1, 0, 2.5, 600, 0, -1, 800, 1, 1.5, 1001, -1, 0, 800, 0, 0.5, 1001, 0, 1, 800, -1, 1.5, 1001, 1, 0, 800, 0, 2.5, 1001, 0, 2.5, 700,-1.5, 0, 900,-2.5, 0, 600,-2.5, 1, 3000,-2.5, 1, 0,-1.5, 1, 0,-1.5, -1, 1001,-2.5, -1, 0,SQR(2)-1, 45, 200,-2.5, 0, 3000,-2.5, 0, 700,0, -1.5, 900,1, 360, 4000
142
Kapitola 7: DoplÀkové kódy statutÛ pro rovinné lomené ãáry
ArchiCAD 6.0: Referenãní pfiíruãka GDL
EXTRUDE 3, 1, 1, 3, 1+2+4+16+32, 0, 0, 900, 3, 360, 4001, 2, 360, 4000
ROTY -90REVOLVE 9, 180, 16+32, 7, 1, 0, 6, 1, 0, 5.5, 2, 0, 5, 1, 0, 4, 1, 0, 3, 1, 900, ! nastavení stfiedu 0, 180, 4001, ! oblouk dan po áte ním bodem,
! stfiedem a úhlem 2, 1, 0, 1, 1, 0
143
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
8 Atributy
144
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
8.1 DirektivyNásledující direktivy ovlivÀují interpretaci následujících pfiíkazÛGDL. Jejich vliv trvá aÏ do dal‰ího direktivu nebo do koncepopisu. Volané popisy pfievezmou aktuální nastavení: zmûny majílokální vliv. Návrat z popisu vrací nastavení zpût do stavu, vjakém bylo pfied voláním makra.
Direktivy RADIUS, RESOL a TOLER nastavují hladkost válcov˘ch3D 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 2Dpopisech
[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 aTOLER.
Omezení parametrÛ:
rmin < rmax
145
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklady:
RADIUS 1.1, 1.15 RADIUS 0.9, 1.15CYLIND 3.0, 1.0 CYLIND 3.0, 1.0
RESOL 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 aTOLER.
n > 3
Implicitnû:
RESOL 36
Pfiíklady:
RESOL 5 RESOL 36CYLIND 3.0, 1.0 CYLIND 3.0, 1.0
TOLER d
Nastavuje hladkost válcov˘ch prvkÛ. Odchylka v aproximaciválce (tj. maximální odchylka mezi teoretick˘m obloukem agenerovan˘m pfiímkov˘m segmentem) bude men‰í neÏ d.
Po pfiíkazu TOLER ztrácejí efekt pfiedcházející povely RADIUS aRESOL.
146
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklady:
TOLER 0.1 TOLER 0.01CYLIND 3.0, 1.0 CYLIND 3.0, 1.0
PEN n
Nastaví aktuální barvu.
Omezení parametrÛ:
0 < n < 99
Implicitnû:
PEN 1Pokud v popisu neníÏán˘ povel PEN.
(ArchiCAD ãte implicitní hodnoty pro knihovní prvky z oknaNastavení knihovního prvku. Pokud se popis vztahuje kneexistujícímu indexu, stává se PEN 1 implicitním nastavením.)
[SET] STYLE fietûzec_jména[SET] STYLE 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ánbû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 spfiedchozí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.
147
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Direktivy pouÏívané pouze ve 3Dpopisech
MODEL WIREMODEL SURFACEMODEL 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 jezaloÏ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 SOLIDV‰echny tfii modelovací metody jsou ilustrovány na tfiechhranolech:
MODEL WIREBLOCK 3,2,1ADDY 4MODEL SURFACEBLOCK 3,2,1ADDY 4MODEL SOLIDBLOCK 3,2,1
Po fiezu rovinou:
148
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
[SET] MATERIAL fietûzec_jména[SET] MATERIAL 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 nazákladû BPRISM_, CPRISM_, FPRISM_, SPRISM_, CSLAB_,CWALL_, BWALL_, XWALL_, CROOF_, a MASS tvofií v˘jimky ztohoto 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ûhemanal˘zy GDL a mÛÏe b˘t modifikován rovnûÏ programem. PouÏitíindexu namísto jména materiálu se doporuãuje pouze spfiedcházející funkcí IND, popsanou dfiíve.
Index 0 má speciální v˘znam: plochy mají barvu aktuálního peraa mají matn˘ vzhled.
Implicitnû:
MATERIAL 0
pokud v popisu není povel MATERIAL.
(ArchiCAD ãte implicitní hodnoty pro knihovní prvky z oknaNastavení knihovního prvku. Pokud se popis vztahuje kneexistujícímu indexu, stává se MATERIAL 0 implicitnímnastavením.)
Viz téÏ funkce IND v Pfiíloze.
SHADOW keyword1[, keyword2]
¤ídí vrhání stínÛ prvkÛ pfii fotozobrazení a v˘poãtu vektorov˘chstínÛ.
keyword1: ON, AUTO nebo OFF
keyword2: ON nebo OFF
ON: v‰echny následné prvky budou vrhat stín za v‰echokolností.
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 pfiizpracování.
Nastavení SHADOW ON zajistí, Ïe kaÏd˘ mal˘ detail bude vrhatstín.
149
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Nepovinné druhé klíãové slovo fiídí vzhled stínÛ na povrchu.
SHADOW, keyword1, OFF potlaãí stínování na následujícíchpovr‰ích.
SHADOW, keyword1, ON pfiepne zpût vektorové stínování
Implicitnû:
SHADOW AUTO
SHADOW OFFBRICK 1, 1, 1ADDX 2SHADOW ONBRICK 1, 1, 2ADDX 2SHADOW OFFBRICK 1, 1, 3
Direktivy pouÏívané pouze ve 2Dpopisech
[SET] FILL fietûzec_jména[SET] FILL index
V‰echny 2D polygony, generované poté, budou vyplÀoványtouto 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ánbû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 spfiedchozím uÏitím funkce IND, která je vysvûtlena v˘‰e.
Implicitnû:
SET FILL 0prázdná v˘plÀ, jestliÏe v popisu není pouÏito nastavení SET FILL.Viz téÏ funkce IND v Pfiíloze.
150
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
[SET] LINE_TYPE fietûzec_jména[SET] LINE_TYPE index
V‰echny 2D ãáry generované pozdûji budou kresleny tímtotypem ãáry (v ãarách, obloucích, lomen˘ch ãarách) dokudnebude pouÏito dal‰í SET LINE_TYPE. Index je konstantavztahující se k zásobníku typÛ ãar ve vnitfiní datové struktufieArchiCADu. Tento zásobník je modifikován bûhem GDL anal˘zya mÛÏe b˘t modifikován také z programu. PouÏití indexu namístojména typu ãáry se doporuãuje pouze s pfiedchozím pouÏitímfunkce 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Û promateriály, v˘plnû a typy ãar. Na tyto pÛdorysné atributy semÛÏ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 jeinterpertován, kdyÏ je knihovna, která jej obsahuje, naãtena dopamûti. Atributy z MASTER_GDL popisu se spojí s pÛdorysn˘miatributy; atributy ArchiCADu se stejn˘mi jmény nebudounahrazeny. Jakmile je MASTER_GDL naãten, lze se na atributy vnûm definované odvolávat z libovolného popisu.
2. Definice atributÛ v knihovních prvcích. Materiály a textury taktodefinované lze pouÏít pouze v tûchto popisech a popisech druhégenerace. V˘plnû a typy ãar definované a pouÏité ve 2D popisemají stejné chování , jako by byly definovány v MASTER_GDLpopise.
Povel Zkontrolovat GDL popisy v dialogu knihovního prvkuovûfiuje, zda materiál, v˘plÀ, typ ãáry nebo parametry stylÛ jsousprávné.
Pokud se material, v˘plÀ, typ ãáry nebo styl ve 3D vyjádfieníknihovního prvku li‰í od poÏadovaného, ale neobjevilo sechybové hlá‰ení, je to nejspí‰e tím, Ïe jeden nebo více hodnotparametrÛ je nesprávn˘ch. Pfiíkaz Zkontrolovat GDL popisy Vámdetailními hlá‰eními pomÛÏe tyto parametry najít.
151
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Definice materiálu
DEFINE MATERIAL jméno typ, m1, m
2, . . . m
n
Libovoln˘ GDL popis mÛÏe obsahovat materiál definovan˘ pfiedprvním voláním tohoto materiálu. Materiál takto definovan˘ mÛÏeb˘t pouÏit pouze v popisu 3D prvkÛ, kde byl definován, a v jehopodprogramech.
jméno: jméno materiálu
typ:
0: obecná definice, n=16
V˘znam parametrÛ a jejich limity jsou zobrazeny vnásledujících pfiíkladech.
1: jednoduchá definice, n=9
Zvlá‰tní parametry jsou konstanty nebo jsouvypoãteny z dan˘ch hodnot.
2-7: pfieddefinované typy materiálÛ, n=3
Tyto 3 hodnoty jsou komponenty RGB z paletybarev. Ostaní parametry jsou konstanty nebo jsouvypoã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û aindexem parametrÛ textury, n=19
21: jendoduchá definice s v˘plní, indexem barvy v˘plnû aindexem parametrÛ textury, n=12
22-27: pfieddefinovan˘ typ materiálu s v˘plní, indexem barvyv˘plnû a indexem parametrÛ textury, n=6
152
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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û
153
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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 saktivním perem.
- Nulová hodnota indexu textury umoÏÀuje definovat materiálybez vektorov˘ch ‰rafur a textury.
154
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
DEFINE TEXTURE jméno, soubor, x, y, maska, úhel
Libovoln˘ GDL popis mÛÏe obsahovat texturu definovanou pfiedprvním voláním jména této textury. Textura mÛÏe b˘t uÏita pouzev 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 * j
2 + 4 * j
3 + 8 * j
4 + 16 * j
5 +
32 * j6 + 64 * j
7 + 128 * j
8 + 256 * j
9
kde j1, j
2, j
3, j
4, j
5, j
6, j
7, j
8, j
9 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:
x
y
155
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
j7 : textura bude posunuta náhodnû.
x
y
j8 : zrcadlení ve smûru osy 'x'
x
y
j9 : zrcadlení ve smûru osy 'y'
x
y
úhel: úhel natoãení od pfiirozené orientace.
Pfiíklad:
DEFINE TEXTURE "cihla" "Cihla.PICT", 1.35, 0.3, 256+128, 35.0
156
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Definice v˘plnû
DEFINE FILL jméno pat1, pat
2, pat
3, pat
4, pat
5, pat
6, pat
7, pat
8,
mezery, úhel, n,freq
1, dir
1, offsetx
1, offsety
1, m
1,
len11, . . . len
m1,
...freq
n, dir
n, offsetx
n, offsety
n, m
n,
lenn1, . . . len
nm
Libovoln˘ GDL popis mÛÏe obsahovat v˘plÀ definovanou pfiedprvním voláním jména této v˘plnû. V˘plÀ mÛÏe b˘t uÏita pouze vpopisu, kde byla definována, a v popisech druhé generace.
offsetx
freq
freq
len
len....len
offsety
i1Y
dir
X
i2
im
i
i
line partsm
i
i
i
jméno: jméno v˘plnû
pat1, pat
2, pat
3, pat
4, pat
5, pat
6, pat
7, pat
8 :
definice vzoru, 8 ãísel mezi 0 a 255reprezentujících binární hodnoty. Definujebitmapov˘ vzor v˘plnû.
y
x
spacing*y
spacing*x
angle
157
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
mezery: mezery vzoru v˘plnû - definuje globální faktormezer pro celou v˘plÀ. V‰echny hodnoty budouná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 jemezery * 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 jemezery * lenij). âásti ãar jsou segmenty a mezerynásledující za sebou. První ãást ãáry je segment,nulová délka znamená bod.
Bitmapov˘ vzor je definován pouze parametry pat1...pat
8 a
pouÏívá se v ArchiCADu, kdyÏ je zadána volba Volby/Volbyzobrazení/V˘plnû polygonÛ/Bitmapová v˘plÀ. Chcete-li jejdefinovat, zvolte nejmen‰í jendotku v˘plnû a popi‰te ji jako bodya prázdná místa pomocí obdélníkové sítû s 8x8 pozicemi. 8parametrÛ 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í (freq
i).
KaÏdá ãára sady je popsána smûrem (diri), posuvem od poãátku
(offsetxi, offsety
i) 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é, nikolisymbolové v˘plnû.
158
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklad:
DEFINE FILL "cihla" 85, 255, 136, 255,34, 255, 136, 255,
0.08333, 0.0, 4, 1.0, 0.0, 0.0, 0.0, 0, 3.0, 90.0, 0.0, 0.0, 2, 1.0, 1.0, 3.0, 90.0, 1.5, 1.0, 4, 1.0, 3.0, 1.0, 1.0, 1.5, 90.0, 0.75, 3.0, 2,
1.0, 5.0Bitmapov vzor:Vzor: Binární hodnota:Pohled:pat1 = 85 01010101 • • • •pat2 = 255 11111111 ••••••••pat3 = 136 10001000 • •pat4 = 255 11111111 ••••••••pat5 = 34 00100010 • •pat6 = 255 11111111 ••••••••pat7 = 136 10001000 • •pat8 = 255 11111111 ••••••••
Vektorová šrafa:
159
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Roz‰ífiená definice v˘plnû
DEFINE FILLA jméno pat1, pat
2, pat
3, pat
4, pat
5, pat
6, pat
7, pat
8,
mezerax, mezeray, úhel, n,freq
1, doffset
1, dir
1, offsetx
1, offsety
1, m
1,
len11, . . . len
m1,
...freq
n, doffset
n,dir
n, offsetx
n, offsety
n, m
n,
lenn1, . . . len
nm
offsetx
len
len....len
offsety freq
freq doffset
doffset
i1Y
dir
X
i2
im
i
i
line partsm
i
i
i
i
i
Roz‰ífien˘ povel DEFINE FILL. Pfiidané parametry:
xspacingx*x
spacingy*y
y
angle
mezerax : faktor odstupÛ ve smûru osy x
mezeray : faktor odstupÛ ve smûru osy x
Tyto dva parametry definují globální faktor mezerpro celou v˘plÀ�. V‰echny hodnoty ve smûru osy xbudou násobeny parametrem mezerax a v‰echnyhodnoty ve smûru osy y budou násobenyparametrem mezeray.
160
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
doffseti: posuv od poãátku dal‰í stejné ãáry ‰rafy, mûfieno
ve smûru ãáry. KaÏdá ãára série bude nakreslenave vzdálenosti dané parametrem freq
i s posuvem
dan˘m parametrem doffseti . Skuteãná délka
posuvu bude spacing násoben˘ doffseti.
Pfiíklad:
DEFINE FILLA "TEST" 8, 142, 128, 232,8, 142, 128, 232,
0.5, 0.5, 0, 2,2, 1, 90, 0, 0, 2, 1, 1,1, 2, 0, 0, 0, 2, 1, 3FILL "TEST"POLY2 4, 6,-0.5, -0.5,12, -0.5,12, 6, -0.5,6
Bitmapov vzor:Vzor: Binární hodnota:Pohled:pat1 = 8 00001000 .pat2 = 142 10001110 • •••pat3 = 128 10000000 •pat4 = 232 11101000 ••• •pat5 = 8 00001000 •pat6 = 142 10001110 • •••pat7 = 128 10000000 •pat8 = 232 11101000 ••• •
Vektorová šrafa:
161
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Definice typu ãáry
DEFINE LINE_TYPE jméno mezera, n, len1, . . . len
n
Libovoln˘ GDL popis mÛÏe obsahovat typ ãáry definovan˘ pfiedprvním voláním jména této ãáry. âára mÛÏe b˘t uÏita pouze pro2D 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 mezerná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 definovatsymbolové ãáry.
Pfiíklad:
DEFINE LINE_TYPE " ára - - ." 1, 6, 0.005, 0.002, 0.001, 0.002, 0.0, 0.002
162
Kapitola 8: Atributy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Definice stylu
DEFINE STYLE jméno skupina_fontu, velikost, kotevní_bod, fiezDEFINE STYLE jméno PLOTMAKER, velikost, kotevní_bod, sklonDEFINE STYLE jméno PLOTTER, velikost, kotevní_bod, sklon
GDL popisy mohou obsahovat styly definované pfied prvnímvoláním jména tohoto stylu. Styly takto definované mohou b˘tpouÏity pouze v popisu, kde byly definovány, a v popisechdruhé 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
2 3
4 5 6
7 8 9
1
fiez: kombinace následujících hodnot:
0 normálnû
1 tuãnû
2 kurzíva
4 podtrÏeno
8 obrysové písmoobrysové písmo
16 stínované písmostínované písmo
sklon: úhel ve stupních (platí pouze pro fontyPLOTMAKERu a PLOTRu)
163
Kapitola 9: Negeometrické popisy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
9 Negeometrické popisy
164
Kapitola 9: Negeometrické popisy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
9.1 Popisy vlastnostíKnihovní prvky mají GDL okno rezervované pro popisyvlastností. Tento popis umoÏÀuje vytváfiet vlastnosti knihovníchprvkÛ závislé na parametrech a prostfiednictvím direktiv definovatjejich umístûní ve finálním seznamu komponentÛ. Pomocínûkolika povelÛ je moÏné definovat v popisu lokální popisy akomponenty, charakteristiky, které jsou známé z oken vlastnostídfiívûj‰ích verzí ArchiCADu. Lze se také odvolávat na popisy akomponenty z externích databází. Délka kódÛ nesmí pfiesáhnout32 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 lzedefinovat znakem '\n' a tabulátory znakem '\t'.VloÏením znaku '\' na konec fiádku umoÏnítepokraãování fietûzce na dal‰ím fiádku bez pfiidánínového fiádku. Pokud je znak '\' v rámci fietûzcedublován (\\), ztratí svou fiídící funkci a budeznamenat prostû znak '\'.Délka fietûzce (vãetnû znaku nového fiádku) nesmípfiesáhnout 255 znakÛ: dal‰í znaky kompilátorprostû smaÏe. Pokud potfiebujete del‰í text,pouÏijte více POPISÒ.
kód: fietûzec, definuje kód pro popis
Kód_klíãe: fietûzec, odkaz na klíã v externí databázi. Klíã budepfiifiazen popisu.
REF DESCRIPTOR 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Û)
165
Kapitola 9: Negeometrické popisy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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Û budekvantita komponentÛ, definovaná v˘‰e,automaticky násobena hodnotou vypoãtenou proaktuální prvek
1: kus2: délka3: povrch A4: povrch B5: povrch6: 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 kvantitykomponentu. 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˘tpfiepsá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íhoprvku.
Pozor: Pokud umístíte dva nebo více útvarÛ na stejné místose stejn˘mi parametry, tyto funkce vypoãtou celkov˘ povrcha objem v‰ech útvarÛ.
166
Kapitola 9: Negeometrické popisy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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 sjejich implicitním typem prvku. Povely jsou tyto:
WALLSCOLUMNSDOORSWINDOWSOBJECTSCEILSPITCHED_ROOFSLIGHTSHATCHESROOMSMESHES
Direktiv zÛstane platn˘ pro v‰echny následné DESCRIPTORy aCOMPONENTy, dokud není zadán dal‰í direktiv. Popis mÛÏeobsahovat 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 etdvefiíCOMPONENT "nátûr", 0.5 * s, "kg"POSITION WALLSREF COMPONENT "0002"
DRAWING
Odkazuje na kresbu popsanou ve 2D popise stejného knihovníhoprvku. PouÏijte ji pro vloÏení kresby do rozpoãtu materiálÛ.
167
Kapitola 9: Negeometrické popisy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
9.2 Popis seznamu hodnotSeznamy hodnot jsou sady moÏn˘ch ãíseln˘ch nebo fietûzcov˘chhodnot. Mohou b˘t uplatnûny na parametry, jak byly definoványv popise seznamu hodnot knihovního prvku nebo vMASTER_GDL popise. Typ parametru musí b˘t seznam hodnotlibovolného jednoduchého typu. Kompatibilita typu jekontrolována kompilátorem.
Popis seznamu hodnot bude interpretován pokaÏdé, kdyÏ se máparametr typu seznamu hodnot zmûnit a moÏné hodnotydefinované v popise se objeví v roletovém menu. Povel prodefinici seznamu je:
VALUES jméno, val1 [, val
2, ..., val
n]
jméno: jméno parametru
vali : moÏná hodnota
168
Kapitola 9: Negeometrické popisy
ArchiCAD 6.0: Referenãní pfiíruãka GDL
169
Kapitola 10: V˘razy a funkce
ArchiCAD 6.0: Referenãní pfiíruãka GDL
10V˘razy a funkce
170
Kapitola 10: V˘razy a funkce
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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ásobkempolomûru válce nebo pfied definicí krychle mÛÏete posunoutsystém soufiadnic v kaÏdém smûru o polovinu rozmûru krychletak, aby poãátek byl ve stfiedu krychle, nikoli v jejím levémdolním rohu.
Pro definice tûchto v˘poãtÛ má GDL mnoÏství matematick˘chnástrojÛ: v˘razy,operátory a funkce.
10.1 V˘razyV GDL popisech mÛÏete psát sloÏité v˘razy. V˘razy mohou b˘tãíselné nebo fietûzcové. Jsou to konstanty, promûnné, parametrynebo 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 afietûzcovou hodnotu, dokonce i ve stejném popisu a lze je pouÏítve 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 vevolá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 jefietû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 popisestejné promûnné pfiifiazena ãíselná hodnota, bude tato promûnnápouÏitelná pouze v ãíseln˘ch v˘razech, dokud nedostane opûtfietûzcovou hodnotu. V procesu prekompliace je typ v˘razukontrolován.
GDL podporuje jedno a dvou rozmûrné matice. Promûnné sestanou maticí po deklaraci v˘razu, ve kterém jsou urãeny jejichmaximá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 mezizá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. Jejichrozmûry jsou urãeny v dialogu knihovního prvku. MaticeparametrÛ nemusí b˘t deklarovány v popise. KdyÏ se odkazujetena knihovní prvek povelem CALL, musí b˘t skuteãn˘ parametrmatice se stejn˘mi rozmûry.
171
Kapitola 10: V˘razy a funkce
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Na prvky matic se lze odkazovat kdekoli v popise, ale pokudjsou 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 nebofietû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 jakojednoduchá 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Û:
Z5.5(+15)-XA*(B+C)SIN(X+Y)*ZA+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) + "." + extstring_param <> "Režim 1"
Pfiíklady v˘razÛ pouÏivajících maticové hodnoty:
DIM tab [5], tab2 [3][4] ! deklaracetab [1] + tab [2]tab2 [2][3] + APRINT tab
172
Kapitola 10: V˘razy a funkce
ArchiCAD 6.0: Referenãní pfiíruãka GDL
10.2 OperátoryNíÏe uvedené operátory jsou sefiazeny podle klesající priority.Vyhodnocení v˘razu zaãíná od operátoru s nejvy‰‰í prioritou azleva doprava.
Aritmetické operátory
^ (or **) druhá mocnina priorita 2
* násobení priorita 3
/ dûlení priorita 3
MOD (nebo %) Modulo (zbytek) priorita 3
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 &) logické a priorita 6
OR (nebo |) logické vãetnû nebo priorita 7
EXOR (nebo @) logické kromû nebo priorita 8
173
Kapitola 10: V˘razy a funkce
ArchiCAD 6.0: Referenãní pfiíruãka GDL
GDL pouÏívá v˘hradnû ãísla s plovovoucí desetinnou ãárkou,zatímco Boolovské operátory pracují s reáln˘mi ãísly. Proto 0.0znamená „není pravda“ a jakékoli jiné ãíslo znamená „je pravda“.Hodnota logického v˘razu je také reálné ãíslo, tj. 1.0 pro „jepravda“ 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é funkceTyto funkce pouÏívají stupnû pro argumenty (COS, SIN, TAN) apro 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) Vrací sinus x.
TAN (x) Vrací tangens x.
PI Vrací Ludolphovo ãíslo (π = 3.1415926...).
174
Kapitola 10: V˘razy a funkce
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Transcendentální funkce
EXP (x) Vrací x tou mocninu e (e = 2.7182818).
LGT (x) Vrací dekadick˘ logaritmus x.
LOG (x) Vrací pfiirozen˘ logaritmus x.
Boolovské funkce
NOT (x) Vrací 0.0, pokud je x pravda (≠0.0) a1.0, pokud je x nepravda (=0.0).(logická negace).
Statistické funkce
MIN (x1,x
2, . . . x
n) Vrací nejmen‰í z neomezeného poãtu argumentÛ.
MAX (x1,x
2, . . . x
n) 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 (numerick˘_v˘raz, len, frac)STR (formatstring, numerick˘_v˘raz)
První forma funkce vytvofií fietûzec z aktuální hodnoty ãíselnéhov˘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.5B=2.345TEXT2 0, 2, STR(A, 8, 2) ! 4.50TEXT2 0, 1, STR(B, 8, 2) ! 2.34TEXT2 0, 0, STR(A*B, 8, 2) ! 10.55
Ve druhém pfiípadû mÛÏe b˘t formatstring buì promûnná nebokonstanta. Pokud je formát prázdn˘, je interpretován jako metry spfiesností na tfii desetinná místa (zobrazuje nula jednotek).
175
Kapitola 10: V˘razy a funkce
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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
sqf - ãtvereãní stopy
sqi - ãtvereãní palce
176
Kapitola 10: V˘razy a funkce
ArchiCAD 6.0: Referenãní pfiíruãka GDL
pro úhly:
dd - desetinné stupnû
dms - stupnû, minuty, vtefiiny
gr - grády
rad - radiány
surv - jednotky pozorovatele
Pfiíklady:
h = 23nr = 0.345678
TEXT2 0, h, STR ("%m", nr) !0.346TEXT2 0, h-1, STR ("%#10.2m", nr) ! 35TEXT2 0, h-2, STR ("%.4cm", nr) ! 34.5678TEXT2 0, h-3, STR ("%12.4cm", nr) ! 34.5678TEXT2 0, h-4, STR ("%.6mm", nr) !345.678000TEXT2 0, h-5, STR ("%+15e", nr) !+3.456780e-01
TEXT2 0, h-6, STR ("%ffi", nr) !1'-2"TEXT2 0, h-7, STR ("%0.16ffi", nr) !1'-1 5/8"TEXT2 0, h-8, STR ("% .3fdi", nr) ! 1'-1.609"TEXT2 0, h-9, STR ("% -10.4df", nr) ! 1.1341'TEXT2 0, h-10, STR ("%0.64fi", nr) !13 39/64"TEXT2 0, h-11, STR ("%+12.4di", nr) ! +13.6094"
TEXT2 0, h-12, STR ("%#.3sqm", nr) ! 346TEXT2 0, h-13, STR ("%+sqcm", nr) !+3,456.78TEXT2 0, h-14, STR ("% .2sqmm", nr) ! 345,678.00TEXT2 0, h-15, STR ("%-12sqf", nr) !3.72TEXT2 0, h-16, STR ("%10sqi", nr) ! 535.80
alfa = 88.657
TEXT2 0, h-17, STR ("%+10.3dd", alfa) ! +88.657°TEXT2 0, h-18, STR ("%.1dms", alfa) !88°39'TEXT2 0, h-19, STR ("%.2dms", alfa) !88°39'25"TEXT2 0, h-20, STR ("%10.4gr", alfa) ! 98.5078GTEXT2 0, h-21, STR ("%rad", alfa) !1.55RTEXT2 0, h-22, STR ("%.2surv", alfa) !N 1°20'35" E
177
Kapitola 10: V˘razy a funkce
ArchiCAD 6.0: Referenãní pfiíruãka GDL
SPLIT (fietûzec, formát, var1 [, var
2, ..., var
n])
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, %suvádí libovolnou hodnotu fietûzce omezenoumezerami 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 5ELSE 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, 0SET STYLE "vlastní"retezec = "abcd"
sirka = STW (retezec) / 1000 * A_REQUEST ("V ška_stylu", "vlastní", vyska)vyska = vyska / 1000 * A_text2 0,0, retezecrect2 0,0, sirka, -vyska
178
Kapitola 10: V˘razy a funkce
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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) ! KvetinyTEXT2 0, -2, STRSUB (retezec, len - 4, 5) ! .PICT
179
Kapitola 10: V˘razy a funkce
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Speciální funkceSpeciální funkce (kromû globálních promûnn˘ch) lze pouÏít vpopisu pro komunikaci s ArchiCADem. Dotazují se buì naaktuální stav a rÛzná nastavení pfiedvoleb programu, nebo seodkazují 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 (fietûzec_parametru)
REQUEST (jméno_otázky, jméno| index, var1 [, var2,....])
IND (MATERIAL, fietûzec_jména)IND (FILL, fietûzec_jména)IND (LINE_TYPE, fietûzec_jména)IND (STYLE, fietûzec_jména)
Více detailÛ viz Pfiíloha: Speciální funkce.
180
Kapitola 10: V˘razy a funkce
ArchiCAD 6.0: Referenãní pfiíruãka GDL
181
Kapitola 11: ¤ídící povely
ArchiCAD 6.0: Referenãní pfiíruãka GDL
11¤ídící povely
182
Kapitola 11: ¤ídící povely
ArchiCAD 6.0: Referenãní pfiíruãka GDL
11.1 Povely pro fiízení choduprogramu
FOR varnam = poãáteãní_hodnota TO koncvoá_hodnota [ STEPhodnota_kroku]
První pfiíkaz smyãky FOR. Pokud chybí klíãové slovo STEP ahodnota 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 2PRINT INEXT I
NEXT varnam
Poslední pfiíkaz smyãky FOR.
Promûnná smyãky se mûní od parametru poãáteãní_hodnota doparametru koneãná_hodnota po pfiírÛstcích (nebo úbytcích) krokpfii 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 = B1:IF C > 0 AND A > D OR C < 0 AND A < D THEN 2 PRINT A A = A + C GOTO 12:
! druh FOR A = B TO D STEP C PRINT A NEXT A
Pfiedchozí pfiíklad ukazuje, Ïe krok=0 zpÛsobí nekoneãnousmyãku.
Po pfiíkazu FOR je povolen jen jedin˘ pfiíkaz NEXT. Je povolenoopustit 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 spfieskoãením pfiíkazu FOR.
183
Kapitola 11: ¤ídící povely
ArchiCAD 6.0: Referenãní pfiíruãka GDL
DO[stmt1stmt2...stmtn]
WHILE podmínka
Povely mezi klíãov˘mi slovy se provádûjí, dokud je podmínkapravdivá.
Pravdivost podmínky se kontroluje vÏdy po provedení povelu.
WHILE podmínka DO[stmt1stmt2...stmtn]
ENDWHILE
Povely mezi klíãov˘mi slovy se provádûjí, dokud je podmínkapravdivá.
Pravdivost podmínky se kontroluje vÏdy pfied provedenímpovelÛ.
REPEAT[stmt1stmt2...stmtn]
UNTIL podmínka
Povely mezi klíãov˘mi slovy se provádûjí, dokud se podmínkanestane pravdivou.
Pravdivost podmínky se kontroluje vÏdy po provedení povelÛ.
184
Kapitola 11: ¤ídící povely
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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.3NEXT i
! druhái = 1DO BRICK 0.5, 0.5, 0.1 ADDZ 0.3 i = i + 1WHILE i <= 5
! tfietíi = 1WHILE i <= 5 DO BRICK 0.5, 0.5, 0.1 ADDZ 0.3 i = i + 1ENDWHILE
! tvrtái = 1REPEAT BRICK 0.5, 0.5, 0.1 ADDZ 0.3 i = i + 1UNTIL i > 5
IF podmínka THEN návû‰tíIF podmínka GOTO návû‰tíIF podmínka GOSUB návû‰tí
Podmínûn˘ skokov˘ povel. Je-li hodnota v˘razu podmínky rovna0, pfiíkaz nemá Ïádn˘ efekt, v ostatních pfiípadech programpokraãuje v návû‰tí.
Pfiíklady:
IF A THEN 28IF I > J GOTO 200+I*JIF I > 0 GOSUB 9000
185
Kapitola 11: ¤ídící povely
ArchiCAD 6.0: Referenãní pfiíruãka GDL
IF podmínka THEN povel [ELSE povel]
nebo
IF podmínka THEN[stmt1stmt2...stmtn]
[ELSEstmtn+1stmtn2...stmtn+m]
ENDIF
Napí‰ete-li jen jeden pfiíkaz po klíãov˘ch slovech THEN a/neboELSE ve stejném fiádku, pak není tfieba zadávat ENDIF. Pfiíkaz poTHEN 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Ï poklíãové slovo ELSE nebo ENDIF) budou provedeny, jedinû pokudv˘raz v podmínce je pravdiv˘ (jin˘ neÏ nula). V opaãnémpfií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 aENDIF
IF jendoduche THEN HOTSPOT2 0, 0 RECT2 a, 0, 0, bELSE PROJECT2 3, 270, 1
IF jmeno = "koule" THEN ADDY b SPHERE 1ELSE ROTX 90 TEXT 0.002, 0, jmenoENDIF
186
Kapitola 11: ¤ídící povely
ArchiCAD 6.0: Referenãní pfiíruãka GDL
GOTO návû‰tí
Nepodmínûn˘ jump statement. Program provede úsek programuoznaã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 bodempodprogramu.
Viz Návû‰tí v kapitole "Základní syntaktické prvky".
RETURN
Návrat z vnitfiního podprogramu.
ENDEXIT
Konec aktuálního GDL popisu. Program se ukonãí nebo vrátí ojednu úroveÀ v˘‰e. Je moÏné pouÏít nûkolika pfiíkazÛ END neboEXIT v jednom GDL souboru.
BREAKPOINT v˘raz
Tímto povelem mÛÏete specifikovat zlomové body v GDLpopisu. Debugér GDL se na tomto povelu zastaví, pokudhodnota parametru (ãíseln˘ v˘raz) je pravdivá (1) a v debuggéruje zatrÏena volba Zapnout zlomové body. V "normálním" reÏimuprovádûní popisu pfiekladaã tento povel GDL jednodu‰epfieskoãí.
187
Kapitola 11: ¤ídící povely
ArchiCAD 6.0: Referenãní pfiíruãka GDL
11.2 Manipulace s pamûtíZásobník pamûti je zabudovaná datová struktura, kterou lzepouÏít, pokud se nûkteré hodnoty (napfi. soufiadnice) mûní pourãitém jednoznaãném pravidle, které je moÏno popsat pomocímatematického v˘razu, chcete-li zachovat aktuální hodnotypromû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ávatnumerické hodnoty pomocí povelu PUT. Povel uloÏí danéhodnoty na konec zásobníku. Tyto hodnoty mohou b˘t pozdûjipouÏ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íkazyGET(n) nebo USE(n) jsou ekvivalentní s n hodnotamioddûlen˘mi ãárkami. Mohou tak b˘t pouÏity v libovolnémseznamu parametrÛ GDL, kde je potfieba n hodnot.
NSP = NSP+1PUT
NSP = NSP-1GET
USE
PUT v˘raz [ , v˘raz ] . . .
UloÏí dané hodnoty v daném pofiadí do vnitfiního zásobníkupamûti.
GET (n)
PouÏije n hodnot z vnitfiního zásobníku, a pak je smaÏe.
188
Kapitola 11: ¤ídící povely
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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 sekvenciparametrÛ.
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=10N=12
S=180/NFOR T=0 TO 180 STEP S PUT R+R*COS(T), C-R*SIN(T), 1NEXT 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 -1NEXT IDEL 1ADDZ DREVOLVE 3+NSP/3, 180, 0, 0, B, 0, 2*R, B, 0, GET(NSP), 0, B, 0
189
Kapitola 11: ¤ídící povely
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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), 1, R+R*COS(30), C-R*SIN(30), 1, R+R*COS(45), C-R*SIN(45), 1, R+R*COS(60), C-R*SIN(50), 1, R+R*COS(75), C-R*SIN(75), 1, R+R*COS(90), C-R*SIN(90), 1, R+R*COS(105), C-R*SIN(105), 1, R+R*COS(120), C-R*SIN(120), 1, R+R*COS(135), C-R*SIN(135), 1, R+R*COS(150), C-R*SIN(150), 1, R+R*COS(165), C-R*SIN(165), 1, 0, B, 1, 0, B, 0 MULY -1NEXT IDEL 1ADDZ DREVOLVE 16, 180, 0, 0, B, 0, 2*R, B, 0, 2*R, C, 1, R+R*COS(15), C-R*SIN(15), 1, R+R*COS(30), C-R*SIN(30), 1, R+R*COS(45), C-R*SIN(45), 1, R+R*COS(60), C-R*SIN(50), 1, R+R*COS(75), C-R*SIN(75), 1, R+R*COS(90), C-R*SIN(90), 1, R+R*COS(105), C-R*SIN(105), 1, R+R*COS(120), C-R*SIN(120), 1, R+R*COS(135), C-R*SIN(135), 1, R+R*COS(150), C-R*SIN(150), 1, R+R*COS(165), C-R*SIN(165), 1, 0, B, 1, 0, B, 0
190
Kapitola 11: ¤ídící povely
ArchiCAD 6.0: Referenãní pfiíruãka GDL
11.3 Makro objektyAãkoli lze trojrozmûrné objekty vÏdy rozloÏit do komplexníchnebo primitivních prvkÛ, je nûkdy Ïádoucí definovat tytokomplexní prvky speciálnû pro urãité aplikace. Takto uÏivatelskydefinovan˘ prvek se naz˘vá MACRO.
CALL fietûzec_jména_makra [,seznam_parametrÛ]
CALL fietûzec_jména_makra PARAMETERS [jméno1=jméno
1,…
jménon=jméno
n]
Jména maker nesmí b˘t del‰í neÏ 31 znakÛ.
Jméno makra mÛÏe b˘t fietûzcová konstanta, promûnná neboparametry. Jako jméno pfii volání makra nelze pouÏít fietûzovéoperace.
Pozor! Pokud byly fietûzcové promûnné nebo parametry pouÏityjako jména maker, volané makro nebude uloÏeno v archivnímprojektu, i kdyÏ je zatrÏena volba “Zahrnout v‰echny prvkynaãten˘ch knihoven”.
Jméno makra musí b˘t mezi uvozovkami (",',`,´,”,’,“,‘), pokudnevyhovuje definici identifikátorÛ, tj. nezaãíná písmûnem neboznakem '_' 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 uvnitfijména makra.
Samotné jméno makra mÛÏe b˘t pouÏito jako pfiíkaz bezklíãového slova CALL
jméno_makra [seznam_parametrÛ]
jméno_makra PARAMETERS [jméno1=hodnota
1,… jméno
n=hodnota
n]
První typ volání makra mÛÏete pouÏít v jednoduch˘ch GDLtextov˘ch souborech jako libovoln˘ knihovní prvek, podpodmínkou, Ïe jeho seznam parametrÛ obsahuje jen parametry ojednom písmenu (A…Z). Tato forma makra mÛÏe b˘t pouÏita prokompatibilitu s pfiedchozími verzemi, ale doporuãujeme druh˘typ. V˘znam seznamu parametrÛ je následující: hodnotaparametru A bude první hodnotou v seznamu, parametr B budedruhou hodnotou, atd. Pokud makro (knihovního prvku) nemáparametr o jednom písmenu odpovídající hodnotû, interpretacebude pokraãovat pfieskoãením této hodnoty, ale program Vásbude varovat. U této metody nejsou povoleny fietûzcové v˘razy.
191
Kapitola 11: ¤ídící povely
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Druh˘ typ mÛÏe b˘t pouÏit pouze s plnû vybaven˘mi knihovnímiprvky, nikoli s textov˘mi GDL soubory. Po klíãovém slovûPARAMETERS musíte zadat jména parametrÛ volaného makra vjaké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, abystepouÏili fietûzcové hodnoty jen v parametrech fietûzcového typu.Maticov˘m parametrÛm musí b˘t dány plné matice hodnot sestejn˘mi rozmûry. Pokud seznam parametrÛ nelze ve volanémmakru nalézt, progam Vás o tom bude informovat chybovouzprávou. ParametrÛm volaného makra, které nejsou vyjmenoványve 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í jehovolá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 nebomodifikovat, 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ítkaobjektu.
Pfiíklady:
CALL "noha" 2, , 5 ! A = 2, B = 0, C = 5noha 2, , 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énemnebo jménem fietûzcového typu, mÛÏe b˘t vhodné pouÏít typGDL text. Tento typ GDL mÛÏe b˘t volán jedinû prvním typemvolání makra, protoÏe neobsahuje seznam parametrÛ. Na druhoustranu, jestliÏe nechcete omezovat jména parametrÛ svého makrana písmena od A do Z, nebo pokud chcete, aby seznamparametrÛ obsahoval fietûzce, musí b˘t makro knihovnímprvkem, volan˘m druh˘m typem GDL syntaxe.
192
Kapitola 11: ¤ídící povely
ArchiCAD 6.0: Referenãní pfiíruãka GDL
11.4 V˘stupní povelyPRINT v˘raz [, v˘raz ]. . .
Vypí‰e v‰echny argumenty v dialogu. Argumenty mohou b˘tfietûzcové nebo ãíselné v˘razy libovolného poãtu v libovolnémpofiadí, oddûlené ãárkami.
Pfiíklady:
PRINT "promûnné-smy ka:", IPRINT J, K-3*LPRINT "Za átek interpretace"PRINT a * SIN (alfa) + b * COS (alfa)PRINT "Hodnoty parametrÛ: ", "a = ", a,
", b = ", bPRINT jmeno + STR ("%m", i) + "." + ext
193
Kapitola 11: ¤ídící povely
ArchiCAD 6.0: Referenãní pfiíruãka GDL
11.5 Operace se souboryNá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ímhodnot do nebo z GDL popisu. Tento proces nezbytnû vyÏadujepouÏití speciálních doplÀkÛ ArchiCADu. S textov˘mi soubory se dápracovat pomocí doplÀku TEXT GDL I/O. DoplÀky pro souboryjiné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í znakyoperaãního doplÀku a reÏim otevfiení. jeho obsahje interpretován doplÀkem
Otevfie soubor podle pfiíkazÛ. V˘slednou hodnotou je kladné celéãíslo, které identifikuje urãit˘ soubor. Tato hodnota budereferenã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ándoplÀkem
Poãet dan˘ch parametrÛ definuje poãet hodnot od poãáteãnípozice, ãtené ze souboru identifikovaného hodnotou kanálu. Vseznamu parametrÛ musí b˘t alespoÀ jedna hodnota. Tato funkcevkládá naãtené hodnoty do parametrÛ podle pofiadí. Tytohodnoty 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. PfiidosaÏení znaku konce souboru, je to -1.
194
Kapitola 11: ¤ídící povely
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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 hodnotoukanálu tolik hodnot, kolik je definovan˘ch v˘razÛ. Musí to b˘tnejménû jeden v˘raz. Typ hodnot je tent˘Ï jako typ v˘razÛ.
CLOSE kanál
Zavfie soubor identifikovan˘ hodnotou kanálu.
195
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
ArchiCAD 6.0: Referenãní pfiíruãka GDL
12Zvlá‰tní instrukce pro
okna a dvefie
196
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
ArchiCAD 6.0: Referenãní pfiíruãka GDL
12.1 Obecná pravidlaTato kapitola popisuje rÛzné speciální volby vztahující se kvytváfiení knihovních prvkÛ typu dvefie/okno.
Jakmile byly dvefie/okno vloÏeny do zdi, implicitní pozicesoufiadného systému tûchto knihovních prvkÛ se natoãí tak, Ïerovina x-y je svislá a osa z mífií vodorovnû do zdi. Poãátek jeumí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Û jesymbol 2D generován ze speciální zabudované projekce prouÏivatele jinak nedosaÏitelné (boãní pohled shora dolÛ ze smûru90°). Symbol a 3D tvar se pfiizpÛsobí poãátku dvefií/oken vespodním (y) stfiedu (x) ohraniãujícího rámeãku, nebude v‰akprovedeno pfiizpÛsobení ve smûru osy z, aby uÏivatelé mohlinavrhovat dvefie/okna pfiesahující zeì v libovolném smûru z.
Pfii respektování tûchto pravidel postupujte podle následujícíchpokynÛ, aby dvefie/okna, které vytvofiíte, fungovaly správnû:
- Pfii konstrukci dvefií/oken v pÛdoryse si uvûdomte, Ïe se nanû díváte zevnitfi stûny, do které budou umístûny.
- Pfiedstavujte si nulovou úroveÀ projektu jako vnûj‰í plochustûny.
- Prvky, které mají b˘t uvnitfi stûny, jako rám okna, musí b˘tnad nulovou úrovní.
- Otevírání dvefií smûrem ven má b˘t pod nulovou úrovní.
197
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
ArchiCAD 6.0: Referenãní pfiíruãka GDL
12.2 Vytváfiení knihovních prvkÛtypu dvefie/oknoPfii 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˘chzdechToto je nejjednodu‰‰í a nejpfiímûj‰í zpÛsob vytváfiení dvefií aoken. Doporuãujeme pouÏití jednoduch˘ch GDL povelÛ, jakoPRISM_ nebo RECT.
Pokud chcete pfiizpÛsobit povrchové materiály dvefií/okenmateriálÛm zdi, pak spodní povrch prvkÛ odpovídá vnûj‰ímu ahorní povrch vnitfinímu povrchu zdi. MÛÏete toho dosáhnout zpopisÛ 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 popisemohou 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 vpÛdorysu, do které jsou dvefie/okno vloÏeny. V pfiípadûsendviãov˘ch zdí musíte pouÏít odpovídající promûnné. Detailyviz 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í.
198
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklad:
Z
Y
X
A=0.9: B=1.5: C=0.1: D=0.08E=0.08: F=0.9: G=0.03: H=3PRISM_ 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, -1ADDX -A/2+D, F, 0BRICK A-2*D, E, CADDX -G/2, -F+D, C/2GOSUB 1ADDZ -GGOSUB 1DEL 2MATERIAL "Glass"RECT A-2*D, F-DADDY F-D+ERECT A-2*D, B-F-E-DEND
1: FOR I=1 TO H-1ADDX (A-2*D)/3BLOCK G, F-D, GADDY F+E-DBLOCK G, B-F-D-E, GDEL 1NEXT IDEL H-1RETURN
199
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Neobdélníkové dvefie/okna vpfiím˘ch zdechPfii práci s dvefimi�/okny je dÛleÏité vûdût, Ïe ArchiCAD vÏdyvyfieÏ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 prvkudvefie/okno. Nicménû kdyÏ dvefie/okno není v pohleduobdé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 hranamiobdélníkového otvoru ve zdi. V takovém pfiípadû musítedávat pozor zvlá‰tû na viditelnost hran tûchto v˘plní.
Y
X
Z
2. PouÏití povelu WALLHOLE, kter˘ je dostupn˘ od verzeArchiCAD 6.0. Tímto povelem mÛÏete definovat polygonálnítvar, kter˘ se má vyfiezat do zdi, kde jsou umístûny dvefie/okna.
200
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
ArchiCAD 6.0: Referenãní pfiíruãka GDL
WALLHOLE n, status,x
1, y
1, maska
1,
...x
n, y
n, maska
n
[, x, y, z]
n : poãet uzlÛ polygonu
status:1: pouÏití vlastních atributÛ tûlesa pro generovanépolygony a hrany2: generované vyfiezané polygony budouzpracovány jako normální polygony
xi, y
i : soufiadnice prÛfiezu polygonu
maskai: jako v povelu CUTPOLYA
maskai = j
1 + 2 * j
2 + 4 * j
3
x, y, z: voliteln˘ smûrov˘ vektor (implicitnû je to osa Zdvefií/oken)
x
z
y
1
n
i
i+1j1
j2
j3Z
Y
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ûhemgenerování 3D aktuální zdi se 3D popis v‰ech jejích dvefií/okeninterpretuje bez generování modelu a shromáÏdí se zadanépovely WALLHOLE. Pokud existují, ArchiCAD vyfieÏe otvor zaktuální zdi pomocí nekoneãné trubky s polygonálním prÛfiezema smûrem definovan˘m v popise. Pro kaÏdé dvefie/okno mÛÏeb˘t zadán libovoln˘ poãet povelÛ WALLHOLE, takÏe mÛÏetevyfiezat více otvorÛ pro jediné dvefie/okno, a ty se mohoudokonce protínat. Pokud je alespoÀ jeden povel WALLHOLEinterpretovaán ve 3D popisu dvefií/okna, ArchiCAD nebude protyto dvefie/okno generovat obdélníkov˘ otvor.
Pozn.: 3D ostûní nebude generováno automaticky prouÏivatelské otvory, musíte je generovat popisem.
201
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Otvor takto upraven˘ bude viditeln˘ pouze ve 3D, protoÏepovely WALLHOLE nemají vliv na 2D. 2D reprezentaci lzepopsat, pokud to potfiebujete (a vypnete-li volbu rámování vpÛdoryse).
Doporuãujeme pouÏívat konvexní polygonální prÛfiez; pouÏitíkonkávních polygonÛ mÛÏe pfiinést podivné v˘sledky pfiistínování nebo fotozobarzení nebo chyby pfii fiezání. Konvexnípolygony lze kombinovat a vytváfiet tak konkávní tvary.
Pfiíklady:
RESOL 72L1=2.7 : L2=1.2 : H1=2.1 : H2=0.3 : H3=0.9R=((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,4015WALLHOLE 4,1,L1/2-L2,0,15,L1/2,0,15,L1/2,H3,15,L1/2-L2,H3,15
202
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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
203
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Obdélníkové dvefie/okna vzakfiiven˘ch zdechPfii umísÈování dvefií/oken do zakfiiven˘ch zdí se mohou stranyotvorÛ 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 otvorupro dvefie/okno. V tom pfiípadû mají strany radiální smûr.Napravo je otvor vyfiezán pomocí povelu WALLHOLE ve 3Dpopisu objektu dvefií/okna. Objekt sám musí b˘t popsán sohledem 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Ïenad urãit˘ rozmûr by se objekt ocitnul mimo zeì. Pfii pouÏívánízakfiiven˘ch dvefií/oken se tento problém neobjeví.
204
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíklad:
Y
X
Z
RESOL 72ROTX -90MULY -1C= 0.12 : Z=(360*A)/(2*R_*PI)Y= (360*C)/(2*R_*PI)A1= 270+Z/2 : A2=270-Z/2GOSUB 1ADDZ BMULZ -1GOSUB 1DEL 2ADDZ CGOSUB 2MULX -1GOSUB 2END1:PRISM_ 9, C,COS(A2)*R_, SIN(A2)*R_+R_, 11,COS(A2+Y)*R_, SIN(A2+Y)*R_+R_, 13,0, R_, 900,0, Z-2*Y, 4009,COS(A1)*R_, SIN(A1)*R_+R_, 11,COS(A1)*(R_-0.1), SIN(A1)*(R_-0.1)+R_, 11,COS(A1-Y)*(R_-0.1), SIN(A1-Y)*(R_-0.1)+R_, 13,0, -(Z-2*Y), 4009,COS(A2)*(R_-0.1), SIN(A2)*(R_-0.1)+R_, 11RETURN2:PRISM_ 4, B-2*C,COS(A2)*R_, SIN(A2)*R_+R_, 10,COS(A2+Y)*R_, SIN(A2+Y)*R_+R_, 15,COS(A2+Y)*(R_-0.1), SIN(A2+Y)*(R_-0.1)+R_, 10,COS(A2)*(R_-0.1), SIN(A2)*(R_-0.1)+R_, 10RETURN
205
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Neobdélníkové dvefie/okna vzakfiiven˘ch zdechObecná pravidla, daná pro obdélníkové dvefie/okna vzakfiiven˘ch zdech, zde platí také.
Pfiíklad:
C=0.1 : D=0.025Z=A/2-SQR(2)*C : Y=A/2-SQR(2)*C-DADDY A/2WALLHOLE 4, 1,0, -A/2,15,A/2, 0, 15,0, A/2, 15,-A/2,0, 15PRISM_ 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, -1ADDZ 0.02GOSUB 1ADDZ 0.03
206
Kapitola 12: Zvlá‰tní instrukce pro okna a dvefie
ArchiCAD 6.0: Referenãní pfiíruãka GDL
GOSUB 1ADDY -ZSET MATERIAL "Glass"ROTZ 45RECT SQR(2)*Z, SQR(2)*ZEND1: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, 15RETURN
207
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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˘chglobálních promûnn˘ch
K: Abecední seznam povelÛ
L: Textov˘ doplnûk
208
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
A Globální promûnné
Globální promûnné umoÏÀují ukládání speciálních hodnot modelu. To umoÏÀuje pfiístupke geometrick˘m informacím o prostfiedí GDL makra. Napfiíklad se mÛÏete dostat kparametrÛm zdí, kdyÏ definujete okno, které musí do zdi vsadit. Globální promûnné sebûhem volání makra neukládají do zásobníku.
Obecné informace o prostfiedí
GLOB_SCRIPT_TYPE T~ typ aktuálního popisu1-popis vlastností, 2-2D popis, 3-3D popis, 4-neimplementováno, 5-popis seznamuhodnot, 1- hlavní popis
GLOB_CONTEXT kontext vzhledu1-editor knihovního prvku, 2-pÛdorys, 3-3D pohled, 4-fiez, 5-dialog pro nastavení,6-seznam
GLOB_SCALE A_ mûfiítkopodle aktuálního okna
GLOB_NORTH_DIR U~ sever projektuvzhledem k implicitnímu soufiadnému systému projektu podle nastaveníprovedeného v dialogu Slunce...
GLOB_DRAWING_BGD_PEN pero barevného pozadí obrázkunejbliωí 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 animaciplatné pouze pro animace, 0 pro statické obrázky
209
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
GLOB_FIRST_FRAME O_ index prvního zábûru v pfieletuplatné pouze pro animace, 0 pro statické obrázky
GLOB_LAST_FRAME P_ index posledního zábûru v pfieletuplatné 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 prvkujméno vrstvy, ke které je prvek pfiifiazen
GLOB_ID uÏivatelské ID prvkuID, jak je nastaveno v dialogu pro nastavení prvku
GLOB_INTID vnitfiní ID prvkuvnitfiní jedineãné ID generované programem (nelze ovlivnit uÏivatelsky)
GLOB_ELEVATION J_ v˘‰ková úroveÀ základny prvkuvzhledem k poãátku projektu (kromû dvefií a oken: v˘‰ka parapetu podle aktuálníhonastavení)
Obecné parametry prvku - dostupné pouze pro seznamy
GLOB_ELEM_TYPE typ prvku1-objekt, 2-lampa, 3-okno, 4-dvefie, 5-zeì, 6-sloup, 7-deska�, 8-stfiecha, 9-v˘plÀ, 10-síÈ
Parametry objektÛ, lamp, dvefií, oken
SYMB_LINETYPE typ ãáry knihovního prvkuuplatní se jako implicitní typ ãáry 2D symbolu
SYMB_FILL typ v˘plnû knihovního prvkuuplatní se na fiezan˘ch povr‰ích knihovních prvkÛ v fiezech
SYMB_FILL_PEN pero v˘plnû knihovního prvkuuplatní se na fiezan˘ch povr‰ích knihovních prvkÛ v fiezech
SYMB_FBGD_PEN pero pozadí v˘plnû knihovního prvkuuplatní se na fiezan˘ch povr‰ích knihovních prvkÛ v fiezech
210
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
SYMB_SECT_PEN pero knihovního prvku v fiezuuplatní na obrysech fiezan˘ch povrchÛ knihovních prvkÛ v fiezech
SYMB_VIEW_PEN L_ implicitní pero knihovního prvkuuplatní 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 prvkuSYMB_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ímubodu 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ímubodu 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ímubodu jejich zdi)
Parametry objektÛ a lamp
SYMB_ROTANGLE W~ úhel natoãení knihovního prvkurotace se provádí kolem aktuálního kotevního bodu
SYMB_MIRRORED V~ zrcadlení knihovního prvku0-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 prvkudé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 prvkupokud je první uÏivatelsk˘ parametr pojmenovan˘ ve formátu zzxyz, pak budepouÏit pro jmenovitou v˘‰ku, jinak 0
Parametry oken a dvefií
WIDO_REVEAL_ON ostûní okna/dvefií zapnuto0-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 prahujak je nastaveno v dialogu Ostûní
211
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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 tutohodnotu
WIDO_POSITION H~ posuv dvefií/oknaúhel nebo vzdálenost mezi osou otevfiení a normálov˘m vektorem v poãáteãnímbodû zdi
WIDO_ORIENTATION orientace otevfiení okna/dvefiílevé/pravé - bude fungovat správnû, pouze pokud byly dvefie/okno vytvofieny podlemí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 zdivzdá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 zapnuto0-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ûtlajak je nastaveno v dialogu pro nastavení lamp (fixní parametr)
LIGHT_GREEN zelená sloÏka barvy svûtlajak je nastaveno v dialogu pro nastavení lamp (fixní parametr)
LIGHT_BLUE modrá sloÏka barvy svûtlajak je nastaveno v dialogu pro nastavení lamp (fixní parametr)
LIGHT_INTENSITY intenzita svûtlajak je nastaveno v dialogu pro nastavení lamp (fixní parametr)
Parametry zdi - dostupné pro dvefie/okna
WALL_RESOL J~ 3D rozli‰ení zakfiivené zdiefektivní pouze ve 3D
WALL_THICKNESS C_ tlou‰Èka zdiv pfiípadû naklonûn˘ch zdí: tlou‰Èka zdi v ose otvoru (lokální osa z)
212
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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 zdiWALL_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é zdiWALL_MAT_B H_ materiál zdi na stranû otvoru
mÛÏe se li‰it u jednotliv˘ch otvorÛ ve stejné zdiWALL_MAT_EDGE I_ materiál hran zdiWALL_LINE_TYPE typ ãáry zdi
uplatní se pouze u obrysÛ v pÛdoryseWALL_FILL A~ typ v˘plnû zdi
index v˘plnû - jeho hodnota je negativní v pfiípadû sendviãové konstrukceWALL_FILL_PEN F_ pero v˘plnû zdiWALL_COMPS_NAME sendviãová konstrukce zdi
jméno sendviãové konstrukceWALL_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û, statusjádra a aÏ 8 fiádcích
WALL_SECT_PEN E_ pero obrysu zdi v fiezuuplatní se na obrysech fiezan˘ch povrchÛ zdí v pÛdoryse i fiezu
WALL_VIEW _PEN pero obrysu zdi v pohleduuplatní se na v‰ech hranách ve 3D oknû a na pohledov˘ch hranách v fiezu
WALL_FBGD_PEN pero pozadí v˘plnû zdiWALL_DIRECTION smûr zdi
pfiímé zdi: smûr referenãní ãáry, zakfiivené zdi: smûr tûtivy obloukuWALL_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 délka zdi na stranû referenãní ãáryWALL_LENGTH_B délka zdi na stranû opaãné k referenãní ãáfieWALL_SURFACE_A povrch zdina stranû referenãní ãáryWALL_SURFACE_B délka zdi na stranû opaãné k referenãní ãáfieWALL_EDGE_SURF povrch hrany zdiWALL_VOLUME objem zdiWALL_DOORS_NR poãet dvefií ve zdiWALL_WINDS_NR poãet oken ve zdiWALL_HOLES_NR poãet prázdn˘ch otvorÛWALL_DOORS_SURF povrch dvefií ve zdiWALL_WINDS_SURF povrch oken ve zdiWALL_HOLES_SURF povrch prázdn˘ch otvorÛ ve zdi
213
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
WALL_WINDS_WID celková ‰ífika oken ve zdiWALL_DOORS_WID celková ‰ífika dvefií ve zdiWALL_COLUMNS_NR poãet sloupÛ ve zdi
Parametry sloupÛ - dostupné pouze pro seznamy
COLU_CORE vlastnosti jádra/obkladuslouÏí pro kompatibilitu: je efektivní pouze v popisech vlastností souborÛ CPS(Vlastnosti.sloupÛ)
COLU_HEIGHT v˘‰ka sloupuCOLU_VENEER_WIDTH tlou‰Èka obkladu sloupuCOLU_MAT materiál sloupu
Pozn.: obalování zdi nahradí materiál sloupu materiály pfiipojené zdiCOLU_LINETYPE typ ãáry sloupu
uplatní se pouze na obrysech v pÛdoryseCOLU_CORE_FILL v˘plÀ jádra sloupuCOLU_VENEER_FILL v˘plÀ obkladu sloupuCOLU_SECT_PEN pero obrysÛ sloupu v fiezu
uplatní se na obrysech fiezan˘ch povrchÛ v pÛdoryse i v fiezuCOLU_VIEW_PEN pero sloupu v pohledu
uplatní se na v‰ech hranách ve 3D oknû a na pohledov˘ch hranách v fiezuCOLU_CORE_FILL_PEN pero v˘plnû jádra sloupuCOLU_CORE_FBGD_PEN pero pozadí v˘plnû jádra sloupuCOLU_VENEER_FILL_PEN pero v˘plnû obkladu sloupuCOLU_VENEER_FBGD_PEN pero pozadí v˘plnû obkladu sloupuCOLU_CORE_SURF povrch jádra sloupuCOLU_CORE_VOL objem jádra sloupuCOLU_VENEER_SURF povrch obkladu sloupuCOLU_VENEER_VOL objem obkladu sloupu
Parametry desek - dostupné pouze pro seznamy
SLAB_THICKNESS tlou‰Èka deskySLAB_MAT_TOP materiál horního povrchu deskySLAB_MAT_EDGE materiál hran deskySLAB_MAT_BOTT materiál spodního povrch deskySLAB_LINETYPE typ ãáry deskySLAB_FILL v˘plÀ desky
index v˘plnû - její hodnota je negativní v pfiípadû sendviãové konstrukceSLAB_FILL_PEN pero v˘plnû deskySLAB_FILLBGD_PEN pero pozadí v˘plnû deskySLAB_COMPS_NAME sendviãová konstrukce desky
jméno sendviãové konstrukceSLAB_SKINS_NUMBER poãet vrstev sendviãové desky
rozsah od 1 do 8, 0 pokud je aplikována jediná v˘plÀ
214
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
SLAB_SKINS_PARAMS parametry vrstev sendviãové deskymatice o 6 sloupcích: v˘plÀ, tlou‰Èka, pero, pero v˘plnû, pero pozadí v˘plnû, statusjádra a aÏ 8 fiádcích
SLAB_SECT_PEN pero obrysÛ desky v fiezuuplatní se na na obrysech fiezan˘ch povrchÛ v pÛdoryse a fiezu
SLAB_VIEW_PEN pero deskyuplatní se na v‰ech hranách ve 3D oknû a na pohledov˘ch hranách v fiezu
SLAB_TOP_SURF horní povrch deskySLAB_BOT_SURF spodní povrch deskySLAB_EDGE_SURF povrch hrany deskySLAB_PERIMETER obvod deskySLAB_VOLUME objem deskySLAB_SEGMENTS_NR poãet segmentÛ deskySLAB_HOLES_NR poãet otvorÛ v desceSLAB_HOLES_AREA plocha otvorÛ v desceSLAB_HOLES_PRM obvod otvorÛ v desce
Parametry stfiechy- dostupné pouze pro seznamy
ROOF_THICKNESS tlou‰Èka stfiechyROOF_ANGLE sklon stfiechyROOF_MAT_TOP materiál horního �povrchu stfiechyROOF_MAT_HRANA materiál hran stfiechyROOF_MAT_BOTT materiál spodního povrchu stfiechyROOF_LINETYPE typ ãáry stfiechy
uplatní se pouze na obrysech v pÛdorysuROOF_FILL v˘plÀ stfiechy
index v˘plnû- jeho hodnota je negativní v pfiípadû sendviãové konstrukceROOF_FILL_PEN pero v˘plnû stfiechyROOF_FBGD_PEN pero pozadí v˘plnû stfiechyROOF_COMPS_NAME sendviãová konstrukce stfiechy
jméno sendviãové konstrukceROOF_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û, statusjádra a aÏ 8 fiádcích
ROOF_SECT_PEN pero obrysÛ stfiechy v fiezuuplatní se na obrysech fiezan˘ch povrchÛ zdí v pÛdoryse a v fiezu
ROOF_VIEW_PEN pero stfiechy v pohleduuplatní se na v‰ech hranách ve 3D oknû a na pohledov˘ch hranách v fiezu
ROOF_BOTTOM_SURF spodní povrch stfiechyROOF_TOP_SURF horní povrch stfiechyROOF_EDGE_SURF povrch hran stfiechyROOF_PERIMETER obvod stfiechy
215
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
ROOF_VOLUME objem stfiechyROOF_SEGMENTS_NR poãet segmentÛ stfiechyROOF_HOLES_NR poãet otvorÛ stfiechyROOF_HOLES_AREA plocha otvorÛ stfiechyROOF_HOLES_PRM obvod otvorÛ stfiechy
Parametry v˘plnû - dostupné pouze pro seznamy
FILL_LINETYPE typ ãáry v˘plnûFILL_FILL typ v˘plnûFILL_FILL_PEN pero v˘plnûFILL_PEN pero v˘plnûFILL_FBGD_PEN pero pozadí v˘plnûFILL_SURF plocha v˘plnûFILL_PERIMETER obvod v˘plnûFILL_SEGMENT_NR poãet segmentÛ v˘plnûFILL_HOLES_NR poãet otvorÛ v˘plnûFILL_HOLES_PRM obvod otvorÛ v˘plnûFILL_HOLES_AREA 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ákladnyMESH_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 fiezuMESH_VIEW_PEN pero obrysÛ v pohledu
uplatní se na v‰ech hranách ve 3D oknû a na pohledov˘ch hranách v fiezuMESH_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ÛdoryseMESH_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û
216
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
MESH_HOLES_NR poãet otvorÛ sítûMESH_HOLES_AREA plocha otvorÛ sítûMESH_HOLES_PRM obvod otvorÛ sítû
Globální promûnné volné pro uÏivatele
GLOB_USER_1 S_GLOB_USER_2 T_GLOB_USER_3 U_GLOB_USER_4 V_GLOB_USER_5 W_GLOB_USER_6 X_GLOB_USER_7 Y_GLOB_USER_8 Z_GLOB_USER_9 G~GLOB_USER_10 I~ globální promûnné volné pro uÏivatele 1 aÏ 10 jsou
implicitnû inicializovány pro ãísloGLOB_USER_11GLOB_USER_12GLOB_USER_13GLOB_USER_14GLOB_USER_15GLOB_USER_16GLOB_USER_17GLOB_USER_18GLOB_USER_19GLOB_USER_20 globální promûnné volné pro uÏivatele 11 aÏ 20 jsou
implicitnû inicializovány pro fietûzec
217
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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 RGBv 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 vhodnotá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.
218
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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éhotypu (napfiíklad dotaz mÛÏe b˘t "Rgb_of_material" a jehoobjektem je jméno materiálu, nebo "Rgb_of_pen" a objektem jeindex pera). Ostatní parametry jsou jména promûnn˘ch, dokter˘ch se uloÏí vrácené hodnoty (odpovûdi). Vrácená hodnotafunkce je poãet odpovûdí (v pfiípadû ‰patnû formulovanéhodotazu 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énoobsahovat jméno makra, zatímco promûnná hlavníjméno jménohlavní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énoaktuálního podlaÏí.
REQUEST ("Internal_id", "", id)
Vrací v promûnné id vnitfiní id knihovního prvku.
REQUEST ("Linear_dimension", "", formatstr)
REQUEST ("Angular_dimension", "", formatstr)
REQUEST ("Angular_length_dimension", "", formatstr)
REQUEST ("Radial_dimension", "", formatstr)
219
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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 dialoguVolby/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.55REQUEST ("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 pfiijeho 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ódkategorie 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˘tmaximá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 vaktuá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éhopopisu knihovního prvku nebo prázdn˘ fietûzec, pokudneexistuje.
220
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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˘chpromû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 vmetrech.
REQUEST ("Name_of_material", index, jméno)
Vrací v danné promûnné jméno materiálu identifikovanéhoindexem.
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 ãárynebo stylu definovaném v GDL popisu nebo v souboruMASTER_GDL. Volání dotazu s indexem = 0 vrací v promûnnéjméno implicitního materiálu nebo typu ãáry (prázdn˘ fietûzecv˘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 indexneplatn˘).
REQUEST (jméno_doplÀku, fietûzec_parametru, v1, v2, ...)
Pokud dotaz není ani jedním z v˘‰e uveden˘ch dotazÛ, funkceREQUEST () se pokusí jej pouÏít jako jméno doplÀku. Pokud vesloÏce DoplÀky ArchiCADu takov˘ doplnûk existuje, bude pouÏitpro získání tolika hodnot, kolik je v dotazu promûnn˘ch. ¤etûzecparametru je interpretován doplÀkem.
221
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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 ãárynebo stylu. Hlavní pouÏití v˘sledného ãísla je jeho pfienos domakra, které vyÏaduje stejné atributy jako volané makro.V˘sledkem je negativní ãíslo pro doãasnou definici a kladné proglobá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Û".
222
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
C GDL popis vytvofien˘ zpÛdorysuUloÏením pÛdorysu jako Popis GDL nebo knihovní prvek sevytvofií následující GDL prvky. Tyto GDL popisy mÛÏete pouÏítjako ‰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
223
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
D Povely pouze pro 3Dzobrazení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
224
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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
225
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
E Povely pouze pro 2DsymbolADD2
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
226
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
F Povely pro 2D i 3DpouÏitíDEL
[LET]
RADIUS
RESOL
TOLER
PEN
DEFINE STYLE
[SET] STYLE
227
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
G Povely pronegeometrické popisyPopis 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
228
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
H Spoleãné povelyOperátory
Funkce
FOR, NEXT
DO, WHILE, ENDWHILE
REPEAT, UNTIL
IF, THEN, ELSE, ENDIF
GOTO
GOSUB
RETURN
END
EXIT
PUT
GET
USE
NSP
CALL, PARAMETERS
OPEN
INPUT
OUTPUT
CLOSE
DIM
BREAKPOINT
229
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
I Rezervované povely
Povely uvedené zde jsou rezervované, existují z dÛvodukompatibility 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
230
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
J Seznam konverzí jmenzastaral˘ch globálníchpromûnn˘chJmé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˘mjménem.
A_ GLOB_SCALEB_ GLOB_HSTORY_ELEVC_ WALL_THICKNESSD_ WALL_HEIGHTE_ WALL_OUTLINE_PENF_ WALL_FILL_PENG_ WALL_MAT_AH_ WALL_MAT_BI_ WALL_MAT_EDGE J_ GLOB_ELEVATIONK_ WIDO_SILLL_ SYMB_PENN_ SYMB_MATN_ GLOB_FRAME_NRM_ GLOB_FIRST_FRAMEP_ GLOB_LAST_FRAMEQ_ GLOB_HSTORY_HEIGHTR_ WIDO_ORIG_DISTS_ GLOB_USER_1T_ GLOB_USER_2U_ GLOB_USER_3V_ GLOB_USER_4W_ GLOB_USER_5X_ GLOB_USER_6Y_ GLOB_USER_7Z_ GLOB_USER_8
231
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
A~ WALL_FILLB~ WIDO_RIGHT_JAMBC~ WIDO_THRES_DEPTHD~ WIDO_HEAD_DEPTHE~ WIDO_REVEAL_SIDEF~ WIDO_FRAME_THICKNESSG~ GLOB_USER_9H~ WIDO_POSITIONI~ GLOB_USER_10J~ WALL_RESOLK~ GLOB_EYEPOS_XL~ GLOB_EYEPOS_YM~ GLOB_EYEPOS_ZN~ GLOB_TARGPOS_XO~ GLOB_TARGPOS_YP~ GLOB_TARGPOS_ZQ~ GLOB_CSTORY_ELEVR~ GLOB_CSTORY_HEIGHTS~ GLOB_CH_STORY_DISTT~ GLOB_POPIS_TYPEU~ GLOB_NORTH_DIRV~ SYMB_MIRROREDW~ SYMB_ROTANGLEX~ SYMB_POS_XY~ SYMB_POS_YZ~ SYMB_POS_Z
232
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
K Abecední seznamaktuá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, r
2, l, h, d, alfa
ARME l, r1, r
2, 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,x
1, y
1, maska
1, . . . x
n, y
n, maska
n
BREAKPOINT v˘raz
BRICK a, b, c
233
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
BWALL_ leftmat, rightmat, sidemat,v˘‰ka, x
1, x
2, x
3, x
4, t, polomûr,
maska1, maska
2, maska
3, maska
4,
n,xbeg
1, spodní
1, xend
1, horní
1, framevis
1,
. . .xbeg
n, spodní
n, xend
n, horní
n, framevis
n,
m,a
1, b
1, c
1, d
1,
. . .a
m, b
m, c
m, d
m
CALL fietûzec_jména_makra [seznam_parametrÛ]
CALL fietûzec_jména_makra PARAMETERS[jméno
1=hodnota
1,
. . . jménon=hodnota
n]
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, r
2, alfa
1, alfa
2
COONS n, m, maska,x
11, y
11, z
11, . . . x
1n, y
1n, z
1n,
x21, y
21, z
21, . . . x
2n, y
2n, z
2n,
x31, y
31, z
31, . . . x
3m, y
3m, z
3m,
x41, y
41, z
41, . . . x
4m, y
4m, z
4m
COOR obalování, vert1, vert
2, vert
3, vert
4
COS (x)
CPRISM_ topmat, botmat, sidemat,n, h, x
1, y
1, maska
1, . . . x
n, y
n, maska
n
CROOF_ topmat, botmat, sidemat,n,x
b, y
b, x
e, y
e, v˘‰ka, úhel,
tlou‰Èka,x
1, y
1, alfa
1, maska
1, . . . x
n, y
n, alfa
n, maska
n
234
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
CSLAB_ topmat, botmat, sidemat,n, h, x
1, y
1, z
1, maska
1, . . . x
n, y
n, z
n, maska
n
CUTPLANE [x, y, z [, strana]]v˘razyCUTEND
CUTPLANE úhelv˘razyCUTEND
CUTPOLY n, status, d,x
1, y
1, . . . x
n, y
n,
[, x, y, z]v˘razyCUTEND
CUTPOLYA n, status, d,x
1, y
1, maska
1, . . . x
n, y
n, maska
n
[, x, y, z]v˘razyCUTEND
CUTSHAPE dv˘razyCUTEND
CWALL_ leftmat, rightmat, sidemat,v˘‰ka, x
1, x
2, x
3, x
4, t,
mask1, maska
2, maska
3, maska
4,
n,xbeg
1, spodní
1, xend
1, horní
1, framevis
1,
. . .xbeg
n, spodní
n, xend
n, horní
n, framevis
n,
m,a
1, b
1, c
1, d
1,
. . .a
m, b
m, c
m, d
m
CYLIND h, r
DEFINE FILL jméno pat1, pat
2, pat
3, pat
4, pat
5, pat
6, pat
7, pat
8,
mezera, úhel, n,freq
1, dir
1, offsetx
1, offsety
1, m
1,
len11, . . . len
m1,
. . .freq
n, dir
n, offsetx
n, offsety
n, m
n,
lenn1, . . . len
nm
235
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
DEFINE FILLA jméno pat1,pat
2,pat
3,pat
4,pat
5,pat
6,pat
7,pat
8,
mezerax, mezeray, úhel, n,freq
1, doffset
1, dir
1, offsetx
1, offsety
1, m
1,
len11, . . . len
m1,
. . .freq
n, doffset
n,dir
n, offsetx
n, offsety
n, m
n,
lenn1, . . . len
nm
DEFINE LINE_TYPE jméno mezera, n, len1, . . . len
n
DEFINE MATERIAL jméno typ, m1, m
2, . . . m
n
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 jméno, soubor, x, y, maska, úhel
DEL n
DEL TOP
DESCRIPTOR fietûzec
DIM var1 [dim_1], var2 [dim_1][dim_2], . . .
DOv˘razyWHILE 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, y
1, s
1, . . . x
n, y
n, s
n
FILL index
FILL fietûzec_jména
236
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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,x
1, y
1 , maska
1,
. . .x
n, y
n, maska
n
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)
237
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
LIGHT ãervená, zelená, modrá, stín,polomûr, alfa, beta, angfalloff,dist
1, dist
2, distfalloff
LIN_ x1, y
1, z
1, x
2, y
2, z
2
LINE_TYPE index
LINE_TYPE fietûzec_jména
LINE2 x1, y
1, x
2, y
2
LOG (x)
MASS topmat, botmat, sidemat, n, m, maska, h,x
1, y
1, z
1, s
1,
. . .x
n, y
n, z
n, s
n,
xn+1
, yn+1
, zn+1
, sn+1
, . . .x
n+m, y
n+m, z
n+m, s
n+m
MATERIAL index
MATERIAL fietûzec_jména
MAX (x1,x
2, . . . x
n)
MESH a, b, m, n, maska,z
11, z
12, . . . z
1m,
z21, z
22, . . . z
2m,
. . .z
n1, z
n2, . . . z
nm
MIN (x1,x
2, . . . x
n)
MOD
MODEL SOLID
MODEL SURFACE
MODEL WIRE
MUL mx, my, mz
MUL2 x, y
MULX mx
MULY my
MULZ mz
NEXT varnam
NOT (x)
238
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
NSP
NTR ( )
OPEN (filtr, soubor, paramstring)
OR
OUTPUT kanál, recordID, fieldID, v˘raz1 [, v˘raz2, . . .]
PEN n
PGON n, ivect, status, hrana1, hrana
2, . . . hrana
n
PI
PICTURE soubor, a, b, maska
PICTURE2 v˘raz, a, b, maska
PIPG soubor, a, b, maska,n, ivect, status, hrana
1, hrana
2, . . . hrana
n
PLANE n, x1, y
1, z
1, . . . x
n, y
n, z
n
PLANE_ n, x1, y
1, z
1, maska
1, . . . x
n, y
n, z
n, maska
n
POLY n, x1, y
1, . . . xn, yn
POLY_ n, x1, y
1, maska
1, . . . x
n, y
n, maska
n
POLY2 n, rámv˘plnû, x1, y
1, . . . x
n, y
n
POLY2_ n, rámv˘plnû, x1, y
1, maska
1, . . . x
n, y
n, maska
n
POLY2_A n, rámv˘plnû, perov˘plnû,x
1, y
1, maska
1, . . . x
n, y
n, maska
n
POLY2_B n, rámv˘plnû, perov˘plnû,peropozadív˘plnû,x
1, y
1, maska
1, . . . x
n, y
n, maska
n
POSITION povel_umístûní
PRINT [v˘raz] [, v˘raz] . . .
PRISM n, h, x1, y
1, . . . x
n, y
n
PRISM_ n, h, x1, y
1, maska
1, . . . x
n, y
n, maska
n
PROJECT2 projkód, úhel, metoda
PUT v˘raz [, v˘raz] . . .
PYRAMID n, h, maska, x1, y
1, s
1, . . . x
n, y
n, s
n
RADIUS rmin, rmax
RECT a, b
239
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
RECT2 x1, y
1, x
2, y
2
REF COMPONENT kód [, num_v˘raz [, kód_klíãe]]
REF DEPOPISOR kód [, kód_klíãe]
REPEATv˘razyUNTIL podmínka
REQ (fietûzec_parametru)
REQUEST (jméno_dotazu, jméno | index, var1 [, var2, . . .])
RESOL n
RETURN
REVOLVE n, alfa, maska, x1, y
1, s
1, . . . x
n, y
n, s
n
RND (x)
ROT x, y, z, alfa
ROT2 alfaz
ROTX alfax
ROTY alfay
ROTZ alfaz
RULED n, maska,u
1, v
1, s
1, . . . u
n, v
n, s
n,
x1, y
1, z
1, . . . x
n, y
n, z
n
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
240
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
SIN (x)
SLAB n, h, x1, y
1, z
1, . . . x
n, y
n, z
n
SLAB_ n, h, x1, y
1, z
1, maska
1, . . . x
n, y
n, z
n, maska
n
SPHERE r
SPLINE2 n, status, x1, y
1, úhel
1, . . . x
n, y
n, úhel
n
SPLINE2_A n, status,x
1, y
1, úhel
1, lenPrev
1, lenNext
1,
. . .x
n, y
n, úhel
n, lenPrev
n, lenNext
n
SPLIT (fietûzec, formát, var1 [, var
2, . . . var
n])
SPRISM_ topmat, botmat, sidemat,n, x
b,y
b, x
e, y
e, h, úhel,
x1, y
1, maska
1, . . . x
n, y
n, maska
n
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,u
1, v
1, s
1, . . . u
n, v
n, s
n,
x1, y
1, z
1, . . . x
m, y
m, z
m
TAN (x)
TEVE x, y, z, u, v
TEXT d, 0, v˘raz
TEXT2 x, y, fietûzec
TOLER d
241
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
TUBE n, m, maska,u
1, w
1, s
1, . . . u
n, w
n, s
n,
x1, y
1, z
1, úhel
1, . . . x
m, y
m, z
m, úhel
m
TUBEA n, m, maska,u
1, w
1, s
1, . . . u
n, w
n, s
n,
x1, y
1, z
1, . . . x
m, y
m, z
m
USE (n)
VALUES jméno, val1 [, val
2, . . . val
n]
VECT x, y, z
VERT x, y, z
VOLUME3D ( )
WALLHOLE n, status,x
1, y
1, maska
1, . . . x
n, y
n, maska
n
[, x, y, z]
WHILE podmínka DOv˘razyENDWHILE
XFORM a11, a
12, a
13, a
14,
a21, a
22, a
23, a
24,
a31, a
32, a
33, a
34
XWALL_ leftmat, rightmat, sidevmat, sidehmat,v˘‰ka, x
1, x
2, x
3, x
4,
y1, y
2, y
3, y
4,
t, polomûr,reserved1, reserved2,mask
1, maska
2, maska
3, maska
4,
n,xbeg
1, spodní
1, xend
1, horní
1, framevis
1,
. . .xbeg
n, spodní
n, xend
n, horní
n, framevis
n,
m,a
1, b
1, c
1, d
1,
. . .a
m, b
m, c
m, d
m
242
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
L Textov˘ doplnûkToto je ukázka doplÀku demonstrující moÏnosti I/O operací sesoubory. Jiné doplÀky tohoto typu jsou dostupné u Graphisoftunebo jin˘ch prodejcÛ.
Doplnûk interpretuje fietûzce v seznamu parametrÛ povelÛ OPEN,INPUT, OUTPUT.
Pfiedpokládá se, Ïe vedle ArchiCADu existuje sloÏka "DataArchiCADu" pro uÏivatelsky definované soubory (jméno tétosloÏ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 mohoub˘t ãteny i pfiepisovány.
1. kanál = OPEN (filtr, soubor, paramstring)
filtr: specifick˘ podle doplÀku, v pfiípadû textovéhodoplÀku "TEXT"
soubor: jméno souboru, kter˘ má b˘t otevfien
paramstring: obsahuje specifické oddûlovací znaky doplÀku areÏim otevfiení
Tento povel otevfie soubor. JestliÏe soubor, do kterého chcetepsát, neexistuje, vytvofií jej. Neexistuje-li soubor, ze kterého semá ãíst, objeví se chybová zpráva.
Vrácená hodnota je kladné celé ãíslo, které bude identifikovattento 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').
243
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
• 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íveuloÏ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í znakynesprávné, nebo je fietûzec parametrÛ prázdn˘, doplnûk pouÏijeimplicitní 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Û. Vseznamu parametrÛ musí b˘t alespoÀ jedna hodnota. Funkcevkládá naãtené hodnoty podle pofiadí parametrÛ. Hodnotymohou b˘t ãíselného nebo fietûzcového typu. Na místû hodnot vsouboru 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ányhodnoty 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 konecsouboru 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)
244
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfii identifikaci fiádkÛ a sloupcÛ bude pfiifiazeno tolik hodnot zdané poãáteãní pozice, kolik je dáno parametrÛ, nebo pokudvíce parametrÛ neÏ hodnot, budou parametry bez odpovídajícíchhodnot nastaveny na nulu.
Parametry pro prázdné sloupce (tzn. není-li mezi oddûlovacímiznaky 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ásledovatnovou 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í existovatalespoÀ jeden v˘raz. Typy v˘stupních hodnot jsou stejné jakotypy v˘razÛ.
Povel OUTPUT bude do textového doplÀku, v pofiadí v závislostina reÏimu otevfiení, vkládat dané v˘razy do po sobû jdoucíchpozic, oddûlen˘ch znaky, které byly dány pfii otevfiení souboru, ato 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ánynovou fiádkou, jinak bude poslední hodnota následovánaoddû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
245
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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 vsouboru "f1" do oddûlen˘ch fiádkÛ v souboru "f2" a "f3".
ch1 = OPEN ("TEXT", "f1", "MODE=ro")ch2 = OPEN ("TEXT", "f2", "SEPARATOR='\n', MODE=wo")ch3 = OPEN ("TEXT", "f3", "SEPARATOR='\n', MODE=wo")i = 11: 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 ENDIF2: CLOSE ch1 CLOSE ch2 CLOSE ch3END
246
Pfiíloha
ArchiCAD 6.0: Referenãní pfiíruãka GDL
247
Rejstfiík
ArchiCADu 6.0: Referenãní pfiíruãka GDL
Rejstfiík
2D popis 73D popis 7
A
ABS 173Absolutní poãátek 16ACS 173ADD 26ADD2 29ADDX 26ADDY 26ADDZ 26AND 172ARC 36, 144ARC2 124ArchiSITE 2, 5ARMC 64, 144ARME 65, 144ASN 173ATN 173
B
BASE 109BinárníÊ2D data 7Binární 3D data 7Binární popisy vlastností 7BINARY 7, 110BINARYPROP 7, 165Bitmapov˘ vzor 157BLOCK 38BODY 107BPRISM_ 46, 134BREAKPOINT 186BRICK 38BWALL_ 55
248
Rejstfiík
ArchiCADu 6.0: Referenãní pfiíruãka GDL
C
CALL 190CEILS 166CIRCLE 36, 144CIRCLE2 125CLOSE 194COLUMNS 166COMPONENT 164, 165, 166CONE 40, 144COONS 91COOR 105COS 173CPRISM_ 45, 134CROOF_ 59, 134CSLAB_ 51CUTEND 112CUTPLANE 112CUTPOLY 115CUTPOLYA 118CUTSHAPE 120CWALL_ 52CYLIND 38, 144
D
DEFINE FILL 156DEFINE FILLA 159DEFINE LINE_TYPE 161DEFINE MATERIAL 151DEFINE STYLE 162DEFINE TEXTURE 154Definice atributÛ 18DEL 30DEL TOP 30DESCRIPTOR 164DIM 170DO 183DOORS 166DRAWING2 132DRAWING3 132DXF 5
E
EDGE 103ELBOW 66, 144ELLIPS 39, 144ELSE 185
END 22, 186ENDIF 185ENDWHILE 183EXIT 22, 186EXOR 172EXP 174EXTRUDE 69, 134
F
FILL 149, 156, 191FILLA 159FOR 182Formát fietûzce 174FPRISM_ 48, 134FRA 173FRAGMENT2 7, 130
G
GET 187Globální promûnné 18GOSUB 22, 184, 186GOTO 22, 184, 186Graphisoft Collection 4
H
HATCHES 166Hlavní popis 7Hlavní soufiadn˘ systém 16Hodnoty masek 42HOTSPOT2 122
I
Identifikátory 23IF 184, 185IND 179, 221INPUT 193, 243INT 173
J
Jednoduché typy 24
K
Knihovní prvky 7Komentáfi 8Komponenty 7
249
Rejstfiík
ArchiCADu 6.0: Referenãní pfiíruãka GDL
L
LET 144LGT 174LIGHT 96LIGHTS 166LIN_ 34LINE_TYPE 150, 161, 191LINE2 122LOG 174Lokální soufiadn˘ systém 16
M
MASS 94MASTER_GDL 18, 23, 150, 167, 220MASTEREND_GDL 18MATERIAL 148, 151, 191MAX 174MESH 62MIN 174MOD 172MODEL 147, 191MUL 27MUL2 29MULX 27MULY 27MULZ 27
N
Náhledov˘ obrázek 8Návû‰tí 22NEXT 182NOT 174NSP 188NTR 30
O
OBJECTS 166OPEN 193, 242OR 172OUTPUT 194, 244
P
PARAMETERS 190Parametry 7, 24, 170
PEN 146, 191PGON 104PI 173PICTURE 8, 99PICTURE2 8, 128PIPG 105PITCHED_ROOFS 166PLANE 35PLANE_ 35POLY 34POLY_ 35, 134POLY2 123POLY2_ 123, 134POLY2_A 124, 134POLY2_B 124, 134Popis seznamu hodnot 7Popis vlastností 7, 164Popisy 7POSITION 166Povely 22PRINT 192PRISM 40PRISM_ 41, 134PROJECT2 131Promûnné 23PUT 187PYRAMID 72, 134
R
RADIUS 144, 191RECT 34RECT2 122REF 164REPEAT 183REQ 179, 217REQUEST 179, 218RESOL 145, 191RETURN 186REVOLVE 74, 134, 144RND 174ROT 28ROT2 29ROTX 27ROTY 27ROTZ 27RULED 78
250
Rejstfiík
ArchiCADu 6.0: Referenãní pfiíruãka GDL
¤
¤ádek 22
S
SET FILL 149SET LINE_TYPE 150SET MATERIAL 148SET STYLE 146Seznam hodnot 18, 167Seznam komponentÛ 166SGN 173SHADOW 148, 191SIN 173SLAB 51SLAB_ 51SOLID 147SPHERE 39, 144SPLINE2 125SPLINE2_A 127SPLIT 177SPRISM_ 50, 134SQR 173StairMaker 2, 4STEP 182STR 174STRLEN 178STRSTR 178STRSUB 178STW 177STYLE 146, 162, 191SURFACE 147SURFACE3D 165SWEEP 81, 134
T
Táhnout & pustit 20TAN 173TEVE 102TEXT 100TEXT2 129TEXTURE 154THEN 184, 185TO 182TOLER 145, 191Transformaãní zásobník 26TUBE 84, 134TUBEA 89, 134
U
UNTIL 183USE 188
V
V˘razy 24VALUES 167VECT 103Vektorová v˘plÀ 157VERT 102VisualGDL 5VOLUME3D 165
W
WALLHOLE 199, 200WALLS 166Wavefront 5WHILE 183WINDOWS 166WIRE 147
X
XFORM 28XWALL_ 57
Z
ZOOM 5
i
Obsah
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Obsah
1 Úvod 1
1.1 O této pfiíruãce___________________________________________________________ 2
1.2 Knihovní prvky v ArchiCADu _____________________________________________ 2
Zdroje knihovních prvkÛ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Knihovna ArchiCADu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3DoplÀkové knihovny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4StairMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Externí doplÀky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Knihovny ve formátu DXF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
PouÏijte své vlastní schopnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Modelování v jin˘ch3D aplikacích . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Modelování vlastními 3D nástroji ArchiCADu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5GDL popisy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Pfiehled vytváfiení GDL popisÛ ____________________________________________ 7Co je GDL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Struktura knihovních prvkÛ ArchiCADu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Analyzujte, rozkládejte a zjednodu‰ujte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Vypracování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Zaãínáme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Povely základní úrovnû . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Povely stfiední úrovnû . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11SloÏité povely a funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13GDL 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
ii
Obsah
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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 ________________________________________________________ 122
6.2 Textov˘ prvek _________________________________________________________ 129
6.3 PouÏívání binárních 2D dat _____________________________________________ 130
6.4 3D zobrazení vloÏené do 2D ____________________________________________ 131
6.5 Obrázky v seznamu ____________________________________________________ 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
iii
Obsah
ArchiCAD 6.0: Referenãní pfiíruãka GDL
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 181
11.1 Povely pro fiízení chodu programu_____________________________________ 182
11.2 Manipulace s pamûtí __________________________________________________ 187
11.3 Makro objekty ________________________________________________________ 190
11.4 V˘stupní povely ______________________________________________________ 192
11.5 Operace se soubory ___________________________________________________ 193
12 Zvlá‰tní instrukce pro okna a dvefie 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
iv
Obsah
ArchiCAD 6.0: Referenãní pfiíruãka GDL
Pfiíloha 207
A Globální promûnné ____________________________________________________ 208
B Speciální funkce _______________________________________________________ 217
C GDL popis vytvofien˘ z pÛdorysu _______________________________________ 222
D Povely pouze pro 3D zobrazení _________________________________________ 223
E Povely pouze pro 2D symbol ___________________________________________ 225
F Povely pro 2D i 3D pouÏití _____________________________________________ 226
G Povely pro negeometrické popisy ______________________________________ 227
H Spoleãné povely _______________________________________________________ 228
I Rezervované povely____________________________________________________ 229
J Seznam konverzí jmen zastaral˘ch globálních promûnn˘ch ______________ 230
K Abecední seznam aktuálních GDL povelÛ ________________________________ 232
L Textov˘ doplnûk _______________________________________________________ 242
Rejstfiík ___________________________________________________________________ 247