明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2279|回复: 9

如何在已有选择集中挑出某几种特定类型的实体?

[复制链接]
发表于 2007-5-21 22:22:00 | 显示全部楼层 |阅读模式

或者说获得这几种特定类型的实体的选择集。不是整个图中筛选,而是在现有的选择集中挑出来。

例如现有选择集ss,包括很多类型实体对象,我就想建立一个包括其中所有文字--包括单行与多行文字的选择集,怎么筛选?

不用遍历不知有没有简单的方法。

发表于 2007-5-21 23:48:00 | 显示全部楼层

object.Select acSelectionSetPrevious,FilterType,FilterData

可惜只能在最近的选择集里再次过滤!

 楼主| 发表于 2007-5-22 22:37:00 | 显示全部楼层
最近的也可以吧,谢谢laoliu09
 楼主| 发表于 2007-5-23 22:53:00 | 显示全部楼层

再次请教一下,今天我想把它应用于先选择后操作方式,比如通过PickfirstSelectionSet获得了选择集ss,那我该如何从选择集ss中提取出只包含文字text、mtext的选择集呢?用acSelectionSetPrevious怎么获取不到?

发表于 2007-5-23 23:31:00 | 显示全部楼层

试试这样吧,因为acSelectionSetPrevious是从最近创建的选择集中再次过滤,那就先新建一个选择集ss1,然后把PickfirstSelectionSet获得的当前选择集赋给ss1,再从ss1里过滤试试可以不?因为ss1才是最近建立的选择集,具体没试过,希望你成功啦,成功后可要告诉我方法哦。

 楼主| 发表于 2007-5-23 23:46:00 | 显示全部楼层

这个方法我试过了,但是不行。

Set ss1 = thisdrawing.PickfirstSelectionSet
ss.Select acSelectionSetPrevious, , , filtertype, filterdata
'这样的ss.Count会是0。

发表于 2007-5-24 07:20:00 | 显示全部楼层

不是啊,是将thisdrawing.PickfirstSelectionSet里的图元添加给ss1,不是将thisdrawing.PickfirstSelectionSet的地址赋给ss1,如果将地址赋给ss1的话,PickfirstSelectionSet和ss1还是指向同一个选择集的,再试试看!祝你成功!

 楼主| 发表于 2007-5-25 22:02:00 | 显示全部楼层

添加图元给ss1不是还得要遍历一遍么?

不知按你的想法怎么写?能否写一下呢?谢谢。

发表于 2007-5-25 23:17:00 | 显示全部楼层

我是针对acSelectionSetPrevious的用法说的!呵呵!如果想实现先选择后操作,好像只能遍历了,如果不用先选择后操作应该就可以直接用acSelectionSetPrevious实现。鱼和熊掌不可兼得啊,不知道其他人有更好的方法不?有方法请告知!

 楼主| 发表于 2007-5-26 00:08:00 | 显示全部楼层
laoliu09发表于2007-5-25 23:17:00我是针对acSelectionSetPrevious的用法说的!呵呵!如果想实现先选择后操作,好像只能遍历了,如果不用先选择后操作应该就可以直接用acSelectionSetPrevious实现。鱼和熊掌不可兼得啊,不知道其

是的。

用遍历我是能做到的,关键我操作的图元太多,遍历一遍很慢,所以非常想知道有没有通过选择集的过滤条件一句或几句就可解决的好办法。谢谢laoliu09一起陪我探讨这个问题以及给予的帮助,谢谢。

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

本版积分规则

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

GMT+8, 2025-2-21 03:15 , Processed in 0.151893 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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