×

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


Makrá

Syntax Makra

Nasledujúcí tabuľka obsahuje zoznam špeciálnych znakov, ktoré možno používať v makrách. Používanie týchto znakov je popísáné ďalej v tetjo časti nápovedy.

Špeciálne znaky v makrách

Znak                  Popis

;                           Zadá ENTER

^M                      Zadá ENTER

^I                        Zadá TAB(tabulátor)

SPACEBAR      Zadá medzeru; medzera zadaná medzi volbami príkazu je vyhodnotená rovnako ako stisk medzerníku. Význam je teda väčšinou ENTER (nie však vždy)

\                           Čakanie na vstup užívateľa (nemožno použíť v sekcii klávesových skratiek)

_                          Preloží anglický názov príkazu alebo kľúčového slova na aktuálnu jazykovú verziu

+                          Makro pokračuje na ďalšom riadku (ak je posledným znakom)

=*                        Zobrazí najvyžšiu úroveň obrázku, roletového alebo kurzorového menu.

*^C^C                Predpona pre opakovanie príkazu

$                          Špeciálny znak, ktorý načíta sekciu menu, alebo uvádza podmienený výraz DIESELu ($M=)

^B                       Zapína/vypíná Krok (CTRL + B)

^C                       Zruší príkaz (ESC)

^D                       Zapíná/vypína Súradnice (CTRL + D)

^E                        Prepne aktuálnu rovinu izometrického kreslenia (CTRL + E)

^G                       Zapíná/vypína Raster (CTRL + G)

^H                       Zadá klávesu Backspace

^O                       Zapína/vypína Orto (CTRL + O)

^P                        Zapína/vypína menuecho (CTRL + P)

^Q                       Všetky výzvy príkazov sú presmerované na tlačiareň (CTRL + Q)

^T                        Zapína/vypína tablet (CTRL + T)

^V                       Prepne aktuálny výrez (CTRL + V)

^Z                       Prázdny znak, ktorý potlačí automatické pridánie medzerníku na konci položky

Ukončenie Makra

Ak vyberiete položku v menu, AutoCAD automaticky pripojí medzeru na koniec makra pred vykonaním sekvencie príkazov. AutoCAD vykoná nasledujúce makro ako zadanie príkazu úsečka + medzerník.

[Úsečka]_line

Tento postup niekedy nie je možný; napríklad príkaz TEXT musíte ukončiť klávesou ENTER, nie medzerou. Taktiež, niekedy potrebujete viac ako jednu medzeru (alebo ENTER), ale niektoré textové editory neumožňujú zadať medzery na konci riadku. V týchto prípadoch existujú dve doporučenia:

-              Ak v makre zadáte stredník (;), AutoCAD ho nahradí klávesou ENTER.

-              Ak je riadok ukončený riadiacim znakom, zpätným lomítkom (\), znamienkom plus (+) alebo stredníkom (;), AutoCAD nedoplní koncovú medzeru.

Pozrite sa na príklad položky menu Vymazat 1:

[Vymazat 1]_erase \;

Ak by ste pre túto položku ponechali len spätné lomítko (ktoré oznamuje čakanie na vstup užívateľa); volanie príkazu by zlyhalo, pretože AutoCAD by za spätné lomítko nepridal medzeru. Preto v tomto makre používame stredník, ktorý spôsobí zadanie ENTER podobne, ako by sme ho zadali z klávesnice. Dalšie príklady:

[USS     ]_ucs

[USS W   ]_ucs ;

[Adresa ]text \.4 0 DRAFT Inc;;;Main St.;;;City, State;

Po výbere prvej uvedenej položky sa na príkazovom riadku zobrazí:

V českej verzii - Zadejte volbu [Nový/poSun/orthograF/Před/oBnov/Ulož/Vymaž/použíT/?/Glob] <Glob>:

V anglickej verzii - Enter an option [New/Move/orthoGraphic/Prev/Restore/Save/Del/?/World] <World>:

Ak vyberiete druhú položku, AutoCAD zadá ucs, medzerník a ; (ktorý je vyhodnotený ako ENTER), ktorý spôsobí potvrdenie implicitnej voľby, Glob (World).

Pri výbere tretej položky zobrazí výzvu na zadanie počiatočného bodu a napíše adresu do troch riadkov. Pri troch stredníkoch (;;;) predstavuje prvý stredník ukončenie zadávania textu, druhý spôsobí zopakovanie príkazu TEXT a posledný zadá implicitné umiestnenie textu pod predchádzajúci riadok.

Čakanie na vstup užívateľa

Ak požadujete uprostred makra zadanie vstupu užívateľa z klávesnice alebo pomocou ukazovacieho zariadenia, použite spätné lomítko (\).

[Kružnica-1]_circle \1

[Hladina vypni]_-layer _off \;

Kružnica-1 na vstup užívateľa, ktorý zadá bod stredu a z menu získa veľkosť polomeru 1. Všimnite si, že za medzerou nie je \. Použite Hladina vypni pre zadanie názvu hladiny, potom funkcia vypne hladinu a ukončí príkaz _-LAYER. Príkaz _-LAYER normálne čaká na zadanie ďalšej voľby a možno ho ukončiť len medzerníkom alebo ENTER(;).

Obvykle býva makro vykonané po výbere položky v menu. Preto nie je možné vytvoriť makro, ktoré bude akceptovať premenný počet vstupných hodnôt (ako je výberová množina objektov) a pokračovať. Avšak pre príkaz _SELECT existuje výnimka; spätné lomítko v makre spôsobí, že makro bude pozastavené až do dokončenia výberu objektov. Napríklad, predpokladajme nasledujúcu položku:

[Na červeno]_select \_change _previous ;_properities _color _red ;

Táto položka používa príkaz _SELECT, ktorý vytvorí výberovú množinu z jedného alebo viac objektov. Potom vyvolá príkaz _CHANGE, odkáže sa na množinu voľbou _previous a zmení farbu objektov na červenú.

Poznámka:

Pretože spätné lomítko (\) spôsobí pozastavenie makra a čakanie na vstup užívateľa, nemožno používat spätné lomítko pre iné účely. Ak zadávate cesty k adresárom, použite lomítko (/): napr. /adr/súbor.

Nasledujúce okolnosti spomalia priebeh makra:

-  Ak sa očakáva zadanie bodu, režimy uchopenia objektov majú prednosť pred zadaním bodu z klávesnice

-  Ak sú použité X/Y/Z bodové filtre, makro zostane pozastavené do doby úplného zloženia bodu.

-  Pri príkaze _SELECT zostane makro pozastavené do doby, kým nebude výber objektov dokončený.

-  Ak užívateľ použije transparentný príkaz, makro zostane pozastavené kým transparentný príkaz nebude dokončený a nebude zadaný pôvodne požadovaný vstup.

-  Ak si užívateľ vyberie inú položku v menu (ktorá bude schopná pokračovat alebo vyvolá transparentný príkaz), pôvodné makro zostane pozastavené a novo vybrané objekty budú spracované pred pokračovaním priebehu pozastaveného makra.

Podpora národných verzií v makrách

Ak vyvíjate menu, ktoré bude používané v rôznych jazykových verziách AutoCADu, štandardné príkazy a voľby príkazov AutoCADu sa prevedú na odpovedajúcu jazykovú verziu, ak pred nimi uvediete znak podtržítko (_). Rozsiahlo je táto vlastnosť využívaná v súbore acad.mnu.

Odporúčame Vám požívať stále anglické názvy s podtržítkom, pretože nikdy neviete, čo prinesie budúcnosť a či Vaše menu nebudete používať v inej jazykovej verzii (Anglická, Nemecká, alebo ak niekedy bude - Slovenská)

Nasledujúci príklad ukazuje časť roletového menu:

[->Oblúk]

[3 body]^C^C_arc

[Počiatok, stred, koniec]^C^C_arc;\_c

[Počiatok, stred,uhol]^C^C_arc;\_c;\_a

[Počiatok, stred,dĺžka]^C^C_arc;\_c;\_l

[Počiatok, koniec, uhol]^C^C_arc;\_e;\_a

[Počiatok, koniec, polomer]^C^C_arc;\_e;\_r

Prerušenie príkazu

Aby ste mali istotu, že nie je vykonávaný iný príkaz, použite v položke menu reťazec ^C^C. Výsledok je rovnaký ako keby ste dvakrát stiskli klávesu ESC. Hoci reťazec ^C ukončí väčšinu príkazov, reťazec ^C^C je požadovaný k návratu do príkazového riadku z príkazu _DIM (KÓTY). Takže zadaním ^C^C je vo väčšine prípadov zaručené, že sa AutoCAD vráti do príkazového riadku.

Echá a výzvy

Normálně sa znaky prečítané z položky menu zobrazia na príkazovom riadku podobne ako pri zadávaní z klávesnice, rovnako ako výzvy, ku ktorým makro doplňuje odpovede. Tieto zobrazenia môžete potlačiť pomocou systémovej premennej MENUECHO. Ak je echo príkazov vypnuté, zadanie ^P v makre ho zase zapne.

 

Riadiace znaky v položkách menu

Ako časť príkazu v položke menu môžete zadať ASCII riadiace znaky tak, že zadáte znak strieška (^), za ktorým nasleduje ďalší znak. Napríklad ^C bude prevedené na jeden znak , CTRL +C (ktoré, ak je volané z makra, vyvolá zrušenie príkazu, a nie kopírovanie do schránky). Ďalšie riadiace znaky sú:

^@          (ASCII code 0)

^[            (ASCII code 27)

^\            (ASCII code 28)

^]            (ASCII code 29)

^^            (ASCII code 30)

^_           (ASCII code 31)

Ak použijete znak strieška (^) v makre, je prevedený na klávesu CTRL tak, ako by ste ju zadali z klávesnice. Môžete skombinovať znak strieška s ďalším znakom a vytvoriť tak makrá, ktoré zapínajú raster (^G) alebo prerušujú príkaz (^C).

[Raster Áno/Nie]^G

[*Zrušiť*]^C

Môžete chcieť zadať znak z menu, ale nechcete, aby bol vyhodnotený ako konečný vstup. Napr. môžete vytvoriť menu, ktorá bude slúžiť ako numerická klávesnica.

[1]1x^H

[2]2x^H

[3]3x^H

Ak vyberiete jednu z uvedených položiek, bude zadané odpovedajúce číslo. Nasledujúci znak (v tomto prípade x) bude vymazaný pomocou ^H (CTRL + H je ASCII kód pre Backspace). Každá položka končí riadiacim znakom a v tom prípade AutoCAD nepridáva na koniec medzeru alebo ENTER. Ak teda zadáte [2], [2], [3], [1], vytvoríte vstup 2231. Stiskom ENTER zadáte kompletné číslo.

Nasledujúci príklad má rovnakú funkčnosť, len s tým rozdielom, že používa spätné lomítko.

[1]1\

[2]2\

[3]3\

Doporučovaný spôsob je prvý uvedený. Hoci druhý spôsob je jednoduhší na implementáciu a v mnoho prípadoch býva výsledok rovnaký, môže spôsobiť čakanie na ďalší vstup neočakávané výsledky.

Dlhé makrá

Ak je makro tak dlhé, že se nevôjde na jeden riadok, môžete pokračovať na ďalšom riadku. V tom prípade spojíte makro pomocou znaku plus (+), ktorý pridáte na koniec riadku.

[Nastavenie ]_-layer _set prizemie;;_grid _on;_fill _off;+

_limits 0,0 12,9;

Tato položka, ktorú môžete použiť pre nastavenie prostredia nového výkresu, pokračuje na druhom riadku. Makro môže pokračovať na tolkých riadkoch, koľko je nutné.

Poznámka: Pokračovanie riadkov nie je zachované pri vytváraní MNS souboru.

Doporučuje sa nahradiť dlhé makrá funkciami AutoLISPu alebo funkciami definovanými v MNL súbore. Tým zostane menu jednoduhšie na čítanie a vaše jadro bude viac modulárne. Nie je to Však možné takto použiť v AutoCADe LT a v prípade, že makrá nahradíte spomínaným spôsobom - nebude Vaše menu kompatibilné s AutoCADom LT.

Opakovanie makier

Ak zadáte nejaký príkaz, často chcete pokračovať v jeho používaní až do zadania ďalšieho príkazu. Práve tak mnoho užívateľov používa nástroje - vyberú si nástroj, vykonajú s ním niekoľko vecí, potom si vyberú iný nástroj atď. Aby ste nemuseli vyberať nástroj pred každým jeho použitím, AutoCAD obsahuje možnosť opakovania príkazov. Túto možnosť však nemôžete používať pre voľby príkazov.

Táto vlastnosť umožňuje násobné opakovanie príkazu až do doby prerušenia príkazu ďalším príkazom. Ak makro začína *^C^C bezprostredne za návestím, makro je uložené do pamäte. Na výzvy príkazu je možné odpovedat až do prerušenia makra klávesou ESC alebo výberom inej položky v menu.

Poznámka

Nepoužívajte ^C (Zrušiť) vnútri makra, ktoré začína reťazcom *^C^C, pretože tým by ste zrušili opakovanie makra.

Nasledujúci príklad ukazuje opakované, alebo tiež modálne spracovanie príkazov.

[Posunúť ]*^C^C_MOVE _single

[Kopírovať ]*^C^C_COPY _single

[Vymazať   ]*^C^C_ERASE _single

[Pretiahnúť]*^C^C_STRETCH _single _crossing

[Otočiť   ]*^C^C_ROTATE _single

[Měřítko ]*^C^C_SCALE _single

Opakovanie makier nepracuje pre položky ikonových menu.

Používanie režimu výberu jedného objektu

Výber jedného objektu vloží do výberovej množiny jeden objekt a vypne možnosť dialógového zadávania výberu. Ukončí tiež výber objektov po výbere prvého objektu. To je možné pomerne jednoducho ošetrovať v menu. Napríklad vytvoríme nasledujúcu položku menu:

[Vymazať]*^C^C_ERASE _single

Tato volba preruší aktuálny príkaz a vyvolá príkaz _ERASE (VYMAŽ) so zadanou voľbou _single (Jeden). Po výbere tejto položky buď ukážete na jeden objekt, ktorý bude vymazaný alebo ukážete do prázdnej plochy, čím zapnete výber oknom. Objekty vybrané týmto spôsobom budú vymazané a položka menu bude zopakovaná (kôli úvodnej hviezdičke), takže môžete vymazať ďalšie objekty. Výber jedného objektu prináša omnoho dynamickejšiu komunikáciu užívateľa s AutoCADom.

 

Prepínanie menu

AutoCAD prináša možnosť, ako nahradiť obsah aktívnych sekcií Buttons, Aux, Pop, Screen alebo Tablet. Novým obsahom menu môže byť iná sekcia alebo podmenu v základnom menu alebo menu, které bylo načítané ako čiastočné menu. Informácia o prepínaní menu sa odkazuje na každú sekciu menu, ktorá je súčásťou popisu tejto sekcie.

Nasledujúca syntax umožňuje prepínanie menu z makra:

$sekcia=[skupina.]názov

Kde

$

Hovorí AutoCADu, že má načítať sekciu menu

sekcia

Určuje názov sekcie. Platné názvy sú:

A1–A4   pre menu AUX 1 až 4

B1–B4   pre menu BUTTONS 1 až 4

P0–P16  pre menu POP 0 až 16

I              pre menu IMAGE

S              pre menu SCREEN

T1–T4    pre menu TABLET 1 až 4

skupina

Určuje skupinu menu, ku ktorej sekcia patrí (nie je nutné, ak je súčasťou základného menu).

názov

Určuje vkladanú sekciu alebo podmenu. Hlavné návestie alebo alias načítanej sekcie.

Nasledujúce položky menu ukazujú odkazovanie na podmenu:

$S=PARTS

$T1=EDITCMDS

$T2=SCREEN

Tento mechanizmus môžete použiť uprostred aktívneho príkazu bez jeho prerušenia. V nasledujúcom príklade sú ukázané obidva možné postupy:

$S=ARCSTUFF ARC

ARC $S=ARCSTUFF

Každá položka spustí príkaz OBLÚK a zobrazí obrazovkové menu ARCSTUFF. Potom čaká na zadanie parametrov. Za odkazom na podmenu musí nasledovať medzera.

Môžete prepínat len menu rovnakého typu - jedno menu Aux za iným, jedno menu Pop za iným atď. Ak se pokusíte prepínať menu rôzneho typu, nemožno predpokladať správny výsledok. Ak prepínate menu rovnakého typu, môžete meniť jedno menu za iné. To môže mať zvláštne chovanie napr. v prípade tabletových menu, pretože tie spravidla nemávajú rovnaký počet položiek.

V aktívnom kurzorovom alebo roletovom menu je možné zobraziť každé menu len jeden krát.

Podmienené vyhodnotenie makier

Vnútri makra môžete použiť 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= hovorí AutoCADu, že má vyhodnotiť reťazec ako výraz DIESELu a výraz je výraz DIESELu.

[Vyplniť Áno/Nie]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žiť pri prepínaní hodnoty systémových premenných medzi 0 a 1.

Ak použijete DIESEL pre vyhodnocovanie testov "if-then", môžete vložiť podmienku tam, kde by normálne bola medzera alebo stredník. Ak za výrazom následuje ^Z, AutoCAD nepridá za makro ENTER.

Rovnako ako pri ďalších riadiacích znakoch, ^Z je reťazec zložený zo znaku strieška (^) a Z, nie CTRL + Z.

V nasledujú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.