dandijunqi 发表于 2002-6-30 16:11:00

[求助]

如何在autocad启动时,自动加载arx程序,并运行里面的命令?

dandijunqi 发表于 2002-7-6 16:08:00

???!

是下面这样吗?为什么会编译错误?能再教教我吗?不胜感激!
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

}

dandijunqi 发表于 2002-7-6 16:32:00

???!

我只是编译成一个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)

wxj351 发表于 2002-7-6 18:51:00

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

本帖最后由 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

}

wxj351 发表于 2002-6-30 23:42:00

答复

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

}

leeyeafu 发表于 2002-7-5 14:35:00

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

修改注册表甚至可实现按需加载:
在注册表中添加分支:
\\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类似)

dandijunqi 发表于 2002-7-5 16:29:00

可是......

可是我如何实现在启动autocad,加载我的arx程序后,在autocad中自动执行arx中命令呢???

dandijunqi 发表于 2002-7-5 16:32:00

但......

可以自动加载,但如何自动执行arx程序中的命令呢?

dwjnet 发表于 2002-7-5 23:51:00

dandijunqi 发表于 2002-7-7 00:58:00

非常感谢!

成功了,非常感谢!我以后会注意的!!!
页: [1] 2
查看完整版本: [求助]