乐筑天下

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

有的块不能getboundingbox

[复制链接]

85

主题

1175

帖子

11

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1518
发表于 2012-12-20 16:08:00 | 显示全部楼层 |阅读模式
参看附件内的三个块,白色的那个块在执行到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
另外一个问题,想获得整张图的这个边界点,不知道有什么便捷方法么。现在是遍历所有图元,然后取最外的两点,操作时间比较长。
还有对于模型空间和图纸空间的元素,这个边界点是什么情况,两个空间内的坐标是什么关系?
谢谢!

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

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

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
1
发表于 2012-12-22 23:16:00 | 显示全部楼层
下载下来试了下.GetBoundingBox 三个都没有问题啊?第二个问题用Application.ZoomExtents  然后查看activeviewport的width和height就OK了
回复

使用道具 举报

85

主题

1175

帖子

11

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1518
发表于 2012-12-24 13:58:00 | 显示全部楼层
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的长宽中的一项是大于图元边界范围的。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-6-29 23:13 , Processed in 3.079938 second(s), 63 queries .

© 2020-2025 乐筑天下

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