明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1644|回复: 5

释放块参照

[复制链接]
发表于 2004-7-12 09:35:00 | 显示全部楼层 |阅读模式
大侠,


我在关于块参照的过程中,在同一个图档中运行两次相同的程序,会发现必须开启新的CAD图档才能运行,原图档会出错。是不是与块参照没有被释放有关!


因此,我想问问如何释放块参照并保留图元,以便下次在同一个图档上运行程序时,不会出错!
发表于 2004-7-12 11:24:00 | 显示全部楼层
释放块参照?可以给一段代码说明一下么?
 楼主| 发表于 2004-7-13 10:31:00 | 显示全部楼层
Sub Example_Bind()
On Error GoTo ERRORHANDLER

' Define external reference to be inserted
Dim xrefHome As AcadBlock
Dim xrefInserted1 As AcadExternalReference
Dim xrefInserted2 As AcadExternalReference

Dim insertionPnt(0 To 2) As Double
Dim PathName As String

insertionPnt(0) = 1
insertionPnt(1) = 1
insertionPnt(2) = 0
PathName = "e:/lgs/ER1.dwg"

' Add the external reference
Set xrefInserted1 = ThisDrawing.ModelSpace. _
AttachExternalReference(PathName, "XREF_IMAGE", _
insertionPnt, 1, 1, 1, 90, False)

Set xrefInserted2 = ThisDrawing.ModelSpace. _
AttachExternalReference(PathName, "XREF_IMAGE", _
insertionPnt, 1, 1, 1, 0, False)
ZoomAll
MsgBox "The external reference is attached."

' Bind the external reference definition
ThisDrawing.Blocks.Item(xrefInserted1.Name).Bind False
'ThisDrawing.Blocks.Item(xrefInserted2.Name).Bind False
MsgBox "The external reference is bound."

Exit Sub
ERRORHANDLER:
MsgBox Err.Description
End Sub 重新运行会发现存在"File Access error"的错误,请大侠帮我看看,应该怎样消除这个问题 此外,怎样获得已经插入到图形中的块的插入点,xScale,yScale,zScale等参数 谢谢!
发表于 2004-7-13 12:36:00 | 显示全部楼层
去掉ThisDrawing.Blocks.Item(xrefInserted1.Name).Bind False
 楼主| 发表于 2004-7-13 13:19:00 | 显示全部楼层
如果需要ThisDrawing.Blocks.Item(xrefInserted1.Name).Bind False
将再如何解决上述问题呢? 请大侠指点!谢谢!
 楼主| 发表于 2004-7-13 16:37:00 | 显示全部楼层
我发现文件不在指定的目录也会出现相同的错误,是不是CAD已经采用独占的方式占用了该目录文件,有什么办法将它独占释放掉吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 04:27 , Processed in 0.157337 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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