Zobrazit plnou verzi příspěvku: Řetězení příkazů

Symptom
15.03.2016, 08:30
Je možné nadefinovat tlačítko do palety nástrojů tak, aby spustilo řadu za sebou jdoucích akcí? Příklad: kliknu na tlačítko a spustí se kreslení přímé kóty; po umístění kóty se automaticky spustí výzva k vložení předem určeného bloku; po vložení bloku následuje výzva k vložení dalšího bloku atd.

Vladimír Michl
15.03.2016, 08:37

Ano, tato tzv. "menu makra" pro ribbony a nástrojové panely lze vytvářet a v jednoduchém jazyce DIESEL i programovat. V podstatě je zapisujete v pořadí jako na příkazovém řádku, s tím že ";" je <Enter> a "\" je čekání na zadání uživatele.

Symptom
15.03.2016, 09:29
Bezva, děkuji. Ještě k tomu mám jeden dotaz - jak v makru odkázat na blok z externího výkresu? Jde to?

Vladimír Michl
15.03.2016, 10:02

Co nejde příkazem AutoCADu, nejde ani makrem. Nicméně funkci vkládání bloků z jiných DWG si můžete do AutoCADu doplnit pomocí utility InsertX (pak ji lze použít i v makru) - viz:http://www.cadforum.cz/cadforum/jak-v-autocadu-vlozit-blok-z-jineho-dwg-vykresu-tip10172

Symptom
15.03.2016, 10:11
Bohužel mám jen AutoCAD LT, tak přes aplikaci to nepůjde. Dejme tomu, že vkládám blok z aktuálního výkresu - trochu bojuji s tím, jak v makru zadat odkaz na konkrétní blok (např. "Bublina 1") s tím, že měřítko x i y je 1 a natočení 0...

splonk
15.03.2016, 10:24
Dobry den,jen ze Vam do LT-cka,asi nepujde nahrat zadnou utilitku :(...Mohlo by ale fungovat, ze bloky, ktere chcete vkladat, budete mit ulozeny jako jednotlive vykresy (napr. Blok_01.DWG) a ten DWG vykres ulozite "nekam" a v vlastnostech autoacdu, do vyhledavacich cest zadate cestu k slozce "Nekam"Pak by makro mohlo vypadat neco jako:_-INSERT;Blok_01;\\\;_EXPLODE;_L;;s tim, ze si pocet "externich vstupu"(\) musite vyzkouset... a stejne tak konec prikazu... pocet "enter-u" (;)...Piste makro i s podtrzitkama (jako jsou uvedeny vyse)... Ono "_L" znamena "Last" - angl. posledni a ma to uakzate prikazu Explode aby rozbyl posledny vybrany. Pokud b to nefungovalo, tak muzete _L zamenit za _P - cozznamena Previous (predesly)... Chce s tim pohrat ale urcite to jde a toolpaletta je na toto zouseni idealni nastroj!!!

splonk
15.03.2016, 10:57
[QUOTE=Symptom]Bohužel mám jen AutoCAD LT, tak přes aplikaci to nepůjde. Dejme tomu, že vkládám blok z aktuálního výkresu - trochu bojuji s tím, jak v makru zadat odkaz na konkrétní blok (např. "Bublina 1") s tím, že měřítko x i y je 1 a natočení 0...[/QUOTE]
Zkuste do TP napsat:^C^C_-insert;"Bublina 1";\;;;^C^C - vyraz pro "Escape" - davejte vdy nazacatku (pokud nechcete aby se to chovalo jinak)_(podtrzitko) pred anglickym prikazem (preklada do cestiny)-INSERT  - cark v tomto pripade dela to, ze se na blok k vlozeni nezepta vyskakovacim oknem ale v prikazovym radku"Bublina 1" - nazev bloku v uvozovkach, nebot obsahuje mezery (Lepsi je tvorit bloky bez mezer v nazvu... zbytek je asi jasny :)

Petr75
15.03.2016, 11:05
Napřed si musíte zjistit, jaké parametry se používají při vkládání z příkazového řádku. Může se to lišit v novější verzi AutoCADu.Např.^C^C_-insert blokXX.dwg \1 1 0pokud už je blok ve výkresu, tak jen^C^C_-insert blokXX \1 1 0parametry ^C^C se používají na zrušení případného probíhajícího příkazu.\ čekání na zadání z klávesnice - zadání souřadnicpak už jen zadání měřítka x, y a rotace.Také záleží, jak je blok vytvořen, pokud je nadefinován, že změna měřítka je rovnoměrně, tak se nevyžaduje měřítko v ose y.

Symptom
16.03.2016, 06:43
Děkuji za rady! Ještě jedna věc - jeden z příkazů v makru je kótování a rád bych tam nějak dopsal, ve kterém kótovacím stylu se má kóta vykreslit, pokud to jde... Budu mít ve výkresu dva kótovací styly a chci aby makro v jednom tlačítku odkazovalo na jeden kótovací styl a druhé tlačítko na druhý kótovací styl...

Vladimír Michl
16.03.2016, 08:35

Zase - stejně jako byste to dělal pomocí příkazů AutoCADu - tedy např.[CODE]_-DIMSTYLE;;ISO-25;_DIMLINEAR;....[/CODE]

Symptom
16.03.2016, 09:07
Bezva, funguje. Snad už poslední dotaz - trochu bojuji s makrem pro nastavení aktuální hladiny. Příkaz ^C^C_laymcur \; mě vyzve k označení objektu, podle kterého se nastaví aktuální hladina, ale to je jen polovina úspěchu - chtěl bych v makru zadat jméno hladiny, která se má nastavit jako aktuální...

splonk
16.03.2016, 10:01
Pokud chcete, aby se vam (napr. kota, kreslila do hladiny napr. Hl-Kota) tak je mozna lepsi napsat makro ktere ji nejdriv nakresli a pak ji prehodi do hladiny... K tomu pouzijte prosim prikaz:_CHPROP (jako change properties).. pak by makro mohlo vypadat napr.[CODE]... ... ... (kresli kotu)... _CHPROP;_LA;Hl-Kota;;[/CODE]... pisu z hlavy, trochu to musite doupravit...Apokud chcete nastavit nejakoou hladinu jako aktualni.. an to urcite existuje prikaz... Zkuste zapatrat v Napovede nebo na googlovi...

johny
16.03.2016, 10:40
Asi ideálně bych hladinu nastavil ve vlastnostech nástroje na ToolPalettenebo jestli to chcete tím makrem, tak je mnoho způsobů....CLAYER "Moje hladina"nebo_.-LAYER _Set "Moje Hladina";;nebo tebo ten CHPROP, ale musí jít za to výběr posledního prvku_.CHPROP;_Last;;_Layer..nebo složitěji to stejné přes _CHANGE...(netestovano... jen pro představu...)



splonk
16.03.2016, 11:00
[QUOTE=johny]tebo ten CHPROP, ale musí jít za to výběr posledního prvku_.CHPROP;_Last;;_Layer..


[/QUOTE]
... ano dekuji, samozrejmne... Bez toho _LAST je cely mij prispevek k nicemu :)

Symptom
16.03.2016, 11:10
Děkuji všem, do cíle jsem se dostal díky příkazu: ^C^C_chprop;_L ;H;KÓTY;; Šlo o to, že potřebuji nakreslit čáru (hladina dle nastavení v paletě), ale hned v závěsu kreslím kótu a ta musí spadnout do hladiny dle makra a ne dle nastavení v paletě...