| |
(7) #define PAUSE “\\” //暂停符
3. 结果缓冲区和数据类型码
结果缓冲区(result buffer)结构可以用来表示AutoCAD中所有数据类型。该结构中的数据定义为一个联合体,所以数据类型可发生变化;结果缓冲区中的数据的类型通过结构中的数据类型码(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 |
用户键入了关键字或其它文本 |
|
|