明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8057|回复: 20

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

  [复制链接]
发表于 2003-7-14 12:17:00 | 显示全部楼层 |阅读模式
请问如何在启动AutoCAD时自动运行已编好的ARX程序,如图层的初始化。
发表于 2003-7-16 13:03:00 | 显示全部楼层
比较方便的方法:
R14下的自动加载方法:用文本编辑器编辑R14的安装目录下的文件Acad.rx,加入如下文本:
e:\yourarx.arx      // 注意,文件路径根据你的具体情况而定

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

还有一种编程的方法,我就不说了
 楼主| 发表于 2003-7-17 11:16:00 | 显示全部楼层
感谢unionsoft朋友的帮忙,不过你所说的是自动加载ARX程序,我说的是不仅仅自动加载,而且要自动运行,也就是启动AutoCAD时自动运行已编好的ARX程序,有没有好的办法,还请不吝赐教。谢谢。
发表于 2003-7-29 08:39:00 | 显示全部楼层
有两种方法:
1.在外部编写一个程序调用该ARX程序的命令,比如编一个LISP程序

2.修改ARX程序,将你要实现的功能直接放在初始化模块中
 楼主| 发表于 2003-7-30 12:15:00 | 显示全部楼层
谢谢,已经解决了。
发表于 2003-7-30 12:43:00 | 显示全部楼层
怎么解决?把你的方法说出来啊
 楼主| 发表于 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,



__________________
发表于 2003-8-27 11:29:00 | 显示全部楼层
可以用ARX自带的工具条的[MFC]可以定制。
发表于 2003-8-29 11:21:00 | 显示全部楼层
to lihongyu2467
我按照你说的方法加载我开发的应用程序后,运行我注册的命令,AutoCAD提示我“试图执行系统不支持的操作”。为什么?
你能不能将你的方法说的再详细点?谢谢!
 楼主| 发表于 2003-8-29 12:34:00 | 显示全部楼层
不用手动执行的,启动AutoCAD后自动执行,注意:里面的”InitApplication()“函数,在其中加入你的主程序yourarx.arx。
执行appload,点击“启动组”(Contents)按钮,然后"Add"yourarx.arx
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 16:55 , Processed in 0.190951 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表