Błąd w Interpreterze Lispa???


2P

Rekomendowane odpowiedzi

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

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

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.