2P Opublikowano 23 Marca 2008 Zgłoś Udostępnij Opublikowano 23 Marca 2008 Spróbujcie załadować taki "kawałek" programu w Lispie: (defun C:test1 () (command "_area" "e" "l") ) (defun C:test2 ( / area) (command "_area" "e" "l") ) Na pierwszy rzut oka oba nowe Polecenia (test1 i test2) powinny wykonać to samo, czyli podać powierzchnię ostatniego narysowanego elementu (np. polilini) Niestety tak dzieje się tylko dla test1. W drugim przypadku polecenie area nie umożliwia podania opcji!!! i kończy swoje działanie przed czasem. Dzieje się tylko tak, jeśli w definicji funkcji podamy jako zmienną lokalną zmienną o nazwie area.... Trochę mnie to czasu dziś i nerwów kosztowało.... Powyższe dotyczy ZwCAD2007 i 2008 - może ktoś przetestuje na AutoCADzie? Będę wdzięczny.... Pzdr Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
McArti Opublikowano 23 Marca 2008 Zgłoś Udostępnij Opublikowano 23 Marca 2008 mogę ale dopiero we wtorek. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
McArti Opublikowano 25 Marca 2008 Zgłoś Udostępnij Opublikowano 25 Marca 2008 na AutoCADzie chodza obie wersje. Command: test1 _area Specify first corner point or [Object/Add/Subtract]: e Select objects: l Area = 55616.5209, Perimeter = 979.1300 Command: nil Command: test2 _area Specify first corner point or [Object/Add/Subtract]: e Select objects: l Area = 55616.5209, Perimeter = 979.1300 Command: nil Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dmatusz3 Opublikowano 25 Marca 2008 Zgłoś Udostępnij Opublikowano 25 Marca 2008 Zastanawiam się, czy zmienna może (powinna) nazywać się tak samo jak komenda. Coś takiego działa jak najbardziej: (defun C:test2 ( / area1) (command "_area" "e" "l") ) Pozdrawiam Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi