明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1656|回复: 2

有的块不能getboundingbox

[复制链接]
发表于 2012-12-20 16:08:15 | 显示全部楼层 |阅读模式
参看附件内的三个块,白色的那个块在执行到ACADEnt.GetBoundingBox Temppnt1, Temppnt2时报错
Run-tim error '-2145386468(8020001c)':
Invalid extents
如果删除这个块,另外两个块没问题。不知何故,求教。
付代码如下:
    For Each ACADEnt In ActiveDocument.ModelSpace
        Debug.Print ACADEnt.Handle
        ACADEnt.GetBoundingBox Temppnt1, Temppnt2
    Next

另外一个问题,想获得整张图的这个边界点,不知道有什么便捷方法么。现在是遍历所有图元,然后取最外的两点,操作时间比较长。
还有对于模型空间和图纸空间的元素,这个边界点是什么情况,两个空间内的坐标是什么关系?
谢谢!



本帖子中包含更多资源

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

x
发表于 2012-12-22 23:16:48 | 显示全部楼层
下载下来试了下.GetBoundingBox 三个都没有问题啊?第二个问题用Application.ZoomExtents  然后查看activeviewport的width和height就OK了
 楼主| 发表于 2012-12-24 13:58:24 | 显示全部楼层
1. 奇怪了,我这就是不行。能否看看你的代码?以下是我的:
Sub test()
    Dim ACADEnt As AcadEntity
    Dim Temppnt1 As Variant, Temppnt2 As Variant
    ZoomAll
    For Each ACADEnt In ActiveDocument.ModelSpace
        Debug.Print ACADEnt.Handle
        ACADEnt.GetBoundingBox Temppnt1, Temppnt2
    Next
End Sub
2. 这样不行的,如果是个棍子长条形,view的长宽中的一项是大于图元边界范围的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 15:42 , Processed in 0.158377 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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