2、Arx二次开发创建第一个应用程序
一、本节课程
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应用程序放置在服务器端(比如说服务器端自动打印),特点就是不需要交互,运行速度很快。
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 () {
}
6、在命令中实现一个HelloWorld的打印。
static void yunyouMyGroupCommandABC () { acutPrintf(TEXT("Hello world!"));}
四、总结
1、手动创建ARX的应用的步骤请参见收费课程的试听部分。
2、应用向导创建ARX应用程序的步骤。
3、如何在ARX中添加命令和命令实现函数。
4、创建第一个应用程序Hello World。
2、Arx二次开发创建第一个应用程序的更多相关文章
- c++ Arx二次开发创建椭圆和样条曲线
一.本节课程 c++ Arx二次开发创建椭圆和样条曲线 二.本节要讲解的知识点 1.如何应用C++ ARX二次开发创建椭圆(对AcDbEllipse类的构造函数的直接封装和根据外接矩形来创建椭圆) 2 ...
- 4、c++ Arx二次开发创建多段线
一.本节课程 c++ Arx二次开发创建多段线 二.本节要讲解的知识点 如何应用C++ ARX二次开发创建多段线(AcDbPolyline.AcDb2dPolyLine.AcDb3dPolyline的 ...
- ASP.NET MVC 5 03 - 安装MVC5并创建第一个应用程序
不知不觉 又逢年底, 穷的钞票 所剩无几. 朋友圈里 各种装逼, 抹抹眼泪 MVC 继续走起.. 本系列纯属学习笔记,如果哪里有错误或遗漏的地方,希望大家高调指出,当然,我肯定不会低调改正的.(开个小 ...
- SharePoint使用BCS开发你第一个应用程序(一)
SharePoint使用BCS开发你第一个应用程序(一) 本系列教你使用BCS(Business Connectivity Service)创建OBA(Office business ...
- SharePoint使用BCS开发你第一个应用程序(三)
SharePoint使用BCS开发你第一个应用程序(三) 创建外部内容类型. 创建外部内容类型有三种不同方式: 1. 在记事本上手写XML代码(不推荐). 2. 使用SharePoin ...
- Netty入门二:开发第一个Netty应用程序
Netty入门二:开发第一个Netty应用程序 时间 2014-05-07 18:25:43 CSDN博客 原文 http://blog.csdn.net/suifeng3051/article/ ...
- TODO:即将开发的第一个小程序
TODO:即将开发的第一个小程序 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验.个人理解小程序是寄宿在微信平台上的一个前端框架,具有跨平台功能, ...
- Civil 3D 二次开发 创建AutoCAD对象—— 00 ——
不积跬步无以至千里,不积小流无以成江海.虽然创建一条直线.添加一个图层这样的小程序没有什么实际意义(内部命令很简单就可以完成),但对于初学二次开发的您来说,这可是一大步,这一步跨出去,您就跨进了二次开 ...
- Civil 3D 二次开发 创建Civil 3D 对象—— 01 —— 创建几何空间点
这一小节,我们创建派生于CivilCreateEntityDemo的类CivilCreateCogoPoint,来创建几何空间点. 1 创建类并添加字段及方法 首先在项目资源管理器中向本项目中添加类, ...
随机推荐
- SpringBoot_Mybatis_Maven_BootStrap
需要eclipse 配置maven 未完,待续 链接:https://pan.baidu.com/s/1vej2zEdJmKeMUJD9S1B5MA 密码:y5j9
- .Net 环境
更多系统版本下载:https://www.microsoft.com/net/download VSCode :https://code.visualstudio.com/
- 何为用户体验?附《用户体验的要素》PDF版下载
一.什么是用户体验? 用户体验(User Experience,简称UE/UX)是用户在使用产品过程中建立起来的一种纯主观感受.但是对于一个界定明确的用户群体来讲,其用户体验的共性是能够经由良好设计实 ...
- pip安装python模块遇到一直出现retrying的问题
最近安装python模块,遇到这样的一个问题如图所示: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status= ...
- python第三十课--异常(raise关键字)
演示: 1.手动抛出异常对象-->raise关键字 2.try-except代码不能解决语法错误 try: print('try...') raise TypeError('类型有误的异常') ...
- javascript:void(0)的问题
最近看了好几个关于<a>标签和javascript:void(0)的帖子,谨记于此,以资查阅. 注:以下代码未经全面测试,但每一种方法可能会出现的情况都基本做了说明. 在做页面时,如果想做 ...
- Docker技术入门与实战 第二版-学习笔记-3-Dockerfile 指令详解
前面已经讲解了FROM.RUN指令,还提及了COPY.ADD,接下来学习其他的指令 5.Dockerfile 指令详解 1> COPY 复制文件 格式: COPY <源路径> .. ...
- Java之Https请求
import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import ...
- Perl 杂记
1. Perl 变量: 创建变量是以 $ 开头,比如定义一个变量: $val = "Good job !" 2. Perl 控制流 if 语法: if ( ) { },注意if ...
- JAVA springmvc参数
一.简单参数: package jd.com.contronller; import jd.com.projo.goods; import org.springframework.stereotype ...