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 až 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 až 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:
|
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ě:
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 až 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 až val9 . $(xor, val1 [, val2,…, val9]) |