china-hz 发表于 2003-9-2 11:25:00

求救.........关于AutuCAD2002中文版

用insertblock方法插入外部图块时,在AutoCAD2002英文版一切正常,但在AutoCAD2002中文版中却不正常,但也未见错误提示,请指教。
Dim insertpt(0 To 2) As Double
    insertpt(0) = 0#: insertpt(1) = 0#: insertpt(2) = 0#
Dim blockrefobj As AcadBlockReference
   
    Set blockrefobj = AcadApp.ActiveDocument.ModelSpace.InsertBlock(insertpt, "abc", 1#, 1#, 1#, 0#)
    If Err.number = -2145386445 Then
      Set blockrefobj = AcadApp.ActiveDocument.ModelSpace.InsertBlock(insertpt, "d:\abc\abc.dwg", 1#, 1#, 1#, 0#)
    End If

china-hz 发表于 2003-9-2 20:43:00

再问:大家在AutoCAD2002中文版、VB中的insertblock方法能正常运行吗?是不是有的中文版破解不完整呀?

myfreemind 发表于 2003-9-2 21:35:00

看你的程序没有什么问题,应该是破解的问题!

mccad 发表于 2003-9-2 22:23:00

1.可能中文版与英文版的出错代码有所不同。
2.你的程序中没有On Error Resume Next语句。
3.要保存所需要的文件存在于指定的目录。

Sub InsBlk()
    Dim AcadApp As AcadApplication
    Set AcadApp = ThisDrawing.Application
    Dim insertpt(0 To 2) As Double
    insertpt(0) = 0#: insertpt(1) = 0#: insertpt(2) = 0#
    Dim blockrefobj As AcadBlockReference
    On Error Resume Next
    Set blockrefobj = AcadApp.ActiveDocument.ModelSpace.InsertBlock(insertpt, "abc", 1#, 1#, 1#, 0#)
    If Err.Number = -2145386445 Or Err.Number = -2147418113 Then
      Set blockrefobj = AcadApp.ActiveDocument.ModelSpace.InsertBlock(insertpt, "d:\abc.dwg", 1#, 1#, 1#, 0#)
    End If
   
End Sub

china-hz 发表于 2003-9-3 09:32:00

版主所言极是,问题已经解决,多谢!
页: [1]
查看完整版本: 求救.........关于AutuCAD2002中文版