- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ch38_ok
38.1 ObjectARX简介
38.1.1 ObjectARX简介
ObjectARX 应用程序是动态链接库(DLL),可以和AutoCAD共享地址空间,直接调用AutoCAD的内部函数。在ObjectARX应用程序中定义的命令与AutoCAD的内部命令运行方式相同,而在ObjectARX应用程序中创建的实体对象也和AutoCAD中创建的实体对象没有区别。
目前ObjectARX的版本是ObjectARX for AutoCAD 2002,它是由Autodesk公司在发布AutoCAD 2002时推出的。
使用ObjectARX的用户可以完成各种开发工作,例如:
直接访问AutoCAD的图形数据库。
和AutoCAD编辑器进行交互。
使用MFC创建标准的Windows用户界面。
支持AutoCAD的多文档接口(MDI)。
在应用程序中自定义类。
与Visual LISP、ActiveX、COM等编程接口通信。
38.1.2 系统的软、硬件要求
使用ObjectARX for AutoCAD 2002开发工具的软件配置要求为:
Microsoft Visual C++ 6.0版本。
Microsoft Windows 95或Windows NT4.0以上版本。
使用ObjectARX for AutoCAD 2002开发工具的硬件配置要求为:
CPU至少为Inter Pentium 90 MHz或更高。
内存至少为32M。
800×600 SVGA显示适配器或更高。
38.1.3 ObjectARX目录结构
ObjectARX开发工具包括如下几个目录:
ARXLABS:该目录中包含有9个子目录,分别从9个方面对ObjectARX程序开发进行说明和示范。
CLASSMAP:该目录中只有一个名为“classmap.dwg”的图形文件,其内容是说明ObjectARX类的层次结构。
DOCS:该目录中包含有ObjectARX的联机帮助文件。
DOCSAMPS:该目录中包含有32个子目录,分别保存着ObjectARX Developers Guide 中所用到的例程。
INC:该目录中包含有ObjectARX的头文件。
LIB:该目录中包含有ObjectARX的库文件。
REDISTRIB:该目录中包含有ObjectARX应用程序可能用到的DLL文件。
SAMPLES:该目录中包含有22个子目录,分别保存着一个完整的、具有代表性的ObjectARX例程。
UTILS:该目录下包含有ObjectARX扩展应用程序使用的文件。
38.1.4 ObjectARX的类库简介
ObjectARX开发工具中提供了如下几种类库:
AcRx类库
该类库提供了系统级的类和C++的宏指令集,用于约束一个应用程序以及实时类注册和识别。该类的基类为AcRxObject,提供了如下功能:
对象实时类的标识及继承分析
对现有类的扩充定义
对象的比较及检验
对象的复制
AcEd类库
该类库用于注册本地命令和系统事件通知。
AcDb类库
该类库提供了可直接访问AutoCAD数据库结构的类,用于对AutoCAD实体和对象进行各种操作。
AcGi类库
该类库提供了图形界面工具,用于绘制和渲染AutoCAD实体。
AcGe类库
该类库可被AcDb类所引用,可用于线形代数和几何实体的操作。
38.1.5 ObjectARX的变量与常量
数据类型
为了提高程序的可读性,ObjectARX中定义了如下几种数据类型:
typedef double ads_real; //实数
typedef ads_real ads_point[3]; //点
typedef ads_real ads_matrix[4][4]; //转换矩阵
typedef long ads_name[2]; //实体和选择集名称
常量
ObjectARX中定义了如下几种常量值:
#define TRUE 1
#define FALSE 0
#define X 0
#define Y 1
#define Z 2
#define EOS ‘\0’ //字符串结束符
#define PAUSE “\\” //暂停符
结果缓冲区和数据类型码
结果缓冲区(result buffer)结构可以用来表示AutoCAD中所有数据类型。该结构中的数据定义为一个联合体,所以数据类型可发生变化;结果缓冲区中的数据的类型通过结构中的数据类型码(type codes)来定义。结果缓冲区结构的定义如下:
union ads_u_val{
ads_real rreal;
ads_real rpoint[3];
short rint;
char *rsting;
long rlname[2];
long rl
您可能关注的文档
- 告别野蛮3.ppt
- 布艺床关键词出价.docx
- 广告投放规则.docx
- 必修3 第3课.ppt
- 拍车牌教程.doc
- 欢乐圣诞节PPT.ppt
- 琼华骧绮.ppt
- 百度竞价教程之百度推广最全术语解释.docx
- 湘鲁版五年级上unit 11 Merry Christmas and Happy New Year.ppt
- 直方图估计总体.ppt
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
文档评论(0)