2P Posted March 23, 2008 Report Share Posted March 23, 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 Link to comment Share on other sites More sharing options...
McArti Posted March 23, 2008 Report Share Posted March 23, 2008 mogę ale dopiero we wtorek. Link to comment Share on other sites More sharing options...
McArti Posted March 25, 2008 Report Share Posted March 25, 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 Link to comment Share on other sites More sharing options...
dmatusz3 Posted March 25, 2008 Report Share Posted March 25, 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 Link to comment Share on other sites More sharing options...
Recommended Posts