明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3742|回复: 24

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

[复制链接]
发表于 2014-8-15 12:12:47 | 显示全部楼层 |阅读模式
本帖最后由 masterlong 于 2021-12-5 17:22 编辑

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

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

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


支持框选


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

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


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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2020-8-2 18:30:44 | 显示全部楼层
masterlong 发表于 2020-8-2 14:51
试试下面这个程序

大侠我试了下,啥都不能显示,是不是哪里出了点错误的
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-8-3 09:22:20 | 显示全部楼层
;999公共函数
;;dxf  获取图元某个dxf组码(内参不限种类顺序::: n ent [entget 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*)
)
发表于 2020-8-4 19:37:54 | 显示全部楼层
本帖最后由 magicheno 于 2020-8-4 19:39 编辑

我在后面单独加了command给他关掉了
(setq oldlay (getvar "Clayer"))
(setvar "clayer" "W-DIM" )
(command "layer")
(command  "off" "0" )
(command"")
(setvar "Clayer" oldlay)



发表于 2014-8-15 17:47:17 | 显示全部楼层
什么叫穿透模式
 楼主| 发表于 2014-8-15 18:36:51 | 显示全部楼层
穿透是针对图块的
借用了论坛一个帖子的叫法
loo选中图块以后
通过递归的方式
提取图块内所有图元
包括块中块的图元图层
因此最后显示的是完整的块


发表于 2014-12-31 21:02:32 | 显示全部楼层
可以说很好吗?
发表于 2015-1-15 23:22:10 | 显示全部楼层
实用,谢谢分享!
发表于 2020-7-29 15:23:00 | 显示全部楼层
原来如此,大侠老早就弄出来了,非常好用,问下0层默认关闭的,怎么选择开出来呢
发表于 2020-7-29 22:34:26 | 显示全部楼层
大侠,有空可以测试下我的这个图纸上的阀门,穿透或者不穿透都显示不了呢,不知道为啥

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2020-8-1 16:13:35 | 显示全部楼层
大侠试了下,块里面如果是0层的话就都显示不了了,是咋回事呢
 楼主| 发表于 2020-8-2 14:51:01 | 显示全部楼层
试试下面这个程序


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-15 06:50 , Processed in 0.285439 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表