1

为了调试 ObjectARX 应用程序,每次尝试调试时都会从 Visual Studio IDE 中启动一个 Autocad 实例( !!! ) 。

这会浪费很长时间,等待 Autocad 加载。所以我的问题是:

  • 有没有办法让 Autocad 在调试会话之间保持打开状态?或者...

  • 是否可以编写一个独立的 .EXE 应用程序来连接到打开的 Autocad 实例并使用它的 ObjectARX 对象/命令,就像 COM 应用程序使用 Interop 对象/命令一样?这些方式也可以更快地调试。

最后一个在执行时会变慢,就像任何进程外应用程序一样,但为了修改代码和调试代码逻辑是即时的。

编辑:NET-RELOAD的使用虽然非常可取,但在这种情况下并不适用,因为它不允许调试。

4

3 回答 3

2

重新启动 AutoCAD 确实是唯一可靠的方法。与其弄乱 acaddoc.lsp 或 AutoCAD 中的任何应用程序设置,您可以/应该在 Visual Studio 项目设置的“调试”部分添加命令行参数,以便在 AutoCAD 启动时向DLL 运行脚本。谷歌 AutoCAD 脚本如果您热衷于此,可以获取更多资源,但在这种情况下,它只是一行中的一个命令。http://www.lee-mac.com/scriptwriting.html也值得一读。李麦克总是值得一读。NETLOAD

命令行参数框中的文本应类似于

/b "A:\Full\Path\To\Your\Script\ScriptName.scr"

ScriptName.scr 的内容

netload "A:\Full\Path\To\Your\DLL\DLLName.dll"

使用引号是因为 AutoCAD 将任何空格解释为 Enter 并运行该命令。

于 2015-01-08T12:01:09.427 回答
1

我想不出办法。我唯一能加快速度(有点)的方法是使用 AutoCAD 的 Autoloader 选项,并将“内置输出路径”设置为此文件夹。

这样,我每次调试时都不需要 NETload 构建的 Dll。

干杯,阿兰

于 2015-01-06T07:21:13.873 回答
0

对于较新版本的 AutoCAD,您可以选择使用 accoreconsole.exe 进行调试。好吧,这是 AutoCAD 的控制台版本,它不会显示任何图形。但它对于其他目的来说又快又好。

于 2015-05-13T11:57:14.067 回答