只刷图层和颜色
如题,本论坛的帖子想在这个码的基础上加上同时刷颜色的功能,谢谢(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))
(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)
) 关键是你想刷成什么颜色,图层的颜色么? 不是图层颜色,是选择的实体的颜色 kenken 发表于 2020-3-2 12:10
不是图层颜色,是选择的实体的颜色
2楼改好的不行吗? ntwison 发表于 2020-3-2 21:36
2楼改好的不行吗?
error: bad argument type: stringp nil
出现上述提示 kenken 发表于 2020-3-3 05:10
error: bad argument type: stringp nil
出现上述提示
把你用的CAD图纸发一份看看,我这边没问题 ntwison 发表于 2020-3-3 23:32
把你用的CAD图纸发一份看看,我这边没问题
应该不是图纸的问题,我想我这面是日文系统,或者我的cad设置的问题 本帖最后由 ntwison 于 2020-3-4 21:21 编辑
kenken 发表于 2020-3-4 10:13
应该不是图纸的问题,我想我这面是日文系统,或者我的cad设置的问题
下载了,运行正常。
具体你是怎么操作了,然后才报错?
页:
[1]