Ten LISP pozwala na zaznaczenie pozostałych elementów rysunku za pomocą prostej funkcji. Cokolwiek jest zaznaczone w rysunku, po uruchomienie skryptu zostanie odznaczone, a każdy inny element zostanie zaznaczony.
Pobierz teraz: LISP do odwracania zaznaczenia
Polecenie do uruchomienia skryptu LISP: OdwrocZaznaczenie
Kod źródłowy z opisem
;;; Odwrócenie zaznaczenia
;;; zwcad.pl
;;; Polecenie do uruchomienia skryptu LISP: OdwrocZaznaczenie
;;; Opis: https://www.zwcad.pl/materialy-edukacyjne/kurs-lisp/przyklady-lisp/125-odwrocenie-zaznaczenia.html
(vl-load-com)
(setq *ZWCAD* (vlax-get-acad-object))
(setq *Rysunek* (vla-get-activedocument *ZWCAD* ))
(setq *Model* (vla-get-Modelspace *Rysunek* ))
(defun C:OdwrocZaznaczenie ( / AktualnyWybor selAll i IleWybrane )
;----------------------------------------------------------
; funkcja odwraca zaznaczenie, czyli zaznacza wszystko, oprócz elementów aktualnie zaznaczonych
; Argumenty:
;Wynik:
;----------------------------------------------------------
(setq AktualnyWybor (ssgetfirst) ) ; pobiera zbiór wzkazanych elementów
(if (cadr AktualnyWybor) ; sprawdzenie, czy zbiór nie jest pusty
(progn
(setq AktualnyWybor (cadr AktualnyWybor))
(setq selAll(ssget "X")) ; tworzy zbiór wszystkich elementów z rysunku
(setq i 0 )
(setq IleWybrane (sslength AktualnyWybor ))
(repeat IleWybrane
(ssdel ; usuwa element ze zbioru wskazania
(ssname AktualnyWybor i) ; pobiera obiekt o określonym indeksie ze zbioru
selAll)
(setq i (1+ i))
)
(sssetfirst selAll selAll) ; ustawia zbiór wskazań na aktualny
))
nil
)
Wykonanie w ZWCAD 2023
Wykonanie w ZWCAD 2015