也可以这样写:
(defun c:test (/ selectionsets i sset ssetcount) (princ "Please select object(s):") (setq selectionsets (vla-get-selectionsets (vla-get-activedocument (vlax-get-acad-object)) ) i (vla-get-count selectionsets) ) (while (> i 0) (setq sset (vla-item selectionsets 0)) (vla-delete sset) (setq i (- i 1)) ) (setq sset (vla-add selectionsets "sset") ) (vla-selectonscreen sset) (setq ssetcount (vla-get-count sset)) (while (> ssetcount 0) (if (/= 256 (vla-get-color (vla-item sset (- ssetcount 1))) ) (progn (vla-put-color (vla-item sset (- ssetcount 1)) 256) (vla-update (vla-item sset (- ssetcount 1))) ) ) (setq ssetcount (- ssetcount 1)) ) ) |