Zobrazit plnou verzi příspěvku: Predefinovanie bloku
Jozef Lovás
03.05.2006, 13:20
Prosím Vás ako preruším príkaz v Lispe po predefinovaní bloku ?
(command "_insert" (strcat OldBlock "=" NewBlock))
Po vykonaní OldBlock "=" NewBlock potrbujem zrušiť aktuálny Command a pokračovať ďalej v programe.
To nějak nechápu - jestli chcete zrušit vykonávání příkazu, proč ho vůbec začínáte? A jestli chcete dodat další parametry, tak je tam musíte dát - proměnné, nebo funkce). A nebo tam jen potřebujete vrazit Enter? To je ""
Jozef Lovás
03.05.2006, 13:53
Mám vo výkrese cca 15 blokov, ktoré potrebujem predefinovať novými a tie mám v extra súboroch (dwg). Takýchto výkresov mám asi 10 takže to potrebujem nejak zautomatizovať.
V príkaze insert sa potrebujem dostať až po potvrdenie či chcem predefinovať existujúci blok, a potom príkaz zrušiť.
Jozef Lovás
03.05.2006, 14:26
Takže metódou pokus-omyl+help som dospel k fungujúcemu riešeniu:
(command "_insert" (strcat OldBlock "=" NewBlock) "Y" (command))
(Volanie command bez parametrov = ESC)
Vladimír Michl
03.05.2006, 15:11
Volat (command) uvnitř (command) není dobrý nápad. LISP ekvivalent pro "cancel" je nil. Tedy:
[CODE](command "_INSERT" (strcat oldBlock "=" newBlock) "_Y" nil)[/CODE]
Ferdinand
04.05.2006, 09:47
Já pro Cancel používám^C^C
V lispu? Jak? Pokud to není v menu.Seiner2006-5-4 9:51:15
Ferdinand
04.05.2006, 10:04
Příklad: získání vkl. bodu ZB(defun C:VLOZ ( / ZB MM)(SETQ MM (GETINT "\nZadejte měřítko pro vkládaný blok:"))(command "_-insert" VLBL "_PS" MM pause MM MM ^C^C)(setq ZB (getvar "lastpoint"))(command "_-insert" VLBL "_PS" MM ZB MM "" "0")(princ))
Vidíte - to mne nenapadlo. Já to zkoušel v uvozovkách.
Vladimír Michl
04.05.2006, 10:53
LISP žádné ^C^C nezná, ale shodou okolností je vámi definovaný symbol s názvem "^C^C" vyhodnocen jako nil, takže to zafunguje :-)
Ferdinand
10.05.2006, 15:47
Takže raději použít...(command "_-insert" VLBL "_PS" MM pause MM MM nil)...