zcmfk 发表于 2010-8-4 16:33:00

咨询一个AutoCAD.NET API测试的问题

大家好!我是.NET学习新手,现咨询一个AutoCAD.NET API测试的问题。

我以前一直采用VB6对CAD进行开发:在VB6建立[标准EXE]工程,设置主窗口或MAIN()为启动对象,
   ,引用AutoCAD 20XX type library,再在程序中用CreateObject, GetObject来取得CAD应用程序实例。
如:
   Set acadApp = GetObject(, "Autocad.application")
   Set AcadDOC = acadApp.ActiveDocument
则可以非常高效而简单地使用ActiveX/COM进行调试CAD程序。

   而AutoCAD.NET applications则采用.NET API编程,现我学习到的均采用类库形式编译成DLL文件,再在CAD界面采用netload加载,并输入CommandMethod定义的新命令。
   一旦某行代码出错又需重新编译并测试,效率非常低。
   试问版主和各位前辈:
      AutoCAD.NET API编程能否采用windows应用程序为项目,设置主窗口或MAIN()为启动对象进行测试吗?
   

雪山飞狐_lzh 发表于 2010-8-4 17:09:00

1、项目-属性-调试
选择【启动外部程序】,并输入acad.exe的路径




2、工具-选项-调试
按下图配置




3、调试时直接在VS按F5,然后在启动后的Cad里netload你的dll,或者设置注册表启动
然后在需要调试的命令函数中设置断点

zcmfk 发表于 2010-8-5 11:11:00

谢谢了!
测试效率仍不高。

cobalt 发表于 2010-8-5 20:09:00

我以前也是采用VB对AutoCAD进行ActiveX/COM编程,还做了几个比较大的程序。
现在也已经转向VB.NET + ObjectARX 来编程了。
就我看来,没有什么测试效率不高的说法啊,调试的时候也是可以设置断点,编辑并继续调试。
建议:
(1)根据2楼超级版主lzh741206的提示进行设置;
(2)在项目-属性-调试-启动选项里面设置“/nologo”,使得CAD启动时不显示logo以加快启动;
(3)使用.NET DLL在AutoCAD启动时自动加载的工具。下面地址帖子的4楼有我编制的自动加载程序。
      

你再试一试看看。

zcmfk 发表于 2010-8-6 07:34:00

谢谢了!
页: [1]
查看完整版本: 咨询一个AutoCAD.NET API测试的问题