乐筑天下

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

ObjectIdToObject引起的CAD崩溃。

[复制链接]

120

主题

326

帖子

7

银币

中流砥柱

Rank: 25

铜币
806
发表于 2008-7-11 09:37:00 | 显示全部楼层 |阅读模式
这条语句Set Ent = ThisDrawing.ObjectIdToObject(gg.Cells(ii, jj)),能引起系统崩溃,百思不得起解?
ObjectIDObject读的数据源是
212790095221279009602127900968212790099221279017762127901768
存在问题如下
1、上表数据获取是从Ent.ObjectID得来,反过来再通过ObjectID来更改其实体属性(如更改文本属性TextString)。可是有的实体读出来后,有实体不存在现象的表述。
2、解决方法用的是将所有实体copy后册除
Sub CopyEntityDeleteEntity()
  Dim Ent As AcadEntity, Ent1 As AcadEntity
  For Each Ent In ThisDrawing.ModelSpace
    Set Ent1 = Ent.Copy()
    Ent1.Delete
  Next Ent  
End Sub
通过ObjectIDObject可得到实体,但也出现了系统崩溃现象。
3、解决之道,就是将这个文件在文件夹中copy 后,paste重新改名才得以解决。
提示 ObjectIDToOjbect作用于对象ICadDocument失败 error is Run-time error-2147467259(80004005)
以此为题耗时费力,当网虫,大海捞针。拿本书去肯砖头吧?
回复

使用道具 举报

120

主题

326

帖子

7

银币

中流砥柱

Rank: 25

铜币
806
发表于 2008-7-11 16:33:00 | 显示全部楼层
看来老天爷照顾,没花多少时间,参考了discussion.autodesk.com相关内容,基本找到原因。
不应用ObjectID而直接用handle
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2008-7-15 16:41:00 | 显示全部楼层
句柄Handle在图形重新打开后都不会改变,而OjbectID是每次打开图形时都不同。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-4 09:07 , Processed in 0.744321 second(s), 59 queries .

© 2020-2025 乐筑天下

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