明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5009|回复: 11

[求助]

  [复制链接]
发表于 2002-6-30 16:11 | 显示全部楼层 |阅读模式
如何在AutoCAD启动时,自动加载arx程序,并运行里面的命令?
 楼主| 发表于 2002-7-6 16:08 | 显示全部楼层

???!

是下面这样吗?为什么会编译错误?能再教教我吗?不胜感激!
void InitApplication()
{
        // NOTE: DO NOT edit the following lines.
        //{{AFX_ARX_INIT
        AddCommand("ZHARX", "WISE", "WISE", ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, zharxwise);
          //}}AFX_ARX_INIT
   ZHARXWISE;  
    // TODO: add your initialization functions

}
 楼主| 发表于 2002-7-6 16:32 | 显示全部楼层

???!

我只是编译成一个zhwise.arx程序,我的ApplicationName应该填什么?是ACAD吗?我用的是AUTOCAD 2000中文看版,我修改了注册表,如下面,为什么我启动AUTOCAD2000后不能执行,错在哪里,能再帮帮忙吗?

键:\\HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\Applications\ACAD\LoadCtrls(值:0x000000d)

键:\\HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\Applications\ACAD\RegPath(值:\\HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\AutodeskApps\ACAD)

键:\\HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\AutodeskApps\ACAD\commands\wise (值:wise)

键:\\HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\AutodeskApps\ACAD\groups\ARX (值:ARX)

键:\\HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\AutodeskApps\ACAD\loader\MODULE (值:E:\WISE\Debug\zhwise.arx)

键:\\HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\AutodeskApps\ACAD\Name\ACAD command Module (值:ACAD)
发表于 2002-7-6 18:51 | 显示全部楼层

基本正确,但注意少了一对()。

本帖最后由 wxj351 于 2002-7-6 18:51:59 编辑

void InitApplication()
{
// NOTE: DO NOT edit the following lines.
//{{AFX_ARX_INIT
AddCommand("ZHARX", "WISE", "WISE", ACRX_CMD_TRANSPARENTn | ACRX_CMD_USEPICKSET, zharxwise);
   //}}AFX_ARX_INIT
   ZHARXWISE()
    // TODO: add your initialization functions

}
发表于 2002-6-30 23:42 | 显示全部楼层

答复

1.在启动AutoCAD2002时自动加载,在AutoCAD2002的安装文件夹中,打开或新建“ACAD.RX”文件。在该文件中指出所要加载的ObjectARX应用程序的路径和文件名。
2.在下列函数中添加函数即可自动运行
void InitApplication()
{
        // NOTE: DO NOT edit the following lines.
        //{{AFX_ARX_INIT
        AddCommand("HFUU_MCAD_", "DEMO", "DEMO", ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, hfuu_mcad_demo);
        //}}AFX_ARX_INIT

        // TODO: add your initialization functions

}
发表于 2002-7-5 14:35 | 显示全部楼层

修改注册表甚至可实现按需加载

修改注册表甚至可实现按需加载:
在注册表中添加分支:
\\HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\Applications\ApplicationName
(ApplicationName是您的应用程序名)
添加主键LoadCtrls,键值:0x000000d(即十进制13)
添加主键RegPath,键值:\\HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\AutodeskApps\ApplicationName
再添加如上注册表分支及以下四个子分支:
1.commands,其中主键及键值为应用程序中添加的全局命令名;
2.groups,其中主键及键值为应用程序中命令组名;
3.loader,添加主键MODULE,键值为arx程序全路径;
4.Name,添加主键ApplicationName command Module,键值为ApplicationName(ApplicationName是您的应用程序名)
(我使用AutoCAD 2000,其它版本CAD类似)
 楼主| 发表于 2002-7-5 16:29 | 显示全部楼层

可是......

可是我如何实现在启动autocad,加载我的arx程序后,在autocad中自动执行arx中命令呢???
 楼主| 发表于 2002-7-5 16:32 | 显示全部楼层

但......

可以自动加载,但如何自动执行arx程序中的命令呢?
发表于 2002-7-5 23:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2002-7-7 00:58 | 显示全部楼层

非常感谢!

成功了,非常感谢!我以后会注意的!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-17 19:55 , Processed in 0.249392 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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