明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1754|回复: 9

关于SetImpliedSelection搜索问题

[复制链接]
发表于 2010-8-9 11:36:00 | 显示全部楼层 |阅读模式

我想对特定id的块参照进行结构搜索,搜索构成她的名为name的所有块参照,下面语句不知可否:

Dim ed As Editor = AcadApp.DocumentManager.MdiActiveDocument.Editor
        Dim acTypValAr(0) As TypedValue
        acTypValAr.SetValue(New TypedValue(DxfCode.BlockName, brfName), 0)
        Dim acSelFtr As SelectionFilter = New SelectionFilter(acTypValAr)
        Dim acSSPrompt As PromptSelectionResult
        Dim obs(0) As ObjectId
        obs(0) = id
        ed.SetImpliedSelection(obs)
        acSSPrompt = ed.SelectAll(acSelFtr)
        Dim acSSet As SelectionSet = acSSPrompt.Value
        Return acSSet.GetObjectIds

这样返回好像为空,如果用ed.GetSelection的话需要选择,这样不好,有没有其他方法呀?

发表于 2010-8-9 11:49:00 | 显示全部楼层

和SetImpliedSelection无关

 

Dim acTypValAr(1) As TypedValue

acTypValAr(0) = New TypedValue(0, "insert")

acTypValAr(1) = New TypedValue(2, brfName)

Dim acSelFtr As SelectionFilter = New SelectionFilter(acTypValAr)

acSSPrompt = ed.SelectAll(acSelFtr)
Return acSSPrompt.Value.GetObjectIds

 楼主| 发表于 2010-8-9 12:02:00 | 显示全部楼层
我搜索特定id下的块参照,怎么体现啊?
 楼主| 发表于 2010-8-9 12:11:00 | 显示全部楼层
我不会去选择任何块参照,只是认为的去对所有块参照进行结构分析而已,
 楼主| 发表于 2010-8-9 12:11:00 | 显示全部楼层
人为的
发表于 2010-8-9 12:19:00 | 显示全部楼层

特定id下的块参照?

没看懂,解释下?

 楼主| 发表于 2010-8-9 12:33:00 | 显示全部楼层

比如说如下代码代表 用户去选择一个选择集,然后返回块名为brfName的id集合

       Dim acTypValAr(0) As TypedValue
        acTypValAr.SetValue(New TypedValue(DxfCode.BlockName, brfName), 0)
        Dim acSelFtr As SelectionFilter = New SelectionFilter(acTypValAr)
        Dim acSSPrompt As PromptSelectionResult
        acSSPrompt = ed.GetSelection(acSelFtr)
        Return acSSPrompt.Value.GetObjectIds

我现在不想让用户去选择,而是直接给定选择集的id集合,然后搜索出构成他们的并且块名为brfName的id块参照集合

 楼主| 发表于 2010-8-9 13:28:00 | 显示全部楼层
我好想发觉是这样的:比如说图形上显示的块参照A由块参照B和其他实体构成,那么我要检索出图形上所有B的id的话,不能用上面那些语句,好像检索出来都是空,因为Editor的选择集只为最上层是吧?有什么办法把构成她的块参照也检索
发表于 2010-8-9 15:05:00 | 显示全部楼层

用BlockTableRecord.GetBlockReferenceIds Method获取块定义对应的参照集合,即所有的块参照B

然后用Entity.BlockId Property获取参照所在的块定义,比如A

然后调用A的GetBlockReferenceIds

 楼主| 发表于 2010-8-9 16:28:00 | 显示全部楼层
nice
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 16:29 , Processed in 0.188115 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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