Funkce pro správu tabulek a slovníků

(dictadd ename symbol newobj)
 
Argumenty:
 
ename
- jméno slovníku, do něhož je objekt přidán
 
symbol
- jméno klíče objektu přidaného do slovníku, musí být unikátní
 
newobj
- negrafický objekt přidanýdo slovníku
 
Popis:
  - přidá negrafický objekt do specifikovaného slovníku
 
Návratové hodnoty:
  - jméno entity přidaného objektu
 
Příklady:
Vytvoření objektu a jeho přidání do objektu:
  Vytvoření seznamu vstupů do slovníku:
  (setq dictionary (list '(0 . "DICTIONARY") '(100 . "AcDbDictionary")))
    vrací ((0 . "DICTIONARY") (100 . "AcDbDictionary"))
   
  Vytvoření objektu slovníku:
  (setq xname (entmakex dictionary))
    vrací <Entity name: 1d98950>
   
  Přidání slovníku do objektu slovníku:
  (setq newdict (dictadd (namedobjdict) "MY_WAY_COOL_DICTIONARY" xname))
    vrací <Entity name: 1d98950>
   
  Vytvoření seznamu Xrecord:
  (setq datalist (append (list '(0 . "XRECORD") '(100 . "AcDbXrecord")) '((1 . "This is my data") (10 1. 2. 3.) (70 . 33))))
    vrací ((0 . "XRECORD") (100 . "AcDbXrecord") (1 . "This is my data") (10 1.0 2.0 3.0) (70 . 33))
   
  Vytvoření objektu Xrecord:
  (setq xname (entmakex datalist))
    vrací <Entity name: 1d98958>
   
  Přidání objektu Xrecord do slovníku:
  (dictadd newdict "DATA_RECORD_1" xname)
    vrací <Entity name: 1d98958>

Podívejte se na funkce dictnext, dictremove, dictrename a dictsearch.

(dictnext ename [rewind])
 
Argumenty:
 
ename
- jméno prohlíženého slovníku
 
rewind
- je-li přítomen a je různý od nil, je slovník přetočen a e vrácena první hodnota
 
Popis:
  - vrací další položku ve slovníku
 
Návratové hodnoty:
  - následující položku ve slovníku
  - nil - slovník došel na konec
  - vrácené hodnoty jsou ve tvaru tečka-dvojic
 
Příklady:
  Vytvoření slovníku a vstupu jako ve funkci dictadd:
  Vytvoření Xrecordu:
  (setq xname (entmakex datalist))
    vrací <Entity name: 1b62d60>
   
  Přidání objektu Xrecord do slovníku, jako druhý záznam ve slovníku:
  (dictadd newdict "DATA_RECORD_2" xname)
    vrací <Entity name: 1b62d60>
   
  Vrácení jména následující entity ve slovníku:
  (cdr (car (dictnext newdict)))
    vrací <Entity name: 1bac958>
    dictnext - vrátí první entitu ve slovníku
   
  Vrácení jména následující entity ve slovníku:
  (cdr (car (dictnext newdict)))
    vrací <Entity name: 1bac960>
    dictnext - vrátí druhé entitu ve slovníku
   
  Vrácení jména následující entity ve slovníku:
  (cdr (car (dictnext newdict)))
    vrací nil - ve slovníku už nejsou žádné entity
   
  Přetočení slovníku a vrácení jména entity ve slovníku:
  (cdr (car (dictnext newdict T)))
    vrací <Entity name: 1bac958>
    dictnext - po přetočení, vrátí dictnext první entitu ve slovníku

Podívejte se na funkce dictremove, dictrename, dictsearch a namedobjdict.

(dictremove ename symbol)
 
Argumenty:
 
ename
- jméno modifikovaného slovníku
 
symbol
- záznam vyjmutý ze slovníku ename
 
Popis:
  - vyjme záznam ze specifikovaného slovníku, pozor vyjmutí záznamu ze slovníku ho neodstraní z databáze, to musí udělat entdel
 
Návratové hodnoty:
  - jméno entity vymazaného záznamu
  - nil - jméno slovníku ename nebo symbol není nalezen
 
Příklady:
  Vymazání slovníku vytvořeného v příkladu na dictadd funkci:
  (dictremove (namedobjdict) "my_way_cool_dictionary")
    vrací <Entity name: 1d98950>

Podívejte se na funkce dictadd, dictnext, dictrename a dictsearch.

(dictrename ename oldsym newsym)
 
Argumenty:
 
ename
- jméno modifikovanéhé slovníku
 
oldsym
- původní jméno klíče záznamu
 
newsym
- nové jméno klíče záznamu
 
Popis:
  - přejmenuje záznam ve slovníku
 
Návratové hodnoty:
  - hodnota newsym - přejmenování proběhlo v pořádku
  - nil - oldname se nenachází ve slovníku, nebo ename je nesprávné, nebo newname je nesprávné, nebo newname již existuje ve slovníku
 
Příklady:
  Přejmenování slovníku vytvořeného v příkladu na dictadd funkci:
  (dictrename (namedobjdict) "my_way_cool_dictionary" "An even cooler dictionary")
    vrací "An even cooler dictionary"

Podívejte se na funkce dictadd, dictnext, dictremove a dictsearch.

(dictsearch ename symbol [setnext])
 
Argumenty:
 
ename
- jméno prohledávaného slovníku
 
symbol
- jméno hledané položky ve slovníku
 
setnext
- je-li přítomen a je různý od nil, je nastaven vstupní čítač funkce dictnext a následující volání funkce dictnext vrátí záznam za záznamem vráceným funkcí dictsearch
 
Popis:
  - hledá ve slovníku položku
 
Návratové hodnoty:
  - záznam - specifikovaného záznamu, proběhlo-li vše v pořádku
  - nil - záznam nebyl nalezen
 
Příklady:
  Získání slovníku vytvořeného v příkladu na dictadd funkci:
  (setq newdictlist (dictsearch (namedobjdict) "my_way_cool_dictionary"))
    vrací ((-1 .<Entity name: 1d98950> ) (0 . "DICTIONARY") (5 . "52") (102 . "{ACAD_REACTORS") (330 . <Entity name: 1d98860>) (102 . "}") (330 .<Entity name: 1d98860> ) (100 . "AcDbDictionary") (280 . 0) (281 . 1) (3 . "DATA_RECORD_1") (350 .<Entity name: 1d98950> ))

Podívejte se na funkce dictadd, dictnext a dictremove.

(namedobjdict)
 
Popis:
  - vrátí jméno entity objektu slovníku aktuálního výkresu, který je kořen všech negrafických objektů ve výkresu

(setview view_descriptor [vport_id])
 
Argumenty:
 
view_descriptor
- definiční seznam entity (obdobný jako u funkce tblsearch použité na tabulku jmen VIEW)
 
vport_id
- integer identifikující viewport pro získání nového pohledu.
 
- je-li vport_id = 0, aktuální viewport přijímá nový pohled
 
Popis:
  - stanoví pohled pro specifikovaný viewport
 
Návratové hodnoty:
  - view_descriptor - proběhlo-li vše v pořádku

(snvalid sym_name [flag])
 
Argumenty:
 
sym_name
- jméno symbol tabulky
 
flag
- integer - specifikuje, kdy jsou dovoleny znaky svislá čára (|) v argumentu sym_name.
    - možné hodnoty:
   
0
-default
   
- nejsou povoleny žádné znaky svislá čára (|) nikde v argumentu sym_name.
   
1
- povoluje vertical bar znaky v argumentu sym_name, pokud nejsou ani prvním ani posledním znakem ve jménu
 
Popis:
  - zkontroluje jméno symbol tabulky na platné znaky
 
Návratové hodnoty:
  - T - argument sym_name je platným jménem symbol tabulky
  - nil - v opačném případě
 
Poznámky:
  Má-li systémová proměnná hodnotu 1, všechny znaky jsou platné mimo řídících znaků, grafických znaků a následujících:
    <> menší než, větší než
    / \ lomítko, obrácené lomítko
    " uvozovky
    : dvojtečka
    ? otazník
    * hvězdička
    | svislá čára (svislítko)
    , čárka
    = rovná se
    ` apostrof
    ; středník (ASCII 59)
 
Příklady:
  Systémová proměnná EXTNAMES je nastavena na 1:
  (snvalid "hocus-pocus")
    vrací T
  (snvalid "hocus pocus")
    vrací T
  (snvalid "hocus%pocus")
    vrací T
   
  Systémová proměnná EXTNAMES je nastavena na 0:
  (snvalid "hocus-pocus")
    vrací T
  (snvalid "hocus pocus")
    vrací nil
  (snvalid "hocus%pocus")
    vrací nil
   
  Použití svislé čáry v názvu symbol tabulky:
  (snvalid "hocus|pocus")
    vrací nil, standardní nastavení zakazuje použití svislých čar ve jménu
  (snvalid "hocus|pocus" 1)
    vrací T

(tblnext table-name [rewind])
 
Argumenty:
 
table-name
- řetězec identifikující tabulku symbolů
 
- možné hodnoty argumentu:
 
  "LAYER", "LTYPE", "VIEW", "STYLE", "BLOCK", "UCS", "APPID", "DIMSTYLE" a "VPORT"  
 
rewind
- je-li uveden a je různý od nil, je tabulka přetočena a je vrácena hodnota první položky
 
Popis:
  - najde další položku v tabulce symbolů
 
Návratové hodnoty:
  - seznam tečka dvojic - je-li položka v tabulce symbolů nalezena
  - nil - nejsou další položky v tabulce symbolů
 
Příklady:
  Vrácení první vrstvy v tabulce symbolů:
  (tblnext "layer" T)
 
vrací ((0 . "LAYER") (2 . "0") (70 . 0) (62 . 7) (6 . "CONTINUOUS"))
  Návratové hodnoty reprezentují:
    (0 . "LAYER") - typ symbolu
    (2 . "0") - jméno symbolu
    (70 . 0) - flagy
    (62 . 7) - číslo barvy, negativní je off
    (6 . "CONTINUOUS") - jméno typu čáry
   
  Informace o bloku se jménem "BOX":
  (tblnext "block")
 
vrací ((0 . "BLOCK") (2 . "BOX") (70 . 0) (10 9.0 2.0 0.0) (-2 . ))
  Návratové hodnoty reprezentují:
    (0 . "BLOCK") - typ symbolu
    (2 . "BOX") - jméno symbolu
    (70 . 0) - flagy
    (10 9.0 2.0 0.0) - osy x, y, z
    (-2 . <Entity name: 1dca370>) - první entita

(tblobjname table-name symbol)
 
Argumenty:
 
table-name
- jméno prohledávané tabulky symbolů
 
symbol
- hledaný symbol v tabulce symbolů
 
Popis:
  - vrátí jméno entity specifikovaného vstupu v tabulce symbolů
 
Návratové hodnoty:
  - jméno nalezené entity - v tabulce symbolů je-li hodnota nalezená
  - vrácená hodnota je použitelná ve funkcích entget a entmod
 
Příklady:
  Hledání entity se jménem bloku "ESC-01":
  (tblobjname "block" "ESC-01")
    vrací <Entity name: 1dca368>

(tblsearch table-name symbol [setnext])
 
Argumenty:
 
table-name
- jméno prohledávané tabulky symbolů
 
symbol
- jméno hledaného symbolu
 
setnext
- je-li přítomen a je různý od nil, je nastaven vstupní čítač funkce tblnext a následující volání funkce tblnext vrátí záznam za záznamem vráceným funkcí tblsearch
 
- nemá vliv na pořadí vstupů získaných z tblnext
 
Popis:
  - hledá jméno symbolu v tabulce symbolů
 
Návratové hodnoty:
  - vstup (položku) ve formátu tblnext - je-li symbol nalezen
  - nil - žádný vstup (položka) neodpovídá hledanému jménu symbolu
 
Příklady:
  Hledání textového stylu se jménem "standard":
  (tblsearch "style" "standard")
    vrací ((0 . "STYLE") (2 . "STANDARD") (70 . 0) (40 . 0.0) (41 . 1.0) (50 . 0.0) (71 . 0) (42 . 0.3) (3 . "txt") (4 . ""))