明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2771|回复: 6

过滤器如何使用扩展数据

[复制链接]
发表于 2005-10-6 14:47 | 显示全部楼层 |阅读模式

(defun c:sxd (/)
  (vl-load-com)
  (while (not (setq ent1 (car (entsel)))))
  (setq obj1 (vlax-ename->vla-object ent1))
  (setq Xtype nil
 Xdata nil
  )
  (setq list1 (list '(1001 . "apsM") '(1000 . "rrr")))
  (foreach n list1 (setq Xtype (cons (car n) Xtype)))
  (foreach n list1 (setq Xdata (cons (cdr n) Xdata)))
  (setq Xtype1 (vlax-make-safearray vlax-vbinteger (cons 0 (1- (length list1)))))
  (vlax-safearray-fill Xtype1 (reverse Xtype))
  (setq Xdata1 (vlax-make-safearray vlax-vbvariant (cons 0 (1- (length list1)))))
  (vlax-safearray-fill Xdata1 (reverse Xdata))
  (vla-setxdata obj1 Xtype1 Xdata1)
)

(setq ss1 (ssget "X" '( (-3 ("apsM" (1000 . "rrr")) ))))

我使用SXD给各种对象附加扩展数据,但在后面使用过滤器时却无法选择上Circle,Line,BlockReference等对象,只能选择上Lwpolyline,若取消(1000 . "rrr") 则可以,请教是怎么会事?

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2005-10-6 16:20 | 显示全部楼层

关注

发表于 2005-10-6 17:09 | 显示全部楼层

RE

(ssget "x"(list(append(list -3)(list(list "APSM")))))
发表于 2005-10-6 21:19 | 显示全部楼层

(foreach n list1 (setq Xtype (cons (car n) Xtype))),n是什么?

---------初学者

 楼主| 发表于 2005-10-7 09:15 | 显示全部楼层

Re Liu22737 : 我想增加(1000 . "rrr")这个项或其他项啊!

Re gyxzzza : n 是List1 表里的一个元素,在此是'(1001 . "apsM")和 '(1000 . "rrr")

过滤器是不是只能用到扩展数据的注册应用程序这一项?

发表于 2009-4-6 18:17 | 显示全部楼层
我也要知道,困扰了好多天了,哪位高人指点一下,楼主弄明白了没?
发表于 2009-4-6 18:22 | 显示全部楼层

我是要要过滤出"south"的(1000 . "x710101"),但我目前只能过滤到"south",不知道我说明白没。

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

本版积分规则

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

GMT+8, 2024-7-4 12:06 , Processed in 0.155108 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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