明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3111|回复: 8

ssget能否适用这样的过滤条件(见内)

[复制链接]
发表于 2002-8-22 18:03:00 | 显示全部楼层 |阅读模式
请看清条件:

具有扩展词典,且词典中包含一个名称为 "Name" 的 XRecord 的实体。
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2002-8-23 08:52:00 | 显示全部楼层

您何不试试...

 楼主| 发表于 2002-8-23 10:31:00 | 显示全部楼层

试不出来

发表于 2002-8-23 12:00:00 | 显示全部楼层

(ssget '((-3 ("Name")))

(ssget '((-3 ("Name")))
 楼主| 发表于 2002-8-23 12:40:00 | 显示全部楼层

(-3 ("Name"))适用于XDATA,过滤不出XRecord.

发表于 2002-8-23 12:47:00 | 显示全部楼层

肯定不行...

按道理,可以用(SSGET "X" '((102 . "{ACAD_XDICTIONARY"})))这样的表达式搜索出全图中所有的、带有图形词典数据数据的对象,再接着更详细地筛选。因为这样的对象将在数据结构中加入102码的数据,例如:((-1 . <图元名: 40069090>) (0 . "TEXT") (5 . "592") (102 . "{ACAD_XDICTIONARY"} (360 . <图元名: 40069098>) (102 . ")") …
实际上并非如此。只有IMAGE和LWPOLYLINE对象才能被检出。笔者认为,这是AutoCAD图形数据“对象化”处理中的错误。自R14开始新加入的上述两种图形对象,一开始就是按照“对象化”数据结构写的,相关属性自然能顺利提取;其它的老图形对象,虽然Autodesk声明已经完全对象化,而实际上直到2002也没有彻底解决数据对象化的问题,因此造成这种奇怪的错误。
方法是有的。
更详细的解决方法,参见《Visual LISP for AutoCAD2002程序设计——技巧与范例》第5章中的“5.9.4  图形词典”。因篇幅较大,就不摘录了。
 楼主| 发表于 2002-8-23 18:50:00 | 显示全部楼层

确实,102组码过滤不出词典,只能遍历选择集提取了。

发表于 2002-8-24 09:30:00 | 显示全部楼层

提示...

提取这样的数据是相当简单的,只要知道了图形字典和数据的关键词即可:
(SetQ udata1 (VLAX-LData-Get "UserDict" "UKey1")
 楼主| 发表于 2002-8-24 19:34:00 | 显示全部楼层

XRecord和Ldata不是一回事。目的是过滤实体,不是提取数据。

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

本版积分规则

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

GMT+8, 2024-11-25 17:52 , Processed in 0.254065 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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