kenken 发表于 2020-2-28 20:23:20

只刷图层和颜色

如题,本论坛的帖子想在这个码的基础上加上同时刷颜色的功能,谢谢


(defun c:hdc-zstc ( / a b colo ent i layess) (vl-load-com) (princ "\n***>>>>>Welcome to 只刷图层(不刷其他任何特性)<<<<<***\n***>>>>>海盗曹 2014.03.13<<<<<***") (setq a (car (entsel "\n选择源对象:"))) (setq laye (vla-get-layer (vlax-ename->vla-object a))) (princ (strcat "\n目标对象图层将被刷为" "【" laye "】")) (princ "\n选择目标对象:") (setq ss (ssget)) (repeat (setq i (sslength ss))   (progn   (setq b (ssname ss (setq i (1- i))))   (setq ent (entget b))   (if (setq colo (cdr (assoc 62 ent)))      ()      (setqcolo (cdr (assoc 62 (tblsearch "layer" (cdr (assoc 8 ent))))))   )   (vla-put-layer (vlax-ename->vla-object b) laye)   (vla-put-color (vlax-ename->vla-object b) colo)    )) (princ (strcat "\n所选对象的图层被刷为" "【" laye "】")) (princ "\n***>>>>>End of 只刷图层(不刷其他任何特性)<<<<<***") (princ))

ntwison 发表于 2020-2-28 20:23:21

(defun c:tt ( / a b colo ent i layess)
(vl-load-com)
(princ "\n***>>>>>Welcome to 只刷图层和颜色(不刷其他任何特性)<<<<<***\n***>>>>>海盗曹 2014.03.13<<<<<***")
(setq a (car (entsel "\n选择源对象:")))
(setq laye (vla-get-layer (vlax-ename->vla-object a)))
(setq colo (vla-get-color (vlax-ename->vla-object a)))
(princ (strcat "\n目标对象图层将被刷为" "【" laye "】"))
(princ (strcat "\n目标对象颜色将被刷为" "【" (itoa colo) "】"))
(princ "\n选择目标对象:")
(setq ss (ssget))
(repeat (setq i (sslength ss))
   (setq b (ssname ss (setq i (1- i))))
   (setq ent (entget b))
   (vla-put-layer (vlax-ename->vla-object b) laye)
   (vla-put-color (vlax-ename->vla-object b) colo)
)
(princ (strcat "\n所选对象的图层被刷为" "【" laye "】"))
(princ (strcat "\n所选对象的颜色被刷为" "【" (itoa Colo) "】"))
(princ "\n***>>>>>End of 只刷图层和颜色(不刷其他任何特性)<<<<<***")
(princ)
)

cqu20104225 发表于 2020-3-2 11:52:23

关键是你想刷成什么颜色,图层的颜色么?

kenken 发表于 2020-3-2 12:10:24

不是图层颜色,是选择的实体的颜色

ntwison 发表于 2020-3-2 21:36:49

kenken 发表于 2020-3-2 12:10
不是图层颜色,是选择的实体的颜色

2楼改好的不行吗?

kenken 发表于 2020-3-3 05:10:42

ntwison 发表于 2020-3-2 21:36
2楼改好的不行吗?

error: bad argument type: stringp nil

出现上述提示

ntwison 发表于 2020-3-3 23:32:29

kenken 发表于 2020-3-3 05:10
error: bad argument type: stringp nil

出现上述提示

把你用的CAD图纸发一份看看,我这边没问题

kenken 发表于 2020-3-4 10:13:46

ntwison 发表于 2020-3-3 23:32
把你用的CAD图纸发一份看看,我这边没问题

应该不是图纸的问题,我想我这面是日文系统,或者我的cad设置的问题

ntwison 发表于 2020-3-4 21:18:02

本帖最后由 ntwison 于 2020-3-4 21:21 编辑

kenken 发表于 2020-3-4 10:13
应该不是图纸的问题,我想我这面是日文系统,或者我的cad设置的问题
下载了,运行正常。
具体你是怎么操作了,然后才报错?
页: [1]
查看完整版本: 只刷图层和颜色