Zobrazit plnou verzi příspěvku: Ikony a ich opakovani?!

michaelflyer
20.01.2008, 15:59
Dobrý deň,

verím tomu, že táto vec sa stáva každému a má stým problém. V autocade je veľa ikon, ktoré zastupujú nejaký príkaz so svojimi špecifickými príkazmi napr.: „Break 1 Point Select“ je zapísaná v tvare ^C^C_break \_f \@. Ale keď dáte opakovať príkaz tak už to je len obyčajný “Break“. A tak zase musíte stlačiť príslušnú ikonu aby to bol zase „Break 1 Point Select“. Keď to musíte zopakovať aj 20x tak vás to po čase prestane baviť! Ako by sa to dalo zapísať tak aby to malo svoj iný príkaz a nie „_breake“ s danou špecifikáciou. Ako si to predstavujem:
(defun c:BP ()
(command „_break“ pause „_f“ pause „a ten istý bod ako naposledy ale aby som ho nemusel zase zadávať“ )
)
Používam Autocad 2000 ale páčia sa mi niektoré veci vo vyšších verziách. Zase budem konkrétny. Napríklad TRIM má vo vyšších verziách výhodu vyberania objektov pomocou okna. Áno, prvý výber je rovnaký, ale už ten druhý nie. Musíte klikať na každý objekt a okno tu už nefunguje. Snažil som sa to nejako oklamať, ale ako náhle som dal prvý výber viac ako jeden objekt (napr.: dva objekty) tak mi to urezalo vždy po prvý objekt a nie medzi nimi :-(

Vopred ďakujem za rady...

PepaR
20.01.2008, 16:19
Zkoušel jste GGmenu? Tam jsou Vámi požadované příkazy zahrnuty, včetně násobného ořezávání.
 
Namátkou zasílám řešení pro BREAK přímo v LISPu:
uploads/20080120_161930_Prerusit.lsp
 
Samozřejmě pro AutoCAD LT nezbyde než udělat si variantu do tlačítka tak jako to máte nyní.PepaR2008-01-20 16:21:05

Vladimír Michl
20.01.2008, 16:35
Tohle se řeší jinak, není potřeba hned programovat. Stačí před příkaz (menu makro) dát hvězdičku, bude pak automaticky opakované celé. Tedy v tomto případě:
 
*^C^C_break;\_f;\@;

PepaR
20.01.2008, 16:39
Zse jste me dostal, ja myslel, že to nejde udělat jinak než LISPem. Holt jak to bylo v jedné reklamě na prací prášek: musím se mooooc učit, moooc učit ;)

michaelflyer
20.01.2008, 17:00
Ďakujem. Vám obom.
Mám ešte jednu otázku. Ako by sa dalo namieto toho "@" alebo "pause" získať súradnice toho bodu tak aby mi ich vypísalo na obrazovku.
Ďakujem

zisoun
20.01.2008, 21:22
Co se týká opakování příkazu, je hvězdička dobré a rychlé řešení. Mám ji použitou u hodně příkazů.Příkaz se pak opakuje pořád dokola, než ho zruším ESC. Pokud ho ale zruším a dám opakování příkazu (např. pravýn tl. myši), tak už samozřejmě udělá zase jen samotný break. To jen tak pro úplnost.Ten "@" v makru říká, že se má použít poslední zadávaný bod (hodnota LASTPOINT), v tomto případě bod přerušení, na který se ukáže. Pokud chcete vědět jeho souřadnice jen informativně pak stačí na konec makra dopsat ještě příkaz na zjištění souřadnic bodu a pak by to vypadalo takto :*^C^C_break;\_f;\@;_id;@;Po tomto zadání se vypíšou souřadnice bodu přerušení do příkazového řádku (nebo textového okna). Pokud byste chtěl zapsat souřadnice jako text do výkresu, tak by to šlo samozřejmě taky,jen by to bylo trochu delší a složitější makro.

michaelflyer
21.01.2008, 16:04
Zaujímavé....
Dalo by sa to aj implementovať na lisp tá "_id"? Ako to treba zapísať do lipu?
Ďakujem za vaše postrehy...