所需的层交换 LISP
大家好,我正在寻找一种可以帮助我切换下一层或上一层背靠背的 lisp。意味着如果我有 5 层并且我想从 1 切换到 2,那么我应该按“AS”或 2 到 1,然后按“SA”以获得下一层或上一层。 谢谢 控制+向下翻页/向上翻页也能正常工作吗? 哎呀-回答错误的问题! 我试过了,这可以在布局之间切换。我需要层切换 LISP。[*]
这将为您提供所有图层的列表
(vlax-for lyr (vla-get-layers (vla-get-activedocument (vlax-get-acad-object) ) )(setq table (cons (vla-get-name lyr) table)))
这会将当前图层设置为列表中的第一个图层(位置 0):
(command "setvar" "clayer" (nth 0 table))
这得到了当前层
(getvar "clayer")
因此,我认为您不会越过(第 n 个 0 表)中的最后一层,这应该可以帮助您弥补吗?请记住,AutoCAD 认为的第一层可能不是您认为的那样。您可能需要按字母顺序对图层列表进行排序以与图层管理器显示相同。 感谢您的宝贵答复。我没有太多了解代码的知识。如果你能提供给我一个 lisp 代码,那么我可以将它转换成 lisp 来运行它。为了更好地理解,请参阅下面的层列表。我只想根据我想要的图层从 12 切换到 25 或 32(在绘制任何东西之前)。 这可以通过鼠标选择来完成,但这很耗时。我只是想减少选择的时间,因为我需要多次切换图层 。
页:
[1]