明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3221|回复: 9

[VBA]BlockRef 和GetBoundingBox的问题

[复制链接]
发表于 2005-8-13 11:04: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。 怎么回事呢?
 楼主| 发表于 2005-8-13 11:05:00 | 显示全部楼层
Debug 是打出了块的Name。
 楼主| 发表于 2005-8-13 14:17:00 | 显示全部楼层
怎么没人来救救我啊
发表于 2005-8-15 19:08:00 | 显示全部楼层
我怎末调试什么都不出现啊
发表于 2005-8-15 22:04:00 | 显示全部楼层
程序有问题吗?试过是OK的。
  1. For Each BlkRef In SelSet
  2.   Debug.Print BlkRef.Name
  3.   BlkRef.GetBoundingBox minPoint, maxPoint
  4.   Debug.Print minPoint(0)
  5.   Debug.Print maxPoint(0)
  6. Next
复制代码
结果
  1. 3
  2. 278.463452734819
  3. 516.445439272681
  4. 2
  5. 523.912385855595
  6. 715.06599226921
  7. 1
  8. 776.508228177512
  9. 1161.69556927903
复制代码
 楼主| 发表于 2005-8-16 09:54:00 | 显示全部楼层
不公平啊,同样的程序 mccad 可以调出东西来,为什么我们就不行啊?
 楼主| 发表于 2005-8-16 15:41:00 | 显示全部楼层
Re: mccad
是不是块里含有什么特殊的东西,就不能用GetBoundingBox了呢?
我的块里有:
AcDbPolyline
AcDbLine
AcDbLine
AcDbRotatedDimension
AcDbText
AcDbRotatedDimension
AcDbText
AcDbPolyline
AcDbLine
AcDbPolyline
AcDbText
AcDbText
AcDbRotatedDimension
AcDbLine

发表于 2006-5-11 11:26:00 | 显示全部楼层

这个问题我也遇到了。GETBOUNDINGBOX我在程序中用过许多处。
但是有一处对块参照或外部参照使用时,就出现范围值为空的情况。

程序代码我可以保证是对的。多次调试之后,只好认为是autocad的bug了。

发表于 2006-5-11 11:55:00 | 显示全部楼层
1.GETBOUNDINGBOX确实有些不稳定。
2.它对于射线、构造线无效。如果你的块中包含有这样的对象,就无效。
发表于 2006-8-1 08:58:00 | 显示全部楼层

我也发现了它的不稳定。在带有属性的块的情况下,

有好多次它就突然失效了。代码一点没动过,很奇怪

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

本版积分规则

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

GMT+8, 2024-11-27 00:26 , Processed in 0.194365 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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