乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 129|回复: 7

[求助]怎样利用SelectOnScreen方法的过滤机制

[复制链接]

11

主题

80

帖子

9

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
124
发表于 2003-7-21 19:49:00 | 显示全部楼层 |阅读模式
我用本站提供的BuildFilter函数建立如下选择集程序——程序要求选择"text","mtet"和标注文本,并把选择的对象存在一变量中。
但是程序无法运行,请教各位如何修改?

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2003-7-21 20:18:00 | 显示全部楼层
  1. Public SSetObj As AcadSelectionSet
  2. Public EntObj As AcadEntity
  3. Private Sub www()
  4.     Dim fType As Variant
  5.     Dim fData As Variant
  6.       
  7.     On Error Resume Next
  8.     Set SSetObj = ThisDrawing.SelectionSets("test")
  9.     If Err.Number  0 Then
  10.         Err.Clear
  11.         Set SSetObj = ThisDrawing.SelectionSets.Add("test")
  12.     End If
  13.     SSetObj.Clear
  14.     BuildFilter fType, fData, [b]-4, ""[/b]
  15.     SSetObj.SelectOnScreen fType, fData
  16.     Dim bl
  17.     bl = EntObj.TextString
  18.    
  19. End Sub
  20. Public Sub BuildFilter(typeArray, dataArray, ParamArray gCodes())
  21.     Dim fType() As Integer, fData()
  22.     Dim index As Long, i As Long
  23.      
  24.     index = LBound(gCodes) - 1
  25.          
  26.     For i = LBound(gCodes) To UBound(gCodes) Step 2
  27.         index = index + 1
  28.         ReDim Preserve fType(0 To index)
  29.         ReDim Preserve fData(0 To index)
  30.         fType(index) = CInt(gCodes(i))
  31.         fData(index) = gCodes(i + 1)
  32.     Next
  33.     typeArray = fType: dataArray = fData
  34. End Sub
回复

使用道具 举报

11

主题

80

帖子

9

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
124
发表于 2003-8-1 18:55:00 | 显示全部楼层
BuildFilter fType, fData, -4, ""
一句应该改为这样吧BuildFilter fType, fData, -4, ""
但是如何提取标注内容呢?用“ EntObj.TextOverride“为什么不可以
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2003-8-2 00:21:00 | 显示全部楼层
不好意思,我没有注意到。
至于TextOverride,如果标注文字未被修改过,则该属性为NULL(空字符串)。
如果你需要标注的默认值,可使用Measurement 属性来得到。
[WEB]http://www.mjtd.com/object/acad2004/idh_measurement.htm[/WEB]
回复

使用道具 举报

11

主题

80

帖子

9

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
124
发表于 2003-8-4 12:37:00 | 显示全部楼层
为什么我把标注尺寸分解一次之后,就不可以用TextOverride或Measurement属性提取标注文本了。
请问?怎样才能提取分解一次之后标注文本?
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2003-8-4 12:44:00 | 显示全部楼层
标注尺寸分解后,文字部分就成为了MTEXT对象了,你可以参照该类型对象的属性来获取文本内容。
回复

使用道具 举报

11

主题

80

帖子

9

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
124
发表于 2003-8-4 12:53:00 | 显示全部楼层

对不起,这我已经能做到了,用mtext对象的textstring属性即可。我把问题贴错了。
我是问:用"100, "BlockReference"过滤方法选择“块文字“时用“XRefDatabase“属性为什么不能获得文本内容。
该属性的帮助内容说“该属性仅仅在块的IsXRef 属性等于TRUE时才有效“
请问“IsXRef” 属性什么情况下等于true
回复

使用道具 举报

17

主题

71

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
139
发表于 2003-8-10 10:27:00 | 显示全部楼层
BuildFilter fType, fData, -4, ""
中"AcDbAlignedDimension", 0, "AcDbRotatedDimension" 的判断条件好象无效?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 19:56 , Processed in 0.721158 second(s), 84 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表