lisp请求:关闭所有lay
我以前有一个非常方便的lisp,但后来换了公司,忘了带上它。该命令是LPO,它将打开每个关闭的层,甚至外部参照,我将能够单独单击我想要保留的层。单击enter后,其他层将返回到关闭状态。这是我见过的最有用的套路之一。
我有非常基本的Lisp程序周围的知识,真的很感谢一些帮助。
我也做了搜索,没有找到任何类似的。
提前感谢。 听起来像Kent Kooper的Layer Isolate/Unisolate。但我不确定它是否适用于外部参照。
事实上是相反的。我碰巧有一个旧的命令gif。
http://i.imgur.com/8z32cUr.gifv 你会发出命令,它会把所有“关”的东西都变成“开”。然后,你可以用你的鼠标选择各个图层,使其保持“打开”。其余的原始关闭层将返回到“关闭”状态。 如果你看一下这段代码,它显示了层的细节,在这个阶段没有代码,有些人可能有一些不难的任务,为什么不亲自去做呢。
(setq doc (vla-get-activedocument (vlax-get-acad-object)))
(setq alllayers (vla-get-layers doc))
(vlax-for lay alllayers
(vlax-dump-object lay)
)
查看转储,您将看到打开/关闭freez/解冻开关,因此可以列出现有条件。
; IAcadLayer: A logical grouping of data, similar to transparent acetate overlays on a drawing
; Property values:
; Description = ""
; Freeze = 0
; LayerOn = -1
; Linetype = "Continuous"
; Lineweight = -3
; Lock = 0
; Material = "Global"
; Name = "0"
; PlotStyleName = "Color_7"
; IAcadLayer: A logical grouping of data, similar to transparent acetate overlays on a drawing
; Property values:
; Description = ""
; Freeze = -1
; LayerOn = -1
; Linetype = "Continuous"
; Lineweight = -3
; Lock = 0
; Material = "Global"
; Name = "alan1freeze"
; PlotStyleName = "Color_7"
; Plottable = -1
; IAcadLayer: A logical grouping of data, similar to transparent acetate overlays on a drawing
; Property values:
; Description = ""
; Freeze = 0
; LayerOn = 0
; Linetype = "Continuous"
; Lineweight = -3
; Lock = 0
; Material = "Global"
; Name = "alan2off"
我希望我对lisp的了解能像这个板块上的大多数人一样好。这让我头晕。
我确信有一个lisp“保存当前图层设置”我没有。下一步是重置冻结和图层设置,然后将图层重置回原来的状态。也许周末我有时间
页:
[1]