发布网友
共3个回答
热心网友
(defun c:ff()
(setvar "cmdecho" 0)
(setq en1(entsel))
(setq en1_data (entget (car en1)))
(setq tuceng1 (assoc 2 en1_data))
(setq tuceng3 (cdr tuceng1))
(setq tuceng (strcat tuceng3 "*" ))
(command "-layer" "c" "8" tuceng "")
(princ tuceng)
(setvar "cmdecho" 1)
(princ)
)
逻辑上:
1获取选择对象的外部参照名称,赋予变量“canzhaotuceng1”;
2将变量canzhaotuceng1和"*"组合,赋予变量"canzhaotuceng";
3使用(command "-layer" "c" "8" canzhaotuceng "")
因为这些图层的特点就是前面都有参照名
热心网友
cad自带的图层管理器就有改色的功能,你安装shift选批量选中之后改色就OK了。追问你说的这个但凡会cad的都懂,我说的是lisp,cad二次开发,懂否???
热心网友
1、获取参照图层path;
2、
(setq APP (vlax-get-acad-object))
(setq doc (vla-open (vla-get-documents APP) dwgname))
;;;;;;;;;;;;;中间程序开始
(setq msp (vla-get-ModelSpace doc))
(vlax-for ENT msp (vlax-mp-object ent))
;;此处以此修改所有图层颜色
;;;;;;;;;;;;;;中间程序结束
(vla-close doc :vlax-false)
(vlax-release-object doc)
(vlax-release-object APP)
)
3;更新外部参照