一个修改线型的lisp怎么才能针对所有的线型
很简单的一个lisp将选定的线改为HIDDEN线型,但是下面这个lisp只能针对line线,怎么让它能针对各种线譬如多义线弧线 PL线样条曲线等,拜托论坛里的兄弟姐妹稍微指点下,如何才能针对所有的线型?(defun c:R5( )
(setq ss (ssget '((0 . "*line"))))
(setq ssnum(sslength ss))
(setq nb 0)
(while (< nb ssnum)
(progn (setq en (entget (ssname ss nb)))
(setq oli (assoc 6 en))
(setq nli (cons 6 "hidden"))
(if (= oli nil)
(setq en(append en(list nli)))
(setq en (subst nli oli en))
);endif
(entmod en)
(setq nb (1+ nb))
)
)) 这个问题好像不难啊
怎么没有人答复偶啊 本帖最后由 chg 于 2015-1-28 19:12 编辑
(setq ss (ssget '((0 . "*line"))))这句改成(setq ss (ssget))不就可以了吗?如果指定要选择特定的对象,用与表达式作为过滤条件,因为最近很少写程序,具体的格式忘记了,这个在autolisp帮助文件里可以查到,你自己看看。 chg 发表于 2015-1-28 19:09
(setq ss (ssget '((0 . "*line"))))这句改成(setq ss (ssget))不就可以了吗?如果指定要选择特定的对象, ...
(defun c:R5( )
(setq ss (ssget))
(setq ssnum(sslength ss))
(setq nb 0)
(while (< nb ssnum)
(progn (setq en (entget (ssname ss nb)))
(setq oli (assoc 6 en))
(setq nli (cons 6 "hidden"))
(if (= oli nil)
(setq en(append en(list nli)))
(setq en (subst nli oli en))
);endif
(entmod en)
(setq nb (1+ nb))
)
))
上面的可以用,再价格颜色设定可以吗?比如转虚线颜色为8
页:
[1]