将倒角结果更改为
大家好是否有人有Lisp例程将倒角创建的对角线转换为当前层而不是线的原始层?如果有任何帮助,我将不胜感激。
谢谢
布瑞恩 你所说的版本(2000i)是旧的LT版本吗?是否支持LISP? 我们使用2000i和2012 (defun c:Chamfer2 (/ ent)
(setq ent (entlast))
(command "_.chamfer")
(while (eq (logand 1 (getvar 'CMDACTIVE)) 1) (command PAUSE))
(if (not (equal ent (setq ent (entlast))))
(entmod (list (cons 8 (getvar 'CLAYER)) (cons -1 ent)))
)
(princ)
) 谢谢,这正是我想要的。。。 不客气。 但是,当Trimmode变量设置为零时,对多段线对象进行倒角时,倒角可能会导致多个对象。
在这种情况下,alanjt的nice代码可以编辑为:
(defun c:Chamfer2 (/ ent)
(setq ent (entlast))
(command "_.chamfer")
(while (eq (logand 1 (getvar 'CMDACTIVE)) 1) (command PAUSE))
(while (setq ent (entnext ent))
(entmod (list (cons 8 (getvar 'CLAYER)) (cons -1 ent)))
)
(princ)
)
当“entlast”是属性块或多段线时,请小心。 我检查了多段线,它不会对顶点和序列对象造成任何错误,但会更改属性对象。因此,可以将代码编辑为:
(defun c:Chamfer2 (/ ent)
(setq ent (entlast))
(command "_.chamfer")
(while (eq (logand 1 (getvar 'CMDACTIVE)) 1) (command PAUSE))
(while (setq ent (entnext ent))
(or
(member (cdr (assoc 0 (entget ent))) '("ATTRIB" "VERTEX" "SEQUEND"))
(entmod (list (cons 8 (getvar 'CLAYER)) (cons -1 ent)))
)
)
(princ)
)
页:
[1]