lihongyu2467 发表于 2003-7-14 12:17:00

如何在启动AutoCAD时自动运行ARX程序

请问如何在启动AutoCAD时自动运行已编好的ARX程序,如图层的初始化。

unionsoft 发表于 2003-7-16 13:03:00

比较方便的方法:
R14下的自动加载方法:用文本编辑器编辑R14的安装目录下的文件Acad.rx,加入如下文本:
e:\yourarx.arx      // 注意,文件路径根据你的具体情况而定

R2000及其以上版本下的自动加载方法:执行appload,点击“启动组”(Contents)按钮,然后"Add"yourarx.arx,确定就OK了

还有一种编程的方法,我就不说了

lihongyu2467 发表于 2003-7-17 11:16:00

感谢unionsoft朋友的帮忙,不过你所说的是自动加载ARX程序,我说的是不仅仅自动加载,而且要自动运行,也就是启动AutoCAD时自动运行已编好的ARX程序,有没有好的办法,还请不吝赐教。谢谢。

unionsoft 发表于 2003-7-29 08:39:00

有两种方法:
1.在外部编写一个程序调用该ARX程序的命令,比如编一个LISP程序

2.修改ARX程序,将你要实现的功能直接放在初始化模块中

lihongyu2467 发表于 2003-7-30 12:15:00

谢谢,已经解决了。

muzi 发表于 2003-7-30 12:43:00

怎么解决?把你的方法说出来啊

lihongyu2467 发表于 2003-7-30 22:10:00

基本上与你说的相似,如下:
extern "C" AcRx::AppRetCode
acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
{
switch (msg) {
case AcRx::kInitAppMsg:
// Comment out the following line if your
// application should be locked into memory
acrxDynamicLinker->unlockApplication(pkt);
acrxDynamicLinker->registerAppMDIAware(pkt);
InitApplication();
break;
case AcRx::kUnloadAppMsg:
UnloadApplication();
break;
}
return AcRx::kRetOK;
}

注意:里面的”InitApplication()“函数,在其中加入你的主程序yourarx.arx即可。
执行appload,点击“启动组”(Contents)按钮,然后"Add"yourarx.arx,



__________________

lilin 发表于 2003-8-27 11:29:00

可以用ARX自带的工具条的可以定制。

handwithme 发表于 2003-8-29 11:21:00

to lihongyu2467
我按照你说的方法加载我开发的应用程序后,运行我注册的命令,AutoCAD提示我“试图执行系统不支持的操作”。为什么?
你能不能将你的方法说的再详细点?谢谢!

lihongyu2467 发表于 2003-8-29 12:34:00

不用手动执行的,启动AutoCAD后自动执行,注意:里面的”InitApplication()“函数,在其中加入你的主程序yourarx.arx。
执行appload,点击“启动组”(Contents)按钮,然后"Add"yourarx.arx
页: [1] 2 3
查看完整版本: 如何在启动AutoCAD时自动运行ARX程序