像这样的?
- (defun c:ToColor (/ #SS #Color #Layers #Layer #List)
- (vl-load-com)
- (cond
- ((and (setq #Color (acad_colordlg 1))
- (setq #SS (ssget))
- ) ;_ and
- (or *AcadDoc* (setq *AcadDoc* (vla-get-activedocument (vlax-get-acad-object))))
- (setq #Layers (vla-get-layers *AcadDoc*))
- (vlax-for x (setq #SS (vla-get-activeselectionset *AcadDoc*))
- (vl-catch-all-apply 'vla-put-color (list x 256))
- (or (vl-position (setq #Layer (vla-get-layer x)) #List)
- (progn (vla-put-color (vla-item #Layers #Layer) #Color)
- (setq #List (cons #Layer #List))
- ) ;_ progn
- ) ;_ or
- ) ;_ vlax-for
- (vl-catch-all-apply 'vla-delete (list #SS))
- )
- ) ;_ cond
- (princ)
- ) ;_ defun
|