Option Explicit  Private Sub cmdLine_Click() '画直线
    Text1.LinkExecute "[^3^3line 3,3 8,8 ^3]"
  End Sub  Private Sub cmdText_Click() '标注文字
    Text1.LinkExecute "[^3^3text 10,10 1 90 AUTOCAD!^10]"
  End Sub  Private Sub cmdLink_click() '建立链接
    Text1.LinkMode = 0
    Text1.LinkTopic = "AutoCAD|System"
    Text1.LinkMode = 2
  End Sub  Private Sub cmdExit_click() '退出
    End
  End Sub
Sub linkapp(Link As Control, Appname As String, Topic As String)
    Link.LinkMode = 0
    Link.LinkTopic = Appname + "|" + Topic
    Link.LinkMode = 2
End Sub
Private Sub Layer_Click()
    AppActivate "AutoCAD "
    SendKeys "open{Enter}"
    linkapp Form1.Text1, "AutoCAD.DDE", "System"
    Form1.Text1.LinkExecute "[Layer M center]"
    Form1.Text1.LinkExecute "[Layer C red L center]"
End Sub

解决方案 »

  1.   

    你好,我的vb与EXCEL可以,而且我后来把电脑管家给关了。最重要的是我VB和CAD的通讯实在虚拟机的WIN7下写的。为什么DDE连接不上,请问CAD需要设置吗?
      

  2.   

    在64位Windows下:
    64位exe和dll在目录c:\windows\system32目录下;
    32位exe和dll在目录c:\windows\syswow64目录下;
    所以要注意:
        在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。
        且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll
      

  3.   

    你好,我的本机是win1064位的,虚拟机win7是32位的。
      

  4.   

    一般用com通信呀
      

  5.   

    很抱歉,刚刚看到
    对于autocad的二次开发,不熟悉。
    另外,如果目标是实用,最好不要纠缠aotucad,因为它属于二维CAD。许多功能如三维实体建模,参数化驱动,进而变型设计、配置设计,在二维软件上实现起来非常麻烦,也很少有人继续在aotucad上下功夫了
    三维CAD,中档的有两种,高档的有三种(在国内常见的)
    建议用三维软件,数据通信也有专门的接口