当前位置: 首页 > news >正文

CAXA二次开发

开发实例

用向导创建Hello World程序

1.3.1 说明

本节使用 ObjectCRX向导创建一个Hello World 程序,了解向导创建的工程的基本结构,并且学习使用ObjectCRX内嵌工具栏注册命令的方法。程序执行的结果是在 电子图板命令行显示“Hello World!”字符串。

1.3.2 思路

使用向导创建 ObjectCRX应用程序,能够大大简化操作的步骤,向导自动生成了大量的代码。同学习MFC 一样,如果了解了向导工作的内容,那么使用向导能够大大节省工作量;如果不了解,则可能越用越糊涂。

1.3.3 步骤

(1)在Visual Studio 2019 集成开发环境中,选择[文件/新建/项目]菜单项,系统会弹出[项目]对话框。在[项目]选项卡的工程类型列表中选择[Visual C++/CAXA],然后在其工程列表中选择[ObjectCRX Projects],在下面[名称]文本框中输入工程名称Hello2,在[位置]文本框中输入适当的工程位置,如图1.1所示。完成设置后,单击[确定]按钮。

image

 

(2)在弹出的对话框中,选择Create a extension DLL(MFC shared)(O) 选项,如图1.2所示。设置完毕之后,单击[Finish]按钮。

image

(3) 向导所创建的动态链接库的基本信息,如下图1.3所示

image

创建的各个文件及其作用:

□StdAfx.h:预编译头文件的创建。

□Resource.h:资源标记的声明。

□StdAfx.cpp: 预编译文件

□CrxEntryPoint.cpp 程序入口类所在的文件。其中包含两个函 数On_kInitAppMsg和On_kUnloadAppMsg。On_kInitAppMsg实 际上这里它只做一件事情,就是使用电子图板的命令机制注册一 个新命令。这个命令同电子图板的内部命令一样,可以直接在命 令行中执行。实际上,这就是运行CRX 程序的方法。 On_kUnloadAppMsg函数则在程序被卸载时所调用。

此文件中包含addCommand 函数,其封装在AddCommand 函数,用于向电子图板注册命令。

□CrxToolAddin.cpp:应用程序入口点。其中包含_hdllInstance变量和DllMain函数。hdllInstance 变量是在DllMain函数中使用,一般不用注意。DllMain 函数是动态链接库(DLL)的入口点函数,一般来说不用注意。

(4)编译环境设置

项目要准确编译需要附加项目所需要的头文件和库文件。

在vs2010的解决方案资源管理器窗口选择CrxToolAddin项目,右键选择“属性”,弹出属性窗口,在属性窗口中选择[C/C++ / 常规],然后在附加包含目录项中,附加ObjectCRX开发包下头文件所在的目录D:\Program Files\CAXA2024\CRX\Inc,如下图1.4

image

然后再属性窗口上选择[链接器\常规],然后在附加库目录项中,附件库文件所在目录

D:\Program Files\CAXA2024\bin\CAXADraft\CRX\Lib,如下图1.5

image

注意:将配置属性/常规/目标文件扩展名参数设置为.crx能够避免默认工程编译出现警告,如图1.6所示。

image

(5)helloworld函数如下:

void cmdHello()

{

acutPrintf(_T("\nHello World!"));

}

需要附件头文件如下:#include "crxutcds.h"

注意:acutPrintf一定要加上,如果按照帮助文档的写法,输入命令之后没反应,加上这个之后就可以实现命令行输出“Hello World!”

(6)注册hello命令完整代码。

需要在项目的CrxEntryPoint.cpp文件中,添加在电子图板中注册命令和卸载命令的代码,详细代码如下:

#include "stdafx.h"
#include "resource.h"
#include "crxutcds.h"//需要附件的头文件


#define szRDS _RXST("")

//-----------------------------------------------------------------------------

//注册的helloworld函数代码写在这里

void cmdHello()
{
acutPrintf(_T("\n 20260205 Hello World!"));
}

//-----------------------------------------------------------------------------
//----- CCrxProjectTestEntryPoint
class CCrxProjectTestApp:public AcRxArxApp
{
public:
CCrxProjectTestApp():AcRxArxApp()
{
}

virtual AcRx::AppRetCode On_kInitAppMsg(void *pkt)
{
// TODO: Load dependencies here

// You *must* call On_kInitAppMsg here
AcRx::AppRetCode retCode =AcRxArxApp::On_kInitAppMsg(pkt);
crxedRegCmds->addCommand(_T("HelloApp"), _T("GHello"), _T("Hello"), ACRX_CMD_MODAL, &cmdHello);
// TODO: Add your initialization code here

return (retCode) ;
}

virtual AcRx::AppRetCode On_kUnloadAppMsg(void *pkt)
{
// TODO: Add your code here

// You *must* call On_kUnloadAppMsg here
AcRx::AppRetCode retCode =AcRxArxApp::On_kUnloadAppMsg(pkt);

// TODO: Unload dependencies here
crxedRegCmds->removeGroup(_T("HelloApp"));
return (retCode);
}

virtual void RegisterServerComponents()
{

}



};

IMPLEMENT_ARX_ENTRYPOINT(CCrxProjectTestApp)

 

1.3.4 效果

在Visual Studio 2019中,按下快捷键F5对程序进行调试,系统会自动启动电子图板2024。使用MANAGE命令加载生成的CRX文件,如图1.7所示。

image

 在CAXA CAD的命令行输入“Hello”,启动执行命令之后,会出现“Hello Word!”,如图1.8所示的结果。

至此,CAXA CAD的入门开发程序“Hello Word!”已实现。

http://www.jsqmd.com/news/345722/

相关文章:

  • 建议收藏!AI大模型时代的高薪机会:10大岗位薪资与职业发展指南(附学习资源)_AI大模型的前十热门岗位薪资盘点!
  • nginx 编译选项说明
  • 本周更新|优化及缺陷修复
  • 基于云计算的实习管理系统设计与实现
  • 2026年诚信的精神堡垒标识牌,户外精神堡垒厂家选购参考汇总 - 品牌鉴赏师
  • 浙江自动锁螺丝机推荐,宏海机器人的性价比怎么样? - myqiye
  • 2026跨境电商办公室租赁怎么选不踩坑?关键指标+注意事项,5大优质产业园推荐 - 品牌2025
  • 基于云计算的微课教学资源共享平台建设_开题报告 springboot和vue_
  • 2026注浆机;灌浆泵;湿喷机;喷浆机;喷涂机行业测评:五家企业综合对比及评价 - 深度智识库
  • 2026年山东临沂树脂瓦厂家专业推荐:波浪型树脂瓦、FRP采光瓦、‌防腐树脂瓦、‌合成树脂瓦厂家、ASA合成树脂瓦 - 海棠依旧大
  • 基于Web的求职招聘系统的设计与实现开题报告 springboot和vue
  • 2026年好的3C认证办理服务公司排名及服务特色盘点 - 工业品牌热点
  • 求推荐靠谱厨师学校,沈阳新东方火锅专业口碑排名 - 工业推荐榜
  • 2026年法兰V型球阀制造企业排名,前十名揭晓 - mypinpai
  • 创业第一步,办公室别踩坑!2026跨境电商孵化园区挑选秘籍与5大推荐 - 品牌2025
  • 2026年天津性价比高的五金批发零售公司盘点,选五金批发零售服务哪家好 - 工业品网
  • 2026国产营养秤品牌盘点及选购指南 - 一搜百应
  • 2026跨境电商孵化园区办公室租赁挑选避坑指南附租赁经验分享及5大优质园区推荐 - 品牌2025
  • 2026年可靠的水上浮桥浮筒餐厅,浮桥浮筒水上泳池,水上浮桥浮筒舞台厂家选择指南 - 品牌鉴赏师
  • 点成干货 | 基于人字形混合芯片的脂质纳米颗粒微流控制备技术
  • 基于Easy Excel的表头校验工具
  • 中国钴颗粒生产厂家推荐及综合分析(2026年2月) - 深度智识库
  • ESP32-P4NRW32:开创未来的高性能双核无线MCU
  • 永辉超市购物卡闲置不用?可可收助力快速盘活资产 - 可可收
  • AI与云原生技术在下一代LS-DYNA仿真资源管理的应用前瞻
  • 2026跨境电商孵化园区指南/跨境电商孵化园区横向对比+对比评测,5家优质园区干货推荐 - 品牌2025
  • 计算机毕业设计之springboot成都旅游网
  • 梳理2026年好奇游乐设备厂家口碑,十大排名出炉 - myqiye
  • kotlin和compose中使用by
  • 2026年国内体脂秤权威推荐榜单及选购指南 - 一搜百应