torch 发表于 2004-7-12 09:35:00

释放块参照

大侠,


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


因此,我想问问如何释放块参照并保留图元,以便下次在同一个图档上运行程序时,不会出错!

雪山飞狐_lzh 发表于 2004-7-12 11:24:00

释放块参照?可以给一段代码说明一下么?

torch 发表于 2004-7-13 10:31:00

Sub Example_Bind()<BR>                       On Error GoTo ERRORHANDLER<BR>                                                                                                                                                                                                       <BR>                       ' Define external reference to be inserted<BR>                       Dim xrefHome As AcadBlock<BR>                       Dim xrefInserted1 As AcadExternalReference<BR>                       Dim xrefInserted2 As AcadExternalReference<BR>                       <BR>                       Dim insertionPnt(0 To 2) As Double<BR>                       Dim PathName As String<BR>                                                        <BR>                       insertionPnt(0) = 1<BR>                       insertionPnt(1) = 1<BR>                       insertionPnt(2) = 0<BR>                       PathName = "e:/lgs/ER1.dwg"<BR>                       <BR>                       ' Add the external reference<BR>                       Set xrefInserted1 = ThisDrawing.ModelSpace. _<BR>                                                                                       AttachExternalReference(PathName, "XREF_IMAGE", _<BR>                                                                                       insertionPnt, 1, 1, 1, 90, False)<BR>                                                                                       <BR>                       Set xrefInserted2 = ThisDrawing.ModelSpace. _<BR>                                                                                       AttachExternalReference(PathName, "XREF_IMAGE", _<BR>                                                                                       insertionPnt, 1, 1, 1, 0, False)<BR>                       ZoomAll<BR>                       MsgBox "The external reference is attached."<BR>                       <BR>                       ' Bind the external reference definition<BR>                       ThisDrawing.Blocks.Item(xrefInserted1.Name).Bind False<BR>                       'ThisDrawing.Blocks.Item(xrefInserted2.Name).Bind False<BR>                       MsgBox "The external reference is bound."<BR>                                                                <BR>                       Exit Sub


                       <BR>ERRORHANDLER:<BR>                       MsgBox Err.Description<BR>End Sub


重新运行会发现存在"File Access error"的错误,请大侠帮我看看,应该怎样消除这个问题


此外,怎样获得已经插入到图形中的块的插入点,xScale,yScale,zScale等参数


谢谢!

雪山飞狐_lzh 发表于 2004-7-13 12:36:00

去掉ThisDrawing.Blocks.Item(xrefInserted1.Name).Bind False

torch 发表于 2004-7-13 13:19:00

如果需要ThisDrawing.Blocks.Item(xrefInserted1.Name).Bind False <BR>将再如何解决上述问题呢?


请大侠指点!谢谢!

torch 发表于 2004-7-13 16:37:00

我发现文件不在指定的目录也会出现相同的错误,是不是CAD已经采用独占的方式占用了该目录文件,有什么办法将它独占释放掉吗?
页: [1]
查看完整版本: 释放块参照