乐筑天下

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

[求助]blockref 与 getboundingbox 的问题

[复制链接]

13

主题

21

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
73
发表于 2007-1-7 21:51:00 | 显示全部楼层 |阅读模式
代码如下:
Dim BlkRef As AcadBlockReference
Dim SelSet As AcadSelectionSet
Set SelSet = AcadDoc.SelectionSets.Add("SelSet1")
Dim aaa(0) As Integer   'Select 条件1:选择类型
Dim aaa1(0) As Variant  'select 条件2:选择图元
Dim maxPoint As Variant
Dim minPoint As Variant
aaa(0) = 0     '图元类型
aaa1(0) = "INSERT"    '图块
SelSet.Select acSelectionSetAll, , , aaa, aaa1       '选择所有图块
For Each BlkRef In SelSet
  Debug.Print BlkRef.Name
  BlkRef.GetBoundingBox minPoint, maxPoint
Next
这段程序用来得到所有块的BoundingBox的,但是,得到的minPoint和maxPoint 都是Empty。 怎么回事呢?
程序确确实实能够选择所有的块,而且名字也都是正常的,但是只要调用getboundingbox方法,要么为空,要么
就直接退出当前函数了,
请大侠们指教
回复

使用道具 举报

13

主题

396

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
448
发表于 2007-1-8 09:08:00 | 显示全部楼层
该程序正常的啊,不知你是否有SelSet.Delete语句
回复

使用道具 举报

0

主题

6

帖子

2

银币

初来乍到

Rank: 1

铜币
6
发表于 2007-1-8 10:21:00 | 显示全部楼层
在我这里可以得到的
  1. Dim BlkRef As AcadBlockReference
  2. Dim SelSet As AcadSelectionSet
  3. Set SelSet = ThisDrawing.SelectionSets.Add("SelSet1")
  4. Dim aaa(0) As Integer   'Select 条件1:选择类型
  5. Dim aaa1(0) As Variant  'select 条件2:选择图元
  6. Dim maxPoint As Variant
  7. Dim minPoint As Variant
  8. aaa(0) = 0     '图元类型
  9. aaa1(0) = "INSERT"    '图块
  10. SelSet.Select acSelectionSetAll, , , aaa, aaa1       '选择所有图块
  11. For Each BlkRef In SelSet
  12.   MsgBox BlkRef.Name
  13.   BlkRef.GetBoundingBox minPoint, maxPoint
  14. Next
  15. If Not SelSet Is Nothing Then SelSet.Delete
回复

使用道具 举报

13

主题

21

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
73
发表于 2007-1-8 16:52:00 | 显示全部楼层
我把我的图纸上传下,大侠们棒棒忙看下,谢谢
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:aeljhqspjvk.rar 
下载次数:0  文件大小:7.86 KB  售价:2银币 [记录]
下载权限: 不限 以上或 Vip会员   [开通Vip]   [签到领银币]  [免费赚银币]

回复

使用道具 举报

13

主题

396

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
448
发表于 2007-1-8 17:09:00 | 显示全部楼层
对的啊
  1. Sub test()
  2. Dim BlkRef As AcadBlockReference
  3. Dim SelSet As AcadSelectionSet
  4. Set SelSet = ThisDrawing.SelectionSets.Add("SelSet0")
  5. Dim aaa(0) As Integer   'Select 条件1:选择类型
  6. Dim aaa1(0) As Variant  'select 条件2:选择图元
  7. Dim maxPoint As Variant
  8. Dim minPoint As Variant
  9. aaa(0) = 0     '图元类型
  10. aaa1(0) = "INSERT"    '图块
  11. SelSet.Select acSelectionSetAll, , , aaa, aaa1       '选择所有图块
  12. For Each BlkRef In SelSet
  13.    BlkRef.GetBoundingBox minPoint, maxPoint
  14.    MsgBox maxPoint(0)
  15. Next
  16. SelSet.Delete
  17. End Sub
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-7 05:38 , Processed in 0.760765 second(s), 68 queries .

© 2020-2025 乐筑天下

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