乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 73|回复: 8

[编程交流] 列表图层过滤器autolisp

[复制链接]

55

主题

118

帖子

65

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
273
发表于 2022-7-5 18:04:24 | 显示全部楼层 |阅读模式
是否可以通过autolisp从图形中的所有图层过滤器中获取列表?
 
到目前为止,我可以通过以下方式创建它们:
 
  1. (command
  2. "._-layer"
  3. "_filter"
  4. "_new"
  5. "_group"
  6. ""
  7. "0*"
  8. "0"
  9. "s"
  10. "All"
  11. ""
  12. )

 
但我无法从他们那里得到这份名单
回复

使用道具 举报

55

主题

402

帖子

357

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
274
发表于 2022-7-5 18:18:13 | 显示全部楼层
如果我明白你的意思,试试这个:-
  1. (defun layerlist (/ a b)
  2. (if (setq a (tblnext "layer" t))
  3.    (while a
  4.      (setq b (cons (cdr (assoc 2 a)) b)
  5.     a (tblnext "layer")
  6.      )
  7.    )
  8. )
  9. (reverse b)
  10. )
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
362
发表于 2022-7-5 18:24:06 | 显示全部楼层
这是一个起点
 
  1. (dictsearch (vlax-vla-object->ename
  2.        (vla-GetExtensionDictionary
  3.          (vla-get-layers
  4.            (vla-get-activedocument
  5.              (vlax-get-acad-object)
  6.            )
  7.          )
  8.        )
  9.      )
  10.      
  11. "ACAD_LAYERFILTERS"
  12. )

 
 
还有一些你可能会感兴趣的东西:http://www.cadtutor.net/forum/showthread.php?61032-图层特性过滤器
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
362
发表于 2022-7-5 18:28:20 | 显示全部楼层
 
返回一个层列表。
回复

使用道具 举报

55

主题

118

帖子

65

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
273
发表于 2022-7-5 18:39:22 | 显示全部楼层
谢谢你们俩。。。我想我说得不够清楚。我需要的是一个
 
图层过滤器列表
 
不仅仅是图层列表
 
这就是我的意思。。。
 

                               
登录/注册后可看大图

 
无论如何,谢谢你。与此同时,我会继续寻找解决方案。
 
斯沃戈德内
190430kdvcbhuufuftkz20.jpg
回复

使用道具 举报

55

主题

118

帖子

65

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
273
发表于 2022-7-5 18:44:28 | 显示全部楼层
这是我将函数直接粘贴到textscr时的结果
 
(-1 . )
(0.“字典”)
(5.“45B8”)
(102“{ACAD_反应堆”)
(330 . )
(102 . "}")
(330 . )
(100.“AcDbDictionary”)
(280 . 0)
(281 . 1)
 
我做错什么了吗?我应该从这些层中得到合适的名字吗?
 
再次感谢。我会继续努力的。至少我通过每次重置过滤器来解决这个问题,尽管这并不是我想要的。我只想应用缺失的过滤器,而不是所有过滤器。
 
斯沃戈德内
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:50:20 | 显示全部楼层
考虑使用以下函数列出所有图层组过滤器:
由于组过滤器可能是嵌套的,如果图形包含以下结构中的图层组过滤器:
 
190432bedbnb1oie2nqnan.png
 
上述函数将返回以下内容:
  1. 4
回复

使用道具 举报

55

主题

118

帖子

65

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
273
发表于 2022-7-5 18:57:05 | 显示全部楼层
谢谢李,
 
像往常一样,你总是“救命稻草”。我已经欠你一些啤酒了。
 
Cya公司
 
斯沃戈德内
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:06:59 | 显示全部楼层
不客气,斯沃戈德内-我很高兴这有帮助。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 00:29 , Processed in 0.451229 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表