Enter
Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: CAD programování
Popis fóra: Otázky programování - nadstavby a utility pro CAD a GIS aplikace Autodesk (VBA, AutoLISP, ARX/C++, .Net, JavaScript, Python, MEL...)
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=3361
Datum vytištění: 12.kvě.2026 v 13:55
Téma: Enter
Odeslal: Ferdinand
Předmět: Enter
Datum odeslání: 02.lis.2006 v 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říkaz
Pozná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...
------------- -FerTh-
|
Odpovědi:
Odeslal: Ferdinand
Datum odeslání: 02.lis.2006 v 17:24
Už jsem to našel a pro úplnost píšu: SPACEBAR (text "SPACEBAR" + mezera!)
------------- -FerTh-
|
Odeslal: Miroslav Harant
Datum odeslání: 03.lis.2006 v 09:00
Ještě jinak v lispu lze i jednodušeji:
^C^C(load "DeleteFilters.vlx") df ;
a příkaz proběhne celý. 
------------- Miroslav Harant
ADT 3.3 / Win 98 SE
|
Odeslal: Ferdinand
Datum odeslání: 03.lis.2006 v 13:14
No teda
------------- -FerTh-
|
|