同时更改颜色和线宽的代码出现错误,求帮助!!!
根据网上的代码改写的,只能单独更改颜色或线宽,不能同时更改,求大神指教!!!(defun c:tes ( / #k1 &kw1 &ob1)
(if (null vlax-dump-object) (vl-load-com) )
(if (and
(setq &kw1 (ssget))
(setq #k1 (getint "\n请输入0~256之间的颜色代码"))
(>= #k1 0)
(<= #k1 256)
(princ "\n请选择对象")
)
(progn
(while (setq &ob1 (ssname &kw1 0))
(setq &kw1 (ssdel &ob1 &kw1))
(setq &ob1 (vlax-ename->vla-object &ob1))
(vla-put-color &ob1 #k1);改变颜色
)
)
)
(if (and
(setq xk (getdist "\n请输入线宽单位毫米"))
(setq xk (* xk 100))
)
(progn
(while
(setq &ob1 (ssname &kw1 0))
(setq &kw1 (ssdel &ob1 &kw1))
(setq &ob1 (vlax-ename->vla-object &ob1))
(vla-put-Lineweight &ob1 xk)
)
)
)
(princ)
) xxxkkk331 发表于 2017-8-22 08:30
我显示错误: 参数类型错误: lentityp nil
(setq s1 (ssname ss (setq i (1+ i))));; s1改成ob 最 前面加(vl-load-com) 自顶求帮助 (defun c:tt ()
(setq co (getint "\n请输入0~256之间的颜色代码: "))
(setq xk (getdist "\n请输入线宽: "))
(princ "\n请选择对象: ")
(while (and (setq ss (ssget)) (> co 0) (< co 256))
(setq i -1)
(while (setq s1 (ssname ss (setq i (1+ i))))
(setq ob (vlax-ename->vla-object ob))
(vla-put-color ob co)
(vla-put-Lineweight ob xk)
)
(princ "\n请选择对象: ")
)
(princ)
) xyp1964 发表于 2017-8-21 20:06
(defun c:tt ()
(setq co (getint "\n请输入0~256之间的颜色代码: "))
(setq xk (getdist "\n请输入 ...
我显示错误: 参数类型错误: lentityp nil 434939575 发表于 2017-8-22 08:55
(setq s1 (ssname ss (setq i (1+ i))));; s1改成ob 最 前面加(vl-load-com)
谢谢解决了
页:
[1]