odinknight 发表于 2004-5-11 16:26:00

小弟有一火急问题求助!后天就要交程序了!

本帖最后由 作者 于 2004-5-11 16:52:04 编辑 <br /><br /> autocad2000 vba 编辑器


我用此接口打开文件(odin2d.dwg)后,就是没法对其进行编辑,连在上面画线都不行





之前已经定义 public Thisdrawing as Object


画线的语句是 Set tml1 = ThisDrawing.ModelSpace.AddLine(E1, E2)       


期间的语句省略,定义和运算肯定都没问题,就是编辑不了已经打开的图,出错提示为"自动化错误"       不知是接口问题还是画线那句的问题,望不吝赐教!


Sub loadcad2d()<BR>Rem load CAD<BR>               <BR>                                       On Error Resume Next<BR>                                       Set acadApp = GetObject("AutoCAD.Application")<BR>                                       If Err Then<BR>                                                                       Err.Clear<BR>                                                                       Set acadApp = CreateObject("AutoCAD.Application")<BR>                                                                       If Err Then<BR>                                                                                                       MsgBox Err.Description<BR>                                                                                                       Exit Sub<BR>                                                                       End If


                                       End If


                                       acadApp.Visible = True


                               Set ThisDrawing = acadApp.ActiveDocument


                                       Dim dwgName As String<BR>                                       dwgName = "c:\odin\ff\odin2d.dwg"<BR>                                       If Dir(dwgName) &lt;&gt; "" Then<BR>                                                                       ThisDrawing.Application.Documents.Open dwgName<BR>                                       Else<BR>                                                       MsgBox "File " &amp; dwgName &amp; " does not exist."<BR>                                       <BR>                                       End If


End Sub

雪山飞狐_lzh 发表于 2004-5-11 18:50:00

vba里定义ThisDrawing干什么?


GetObject和CreateObject也不能要

mikewolf2k 发表于 2004-5-11 19:16:00

对,vba中无需连接cad,直接画线就可以了。你可以参照help.

odinknight 发表于 2004-5-11 19:33:00

不会吧,我把他们都去掉,就出现"对象定义块为设置"的错误,怎么办啊?

雪山飞狐_lzh 发表于 2004-5-11 19:38:00

Public Sub Test()<BR>Dim dwgName As String<BR>                                       dwgName = "d:\1.dwg"<BR>                                       If Dir(dwgName) &lt;&gt; "" Then<BR>                                                                       Application.Documents.Open dwgName<BR>                                       Else<BR>                                                       MsgBox "File " &amp; dwgName &amp; " does not exist."<BR>                                       <BR>                                       End If<BR>End Sub<BR>

odinknight 发表于 2004-5-11 19:43:00

那画线的那条语句该怎么该啊,谢谢好心人的帮忙啊!

clement 发表于 2004-5-11 20:08:00

你用的是AutoCAD 带的VBA还是VB 6?

clement 发表于 2004-5-11 20:15:00

你E1和E2是怎么定义的.


必须得是


Dim E1(0 to 2) as Double


Dim E2(0 to 2) as Double


才行

odinknight 发表于 2004-5-11 20:15:00

我已经搞定了,多谢各位的关心和帮助!
页: [1]
查看完整版本: 小弟有一火急问题求助!后天就要交程序了!