回复 tm20038175 的帖子
 - (defun c:tt(/ laydata doc ms blocks)
- (setq layers (vla-get-Layers (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))))
- (setq blocks (vla-get-blocks doc))
-
- (vlax-for lay layers
- (setq laydata (cons (list (vla-get-name lay) (vla-get-color lay) (vla-get-linetype lay)) laydata))
- )
- (vlax-for block blocks
- (vlax-for obj block
- (if (and (= 256 (vla-get-color obj)) (/= "0" (vla-get-layer obj)))
- (vla-put-color obj (cadr (assoc (vla-get-layer obj) laydata)))
- )
- (if (and(= "ByLayer" (vla-get-linetype obj))(/= "0" (vla-get-layer obj)))
- (vla-put-linetype obj (caddr (assoc (vla-get-layer obj) laydata)))
- )
-
- )
- )
- (setq ms (vla-get-ModelSpace doc))
- (vlax-for obj ms
- (if (= 256 (vla-get-color obj))
- (vla-put-color obj (cadr (assoc (vla-get-layer obj) laydata)))
- )
- (if (= "ByLayer" (vla-get-linetype obj))
- (vla-put-linetype obj (caddr (assoc (vla-get-layer obj) laydata)))
- )
- )
- (princ)
-
- )
|