; Na początek potrzebny jest blok np:

ByBlockWBloku

(vl-load-com)

(setq *ZWCAD* (vlax-get-acad-object))
(setq *Rysunek* (vla-get-activedocument *ZWCAD*))
(setq *Model* (vla-get-Modelspace *Rysunek*))

(defun C:ByBlockInBlock ( / )
;----------------------------------------------------------
; funkcja zmienia właściwości elementów wewnątch bloku na ByBlock
; Argumenty: nil
; Wynik: nil
;----------------------------------------------------------

(setq Wybor (entsel "Wskaż blok") ) ; funkcja prosi Użytkownika o wskazanie jednego narysowanego elementu Zwraca listę: wybrany element i współrzędne klikniętego punktu
(setq Wybrany_obj(vlax-ename->vla-object (car Wybor))) ;Zamiana wskazania na właściwy objekt
(setq Bloki (vlax-get-property *Rysunek* 'Blocks ))
(setq Definicja(vlax-invoke-method Bloki 'Item (vlax-get-property Wybrany_obj 'Name )) ) ; odczytujemy definicję wzkazanego bloku
(vlax-for Element Definicja ; pętla przechodząca przez każdy element w kolekcji
(vlax-put-property Element 'Color 0) ; zmiana koloru na ByBlock
)
(command "regen") ; konieczne, by zobaczyć zminę, bez tego zmiany w elementach będą dokonane, ale nie zostaną wyświetlone na ekranie
)

 

; po zmianie widać, że element wybrany, oraz wszystkie wstawienia tego samego bloku przyjmują kolory z właściwości bloku.

ByBlockWBlokuPoZmianie