教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> 图像处理 >> AutoCAD >> ObjectARX简介 RSS订阅
ObjectARX简介
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
ObjectARX简介
    ObjectARX 应用程序是动态链接库(DLL),可以和AutoCAD共享地址空间,直接调用的内部函数。在ObjectARX应用程序中定义的命令与的内部命令运行方式相同,而在ObjectARX应用程序中创建的实体对象也和中创建的实体对象没有区别。
    目前ObjectARX的版本是ObjectARX for 2002,它是由Autodesk公司在发布 2002时推出的。
    使用ObjectARX的用户可以完成各种开发工作,例如:
    (1) 直接访问的图形数据库。
    (2) 和编辑器进行交互。
    (3) 使用MFC创建标准的Windows用户界面。
    (4) 支持的多文档接口(MDI)。
    (5) 在应用程序中自定义类。
    (6) 与Visual LISP、ActiveX、COM等编程接口通信。
38.1.2 系统的软、硬件要求
    使用ObjectARX for 2002开发工具的软件配置要求为:
    (1) Microsoft Visual 6.0版本。
    (2) Microsoft Windows 95或Windows NT4.0以上版本。
    使用ObjectARX for 2002开发工具的硬件配置要求为:
    (1) CPU至少为Inter Pentium 90 MHz或更高。
    (2) 内存至少为32M。
    (3) 800×600 SVGA显示适配器或更高。
38.1.3 ObjectARX目录结构
    ObjectARX开发工具包括如下几个目录:
    (1) ARXLABS:该目录中包含有9个子目录,分别从9个方面对ObjectARX程序开发进行说明和示范。
    (2) CLASSMAP:该目录中只有一个名为“classmap.dwg”的图形文件,其内容是说明ObjectARX类的层次结构。
    (3) DOCS:该目录中包含有ObjectARX的联机帮助文件。
    (4) DOCSAMPS:该目录中包含有32个子目录,分别保存着ObjectARX Developer's Guide 中所用到的例程。
    (5) INC:该目录中包含有ObjectARX的头文件。
    (6) LIB:该目录中包含有ObjectARX的库文件。
    (7) REDISTRIB:该目录中包含有ObjectARX应用程序可能用到的DLL文件。
    (8) SAMPLES:该目录中包含有22个子目录,分别保存着一个完整的、具有代表性的ObjectARX例程。
    (9) UTILS:该目录下包含有ObjectARX扩展应用程序使用的文件。
38.1.4 ObjectARX的类库简介
    ObjectARX开发工具中提供了如下几种类库:
    1. AcRx类库
    该类库提供了系统级的类和的宏指令集,用于约束一个应用程序以及实时类注册和识别。该类的基类为AcRxObject,提供了如下功能:
    (1) 对象实时类的标识及继承分析
    (2) 对现有类的扩充定义
    (3) 对象的比较及检验
    (4) 对象的复制
    2. AcEd类库
    该类库用于注册本地命令和系统事件通知。
    3. AcDb类库
    该类库提供了可直接访问数据库结构的类,用于对实体和对象进行各种操作。
    4. AcGi类库
    该类库提供了图形界面工具,用于绘制和渲染实体。
    5. AcGe类库
    该类库可被AcDb类所引用,可用于线形代数和几何实体的操作。
38.1.5 ObjectARX的变量与常量
    1. 数据类型
    为了提高程序的可读性,ObjectARX中定义了如下几种数据类型:
    (1) typedef double ads_real; //实数
    (2) typedef ads_real ads_point; //点
    (3) typedef ads_real ads_matrix; //转换矩阵
    (4) typedef long ads_name; //实体和选择集名称
    2. 常量
    ObjectARX中定义了如下几种常量值:
    (1) #define TRUE 1
    (2) #define FALSE 0
    (3) #define X 0
    (4) #define Y 1
    (5) #define Z 2
    (6) #define EOS ‘\0’ //字符串结束符
    (7) #define PAUSE “\\” //暂停符
    3. 结果缓冲区和数据类型码
    结果缓冲区(result buffer)结构可以用来表示中所有数据类型。该结构中的数据定义为一个联合体,所以数据类型可发生变化;结果缓冲区中的数据的类型通过结构中的数据类型码(type codes)来定义。结果缓冲区结构的定义如下:
    union ads_u_val{
    ads_real rreal;
    ads_real rpoint;
    short rint;
    char *rsting;
    long rlname;
    long rlong;
    struct ads_binary rbinary;
    };
    struct resbuf{
    struct resbuf *rbnext; //链表指针
    short restype; //数据类型码或DXF组码
    union ads_u_val resval; //数据
    };
    其中常用的数据类型码及其意义如表38-1所示。
表38-1 结果缓冲区结构中的数据类型码

数据类型码

意义

RTNONE

无数据

RTREAL

实数

RTPOINT

二维点

RTSHORT

短整型

RTANG

角度

RTSTR

字符串

RTENAME

实体名称

RTPICKS

选择集名称

RT3DPOINT

三维点

RTLONG

长整型

    通常使用链表作为结果缓冲区的数据结构,例如图38-1表示了一个具有三个结点的结果缓冲区链表。

    4. 函数返回的结果类型码
    ObjectARX全局函数的返回值可以是其结果值,也可以是结果类型码。通常全局函数返回结果类型码以反映函数操作情况。结果类型码的种类及其意义如表38-2所示。
表38-2 ObjectARX函数返回的结果类型码

结果类型码

意义

RTNORM

函数操作成功

RTERROR

函数操作失败

RTCAN

用户按下“ESC”键取消操作

RTREJ

拒绝执行操作(操作不合法)

RTFAIL

与AutoLISP通信失败

RTKWORD

用户键入了关键字或其它文本

来源:十度教育
作者:
关键字:
发表日期:2006-10-19 10:35:39

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:AutoCAD设计中心简介、启动和界面   下一篇:修改和定义命令别名


2008-10-8 6:16:37
本文的相类似文章
在学习中进步 在进步中成长 教程中国相随您的成长之路
华腾联合科技股份有限公司版权所有
广告联系:Rosibo@163.com