Podívejte se na funkce vlax-make-safearray, vlax-make-variant, vlax-safearray-fill a vlax-safearray-put-element.
| (vlax-ename->vla-object entname) | ||
| Argumenty: | ||
|  
       entname  
     | 
    - jméno entity (datový typ ename) | |
| Popis: | ||
| - transformuje entitu na objekt VLA | ||
| Návratová hodnota: | ||
| - objekt VLA | ||
| Příklady: | ||
| _$ (setq e (car (entsel))) | ||
| vrací <Entity name: 27e0540> | ||
| _$ (vlax-ename->vla-object e) | ||
| vrací #<VLA-OBJECT IAcadLWPolyline 03f713a0> | ||
Podívejte se na funkci vlax-vla-object->ename.
| (vlax-make-safearray type '(l-bound . u-bound) | |||
| Elementy pole (max 16 dimenzí) a jejich inicializace: | |||
|  
       čísla 
     | 
    - 0 | ||
|  
       řetězce 
     | 
    - string nulové délky | ||
|  
       logické hodnoty 
     | 
    - :vlax-false | ||
|  
       objekty 
     | 
    - nil | ||
|  
       typ variant 
     | 
    - neinicializován (vlax-vbEmpty) | ||
| Argumenty: | |||
|  
       type  
     | 
    - typ safearray. Specifikován následujícími konstantami: | ||
| vlax-vbInteger (2) - integer | |||
| vlax-vbLong (3) - Long integer | |||
| vlax-vbSingle (4) - pohyblivá řádová čárka, jednoduchá přesnost | |||
| vlax-vbDouble (5) - pohyblivá řádová čárka, dvojitá přesnost | |||
| vlax-vbString (8) - řetězec | |||
| vlax-vbObject (9) - objekt | |||
| vlax-vbBoolean (11) - boolean | |||
| vlax-vbVariant (12) - variant | |||
|  
       '(l-bound . u-bound)  
     | 
    - dolní a horní index hranice dimenzí | ||
| Popis: | |||
| - vytvoří pole safearray | |||
| Návratová hodnota: | |||
| - vytvořené pole safearray | |||
| Příklady: | |||
| Vytvoření jednorozměrného pole safearray, obsahující prvky typu double a začínající indexem 0: | |||
| _$ (setq point (vlax-make-safearray vlax-vbDouble '(0 . 3))) | |||
| vrací #<safearray...> | |||
| Vytvoření dvourozměrného pole safearray, obsahující prvky typu řetězece a každá dimenze začínající indexem 1: | |||
| _$ (setq matrix (vlax-make-safearray vlax-vbString '(1 . 2) '(1 . 2) )) | |||
| vrací #<safearray...> | |||
Podívejte se na funkce vlax-make-variant, vlax-safearray-fill, vlax-safearray-get-dim, vlax-safearray-get-element, vlax-safearray-get-l-bound, vlax-safearray-get-u-bound, vlax-safearray-put-element, vlax-safearray-type, vlax-safearray->list a vlax-variant-value.
![]()
| (vlax-make-variant [value] [type]) | ||||
| Argumenty: | ||||
|  
       value  
     | 
    - hodnota, která má být přiřazena typu variant. Je-li vynechána je variant vytvořen s typem vlax-vbEmpty | |||
|  
       type  
     | 
    - typ variant. Specifikován následujícími konstantami: | |||
| vlax-vbEmpty (0) - neinicializováno (standardní hodnota) | ||||
| vlax-vbNull (1) - obsahuje neplatná data | ||||
| vlax-vbInteger (2) - integer | ||||
| vlax-vbLong (3) - Long integer | ||||
| vlax-vbSingle (4) - pohyblivá řádová čárka, jednoduchá přesnost | ||||
| vlax-vbDouble (5) - pohyblivá řádová čárka, dvojitá přesnost | ||||
| vlax-vbString (8) - řetězec | ||||
| vlax-vbObject (9) - objekt | ||||
| vlax-vbBoolean (11) - boolean | ||||
| vlax-vbArray (8192) - pole | ||||
| Poznámka: | ||||
| - v případě, že nejsou specifikovány typy dat, jsou použity standardní nastavení: | ||||
| nil — vlax-vbEmpty | ||||
| :vlax-null — vlax-vbNull | ||||
| integer — vlax-vbLong | ||||
| rea l— vlax-vbDouble | ||||
| string — vlax-vbString | ||||
| VLA-object — vlax-vbObject | ||||
| :vlax-true, :vlax-false — vlax-vbBoolean | ||||
| variant — stejný typ jako iniciální hodnota | ||||
| vlax-make-safearray — vlax-vbArray | ||||
| Popis: | ||||
| - vytvoří typ dat variant | ||||
| Návratová hodnota: | ||||
| - vytvořený variant | ||||
| Příklady: | ||||
| Vytvoření typu variant za použití standardních hodnot pro vlax-make-variant: | ||||
| _$ (setq varnil (vlax-make-variant)) | ||||
| vrací #<variant 0 > | ||||
| Vytvoření neinicializovaného variantu: | ||||
| _$ (setq varnil (vlax-make-variant nil)) | ||||
| vrací #<variant 0 > | ||||
| Vytvoření variantu integer bez nastavení argumentu type a nastavení hodnoty na 5: | ||||
| _$ (setq varint (vlax-make-variant 5 vlax-vbInteger)) | ||||
| vrací #<variant 3 5> | ||||
| - z příkladu je patrné, že standardně je přiřazen datový typ na Long integer. | ||||
| Vytvoření variantu integer a nastavení jeho hodnoty na 5: | ||||
| _$ (setq varint (vlax-make-variant 5 vlax-vbInteger)) | ||||
| vrací #<variant 2 5> | ||||
Podívejte se na funkce vlax-make-safearray, vlax-variant-change-type, vlax-variant-type, a vlax-variant-value.
| (vlax-safearray-fill var 'element-values) | ||
| Argumenty: | ||
|  
       var  
     | 
    - proměnná jejíž datový typ je safearray | |
|  
       'element-values  
     | 
    - seznam hodnot k uložení do pole. Je možné specifikovat tolik hodnot kolik je elementů v poli. Je-li specifikovaný počet hodnot menší než elementů, jsou zbylé elementy nastaveny na standardní hodnoty. | |
| - pro vícedimenzionální pole, argument element-values musí být seznam hodnot, kde každý seznam odpovídá dimenzi pole. | ||
| Popis: | ||
| - uloží data do elementů pole safearray | ||
| Návratová hodnota: | ||
| - var | ||
| Příklady: | ||
| Vytvoření jednodimenzionálního pole doublů: | ||
| _$ (setq sa (vlax-make-safearray vlax-vbdouble '(0 . 2))) | ||
| vrací #<safearray...> | 
  ||
| Použití funkce vlax-safearray-fill k naplnění pole: | ||
| _$ (vlax-safearray-fill sa '(1 2 3)) | ||
| vrací #<safearray...> | ||
| Vylistování obsahu pole: | ||
| _$ (vlax-safearray->list sa) | ||
| vrací (1.0 2.0 3.0) | ||
| Použití funkce vlax-safearray-fill k nastavení prvního prvku pole: | ||
| _$ (vlax-safearray-fill sa '(-66)) | ||
| vrací #<safearray...> | ||
| Vylistování obsahu pole: | ||
| _$ (vlax-safearray->list sa) | ||
| vrací (-66.0 2.0 3.0) | ||
| Vytvoření dvoudimenzionálního pole: | ||
| _$ (setq mat2 (vlax-make-safearray vlax-vbString '(0 . 1) '(1 . 3))) | ||
| vrací #<safearray...> | 
  ||
| Použití funkce vlax-safearray-fill k naplnění pole: | ||
| _$ (vlax-safearray-fill mat2 '(("a" "b" "c") ("d" "e" "f"))) | ||
| vrací #<safearray...> | ||
| Vylistování obsahu pole: | ||
| _$ (vlax-safearray->list mat2) | ||
| vrací (("a" "b" "c") ("d" "e" "f")) | ||
Podívejte se na funkce vlax-safearray-get-dim, vlax-safearray-get-element, vlax-safearray-get-l-bound, vlax-safearray-get-u-bound, vlax-safearray-put-element, vlax-safearray-type a vlax-variant-value.
| (vlax-safearray-get-dim var) | |||
| Argumenty: | |||
| 
       var  
     | 
    - proměnná jejíž datový typ je safearray | ||
| Popis: | |||
| - vrátí dimenzi objektu pole safearray | |||
| Návratové hodnoty: | |||
| - integer - počet dimenzí ve var | |||
| - chyba - v případě, že var není safearray | |||
| Příklady: | |||
| Nastavení proměnné sa-int na jednodimenzionální pole safearray: | |||
| _$ (setq sa-int (vlax-make-safearray vlax-vbinteger '(1 . 4))) | |||
| vrací #<safearray...> | |||
| Použití funkce vlax-safearray-get-dim k získání dimense sa-int: | |||
| _$ (vlax-safearray-get-dim sa-int) | |||
| vrací 1 | |||
Podívejte se na funkce vlax-make-safearray, vlax-safearray-get-l-bound a vlax-safearray-get-u-bound.
| (vlax-safearray-get-element var element...) | ||
| Argumenty: | ||
|  
       var  
     | 
    - proměnná jejíž datový typ je safearray | |
|  
       element...  
     | 
    - integer specifikující indexy požadovaného elementu. Jednorozměrné pole - jeden integer. Vícerozměrná pole - tolik indexů kolik je rozměrů pole. | |
| Popis: | ||
| - vrátí element z pole | ||
| Návratová hodnota: | ||
| - hodnota elementu | ||
| Příklady: | ||
| Vytvoření dvourozměrného pole, každá dimenze začíná indexem 1: | ||
| _$ (setq matrix (vlax-make-safearray vlax-vbString '(1.2) '(1.2) )) | ||
| vrací #<safearray...> | ||
| Použití funkce vlax-safearray-put-element k naplnění pole: | ||
| _$ (vlax-safearray-put-element matrix 1 1 "a") | ||
| vrací "a" | ||
| _$ (vlax-safearray-put-element matrix 1 1 "b") | ||
| vrací "b" | ||
| _$ (vlax-safearray-put-element matrix 2 1 "c") | ||
| vrací "c" | ||
| _$ (vlax-safearray-put-element matrix 2 2 "d") | ||
| vrací "d" | ||
| Použití funkce vlax-safearray-get-element k získání hodnoty druhého elementu v první dimenzi: | ||
| _$ (vlax-safearray-get-element matrix 1 2) | ||
| vrací "b" | ||
Podívejte se na funkce vlax-safearray-get-dim, vlax-safearray-get-l-bound a vlax-safearray-get-u-bound.
| (vlax-safearray-get-l-bound var dim) | |||
| Argumenty: | |||
|  
       var  
     | 
    - proměnná jejíž datový typ je safearray | ||
|  
       dim  
     | 
    - dimenze pole, první dimenze je dimenze 1 | ||
| Popis: | |||
| - vrátí dolní hranici (počáteční index) dimenze pole | |||
| Návratové hodnoty: | |||
| - integer - dolní index dimenze | |||
| - chyba - v případě, že var není pole nebo dim je neplatná (např. 0) nebo číslo je větší než dimenze pole | |||
| Příklady: | |||
| Definice pole safearray: | |||
| (vlax-make-safearray vlax-vbString '(1 . 2) '(0 . 1) )) | |||
| Získání hodnoty počátečního indexu první dimenze pole: | |||
| _$ (vlax-safearray-get-l-bound tmatrix 1) | |||
| vrací 1 - první dimenze začíná indexem 1 | |||
| Získání hodnoty počátečního indexu druhé dimenze pole: | |||
| _$ (vlax-safearray-get-l-bound tmatrix 2) | |||
| vrací 0 - druhá dimenze začíná indexem 0 | |||
Podívejte se na funkce vlax-safearray-get-dim a vlax-safearray-get-u-bound.
| (vlax-safearray-get-u-bound var dim) | |||
| Argumenty: | |||
|  
       var  
     | 
    - proměnná jejíž datový typ je safearray | ||
|  
       dim  
     | 
    - dimenze pole, první dimenze je dimenze 1 | ||
| Popis: | |||
| - vrátí horní hranici (koncový index) dimenze pole | |||
| Návratové hodnoty: | |||
| - integer - horní index dimenze | |||
| - chyba - v případě, že var není pole nebo dim je neplatná (např. 0) nebo číslo je větší než dimenze pole | |||
| Příklady: | |||
| Definice pole safearray: | |||
| (vlax-make-safearray vlax-vbString '(1 . 2) '(0 . 1) )) | |||
| Získání hodnoty koncového indexu první dimenze pole: | |||
| _$ (vlax-safearray-get-u-bound tmatrix 1) | |||
| vrací 1 - první dimenze končí indexem 2 | |||
| Získání hodnoty koncového indexu druhé dimenze pole: | |||
| $ (vlax-safearray-get-u-bound tmatrix 2) | |||
| vrací 0 - druhá dimenze končí indexem 1 | |||
Podívejte se na funkci vlax-safearray-get-dim.
| (vlax-safearray-put-element var index... value) | ||
| Argumenty: | ||
|  
       var 
     | 
    - proměnná jejíž datový typ je safearray | |
|  
       index...  
     | 
    - množina hodnot indexů ukazujících na elementy, do kterých přiřazujeme hodnoty. Jednorozměrné pole - jeden hodnota indexu. Vícereozměrná pole - tolik hodnot indexů kolik je rozměrů pole. | |
|  
       value  
     | 
    - hodnota, která má být přidělena elementu pole safearray | |
| Popis: | ||
| - přidá element do pole | ||
| Návratová hodnota: | ||
| - hodnota value - přiřazená do elementu | ||
| Příklady: | ||
| Vytvoření jednodimenzionálního pole doublů: | ||
| _$ (setq point (vlax-make-safearray vlax-vbdouble '(0 . 2))) | ||
| vrací #<safearray...> | 
  ||
| Použití funkce vlax-safearray-put-element k naplnění pole: | ||
| _$ (vlax-safearray-put-element point 0 100) | ||
| vrací 100 | ||
| _$ (vlax-safearray-put-element point 1 100) | ||
| vrací 100 | ||
| _$ (vlax-safearray-put-element point 2 0) | ||
| vrací 0 | ||
| Vytvoření dvoudimenzionálního pole řetězců: | ||
| $ (setq matrix (vlax-make-safearray vlax-vbString '(1 . 2) '(1 . 2) )) | ||
| vrací #<safearray...> | 
  ||
| Použití funkce vlax-safearray-put-element k naplnění pole: | ||
| _$ (vlax-safearray-put-element matrix 1 1 "a") | ||
| vrací "a" | ||
| _$ (vlax-safearray-put-element matrix 1 2 "b") | ||
| vrací "b" | ||
| _$ (vlax-safearray-put-element matrix 2 1 "c") | ||
| vrací "c" | ||
| _$ (vlax-safearray-put-element matrix 2 2 "d") | ||
| vrací "d" | ||
Podívejte se na funkce vlax-safearray-get-element, vlax-safearray-fill a vlax-safearray-type.
| (vlax-safearray-type var) | ||
| Argumenty: | ||
|  
       var 
     | 
    - proměnná jejíž datový typ je safearray | |
| Popis: | ||
| - vrátí datový typ pole safearray | ||
| Návratové hodnoty: | ||
| - 2 - integer (vlax-vbInteger) | ||
| - 3 - long integer (vlax-vbLong) | ||
| - 4 - plovoucí řádová čárka - jednoduchá přesnost (vlax-vbSingle) | ||
| - 5 - plovoucí řádová čárka - dvojitá přesnost (vlax-vbDouble) | ||
| - 8 - řetězec (vlax-vbString) | ||
| - 9 - objekt (vlax-vbObject) | ||
| - 11 - boolean (vlax-vbBoolean) | ||
| - 12 - variant (vlax-vbVariant) | ||
| - chyba - argument var neobsahuje safearray | ||
| Příklady: | ||
| Vytvoření jednodimenzionálního pole doublů a dvoudimenzionálního pole řetězců: | ||
| _$ (setq point (vlax-make-safearray vlax-vbdouble '(0 . 2))) | ||
| vrací #<safearray...> | 
  ||
| _$ (setq matrix (vlax-make-safearray vlax-vbString '(1.2) '(1.2) )) | ||
| vrací #<safearray...> | 
  ||
| Použití funkce vlax-safearray-type k zjištění typu dat safearray: | ||
| _$ (vlax-safearray-type point) | ||
| vrací 5 - plovoucí řádová čárka - dvojitá přesnost (vlax-vbDouble) | ||
| _$ (vlax-safearray-type matrix) | ||
| vrací 8 - řetězec (vlax-vbString) | ||
| (vlax-safearray->list var) | ||
| Argumenty: | ||
| 
       var 
     | 
    - proměnná jejíž datový typ je safearray | |
| Popis: | ||
| - vrátí elementy safearray převedené do seznamu | ||
| Návratová hodnota: | ||
| - seznam | ||
| Příklady: | ||
| Vytvoření jednodimenzionálního pole doublů: | ||
| _$ (setq point (vlax-make-safearray vlax-vbdouble '(0 . 2))) | ||
| vrací #<safearray...> | 
  ||
| Použití funkce vlax-safearray-put-element k naplnění pole: | ||
| _$ (vlax-safearray-put-element point 0 100) | ||
| vrací 100 | ||
| _$ (vlax-safearray-put-element point 1 100) | ||
| vrací 100 | ||
| _$ (vlax-safearray-put-element point 2 0) | ||
| vrací 0 | ||
| Převedení pole na seznam: | ||
| _$ (setq pointlist (vlax-safearray->list point)) | ||
| vrací (100.0 100.0 0.0) | ||
| Převedení dvourozměrného pole matrix na seznam: | ||
| _$ (vlax-safearray->list matrix) | ||
| vrací (("a" "b") ("c" "d")) | ||
Podívejte se na funkci vlax-safearray-fill.
| (vlax-tmatrix list) | ||
| Argumenty: | ||
|  
       list  
     | 
    - seznam čtyřech seznamů, každý obsahuje čtyři čísla, reprezentující transformační matici elementů | |
| Popis: | ||
| - vrátí vhodnou reprezentaci 4x4 transformační matice pro použití ve VLA | ||
| Návratová hodnota: | ||
| - typ variant safearray - reprezentující 4x4 transformační matici | ||
| Příklady: | ||
| Definice transformační matice a přiřazení její hodnoty do proměnné tmatrix: | ||
| _$ (setq tmatrix (vlax-tmatrix '((1 1 1 0) (1 2 3 0) (2 3 4 5) (2 9 8 3)))) | ||
| vrací #<variant 8197 ...> | ||
| Použití funkce vlax-safearray->list k prohlédnutí hodnot v tmatrix: | ||
| _$ (vlax-safearray->list (vlax-variant-value tmatrix)) | ||
| vrací ((1.0 1.0 1.0 0.0) (1.0 2.0 3.0 0.0) (2.0 3.0 4.0 5.0) (2.0 9.0 8.0 3.0)) | ||
| (vlax-variant-change-type var type) | ||||
| Argumenty: | ||||
|  
       var 
     | 
    - proměnná jejíž datový typ je safearray | |||
|  
       type  
     | 
    - typ variant. Specifikován následujícími konstantami: | |||
| vlax-vbEmpty (0) - neinicializováno (standardní hodnota) | ||||
| vlax-vbNull (1) - obsahuje neplatná data | ||||
| vlax-vbInteger (2) - integer | ||||
| vlax-vbLong (3) - Long integer | ||||
| vlax-vbSingle (4) - pohyblivá řádová čárka, jednoduchá přesnost | ||||
| vlax-vbDouble (5) - pohyblivá řádová čárka, dvojitá přesnost | ||||
| vlax-vbString (8) - řetězec | ||||
| vlax-vbObject (9) - objekt | ||||
| vlax-vbBoolean (11) - boolean | ||||
| vlax-vbArray (8192) - pole | ||||
| Popis: | ||||
| - vrátí hodnotu variant po změně z jednoho typu na druhý | ||||
| Návratové hodnoty: | ||||
| - hodnotu argumentu var po převodu na specifikovaný typ variant | ||||
| - nil - v případě, že konverze nelze provést | ||||
| Příklady: | ||||
| Nastavení proměnné variant na hodnotu variant: | ||||
| _$ (setq varint (vlax-make-variant 5)) | ||||
| vrací #<variant 3 5> | ||||
| Nastavení proměnné variantstr na hodnotu obsaženou v proměnné variant zkonvertovanou na řetězec: | ||||
| _$ (setq varintStr (vlax-variant-change-type varint vlax-vbstring)) | ||||
| vrací #<variant 8 5> | ||||
| Ověření hodnoty v proměnné variantstr: | ||||
| _$ (vlax-variant-value varintStr) | ||||
| vrací "5" - to potvrdilo, že variantstr obsahuje řetězec. | ||||
Podívejte se na funkci vlax-variant-type.
| (vlax-variant-type var) | ||
| Argumenty: | ||
|  
       var 
     | 
    - proměnná jejíž datový typ je safearray | |
| Popis: | ||
| - zjistí typ dat variant | ||
| Návratové hodnoty: | ||
| - 0 - neinicializovaná (vlax-vbEmpty) | ||
| - 1 - neobsahuje platné data (vlax-vbNull) | ||
| - 2 - integer (vlax-vbInteger) | ||
| - 3 - long integer (vlax-vbLong) | ||
| - 4 - plovoucí řádová čárka - jednoduchá přesnost (vlax-vbSingle) | ||
| - 5 - plovoucí řádová čárka - dvojitá přesnost (vlax-vbDouble) | ||
| - 8 - řetězec (vlax-vbString) | ||
| - 9 - objekt (vlax-vbObject) | ||
| - 11 - boolean (vlax-vbBoolean) | ||
| - 8192 + n - safearray (vlax-vbArray) stejného typu. (Př. pole doublů (vlax-vbDouble) vrací 8197 (8192 + 5)) | ||
| - chyba - argument var neobsahuje safearray | ||
| Příklady: | ||
| Nastavení variant na nil a zobrazení datového typu variant: | ||
| _$ (setq varnil (vlax-make-variant nil)) | ||
| vrací #<variant 0 > | ||
| _$ (vlax-variant-type varnil) | ||
| vrací 0 | ||
| Nastavení variant na hodnotu integer a explicitní definování variantu jako datového typu integer: | ||
| _$ (setq varint (vlax-make-variant 5 vlax-vbInteger)) | ||
| vrací #<variant 2 5 > | ||
| _$ (vlax-variant-type varint) | ||
| vrací 2 | ||
Podívejte se na funkce vlax-make-safearray, vlax-variant-change-type a vlax-variant-value.
Podívejte se na funkce vlax-make-safearray a vlax-make-variant.
Podívejte se na funkci vlax-ename->vla-object.