首页 > 编程语言 > 详细

c++篇 cad.arx配置3.调试,自动加载和卸载命令,学会看宏命令

时间:2020-05-01 23:00:53      阅读:144      评论:0      收藏:0      [点我收藏+]

继续利用vs2010开发cad2008.....

技术分享图片  

 技术分享图片

 

  填入cad的路径

 

设置输出文件: $(OutDir)$(TargetName)$(TargetExt)

技术分享图片

  

通过输出文件的路径,在启动cad的时候加载. /ld $(OutDir)$(TargetName)$(TargetExt)

 技术分享图片 

 

一定要多用宏命令,因为宏命令会自动识别输出的是x64还是win32路径.

/ld就是load,路径,文件名,后缀名,详情看宏命令的说明,很容易懂的.

 技术分享图片  

 

 

现在我们需要忘记工具条添加命令的a>方法,因为在高版本的vs上面这个方法已经失效了....

现在利用 acrxEntryPoint.cpp 的 On_kInitAppMsg 和 On_kUnloadAppMsg 两个函数添加命令和卸载命令,方便卸载的时候移除命令.

    CString _CommandGroup = "JJBoxArx";
    //自动执行的命令
    virtual AcRx::AppRetCode On_kInitAppMsg(void *pkt)
    {
        AcRx::AppRetCode retCode = AcRxArxApp::On_kInitAppMsg(pkt);
        //添加命令
     acedRegCmds->addCommand(szRDS, _T("_jjarx_ss"), _T("jjarx_ss"), ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET | ACRX_CMD_REDRAW, CJJBoxUtils::jjarx_hatch);
     acedRegCmds->addCommand(szRDS, _T("_jjarx_ss2"), _T("jjarx_ss2"), ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET | ACRX_CMD_REDRAW, jjarx_hatch2);
return (retCode);
}
//卸载的时候执行 
    virtual AcRx::AppRetCode On_kUnloadAppMsg(void *pkt)
    {
        AcRx::AppRetCode retCode = AcRxArxApp::On_kUnloadAppMsg(pkt);
        //移除这个组的所有命令
        acedRegCmds->removeGroup(_CommandGroup);
        return (retCode);
    }

    //寄存服务器组件
    virtual void RegisterServerComponents()
    {
    }

 

为了让acrxEntryPoint.cpp更单纯的存放命令,所以要用到类来存放命令内容: CJJBoxUtils::jjarx_hatch

或者采用文件全局的方法: jjarx_hatch2

 

 CJJBoxUtils::jjarx_hatch 的实现

技术分享图片

  技术分享图片 .h文件

 技术分享图片.cpp文件

 

 

jjarx_hatch2 的实现:

技术分享图片

 技术分享图片 新建一个cpp文件,写别的地方去.

 

两种方法都很有趣.....都需要掌握一下.

c++篇 cad.arx配置3.调试,自动加载和卸载命令,学会看宏命令

原文:https://www.cnblogs.com/JJBox/p/12814876.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!