(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 2015+LISP OdwrocZaznaczenie 2015

Wykonanie w ZWCAD ClassicLISP OdwrocZaznaczenie Classic