开心版主的改图层颜色程序,对天正图元不管用,求助~
本帖最后由 theisland 于 2014-9-15 08:52 编辑;建筑图层改色
(defun c:GS()
(vl-load-com)(KX-LAY-COL "0" 7)
(KX-LAY-COL "厨卫设备" 252)
(KX-LAY-COL "家具" 252)
(KX-LAY-COL "空调洞" 252)
(KX-LAY-COL "预留孔洞" 252)
(KX-LAY-COL "空调" 252)
(KX-LAY-COL "WALL" 140)
(KX-LAY-COL "PUB_DIM" 3)
(KX-LAY-COL "PUB_TEXT" 255)
(KX-LAY-COL "STAIR" 2)
(PRINC)
)
CAD提示:错误: 此类型的 LISP 值不能强制转换成 VARIANT: 252
原帖子在这里 http://bbs.mjtd.com/thread-93873-1-1.html ;改图层颜色子程序。参数:图层、颜色 例:(GL:LayCol "PUB_DIM" 3)
(defun GL:LayCol (lay col / acaddoc acadobj layobj vlay)
(setq AcadObj (vlax-get-Acad-object)
AcadDoc (vla-get-ActiveDocument AcadObj)
LayObj (vla-get-layers AcadDoc)
)
(setq vlay (vla-item LayObj lay)) ; 转为VL图层名
(vla-put-color vlay col) ; 改图层颜色
)天正实体改图层颜色之后可能要re重新生成图形才能显示最新的颜色
http://bbs.mjtd.com/thread-111059-1-1.html 这里还有个快速改图层颜色的小程序 支持天正 源程序贴上来改改看 hnfsf 发表于 2014-9-15 17:47 static/image/common/back.gif
源程序贴上来改改看
源程序开心版主是收费的~纠结,我只贴出关键部分吧,开心的大作有3个独立的程序,我针对实际遇到的问题只贴出其中1个(请开心版主海涵):
;功能:取得实体DXF组码对应的值。参数:DXF为组码 ;ent为实体名。;返回值:DXF组码值表
(defun KX-get-dxf (DXF ent)
(cond ((= (type ent) 'ename)
(cdr (assoc DXF (entget ent)))
)
((= (type ent) 'list)
(cdr (assoc DXF ent))
)
)
)
;;功能:更换图元。参数:sname为实体名;DXF为组码;newvalue为新值;返回值:新对象
(defun KX-SubUpd (sname DXF newvalue)
(entmod
(subst
(cons DXF newvalue)
(assoc DXF (entget sname))
(entget sname)
)
)
(entupd sname)
)
;改变对象颜色 sname为实体名 col为颜色号
(defun KX-put-color(sname col)
(vla-put-color (vlax-ename->vla-object sname) col)
(PRINC)
)
;批量匹配图层改色
;(KX-LAY-COL lname COL)lname为层名CO为颜色
(defun KX-LAY-COL (lname coL)
(if (setq newl (tblobjname "layer" lname))
(progn
(KX-SubUpd newl 62 col)
(if (SETQ ss (ssget "X" (list (cons 8 lname))))
(progn
(setq X -1)
(while (setq s1 (ssname ss (setq X (1+ X))))
(KX-put-color s1 coL)
)
)
)
)
)
)
;程序一 (批量匹配图层改色)
(defun c:XX()
(vl-load-com)
(KX-LAY-COL "DOTE" 1)
(KX-LAY-COL "DIM" 2)
(KX-LAY-COL "WALL" 3)
(PRINC)
) 楼主找到答案了吗?同求 开心老大还不来看看吗? theisland 发表于 2014-9-15 20:00 static/image/common/back.gif
源程序开心版主是收费的~纠结,我只贴出关键部分吧,开心的大作有3个独立的程序,我针对实际遇到的问题只 ...
天正的东东要用ARX编程来改。 chprop ssget c 天正很多都是自定义实体,LISP办不打 本帖最后由 theisland 于 2014-9-21 19:59 编辑
print1985 发表于 2014-9-21 17:49 static/image/common/back.gif
天正实体改图层颜色之后可能要re重新生成图形才能显示最新的颜色
http://bbs.mjtd.com/thread-111059-1-1. ...
老大们都来了,好开心!你这个这么用?补充到开心版主 的程序里吗?链接里没有预先设置好的改色,我现在最需要的就是像开心版主那种预先设置好的改色方案