×

Hlášení

Smernice EÚ o e-Soukromí

Tato webová stránka používá vlastní cookies pro správu ověřování, navigaci a další funkce jako i cookies třetích stran (Google Analytics, Google AdSense). Užíváním našich webových stránek, souhlasíte s tím, že můžeme umístit tyto typy cookies na vašem zařízení.

Zobrazit zásady ochrany osobních údajů

Zakázali jste cookies. Stránka nemusí fungovat správně. Toto rozhodnutí lze změnit.

TECHSOFT s.r.o. TECHSOFT s.r.o., Podtatranská 4931/23, 05801 Poprad, Slovak Republic, http://www.techsoft.sk
CAD HELP


Jazyk DIESEL (zoznam príkazov a popis syntaxe)

$M    Vnútri makra môžete použíť príkaz $M=, ktorý predchádza makru vytvorenému v jazyku DIESEL. AutoCAD vyhodnotí časť makra za $M= a výsledok je opäť spracovaný ako makro.

Formát je: $M=výraz

kde $M= určuje AutoCADu, že má vyhodnotiť reťazec ako výraz DIESELu a výraz je výraz DIESELu.

Príklad:

[Vyplnit Ano/Ne]FILLMODE $M= $(-,1,$(getvar,fillmode))

Položka nastaví hodnotu FILLMODE tak, že odčíta aktuálnu hodnotu FILLMODE od 1 a vráti výsledok systémovej premennej FILLMODE. Tento spôsob môžete použíť pri prepínaní hodnoty systémových premenných medzi 0 a 1.

Poznámka:

Všimnite si, že výraz $M= sa nachádza len na začiatku príkazu na odčítanie. Vnútri príkazu ak sa používa ďalší príkaz DIESELu (v tomto prípade $(getvar,fillmode)) - už príkaz $M= nepoužívajte).

 

^Z     Ak za výrazom následuje ^Z, AutoCAD nepridá za makro ENTER.

Ak použijete DIESEL pre vyhodnocovanie testov "if-then", môžete vložiť podmienku tam, kde by normálne bola medzera alebo stredník. Rovnako ako pri ďalších riadiacich znakoch, ^Z je reťazec zložený zo znaku strieška (^) a Z, nie CTRL + Z.

V následujúcich príkladoch je ^Z použité ako ukončenie makra.

[Modelový priestor]^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _mspace )^Z

[Výkresový priestor]^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _pspace )^Z

Ak by tieto makrá nekončili ^Z, AutoCAD by automaticky doplnil na koniec riadkov ENTER, čo by spôsobilo zopakovanie posledného príkazu.

 

+(Súčet)

$(+, hodnota1 [, hodnota2, ..., hodnota9])

Vráti súčet čísel hodnota1, hodnota2, ..., hodnota9.

Ak je aktuálna hrúbka 5, následujúci výraz vráti 15.

$(+, $(getvar,thickness),10)

 

 

-(Rozdiel)

$(-, hodnota1 [, hodnota2, ..., hodnota9])

Vráti rozdiel čísel hodnota2hodnota9 od hodnoty1.

 

*(súčin)

$(*, hodnota1 [, hodnota2, ..., hodnota9])

Vráti súčin čísel hodnota1, hodnota2, ..., hodnota9.

 

/(podiel)

$(/, hodnota1 [, hodnota2, ..., hodnota9])

Vráti výsledok delenia čísla hodnota1 číslami hodnota2, ..., hodnota9.

 

=

$(=, hodnota1, hodnota2)

Ak je číslo hodnota1 rovné číslu hodnota2, funkcia vráti 1, inak vráti 0.

 

<

$(<, hodnota1, hodnota2)

Ak je číslo hodnota1 menšie ako číslo hodnota2, funkcia vráti 1, inak vráti 0.

Následujúci výraz vezme aktuálnu hodnotu HPANG; Ak je táto hodnota menšia než hodnota uložená v systémovej premennej USERR1, vráti 1. Ak je v premennej USERR1 hodnota 10.0 a aktuálne nastavenie HPANG je 15.5, následujúci výraz vráti 0.

$(<, $(getvar,hpang),$(getvar,userr1))  

 

>

$(>, hodnota1, hodnota2)

Ak je číslo hodnota1 väčšie ako číslo hodnota2, funkcia vráti 1, inak vráti 0.

 

!=

$(>, hodnota1, hodnota2)

Ak číslo hodnota1 nie je rovné číslu hodnota2, funkcia vráti 1, inak vráti 0.

 

<=

$(>, hodnota1, hodnota2)

Ak je číslo hodnota1 menšie, alebo rovné číslu hodnota2, funkcia vráti 1, inak vráti 0.

 

>=

$(>, hodnota1, hodnota2)

Ak je číslo hodnota1 väčšie, alebo rovné číslu hodnota2, funkcia vráti 1, inak vráti 0.

 

and

$(and, hodnota1 [, hodnota2, ..., hodnota9])

Vráti výsledok logickej operácie AND medzi argumentami hodnota1hodnota9.

 

angtos

$(angtos, hodnota [, režim, presnosť])

Vráti veľkosť uhlu v zadanom formáte a so zadanou presnosťou.

Upraví zadanou hodnotu hodnota ako uhol vo formáte zadanom argumentami režim a presnosť podobne ako funkcia AutoLISPu. (Hodnoty pre argument režim sú uvedené v následujúcej tabuľke.) Ak hodnoty režim a presnosť nie sú uvedené, funkcia použije aktuálne nastavenie príkazu _units.

Hodnoty uhlových jednotiek

Hodnota režim  Formát reťazca

0                      Stupne

1                      Stupne/Minúty/Sekundy

2                      Gradyány

3                      Radiány

4                      Zemepisné jednotky

 

edtime

$(edtime, čas, vzor)

Vráti dátum a čas v zadanom formáte podľa vzoru.

Upraví hodnotu čas AutoCADu v juliánskom formáte (ktorú možno získať napr. pomocou výrazu $(getvar,date) ) podľa formátu v argumente vzor. Vzor obsahuje formátovacie reťazce, ktoré sú nahradené odpovedajúcími hodnotami dátumu a času. Ostatné znaky vo formátovacom reťazci nie sú vyhodnotené a sú skopírované do výsledného reťazca. Formátovacíe znaky sú uvedené v následujúcej tabuľke. Predpokladajme aktuálny dátum Pondelok, 7. augusta 2000 4:53:17.506.

Formátovacie znaky edtime

Formát      Výstup         Formát         Výstup

D              7                 H                 4

DD            07                HH               04

DDD         Mon             MM              53

DDDD       Monday       SS               17

M              7                 MSEC          506

MO           07                AM/PM        AM

MON         Aug             am/pm         am

MONTH     August         A/P              A

YY            00                a/p              a

YYYY   2000                

Zadajte celý výraz AM/PM, tak, ako je ukázané v predchádzajúcej tabuľke; ak použijete len AM, A bude vyhodnotené ako písmeno a M vráti aktuálny mesiac.

Ak sa vo vzore objaví AM/PM, výrazy H a HH upravia čas v 12-ásť hodinovom formáte (12:00-12:59 1:00-11:59) namiesto 24 hodinového formátu (00:00-23:59).

Nasledujúci príklad používa dátum a čas podľa predchádzajúcej tabuľky. Všimnite si, že čiarka musí byť uzatvorená v úvodzovkách, pretože inak by bola vyhodnotená ako oddelovač argumentov.

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

Vráti nasledujúce:

Mon, 7 Aug 2000 – 4:53dop

Ak čas je rovný 0, použije sa dátum a čas vyhodnotenia výrazu. Tým sa vyhnete zbytočnému volaniu funkcie $(getvar,date) a je tým zaručené, že rôzné reťazce predané $(edtime) zobrazia rovnaký čas.

 

eq

$(eq, hodnota1, hodnota2)

Ak sú reťazce hodnota1 a hodnota2 totožné, vráti táto funkcia 1, inak 0.

Nasledujúcí výraz získa názov aktuálnej hladiny; ak tento názov je zhodný s hodnotou uloženou v systémovej promennej USERS1, vráti 1. Predpokladajme, že v premennej USERS1 je uložený reťazec "PART12" a aktuálna hladina má rovnaký názov.

$(eq, $(getvar,users1),$(getvar,clayer))   Vráti 1

 

eval

$(eval, reťazec)

Predá reťazec vyhodnocovaču DIESELu a vráti výsledok.

 

fix

$(fix, hodnota)

Prevedie reálne číslo hodnota na celé číslo tak, že odreže časť za desatinnou čiarkou.

 

getenv

$(getenv, názov_premennej)

Vráti hodnotu premennej prostredia so zadaným názvom názov_premennej.

Ak premenná neexistuje, vráti prázdny reťazec.

 

getvar

$(getvar, názov_premennej)

Vráti hodnotu systémovej premennej so zadaným názvom názov_premennej.

 

if

$(if, výraz, keď_pravda [,keď_nepravda])

Podľa podmienky vyhodnotí výraz.

Ak je výraz nenulový, vyhodnotí výraz keď_pravda a vráti jeho výsledok. Inak vyhodnotí a vráti výsledok výrazu keď_nepravda. Všimnite si, že zátvorky sa nepožadujú, keď výraz nevyhodnotí.

 

index

$(index, ktorý, reťazec)

Vráti zadaný prvok (ktorý) z reťazca oddeleného čiarkami.

Predpokladá, že argument reťazec obsahuje jednu alebo viac hodnôt oddelených čiarkami. Argument ktorý určuje poradie vrátenej hodnoty, pričom index prvej hodnoty je 0. Táto funkcia sa najčastejšie používa pre získanie X, Y a Z súradníc z hodnoty vrátenej funkciou $(getvar).

 

linelen

$(linelen)

Vráti dĺžku (v znakoch) najdlhšej stavovej riadky, ktorú je možné zobraziť.

Túto funkciu môžete použiť pre rôzne formátovanie stavovej riadky, v závislosti na kapacite displeja. Táto funkcia je užitočná len pre konfiguráciu stavovej riadky pomocou premennej MODEMACRO.

Priestor dostupný pre MODEMACRO je aktuálne obmedzený na 240 znakov. Funkcia $(linelen) vždy vráti 240. Táto funkcia nemusí byť dostupná v budúcich verziách AutoCADu.

 

nth

$(nth, ktorý, arg0 [, arg1,..., arg7])

Vyhodnotí a vráti argument určený argumentom ktorý.

Ak je ktorý rovný 0, nth vráti arg0 atd. Všimnite si rozdielu mezi $(nth) a $(index). $(nth) vracia jeden z argumentov funkcie, zatiaľ čo $(index) získa hodnotu z čiarkami oddelených položiek v jedinom reťazci. Argumenty, ktoré nie sú vybrané argumentom ktorý, sa nevyhodnocujú.

 

or

$(or, val1 [, val2,..., val9])

Vráti logickú operáciu OR medzi celočíselnými hodnotami val1val9.

 

rtos

$(rtos, hodnota [, formát, presnosť])

Vráti reálne číslo v zadanom formáte a presnosti.

Upraví zadanú hodnotu ako reálne číslo v zadanom formáte a so zadanou presnosťou, podobne ako funkcia AutoLISPu. Ak nie je zadaný formát a presnosť, použije aktuálne nastavenie podľa príkazu _units.

 

strlen

$(strlen, reťazec)

Vráti počet znakov v reťazci.

 

substr

$(substr, reťazec, počiatok [, dĺžka])

Vráti časť reťazca určenú argumentami počiatok a dĺžka. Argument dĺžka určuje počet znakov, ktoré budú z reťazca prečítané.

Znaky v reťazcisú číslované od 1. Ak nie je zadaný parameter dĺžka, vracia reťazec od počiatku až do konca daného reťazca.

 

upper

$(upper, reťazec)

Vráti reťazec prevedený na veľké písmená podľa pravidel aktuálneho jazyka.

 

xor

$(xor, hod1 [, hod2, ..., hod9])

Vrátí logickú operáciu XOR medzi celočíselnými hodnotami hod1hod9.

 


Chybové hlásenia DIESELu

Obecne, ak urobíte ve výraze DIESELu chybu, je to na prvý pohled zrejmé. V závislosti na povahe chyby vloží DIESEL indikáciu chyby do výstupného prúdu.

Chybové hlásenia DIESELu

Chybové hlásenie                      Popis

$?                                              Syntaktická chyba (obvykle chýbajúca pravá zátvorka alebo reťazec)

$(func,??)                                   Neplatné argumenty pre funkciu

$(func)??                                    Neznáma funkcia

$(++)                                          Príliš dlhý výstupný reťazec, vyhodnotenie bolo skrátené