在同一层上连接线
大家好。我试图把一个lisp放在一起,以便能够选择一条线,这将导致选中该层上的所有线,然后使用join命令将在端点处连接的任何线变成多边形线。我正在使用其他Lisp中的一些代码,并尝试使其工作。如果我在命令行中输入每一行,它似乎可以工作,但当我使用新命令“JLL”时,什么也没有发生。它经历了选择一切但不加入的过程。(defun C:JLL ()
(setq targetEnt (car (entsel "\nSelect object on layer to select: ")))
(setq targetLayer (assoc 8 (entget targetEnt)))
(sssetfirst nil (ssget "_X" (list targetLayer)))
(command "join" "")
(princ)
) 在AutoCAD中,尝试使用QAFLAGS=1运行它
有趣的是,它在QAFLAGS=0(默认值)的BricsCAD中运行良好 它有效!!!非常感谢你。 我建议在例程中设置sysvar,并在完成后将其返回到0。
非零值的QAFLAGS可能会导致其他异常 很高兴知道,谢谢你的帮助。 我会将(setvar“qaflags”1)放在(命令“join”)的正上方还是(defun C:JLL()的下方?或者这有关系吗? 我在观察文本窗口的执行过程,它看起来是这样的:
命令:jll
选择要选择的图层上的对象:join 1340 found
5个对象转换为1条多段线,1333个对象从操作中丢弃
命令:JLL
未知命令“JLL”。按F1键获取帮助。
为什么它最后会给我一个额外的“JLL”和“未知命令”? 这可以使用不带qaflags的initcommandversion:
(defun C:JLL ()
(setq targetEnt (car (entsel "\nSelect object on layer to select: ")))
(setq targetLayer (assoc 8 (entget targetEnt)))
(sssetfirst nil (ssget "_X" (list targetLayer)))
(initcommandversion 2)
(command-s "join" "")
(princ)
)
出于某种原因,这个版本不适合我。它要求进行选择,但之后什么也没有。 奇怪的是,对于我来说,命令或文本窗口显示:
命令:JLL
选择要选择的图层上的对象:找到连接3
3个对象转换为1条多段线
命令:
选择一条线后,它将其与共享端点的其他两条线连接。
选择一行后,命令或文本窗口显示了什么?
页:
[1]
2