Referenční informace o funkcích jazyka DIESEL

Funkce jazyka DIESEL se používají k zjištění stavu, k výpočtům a k zobrazení hodnot.

Všechny funkce jsou omezeny maximálním počtem 10 parametrů včetně samotného názvu funkce..

Funkce Popis/Příklad
+ (součet)

Vrátí součet čísel val1 , val2 , …, val9 .

$(+, val1 [, val2, …, val9])

Pokud je aktuální tloušťka nastavena na hodnotu 5, následující řetězec jazyka DIESEL vrátí hodnotu 15.

$(+, $(getvar, thickness), 10)
- (rozdíl)

Vrátí rozdíl čísel val2 val9 od val1 .

$(-, val1 [, val2 , …, val9])
* (součin)

Vrátí součin čísel val1 , val2 , …, val9 .

$(*, val1 [, val2, …, val9])
/ (podíl)

Vrátí podíl čísel val1 a val2 , …, val9 .

$(/, val1 [, val2, …, val9])
= (rovná se)

Pokud jsou hodnoty val1 a val2 stejné, vrátí řetězec číslo 1, jinak vrátí 0.

$(=, val1, val2)
< (menší než)

Pokud je číslo val1 menší než val2 , vrátí řetězec číslo 1, jinak vrátí 0.

$(<, val1, val2)

Následující výraz získá aktuální hodnotu proměnné HPANG. Pokud je tato hodnota menší než hodnota uložená v systémové proměnné USERR1, výraz vrátí 1. Pokud je v proměnné USERR1 uložena hodnota 10.0 a aktuální nastavení proměnné HPANG je 15.5, následující řetězec vrátí 0.

$(<, $(getvar, hpang), $(getvar, userr1))
> (větší než)

Pokud je číslo val1 větší než val2 , vrátí řetězec číslo 1, jinak vrátí 0.

$(>, val1, val2)
!= (nerovná se)

Pokud čísla val1 a val2 nejsou stejná, vrátí řetězec číslo 1, jinak vrátí 0.

$(!=, val1, val2)
<= (menší nebo rovno)

Pokud je číslo val1 menší nebo rovno číslu val2 , vrátí řetězec číslo 1, jinak vrátí 0.

$(<=, val1, val2)
>= (větší nebo rovno)

Pokud je číslo val1 větší nebo rovno číslu val2 , vrátí řetězec číslo 1, jinak vrátí 0.

$(>=, val1, val2)
and

Vrátí výsledek bitové logické operace AND mezi čísly val1 val9 .

$(and, val1 [, val2,…, val9])
angtos

Vrátí velikost úhlu v určeném formátu a s určenou přesností.

$(angtos, value [, mode, precision])

Upraví danou hodnotu value na úhel ve formátu určeném parametry mode a precision tak, jak je to definováno u analogické funkce jazyka AutoLISP. Při vynechání parametrů mode a precision použije aktuální hodnoty vybrané příkazem JEDNOTKY.

Poznámka: Jazyk AutoLISP není dostupný v aplikaci AutoCAD LT pro Mac OS.
Jako hodnotu parametru mode je možné použít následující hodnoty:
  • 0, pro stupně
  • 1, pro stupně/minuty/sekundy
  • 2, pro grady
  • 3, pro radiány
  • 4, pro zeměměřičské jednotky
Edtime

Vrátí datum a čas v zadaném formátu podle daného obrázku.

$(edtime, time, picture)

Upraví datum juliánského kalendáře dané parametrem time (získaným například pomocí funkce  $(getvar,date) podle daného parametru picture ). Parametr picture se skládá z formátovacích řetězců, které jsou nahrazeny konkrétními hodnotami data a času. Znaky, které není možné interpretovat jako formátovací fráze, se kopírují přesně do výsledku funkce $(edtime) . Definice formátovacích znaků jsou uvedeny v následující tabulce.

Například za předpokladu, že datum a čas je sobota 5. září 1998 4:53:17.506, vypadají odpovídající formátovací znaky a příklady výstupu funkce edtime následovně:
  • D - 5
  • DD - 05
  • DDD - Sob
  • DDDD – Sobota
  • M - 9
  • MM - 09
  • MMM - Zář
  • Měsíc – Září
  • RR - 98
  • RRRR - 1998
  • H - 4
  • HH - 04
  • MM - 53
  • SS - 17
  • MSEC - 506
  • Dop/Odp - Dop
  • dop/odp - dop
  • D/O – D
  • d/o – d

Zadejte celou frázi AM/PM, jak ukazuje předcházející tabulka; pokud použijete AM samostatně, bude A interpretováno doslova a M vrátí číslo aktuálního měsíce.

Pokud se ve vzoru objeví znak AM/PM, znaky H and HH upraví čas na 12hodinový formát (12:00–12:59 1:00–11:59), nikoli na 24hodinový formát (00:00–23:59).

Následující příklad používá datum a čas podle předcházející tabulky. Všimněte si, že čárka musí být uzavřena v uvozovkách, protože jinak by byla vyhodnocena jako oddělovač argumentů.

$(edtime, $(getvar,date), DDD"," DD MON YYYY - H:MMam/pm)

Vrátí následující:

So, 5 Zář 1998 - 4:53dop

Pokud bude hodnota time nulová, použije se čas a datum okamžiku, kdy bylo provedeno nejvíce vnější makro. Tím se vyhnete dlouhým a časově náročným opakovaným voláním funkce $(getvar,date) a zajistíte, že řetězce tvořené více makry $(edtime) budou používat stejný čas.

eq

Pokud jsou řetězce val1 a val2 totožné, vrátí řetězec číslo 1, jinak vrátí 0.

$(eq, val1, val2)

Následující výraz získá název aktuální hladiny; pokud tento název odpovídá hodnotě řetězce uložené v systémové proměnné USERS1 (USERS1-5), vrátí číslo 1. Předpokládejme, že řetězec "PART12" je uložen v proměnné USERS1 a aktuální hladina je stejná.

Poznámka: Systémové proměnné USERS1-5 nejsou dostupné v aplikaci AutoCAD LT pro Mac OS.
$(eq, $(getvar, users1), $(getvar, clayer))

Vrátí následující:

1

Eval

Předá řetězec str nástroji vyhodnocení jazyka DIESEL a vrátí vyhodnocený výsledek.

$(eval, str)
fix

Zkrátí reálné číslo value na celé číslo odstraněním části za desetinnou čárkou.

$(fix, value)
Getenv

Vrátí hodnotu proměnné prostředí varname .

$(getenv, varname)

Pokud proměnná se zadaným názvem neexistuje, vrátí řetězec null.

Getvar

Vrátí hodnotu systémové proměnné s daným názvem varname .

$(getvar, varname)
if

Podle podmínek vyhodnotí výrazy.

$(if, expr, dotrue [, dofalse])

Pokud je hodnota expr nenulová, vyhodnotí a vrátí větev dotrue . Jinak vyhodnotí a vrátí větev dofalse . Všimněte si, že větev nevybraná hodnotou expr nebude vyhodnocena.

Index

Vrátí určený prvek z řetězce odděleného čárkami.

$(index, which, string)

Předpokládá, že argument string obsahuje jednu nebo více hodnot vymezených oddělovačem argumentů makra, kterým je čárka. Argument which vybere jednu z těchto hodnot k extrakci, přičemž první položka bude mít číslo 0. Tato funkce se nejčastěji používá k extrakci hodnot souřadnic X, Y nebo Z ze souřadnic bodů vrácených funkcí $(getvar).

Aplikace mohou tuto funkci používat k získání hodnot uložených v řetězcích hodnot oddělených čárkou ze systémových proměnných USERS1-5.

Poznámka: Systémové proměnné USERS1-5 nejsou dostupné v aplikaci AutoCAD LT pro Mac OS.
nth

Vyhodnotí a vrátí argument vybraný argumentem which .

$(nth, which, arg0 [, arg1,…, arg7])

Pokud má argument which hodnotu 0, nth vrátí hodnotu arg0 atd. Všimněte si rozdílu mezi příkazy $(nth) a $(index) ; příkaz $(nth) vrátí funkci jednu řadu argumentů, zatímco příkaz $(index) extrahuje hodnotu z čárkami odděleného řetězce předaného jako jednoduchý argument. Argumenty nevybrané argumentem which nebudou vyhodnoceny.

or

Vrátí výsledek bitové logické operace OR mezi čísly val1 val9 .

$(or, val1 [, val2,…, val9])
Rtos

Vrátí reálnou hodnotu v určeném formátu a přesnosti.

$(rtos, value [, mode, precision])

Upraví danou hodnotu value na reálné číslo ve formátu určeném parametry mode a precision. Při vynechání parametrů mode a precision použije aktuální hodnoty vybrané příkazem JEDNOTKY.

Strlen

Vrátí délku řetězce z parametru string .

$(strlen, string)
Substr

Vrátí podřetězec řetězce string počínaje znakem daným parametrem start a pokračuje počtem znaků určeným hodnotou length .

$(substr, string, start [, length])

Znaky v řetězci jsou číslovány od 1. Při vynechání parametru length vrátí celou zbývající délku řetězce.

Upper

Vrátí řetězec z parametru string převedený na velká písmena podle aktuálního národního prostředí.

$(upper, string)
xor

Vrátí výsledek bitové logické operace XOR mezi čísly val1 val9 .

$(xor, val1 [, val2,…, val9])