masterlong 发表于 2014-8-15 12:12:47

非选择集图层关闭【20211204·优化更新】【1205·再次更新】

本帖最后由 masterlong 于 2021-12-5 17:22 编辑

好像express里是叫图层隔离?
不知道啥原因
就是不喜欢隔离这个词

PGP : lo   【普通模式】非选择集图层关闭
PGP : loo   【穿透模式】非选择集图层关闭

本来用飞诗的带关键字的ssget做的
但实际使用
还是觉得命令分开更顺手


支持框选


;;;;;=========================================20211204·更新

原代码采用递归方式提取图块图层
遇到超大图块时会卡死
现优化为while方式提取
速度大幅提高
将11M的dwg插入到图纸中测试
耗时仅5秒


;;;;;=========================================20211205·以上附件已再次更新

再次进行更新
单独提取图块定义图层
并将0层直接删除
现在除非所选图元包含了0层
否则0层不会开启

magicheno 发表于 2020-8-2 18:30:44

masterlong 发表于 2020-8-2 14:51
试试下面这个程序

大侠我试了下,啥都不能显示,是不是哪里出了点错误的

masterlong 发表于 2020-8-3 09:22:20

;999公共函数
;;dxf获取图元某个dxf组码(内参不限种类顺序::: n ent )
(defun dxf( n ent / temp tmp )
        (if (/= (type n) 'int)
                (setq temp         ent
                                ent        n               
                                n                temp
                )
        )
        (if (= (type ent) 'ENAME)
                (setq temp (entget ent))
                (setq temp ent)
        )
        (if (= n 62)
                (if (setq tmp (assoc n temp))(cdr tmp)256)
                (cdr (assoc n temp))
        )
)


(vl-load-com)
(setq *ent2obj*                       vlax-Ename->Vla-Object
                *obj2ent*                       vlax-vla-object->ename
                *acad*                                (vlax-get-acad-object)
                *doc*                                        (vla-get-ActiveDocument *acad*)
                *LAYERS*                                (vla-get-Layers *doc*)
)

magicheno 发表于 2020-8-4 19:37:54

本帖最后由 magicheno 于 2020-8-4 19:39 编辑

masterlong 发表于 2020-8-3 15:52
再试试
我在后面单独加了command给他关掉了
(setq oldlay (getvar "Clayer"))
(setvar "clayer" "W-DIM" )
(command "layer")
(command"off" "0" )
(command"")
(setvar "Clayer" oldlay)



doro 发表于 2014-8-15 17:47:17

什么叫穿透模式

masterlong 发表于 2014-8-15 18:36:51

穿透是针对图块的
借用了论坛一个帖子的叫法
loo选中图块以后
通过递归的方式
提取图块内所有图元
包括块中块的图元图层
因此最后显示的是完整的块


davide888 发表于 2014-12-31 21:02:32

可以说很好吗?

scnjlwb 发表于 2015-1-15 23:22:10

实用,谢谢分享!

magicheno 发表于 2020-7-29 15:23:00

原来如此,大侠老早就弄出来了,非常好用,问下0层默认关闭的,怎么选择开出来呢

magicheno 发表于 2020-7-29 22:34:26

大侠,有空可以测试下我的这个图纸上的阀门,穿透或者不穿透都显示不了呢,不知道为啥

magicheno 发表于 2020-8-1 16:13:35

大侠试了下,块里面如果是0层的话就都显示不了了,是咋回事呢

masterlong 发表于 2020-8-2 14:51:01

试试下面这个程序


页: [1] 2 3
查看完整版本: 非选择集图层关闭【20211204·优化更新】【1205·再次更新】