Ferdinand
02.11.2006, 13:45
Nemohu si vzpomenout:Jak se napíše v lispu Enter?Přišel jsem na to, že "" nefunguje všude, proto ten dotaz...Konkrétní příklad: V lispu na pročištění výkresu od nepotřebného balastu chci volat funkci DeleteFilters, který požaduje potvrzení Enterem.V řádku menu to funguje takhle (příkazu DeleteFilters mám přiřazenou zkratku DF):...[DF -odstraní filtry hladin]^C^CDF SPACEBAR ...Průběh na příkazovém řádku:A./Command: (C:DeleteFilters) anebo (C:DF)Name filters to keep (e.g. 'A*,B*')<Enter> deletes all:...no a právě nemůžu dostat tam tu automaticky potvrzenou volbu (tj. Enter) po výzvě "<Enter> deletes all:"B./Command: (command "DF" "")DF Unknown command "DF". Press F1 for help....a zopakuje posledně provedený příkazPoznámka:Hromadně prováděné (tj. ne pouze v rámci jediného výkresu) lispy acad2004.lsp mám sestavené na následujícím principu:1. Jsou nadefinována dílčí funkce volaná v rámci lispu (pokud už nejsou v některé "zakufrované" /Startup Suite/ utilitě).2. Jsou uchovány původní hodnoty proměnných a následně jsou nastaveny na požadovanou hodnotu.3. Tělo programu začíná(defun S::STARTUP ()4. Najde soubory dwg v aktuálním adresáři(command "_shell" ...a vytvoří jejich seznam.5. Výkresy se otvírají v cyklu jeden za druhým (sdi=1) dle tohoto seznamu a ve vlastním výkonném jádru jsou provedena potřebná operace.6. Na konci n-tého cyklu jsou obnoveny původní hodnoty proměnných a n-tý výkres se uloží.V praxi to vypadá tak, že výkresy, na které chci aplikovat tutéž utilitu, nakopíruji do pracovního adresáře společně s utilitou (která se musí jmenovat acad2004.lsp), pak do příkazového řádku prohlížeče napíšu ACAD a pak si pohodlně sednu, ev. dám si KitKat...