Nápověda ArchiCADu 



Syntaxe šablony seznamu


Černý_tučný_řetězec

Musí být zadán tak, jak je zobrazeno

ZELENÝ_ŘETĚZEC_VELKÝMI_PÍSMENY

Číselná hodnota

modrý_řetězec_kurzívou

Popis syntaxe

červený_podtržený_řetězec_kurzívou

Popis syntaxe s odkazem

 

Speciální popisy syntaxe:

(( prvek ))

Komplexní syntaktický prvek

[[ prvek ]]

Volitelný prvek

prvek1 || prvek2

Výběr jednoho z prvků

...

Libovolný počet opakování předchozího prvku

prvek1 ::= prvek2

Definice prvku1 jako prvek2

Klíčová slova nerozlišují velká a malá písmena. Mezery, tabulátory, nové řádky můžete vkládat kamkoli mezi syntaktické prvky (komentáře a řetězce jsou speciální případy).

znak

::=

libovolný_znak_kromě_nového_řádku

komentář

::=

(( // znak... novýřádek )) ||
(( /* libovolný_znak... */ ))

Komentáře můžete vložit kamkoli mezi syntaktické prvky.

řetězec_znaků

::=

znak_kromě_opačného_lomítka || \\ || \n || \t || (( \ znak ))

\\ znamená samotné lomítko, \n znamená nový řádek, \t znamená tabulátor. V ostatních případech znamená znak po obráceném lomítku samotný znak.

řetězec

::=

(( " řetězec_znaků... " )) || (( řetězec řetězec ))

Řetězec definuje text, obvykle jméno. Délka řetězce není omezená, ale v případě některých použití je jisté omezení. Druhá forma je dostupná, pokud je řetězec příliš dlouhý, protože řetězec samotný nesmí obsahovat nový řádek.

šablona

::=

{
položkaverze [[ položkatitulek ]] [[ položkakomentář ]] [[ položkadebug ]] [[ položkaměřítkosestavy ]] [[ položkaformátseznamu ]] [[ položkatypseznamu ]] [[ položkajednotka ]] [[ položkastránka ]] [[ položkamezerameziřádky ]] [[ položkatitulek ]] [[ položkasekvence ]] [[ položkamezerymezibuňkami ]] [[ položkavždy ]] [[ položkauživatelskýtext ]]...
[[ položkazáhlaví ]]... [[ položkazápatí ]]... [[ položkapozadí ]]...
opakujícísepoložka [[ opakujícísepoložka ]]...
}

Toto je celá šablona, která definuje formát seznamu.

položkaverze

::=

Version ČÍSLO

Tento povinný prvek je srovnán s číslem verze uloženým v aplikaci. Pokud je definované číslo verze starší nebo novější než číslo, které ArchiCAD pozná, pak šablona seznamu nebude interpretována. V ostatních případech může být metoda interpretace poněkud modifikována (příklad viz příkaz měřítkoobrázku). Číslo verze se objeví v dialogu Nastavení osnovy seznamu, když zvolíte tuto šablonu.

položkatitulek

::=

Title řetězec

Řetězec titulku je jméno sestavy. Pokud je šablona použita v sestavě, editor sestavy toto jméno zobrazí. Jinak nemá žádný zvláštní význam.

položkakomentář

::=

Comment řetězec

Řetězec komentáře se objeví v dialozích Nastavení osnovy seznamů, když zvolíte tuto šablonu. Pokud chybí, v dialozích nebude žádný komentář.

položkadebug

::=

Debug

Pokud se tento prvek objeví, pak engine seznamu vyšle viditelné značky okolo rámečků a formátovací texty namísto skutečného obsahu políček.

položkaměřítkosestavy

::=

Layoutscale ČÍSLO

Tento prvek definuje měřítko celé sestavy. Tato hodnota bude použita jako měřítko okna seznamu a bude také přenesena do grafických maker jako globální hodnota (viz také obrázek s Data počátku). ČÍSLO je rozděleno, takže 100 znamená 1:100 a 0.5 znamená 2:1 (1:0.5). Implicitní hodnota (v případě chybějícího příkazu Layoutscale) je měřítko půdorysného okna.

položkaformátseznamu

::=

Listformat (( Book || Spreadsheet ))

Tento prvek popisuje formu seznamu. V současné verzi se nepoužívá. Implicitní hodnota je Book.

položkatypseznamu

::=

Listtype (( Zone || Object || Component ))

Tento prvek popisuje zdroj seznamu. Pokud je šablona použita v sestavě, editor sestavy použije tuto hodnotu k výběru typu sestavy. Jinak se v současné verzi nepoužívá (stejná šablona může být použita v různých typech seznamů). Implicitní hodnota je Object.

položkajednotka

::=

Unit (( mm || cm || inch ))

Tento prvek popisuje jednotky použité v šabloně. Položkajednotka musí předcházet položcestránka a položcemezerameziřádky, pokud byly definovány. Implicitní hodnota je mm. Tento prvek také nastavuje velikost stránky a mezeru mezi řádky. Implicitní hodnota velikosti stránky je 297 na 210, pokud je jednotkou mm, 29.7 na 21, pokud je jednotkou cm, 11 na 8, pokud je velikost stránky udána v palcích. Implicitní hodnota mezery mezi řádky je 1, pokud je jednotka mm; 0.1, pokud je mezera v cm; 0.03125 (1/32), pokud je jednotka palec.

položkastránka

::=

Page (( (( VÝŠKA , ŠÍŘKA )) || Printer || Plotter ))

Tento prvek definuje rozměry použitého papíru. Rozměry jsou buď v daných hodnotách ( VÁŠKA > 0 a ŠÍŘKA > 0), nebo rozměry použitelné plochy zvolené stránky v dialogu Nastavení stránky Printer) nebo Nastavení plotru (Plotter). Tento prvek by měl následovat položkujednotka, pokud byla definována. Implicitní rozměry papíru viz položkajednotka.

Položkamezerameziřádky

::=

Linegap MEZERA

Tento prvek definuje mezeru mezi různými částmi seznamu. Tento prvek by měl následovat položkujednotka, pokud byl definován. O implicitní mezeře se dozvíte více v položcejednotka.

Položkadělení

::=

Tile POČETŘÁDKU [[ , POČETSLOUPCU ]]

Tento prvek definuje počet řádků a sloupců na stránce POČETŘÁDKU >= 1 a POČETSLOUPCU >= 1). Původní velikost stránky (viz Položkastránka ) bude rozdělena a některé mezery (viz Položkamezerymezibuňkami ) budou použity mezi buňkami. Implicitní hodnota pro oba je 1. Popisy záznamu (viz Položkazáhlaví, Položkazápatí, Položkapozadí, a opakujícísepoložka ) se bude vztahovat jen k jedné buňce.

Položkasekvence

::=

Sequence (( Byrow || Bysloupec ))

Tento prvek definuje režim listování mezi buňkami. Byrow znamená prohledávat buňky řádek po řádku, Bysloupec znamená prohledávat sloupec po sloupci. Implicitní hodnota je Byrow. Pokud je počet sloupců (viz Položkadělení) 1, pak je povolen jen režim Byrow; pokud je počet řádků 1, pak jen Bysloupec.

Položkamezeramezibuňkami

::=

Cellgap HMEZERA [[ , VMEZERA]]

Tento prvek definuje mezeru mezi buňkami, pokud je stránka rozdělena (viz Položkadělení ). HMEZERA je horizontální mezera, VMEZERA je vertikální mezera (HMEZERA >= 0 a VMEZERA >= 0). Implicitní hodnota pro oba je 0. Pokud je počet sloupců (viz Položkadělení ) 1, pak HMEZERA musí být 0, pokud je počet řádků 1; pak jen VMEZERA musí být 0.

Položkavlastnítext

::=

Usertext [ INDEX ] (( řetězec || (( Name řetězec )) ))

Tyto prvky definují hodnoty textových proměnných, na které se můžete odkázat později v libovolném příkazu formát. 1 <= INDEX <= 15. Můžete použít jen jednu položkuvlastnítext pro každý index. Můžete ji definovat buď přímo nebo jako obsah textového souboru. Ve druhém případě řetězec obsahuje jméno souboru a/nebo cestu s omezením aktuálního operačního systému. Pokud cestu nepoužijete (to je preferováno), pak bude ArchiCAD hledat textový soubor ve všech načtených knihovnách a u samotné aplikace. Implicitní hodnota textových proměnných je "" (prázdný řetězec).

Položkavždy

::=

Always

Pokud je toto klíčové slovo přítomno, pak všechny záznamy úrovně/součtů/záhlaví jsou zapisovány bez ohledu na číslo pořadí změněného parametru. Pokud není přítomno a n-tý parametr se změnil, pak jen n-tý, (n + 1)-tý, ... záznam se zapisuje. Viz příklad.

Položkazáhlaví

::=

(( Header || Firstpageheader )) (( řetězec || { Popisúrovněsoučtů } ))

The Firstpageheader definuje formát záhlaví na první straně seznamu, Header definuje formát záhlaví seznamu na všech ostatních stránkách (pokud Firstpageheader chybí, pak na všech stránkách). V obou typech je povolena jen jedna definice. Implicitní záhlaví je prázdné. Definice obsahuje jméno předdefinovaného záznamu nebo popis celého záznamu.

Položkazápatí

::=

(( Footer || Firstpagefooter )) (( řetězec || { Popisúrovněsoučtů } ))

The Firstpagefooter definuje formát zápatí na první straně seznamu, Footer definuje formát zápatí na všech ostatních stránkách seznamu (pokud Firstpagefooter chybí, pak ne všech stránkách). V obou typech je povolena jen jedna definice. Implicitní zápatí je prázdné. Definice obsahuje jméno předdefinovaného záznamu nebo popis celého záznamu.

Položkapozadí

::=

Background (( řetězec || { Popisúrovněsoučtů } ))

The Background definuje formát pozadí všech stránek. Prvky na pozadí nezabírají na stránce žádné místo, ostatní prvky budou umístěny na ně. Povolena je jen jedna definice. Implicitní pozadí je prázdné. Definice obsahuje jméno předdefinovaného záznamu nebo popis celého záznamu.

opakujícísePoložka

::=

(( (( Level || Total || Headline )) [ INDEX1 [[ , INDEX2 ]] ]
[[ Based On (( Level || Total || Headline )) [ INDEX3 ] ]] [[ For All ]]
(( řetězec || { Popisúrovněsoučtů } )) )) ||
(( Sum [ INDEX1 ] řetězec )) ))

1 <= INDEX1 <= INDEX2 <= 60. 1 <= INDEX3 <= 60. Dva prvky stejného typu a indexu nejsou se stejné šabloně povoleny. INDEX3 musí být již definovaný prvek. Použijte For All pro všechny druhotné indexy. Level se zapisuje pro každý příklad. Total se zapíše, když se změní parametr s menším indexem (Součet [1] je celkový součet, Součet [2] se zapíše, pokud se parametr 1 změnil, atd.). Headline se zapíše, než se změní parametr s menším indexem (viz příklady pro Total). Definice obsahuje jméno předdefinovaného záznamu nebo popis celého záznamu.

Sum definuje výraz, který se chová jako celkový součet (má různé hodnoty na různých úrovních). Definiční řetězec obsahuje výraz.

Popisúrovněsoučtů

::=

[[ rámeček ]] [[ Styltextu ]] [[ formát ]] [[ volby ]] [[ obrázek ]]
[[ Sum [ INDEX ] řetězec ]] ...
[[ Columns [[ [ POČETŘÁDKU[[ , POČETSLOUPCU ]] ] ]] { sloupec... } ]]
[[ grafickápoložka ]]...

Rámeček je v relativních souřadnicích papíru. Pokud jsou pravá i levá hodnota nulové, úroveň ani součet se neobjeví. Pokud jsou horní a dolní hodnoty nulové, pak se v horní části prvního volného místa objeví prvek. Pokud jsou horní a dolní hodnoty stejné a kladné, pak se prvek objeví s tímto posuvem od prvního volného místa. Styl a formát textu se uplatní u textů o šířce záznamu (definovaných v dalším formátu) a jsou přeneseny do sloupců, pokud neobsahují svou vlastní definici.

1 <= INDEX <= 60. Sum definuje výraz, který se při zápisu záznamu ověřuje a slučuje. Je povolen jen na Level, v Total nebo v Headline. Definiční řetězec obsahuje výraz.

Columns definuje políčka celého záznamu. Pokud POČETŘÁDKU a POČETSLOUPCU nejsou definovány, pak je to jednoduchý záznam s libovolným počtem políček. Pokud definujete POČETŘÁDKU a POČETSLOUPCU, pak je záznam rozdělen a počet políček musí být POČETŘÁDKU *POČETSLOUPCU. POČETŘÁDKU>= 1 a POČETSLOUPCU >= 1. Implicitní hodnota POČETSLOUPCU je 1. Implicitní rámeček sloupce s jednoduchým záznamem je rámeček celého záznamu; Implicitní rámeček rozděleného záznamu je rámeček celého záznamu stejnoměrně rozdělený na tabulku o POČTUŘÁDKU a POČTUSLOUPCU. Políčka jsou definována po řádcích.

Grafické prvky jsou seznamem jednoduchých geometrických prvků, jako např. rovných čar, obdélníků, obdélníků se zaoblenými rohy, kružnice a oblouky. Jednoduché rámečky mohou být definovány jako okraje polí (viz ohraničení ).

sloupec

::=

{ [[ rámeček ]] [[ Styltextu ]] [[ formát ]] [[ ohraničení ]] }

Tento prvek definuje viditelný rámeček v seznamu. V každém záznamu je to volitelné pole.

Jeho rámeček je relativní k rámečku záznamu definovaného v popisuúrovněsoučtů. Pokud jsou pravá i levá hodnota nulové, sloupce se neobjeví. Pokud jsou nulové horní a dolní hodnoty, pak se prvek objeví nad rámečkem záznamu definovaného v popisuúrovněsoučtů. Pokud jsou horní a dolní hodnoty stejné a kladné, pak se prvek objeví s posunem od horního okraje rámečku záznamu definovaného v popisuúrovněsoučtů. Jsou-li levá nebo pravá hodnota záporná, je relativní k pravému okraji rámečku záznamu definovaného v popisuúrovněsoučtů. Je-li horní nebo dolní hodnota záporná, jde relativní ke spodnímu okraji rámečku záznamu definovaného v popisuúrovněsoučtů. Implicitním rámečkem sloupce jednoduchého záznamu je rámeček celého záznamu; Implicitním rámečkem rozděleného záznamu je rámeček kolem celého záznamu stejnoměrně rozděleného počtem řádků a sloupců.

Styltextu a formát přebírají definované hodnoty celého záznamu definovaného v popisuúrovněsoučtů.

Rámeček je celý nebo část rámečku nakresleného viditelným perem.

picture

::=

Picture { [[ rámeček ]] [[ počátek ]] [[ name ]] [[ pictureScale ]] [[ picturePosition ]] }

Tento prvek definuje rámeček obrázku v seznamu. Je to volitelné políčko v záznamu libovolného formátu.

Jeho rámeček je relativní k rámečku záznamu definovaného v Popisúrovněsoučtů. Pokud jsou pravá i levá hodnota nulové, sloupce se neobjeví. Pokud je horní i dolní hodnota nulové, pak se prvek objeví nad rámečkem záznamu definovaného v Popisúrovněsoučtů. Pokud jsou horní i spodní hodnoty stejné a kladné, pak se prvek objeví s posunem od horního okraje rámečku záznamu definovaného v Popisúrovněsoučtů. Pokud je levá nebo pravá záporná, je relativní k pravému okraji rámečku záznamu definovaného v Popisúrovněsoučtů. Pokud je horní nebo spodní hodnota záporná, je relativní ke spodnímu okraji rámečku záznamu definovaného v Popisúrovněsoučtů.

rámeček

::=

Frame [[ Fixwidth ]] LEVÝ [[ , PRAVÝ [[ , HORNÍ [[ , DOLNÍ ]] ]] ]]

-Šířka papíru <= LEVÝ <= Šířka papíru, - Šířka papíru <= PRAVÝ <= Šířka papíru, - Výška papíru <= HORNÍ <= Výška papíru, - Výška papíru <= DOLNÍ <= Výška papíru. Pokud je hodnota LEVÝ nebo PRAVÝ záporná, pak skutečná levá nebo pravá hodnota bude šířka papíru plus LEVÝ nebo PRAVÝ, jinak LEVÝ nebo PRAVÝ. Pokud DOLNÍ nebo HORNÍ jsou záporné hodnoty, pak bude skutečný spodní nebo horní okraj výška papíru plus DOLNÍ nebo HORNÍ, jinak DOLNÍ nebo HORNÍ. Skutečný levý okraj nesmí být menší než skutečný pravý. Skutečný horní nesmí být větší než skutečný spodní. Implicitní hodnota PRAVÝ je hodnota LEVÝ. Implicitní hodnota DOLNÍ je hodnota HORNÍ. Implicitní hodnota HORNÍ je nula. Pokud rámeček chybí úplně, pak je implicitní 0,0,0,0.

Fixwidth se může objevit jen v rámečku sloupec. Důležité je, zda je šablona sestava: políčko (a všechna ostatní políčka ve sloupci rozděleného záznamu) si uchovají svou šířku, i když se počet sloupců změní (jinak je celková šířka záznamu rozdělena na stejné části.)

Styltextu

::=

Text PERO [[ ,  (( řetězec || Defaultfont )) [[ , VELIKOST [[ , styl [[ , zarovnání [[ , ořezání ]] ]] ]] ]] ]]

Tento prvek definuje atributy textu: pero, font, velikost, styl, zarovnání a zkracování. Implicitní PERO je 1 (1 <= PERO <= 255), což odpovídá perům v ArchiCADu.

Řetězec obsahuje jméno fontu, nebo ArchiCAD použije implicitní font aktuálního operačního systému. Pozn.: Instalované fonty mohou být v různých systémech různé, proto implicitní font nepoužívejte, jméno fontu můžete upravit, když stoupíte do šablony.

Implicitní VELIKOST je 9 bodů VELIKOST >= 4).

Můžete nastavit také styl textu, zarovnání řádků textu a ořezání celého textu.

styl

::=

Plain || (( Položkastyl [[ + Položkastyl ]]... ))

Tento prvek popisuje styl textu: může být Plain nebo kombinací ostatních atributů, jako např. Bold nebo Italic. Atributy se mohou zadávat v libovolném pořadí, ale žádný z nich se nesmí ve stejném stylu objevit dvakrát. Implicitní styl je Plain.

Položkastyl

::=

Bold || Italic || Underline || Outline || Shadow || Condensed || Extended

Toto jsou možné atributy styly textu.

zarovnání

::=

Left || Right || Centered

Tento prvek popisuje zarovnání řádků textu: každý řádek můžete zarovnat k levému nebo pravému okraji rámečku, nebo střed textu podle svislé osy rámečku. Implicitní je Left.

ořezání

::=

Položkaořezání [[ + Položkaořezání ]]

Tento prvek popisuje ořezání (víceřádkového) textu. Pokud není volba ořezání zadána, pak se text zobrazí tak, jak je (bez ořezání na okrajích rámečku textu). Pokud je přítomna jen volba Multiline, pak se text automaticky zalamuje: dlouhé řádky se zlomí na okraji textového rámečku. Je-li přítomna jen volba Truncated, pak se celý text ořeže na prvním dlouhém řádku (a místo zbytku textu se objeví tři tečky). Pokud jsou zadány obě volby Truncated a Multiline, pak se každý dlouhý řádek ořeže (a objeví se tři tečky).

Položkaořezání

::=

Truncated || Multiline

Toto jsou možné volby pro ořezání textu.

formát

::=

Format řetězec

ArchiCAD zapíše tento text do seznamu. Text se zapíše v definovaném stylu a do definovaných rámečků. Implicitní je "" (prázdný řetězec). Řetězec může obsahovat prvky speciálního formátu, tyto prvky budou nahrazeny příslušnou hodnotou zpracovaných dat.

volby

::=

Options (( None || (( Položkavolba [[ , Položkavolba )) ))

Tento prvek popisuje volby pro záznam. Implicitní je None.

Volba Pagebreak řídí použití nové stránky před a/nebo za zápisem aktuálního záznamu. Pagebreak není povolen v Položcezáhlaví, v Položcezápatí ani v Položcepozadí.

Volba Only znamená, že záznam patří do skupiny po sobě jdoucích záznamů (úrovně/nadpisy/součty). Každý z nich má stejnou volbu, ale záznam před skupinou a po skupině ji nemá, nebo není definován. Ze skupiny bude vypsán jen jeden záznam; pokud se parametr změní, záznam patří k danému parametru. Obvykle jsou členové skupiny titíž. Only není povolen v položcezáhlaví, v položcezápatí, ani v položcepozadí.

Položkavolba

::=

(( Pagebreak [[ Položkaumístění [[ + Položkaumístění ]] ]] )) || Only

Toto jsou možné volby záznamu.

Položkaumístění

::=

Before || After

Parametry volby Pagebreak. Implicitní je Before.

počátek

::=

Origin (( None || File || Preview || Data ))

Tento prvek popisuje počátek obrázku nebo výkresu. Implicitní je None. ArchiCAD vykreslí prázdný rámeček s X None), použije PICT (GIFF,...) soubor File), náhled na knihovní prvek ArchiCADu (Preview) nebo obrázky ze zpracovaných dat (Data).

jméno

::=

Name řetězec

Tento prvek definuje jméno PICT (GIFF,...) souboru (File), nebo jméno náhledu na knihovní prvek ArchiCADu (Preview). Implicitní je " " (prázdný řetězec).

měřítkoobrázku

::=

(( Scale || Drawingscale )) (( Auto || (( MĚŘÍTKO [[ , MĚŘÍTKO ]]... [[ , Auto ]] ))

Tento prvek definuje faktor měřítka obrázku. ArchiCAD zkouší měřítka nejprve od prvního, dokud obrázek nebude přizpůsoben svému rámečku. Pokud není dobré žádné měřítko, pak ArchiCAD vybere nejmenší měřítko. V případě Scale, znamená číselná hodnota skutečný faktor měřítka (0.02 znamená 1:200); v případě dřívějších verzí Drawingscale to znamená dělence (200 znamená 1:200). Pozn.: v dřívějších verzích šablon seznamů znamenala číselná hodnota poměr 1:100 (0.5 znamená 1:200). MĚŘÍTKO > 0. Auto znamená optimální měřítko pro daný rámeček. Implicitní je Auto.

umístěníobrázku

::=

Position (( Lefttop || Top || Righttop || Left || Centered || Right || Leftbottom || Bottom || Rightbottom ))

Tento prvek definuje umístění obrázku v rámečku. Implicitní je Lefttop. Zadaný bod obrázku bude vložen na příslušný bod rámečku.

ohraničení

::=

Border POSUV [[ , PERO ]] [[ , Položkaohraničení [[ + Položkaohraničení ]]... ]]

Tento prvek definuje viditelný okraj kolem odpovídajícího rámečku. POSUV je vzdálenost mezi původním rámečkem a kreslenými čarami. POSUV >= 0. Implicitní PERO je 1 (1 <= PERO <= 255), což odpovídá perům ArchiCADu. Pokud je definována položkaohraničení, pak ArchiCAD vykreslí celý okraj, jinak jen vyčíslené strany. Prvkyohraničení mohou být zadány v libovolném pořadí, ale žádný z nich se nesmí objevit u stejného okraje dvakrát.

Položkaohraničení

::=

Top || Left || Bottom || Right

Toto jsou možné strany okraje.

grafickáPoložka

:=

obdélník || čára || kružnice || oblouk

Definuje jednoduché geometrické prvky, které se vykreslí do záznamu.

obdélník

::=

(( Rect LEVÝ , PRAVÝ , HORNÍ , DOLNÍ [[ , PERO ]] )) ||
(( Roundrect LEVÝ , PRAVÝ , HORNÍ , DOLNÍ , POLOMĚR [[ , PERO ]] ))

Toto je definice obdélníku nebo zaobleného obdélníku. Pokud je hodnota LEVÝ nebo PRAVÝ kladná, pak jde o absolutní souřadnice na papíru. Jsou-li záporné, pak program použije součet daných hodnot a šířky papíru. Pokud HORNÍ nebo DOLNÍ je kladná, měří se od horního okraje políčka úrovně nebo součtu. Je-li záporná, pak program použije součet daných hodnot a spodního okraje úrovně nebo políčka součtu. Implicitní PERO je 1 (1 <= PERO <= 255), což odpovídá perům ArchiCADu.

čára

::=

Line LEVÝ , PRAVÝ , HORNÍ , DOLNÍ [[ , PERO ]]

Toto je definice rovné čáry. Pokud je LEVÝ nebo PRAVÝ kladná, pak jde o absolutní souřadnice na papíře. Je-li záporná, pak program použije součet daných hodnot a šířky papíru. Pokud je HORNÍ nebo DOLNÍ kladná, měří se od horního okraje úrovně nebo políčka součtu. Je-li záporná, pak program použije součet daných hodnot a spodního okraje úrovně nebo políčka součtu. Implicitní PERO je 1 (1 <= PERO <= 255), což odpovídá perům ArchiCADu.

kružnice

::=

Circle XSTŘEDU , YSTŘEDU , POLOMĚR [[ , PERO ]]

Toto je definice celé kružnice. Pokud je XSTŘEDU kladné, pak jde o absolutní souřadnice na papíře. Je-li záporné, pak program použije součet daných hodnot a šířky papíru. Pokud je YSTŘEDU kladné, měří se od horního okraje úrovně nebo políčka součtu. Je-li záporné, pak program použije součet dané hodnoty a spodního okraje úrovně nebo políčka součtu. POLOMĚR kružnice by neměla být negativní. Implicitní PERO je 1 (1 <= PERO <= 255), což odpovídá perům ArchiCADu.

oblouk

::=

Arc XSTŘEDU , YSTŘEDU , POLOMĚR , ALFA , BETA [[ , PERO ]]

Toto je definice oblouku. Pokud je XSTŘEDU kladné, pak jde o absolutní souřadnice papíru. Pokud je negativní, pak program použije součet dané hodnoty a šířky papíru. Je-li YSTŘEDU kladné, měří se od horního okraje úrovně nebo políčka součtu. Je-li záporné, pak program použije součet dané hodnoty a spodního okraje od úrovně nebo políčka součtu. POLOMĚR oblouku by neměl být kladný. ALFA v desetinných stupních je počáteční úhel oblouku, měřeno od kladného směru x (0 <= ALFA < 360). BETA v desetinných stupních je koncový úhel oblouku, měřeno od kladného směru x ( ALFA <= BETA < ALFA + 360) Implicitní PERO je 1 (1 <= PERO <= 255), což odpovídá perům ArchiCADu.

Prvky formátu textů

Všechny znaky se zkopírují do výstupního seznamu, kromě formátu prvků, které jsou nahrazeny příslušnými hodnotami zpracovaných dat.

index

::=

[[ [ (( Current || INDEX1 )) ] [[ [ (( Current2 || INDEX2 )) ] ]] ]]

Toto je indexový výraz parametru formátu. Primární index je index parametru (1 <= INDEX1 <= 60). Implicitní hodnota INDEX1 je 1. Current znamená číslo pořadí úrovně, součtu nebo nadpisu, které obsahuje index. Sekundární index je index víceřádkových parametrů (například všechny komponenty, vrstvy sendvičových zdí, povrch, atd.) 1 <= INDEX2. Implicitní hodnota INDEX2 je Current2. Pokud je podmínka For All pro záznam aktivní (viz opakujícísepoložka ), pak Current2 opakuje od 1 do čísla počtu subparametrů, jinak je 1.

index2

::=

[ INDEX ]

Toto je indexový výraz Usertext formátu prvku (1 <= INDEX <= 15).

index3

::=

[[ [ INDEX1 ] [[ [ INDEX2 ] ]] ]]

Toto je indexový výraz Sumlevel, Sumtotal, Sumheadline formátu prvku. Primární index je index parametru (1 <= INDEX1 <= 60). Implicitní hodnota INDEX1 je 1. Sekundární index je úroveň součtu ("mezisoučet") (1 <= INDEX2 <= 60). Implicitní hodnota INDEX2 je 1.

Položka

::=

(( # || ^ )) (( identifikátor || (( ( výraz ) )) [[ : WIDTH [[ . PREC ]] ]]

Tento prvek bude nahrazen ve výstupních textu aktuální hodnotou, pokud je tato hodnota příliš dlouhá, bude ořezána na WIDTH, je-li příliš krátká, budou přidány mezery. Pokud prvek nemá v aktuálním prostředí význam, pak bude nahrazen WIDTH počtem mezer (0 < WIDTH). Implicitní hodnota pro WIDTH je šířka vstupních dat. PREC Je počet desetinných míst, pokud je parametr číselný (0 <= PREC < WIDTH ). Implicitní hodnota pro PREC je 0. Pro Datum a Time PREC má speciální význam (viz dále). Pokud prvek začíná znakem ^ a je číselného typu, pak bude použito nejmenší větší celé číslo (stropní funkce).

identifikátor

::=

Page || Date || Time || Project || Parametr index || Usertext index2 || Quantity index || Unit index || Value index || Total index || Keycode index || Keycode1 index || Keycode2 index || Keycode3 index || Keycode4 index || Keyname index || Code index || Number index || Name index || Totalnumber || Current || Current2 || Sum index || Sumlevel index3 || Sumtotal index3 || Sumheadline index3 || Layoutscale || Drawingscale

Page je číslo aktuální stránky.
Date je den, kdy začalo vytváření seznamu. Pokud PREC je 0 (implicitně), pak je datum číslo (jako v 2/8/01), pokud PREC je 1, pak je datum zkráceno (jako v Thu, Feb 8, 2001), pokud PREC je 2, datum je ve dlouhé formě (jako v Thursay, February 8, 2001).
Time je čas, kdy začalo vytváření seznamu. Pokud PREC je 0 (omplicitně), pak je čas dán bez vteřin (jako v 14:30), pokud PREC je 1, pak je dán s vteřinami (14:30:00).
Project je jméno aktuálního projektu ArchiCADu.
Parametr je číselná hodnota index-té počítané hodnoty modelu nebo textová hodnota s index-tým popisem.
Usertext je obsah řetězce uživatelského textového souboru (viz Položkavlastnítext).
Quantity je číselná hodnota kvantitativní části index-tého komponentu.
Unit je textová hodnota jednotky index-tého komponentu.
Value je číselná hodnota index-té počítané hodnoty násobené kvantitativní částí komponentu, nebo textová hodnota index-tého popisu.
Total je součet hodnot s konstantní hodnotou Parametr[1], ..., Parametr [index - 1].
Keycode je kód příslušné skupiny, pokud je parametr komponentem nebo popisem.
Keycode1, Keycode2, Keycode3, Keycode4 jsou 1., 2., 3. a 4. segment kódu příslušné skupiny, pokud je parametr komponentem nebo popisem.
Keyname je jméno příslušné skupiny, pokud je parametr komponentem nebo popisem.
Code je kód komponentu nebo popisu.
Number je počet prvků, které mají stejné hodnoty Parametr [1], ..., Parametr [index - 1].
Name je jméno index-tého parametru (jméno komponentu nebo popisu, fixní parametr nebo předpona) .
Totalnumber je počet zpracovaných prvků.
Current je index aktuální úrovně nebo součtu (1 <= hodnota <= 60).
Current2 je index podúrovně (1 <= hodnota). Pokud podmínka For All (viz opakujícísepoložka) není pro úroveň aktivní, pak Current2 je vždy 1.
Sum je uživatelsky definovaná hodnota Sum mimo všechny definice úrovní, součtů a nadpisů (viz opakujícísepoložka). INDEX2 = 1.
Sumlevel, Sumtotal a Sumheadline je aktuální hodnota INDEX2-tého Sum definovaného v INDEX1-té úrovně, součtu nebo nadpisu v daném pořadí (viz Popisúrovněsoučtů). INDEX2 <= 60.
Layoutscale je měřítko celé sestavy dané v příkazu layoutScalePoložka, nebo měřítko půdorysného okna.
Drawingscale je zvolené měřítko v záznamu (viz Popisúrovněsoučtů a pictureScale).

Pozn.:: Je-li textový formát v Položkazáhlaví, v Položkazápatí nebo v Položkapozadí, pak identifikátory, které odkazují k parametru (Parametr, Quantity, Unit, Value, Total, Keycode, Keycode1, Keycode2, Keycode3, Keycode4, Keyname, Code, Name) mohou způsobit nečekané výsledky.

výraz

::=

standardní_numerický_GDL_výraz

Aritmetický výraz používající syntaxi GDL. Jako proměnnou můžete použít libovolný identifikátor, stejně jako globální proměnné ArchiCADu. Globální proměnné se načítají na začátku seznamu a ArchiCAD zachová jejich hodnoty během vytváření seznamu. Pokud je proměnná textová nebo její index je (indexy jsou) mimo rozsah, pak bude použita nulová hodnota. Existuje nová funkci (CEIL) pro získání nejmenšího celého čísla většího než argument (stropní funkce). Příklad: Pokud je výraz
5.5*CEIL(parametr[1]) + 1.7* parametr [2],
a parametr [1] je 3.3, parametr [2] je 1.5,
pak vypočtená hodnota je 5.5*4+1.7*1.5=24.55.


Příklad
{
    // Toto je ukázka textu seznamu
    // Vytvořeno: 01/21/98
 
    VERSION     1.00
    LISTFORMAT  BOOK
    LISTTYPE    OBJECT
    UNIT        mm
    PAGE        PRINTER
    LINEGAP     1
 
    HEADER {
        Frame       0, -6, 13, 18
        Text        1, "Times", 9, bold+italic, centered
        Format      "#project"
 
        Picture {
            Frame       -5.5, -1, 10, 23
            Origin      file
            Name        "Logo"
        }
        Columns {
            {   Frame       0, -6, 18, 23
                Text        1, "Times", 9, italic
                Format      "Ukázka seznamu #Date:8 #Time:5"
            }
        }
    }
 
    FOOTER {
        Frame       0, -1, -11, -1
        Text        1, "Times", 9, italic, centered
        Format      "- #Page:3 -"
    }
 
    LEVEL [1] {
        Frame       0, -1
        Text        1, "Times", 12, bold
        Format      "Umístění: #Parameter[1]"
        Options     pagebreak
    }
 
    TOTAL [4] {
        Frame       0, 110
        Text        1, "Times", 9
        Format      "#Parameter[2] "
                    "#value[5]x#value[6]"
        Columns {
            {   Frame       -71, -41
                Text        1, "Times", 9, plain, right
                Format      "# value [3] # unit [3]"
            }
            {   Frame       -41, -11
                Text        1, "Times", 9, bold, right
                Format      "# value [4] # unit [4]"
            }
            {   Frame       45, -11, 6
                Text        1, "Times", 9, italic
                Format      "#number[4] kusů"
            }
        }
        Picture {
            Frame    0, 40, 6, 56
            Origin   data
        }
    }
 
    TOTAL [2] {
        Frame       0, -71
        Text        1, "Times", 10, bold
        Format      "Celkem:"
        Columns {
            {   Frame       -71, -41
                Text        1, "Times", 10, plain, right
                Format      "#Total[3] # unit [3]"
            }
            {   Frame       -41, -11
                Text        1, "Times", 10, bold, right
                Format      "#Total[4] #unit[4]"
            }
        }
    }
 
    TOTAL [1] {
        Frame       0, -71
        Text        1, "Times", 12, bold
        Format      "Celkový součet:"
        Columns {
            {   Frame       -71, -41
                Text        1, "Times", 12, plain, right
                Format      "# Total [3] # unit [3]"
            }
            {   Frame       -41, -11
                Text        1, "Times", 12, bold, right
                Format      "# Total [4] # unit [4]"
            }
        }
    }
}
 
Pokud záznamy pocházející z modelu jsou:

Par[1]

Par[2]

Par[3]

Par[4]

Par[5]

Par[6]

"1. podlaží"

"dvojité"

30

140000

100

100

"1. podlaží"

"dvojité"

30

140000

100

100

"1. podlaží"

"jednoduché"

12

60000

60

80

"1. podlaží"

"jednoduché"

12

60000

60

80

"1. podlaží"

"jednoduché"

16

80000

80

80

"2. podlaží"

"dvojité"

30

140000

100

100

"2. podlaží"

"jednoduché"

12

60000

60

80

"2. podlaží"

"jednoduché"

12

60000

60

80

"2. podlaží"

"jednoduché"

16

80000

80

80

"2. podlaží"

"jednoduché"

16

80000

80

80

Engine seznamů odešle následující:
úroveň[1]
	úroveň[2]
		úroveň[3]
			úroveň[4]
				...
					úroveň[60]
 
pro první záznam.
Nic pro druhý záznam (všechny parametry jsou stejné).
					součet[60]
				...
			součet[4]
		součet[3]
(úroveň[1], pokud bude přítomno klíčové slovo Always)
	úroveň[2]
		úroveň[3]
			úroveň[4]
				...
					úroveň[60]
 
pro třetí záznam, protože parametr[2] byl změněn.
Nic pro čtvrtý záznam (všechny parametry jsou stejné).
					součet[60]
				...
			součet[4]
(úroveň[1]
	úroveň[2], pokud bude přítomno klíčové slovo Always)
		úroveň[3]
			úroveň[4]
				...
					úroveň[60]
 
pro pátý záznam, protože parametr[3] byl změněn.
					součet[60]
				...
			součet[4]
		součet[3]
	součet[2]
úroveň[1]
	úroveň[2]
		úroveň[3]
			úroveň[4]
				...
					úroveň[60]
 
pro šestý záznam, protože parametr[1] byl změněn.
					součet[60]
				...
			součet[4]
		součet[3]
(úroveň[1], pokud bude přítomno klíčové slovo Always)
	úroveň[2]
		úroveň[3]
			úroveň[4]
				...
					úroveň[60]
 
pro sedmý záznam, protože parametr[2] byl změněn.
Nic pro osmý záznam (všechny parametry jsou stejné).
					součet[60]
				...
			součet[4]
(úroveň[1]
	úroveň[2], pokud bude přítomno klíčové slovo Always)
		úroveň[3]
			úroveň[4]
				...
					úroveň[60]
 
pro devátý záznam, protože parametr[3] byl změněn.
Nic pro desátý záznam (všechny parametry jsou stejné).
					součet[60]
				...
			součet[4]
		součet[3]
	součet[2]
součet[1]
 
pro ukončení seznamu. Jsou definovány jen úroveň[1], součet[1], součet[2] a součet[4], takže celý seznam obsahuje
úroveň[1]	(1.)
součet[4]	(3. s 2. záznamem)
součet[4]	(5. s 4. záznamem)
součet[4]	(6. s 5. záznamem)
součet[2]	(6. s 5. zázname)
úroveň[1]	(6.)
součet[4]	(7. s 6. záznamem)
součet[4]	(9. s 8. záznamem)
součet[4]	(zavřít s 10. záznamem)
součet[2]	(zavřít s 10. záznamem)
součet[1]	(zavřít   10. záznamem)
 
Umístění: 1. podlaží
dvojité	                     100x100		30 kg		140000 Ft	2 kusy
jednoduché	60x80		12 kg		60000 Ft	2 kusy
jednoduché	80x80		16 kg		80000 Ft	1 kusy
Součet:			100 kg		480000 Ft
Umístění: 2. podlaží
dvojité	                     100x100		30 kg		140000 Ft	1 kusy
jednoduché	60x80		12 kg		60000 Ft	2 kusy
jednoduché	80x80		16 kg		80000 Ft	2 kusy
Součet:	                                           86 kg		420000 Ft
Celkový součet:	                                         186 kg		900000 Ft