找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 395|回复: 4

[求助]:VB编程中,如何在图形中快速找到指定块

[复制链接]
发表于 2005-3-26 10:25:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
如题,已知块的名称,请问如何在图形中快速找到它?

另:如何判断一个外部参考是否加载?如果没加载,怎样将其重新指定路径并加载?

请大侠指点
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-3-26 21:52:50 | 显示全部楼层
Sub t1()
On Error Resume Next

    Dim blockname As String
    blockname = "T1"
    Dim ft(1) As Integer, fd(1)
    ft(0) = 0: fd(0) = "insert"
    ft(1) = 2: fd(1) = blockname
   
    Dim ss As AcadSelectionSet
    ThisDrawing.SelectionSets("Test").Delete
    Set ss = ThisDrawing.SelectionSets.Add("Test")
   
    ss.Select acSelectionSetAll, , , ft, fd
    MsgBox ss.Count

End Sub
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-29 09:24:32 | 显示全部楼层
大侠,我用你有代码在VBA中通过了,但把它转到C#时发生错误:

//最后一关:如何快速找到指定图块?
AcadSelectionSet acadSelSet = doc.SelectionSets.Add("FindBorder");
int[] FilterType = new int[] { 0, 2 };

object [] FilterData = new object [] { "intsert", plotConfig.BorderName };
acadSelSet.Select(AcSelect.acSelectionSetAll, new double [] {0,0} , new double [] {0,0}, FilterType, FilterData);

能不能帮忙看一下,多谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-14 09:25:19 | 显示全部楼层

快速找到指定图块

Dim cntBlock As Integer,objBlock as acadBlock
For cntBlock = 0 To ThisDrawing.Blocks.Count - 1
If ThisDrawing.Blocks.Item(cntBlock).Name = "Test" Then
Set objBlock = ThisDrawing.Blocks.Item(cntBlock)
Exit For
End If
Next
试试看,应该可以!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 557个

财富等级: 财运亨通

发表于 2005-7-30 12:07:30 | 显示全部楼层
这样引用块
objBlock as acadBlock
Set objBlock = ThisDrawing.Blocks.Item(BlockName)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-29 01:24 , Processed in 0.181674 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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