首页 技术 正文
技术 2022年11月15日
0 收藏 509 点赞 2,875 浏览 1449 个字

一、本节课程

Arx二次开发创建第一个应用程序

二、本节要讲解的知识点

1、手动创建ARX的应用的步骤。

2、应用向导创建ARX应用程序的步骤。

三、具体内容

1、需求:创建一个Hello World应用程序,在AUTOCAD的命令行输出“Hello World”。

2、手动创建一个ARX应用程序:C++开发ARX应用程序,实际上我们ARX应用程序就是一个动态链接库,它的后缀只是没用.DLL来表示而已,是用.ARX 来表示的。与常规的DLL程序一样,ARX程序在AUTOCAD调用时加载,与AUTOCAD本身的代码是相互独立的。

设置编译器的参数,包括代码的生成方式。

设置连接器的参数,包括输出文件的名称,添加链接库文件等。

新建一个DLL文件,引用ARX API的头文件和库文件,然后设置编译器参数和连接器参数。将生成文件的后缀改为“.DLL”文件即可。在代码里面创建两个函数分别用户初始化和卸载ARX程序。 void InitApp(); void UnloadApp();

具体请参见收费课程C++ ARX开发的免费试听部分。

3、向导创建一个ARX应用程序:

(1)ObjectARX应用程序:在AUTOCAD中调用。

(2)ObjectDBX应用程序:在所有的REALDWG宿主程序中调用(包括AUTOCAD),自定义实体开发的时候,可以创建此类程序。

(3)Console程序:高版本的AUTOCAD出现的一种开发方式。(AUTOCAD2013以后出现的一种新的开发方式),将AUTOCAD Console应用程序放置在服务器端(比如说服务器端自动打印),特点就是不需要交互,运行速度很快。

2、Arx二次开发创建第一个应用程序

2、Arx二次开发创建第一个应用程序

2、Arx二次开发创建第一个应用程序

2、Arx二次开发创建第一个应用程序

4、向导自动帮我们生成了一些头文件和源文件。其中acrxEntryPoint.cpp是ARX程序的入口点。

 (1)ARX模块加载时执行的函数

virtual AcRx::AppRetCode On_kInitAppMsg (void *pkt) {

AcRx::AppRetCode retCode =AcRxArxApp::On_kInitAppMsg (pkt) ;

//通常需要加入的代码,在这里可以放入软件锁检测的代码。

return (retCode) ;

}

 (2)ARX模块卸载时执行的函数

virtual AcRx::AppRetCode On_kUnloadAppMsg (void *pkt) {

AcRx::AppRetCode retCode =AcRxArxApp::On_kUnloadAppMsg (pkt) ;

return (retCode) ;

}

5、此外向导还创建了命令的模板,我们可以根据模板来定义自己想要定义的命令:MyCommand。

(1)第一处修改

ACED_ARXCOMMAND_ENTRY_AUTO(CArxProject2App, yunyouMyGroup,CommandABC, CommandABC, ACRX_CMD_MODAL, NULL)

(2)第二处修改

static void yunyouMyGroupCommandABC () {

}

2、Arx二次开发创建第一个应用程序

2、Arx二次开发创建第一个应用程序

6、在命令中实现一个HelloWorld的打印。

static void yunyouMyGroupCommandABC () { acutPrintf(TEXT(“Hello world!”));}

四、总结

1、手动创建ARX的应用的步骤请参见收费课程的试听部分。

2、应用向导创建ARX应用程序的步骤。

3、如何在ARX中添加命令和命令实现函数。

4、创建第一个应用程序Hello World。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,918
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,444
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,255
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,069
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,701
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,741