ObjectArx开发常用资料
一、ADS函数与ARX函数对比 ARX常用的函数功能表
ADS原函数 ARX后函数函数功能
ads采用agetcfgacedGetCfg
ads采用agetenvacedGetEnv
ads采用alertacedAlert 显示一个对话框,对话框中有用户指定的信息
ads采用angleacutAngle求出直线与当前X轴的夹角
ads采用angtofacdbAngToF将一个显示为角度值得字符串转化为实数(浮点数)
ads采用angtos acdbAngToS把角度值转换为字符串
ads采用arxloadacedArxLoad将ARX应用程序装载入CAD中
ads采用arxloadedacedArxLoaded以链表的方式返回当前装入的ARX应用程序
ads采用arxunloadacedArxUnload将一个ARX应用程序从CAD中卸载出去
ads采用asetcfgacedSetCfg
ads采用asetenvacedSetEnv
ads采用buildlistacutBuildList创建结果缓冲区链表
ads采用cmdacedCmd借助一个结果缓冲区链表来执行CAD命令(有使用条件)
ads采用commandacedCommand执行CAD命令(有使用条件)
ads采用cvunitacutCvUnit在各种单位制内进行转换
ads采用defunacedDefun定义一个外部函数
ads采用dictaddacdbDictAdd 向指定字典中添加一个非图形对象
ads采用dictnext acdbDictNext 使程序指针指向字典中的下一个实体,并返回这个指向它的指针
ads采用dictremove acdbDictRemove从指定字典中一走一个实体
ads采用dictrname acdbDictRename从命名一个字典条目
ads采用dictsearchacdbDictSearch 对一个给定实体条目,寻找一个字典
ads采用distanceacutDistance 求出两点之间的距离
ads采用distof acdbDisToF将一个显示为实数的字符串转化为实数(浮点数)
ads采用draggenacedDragGen 提示用户动态拖动一个选择集
ads采用entdelacdbEntDel 删除(或者取消删除)图形中的实体
ads采用entgetacdbEntGet 获得一个实体的定义数据
ads采用entgetx acdbEntGetX获得实体数据,包括应用程序注册的扩展数据
ads采用entlast acdbEntLast 查找图形中最后一个实体
ads采用entmakeacdbEntMake 形成一个新的实体,并把这个实体的定义数据添加到数据库中去
ads采用entmakexacdbEntMakeX 同acedEntMake()一样,但返回新的实体名称
ads采用entmodacdbEntMod 修改一个实体的定义数据
ads采用entnextacdbEntNext查找图形中的下一个实体
ads采用entselacdbEntSel提示用户以指定一点的方式来选择一个实体
ads采用entupdacdbEntUpd更新实体的屏幕显示
ads采用failacdbFail简单的打印错误信息并把控制权返回给调用者
ads采用findfileacedFindFile寻找一个指定的文件
ads采用fnsplitacedFNSplit
ads采用getangleacedGetAngle提示用户输入一个角度,要考虑ANGBASE系统变量的当前值
ads采用getappnameacedGetAppName获得当前ARX应用程序的文件名称
ads采用getargsacedGetArgs获得在调用外部函数时的命令行参数
ads采用getcfgacedGetCfg
ads采用getcnameacedGetCName获取一个命令的本地名或与语言无关的名称
ads采用getcorner acedGetCorner提示用户输入一个矩形的顶点
ads采用getdistacedGetDist提示用户输入一个距离
ads采用getenvacedGetEnv
ads采用getfiledacedGetFileD用标准的CAD对话框提示用户输入要查找的文件名
ads采用getfuncodeacedGetFunCode获得外部函数的码值
ads采用getinputacedGetInput提取传送用户输入函数acedGetXxx()的关键字(可以是任意字符)
ads采用getintacedGetInt提示用户输入一个整数
ads采用getkwordacedGetKword提示用户输入一个关键字
ads采用getorientacedGetOrient类似于acedGetAngle(),但零度方向总是向右
ads采用getpointacedGetPoint提示用户输入一个点
ads采用getrealacedGetReal提示用户输入一个浮点数
ads采用getstringacedGetString提示用户输入一个字符串
ads采用getstringbacedGetStringB
ads采用getsymacedGetSym获取一个LISP符号的值(有使用条件)
ads采用getvaracedGetVar获取一个系统变量的当前值
ads采用graphscracedGraphScr显示当前图形屏幕
ads采用grdrawacedgrDraw在当前端口画一个矢量
ads采用grreadacedGrRead读取输入设备
ads采用grtextacedGrText在屏幕的菜单区/模式区/或状态区显示文本
ads采用grvecsacedGrVecs在当前图形屏幕上画多个矢量
ads采用handentacdbHandEnt通过实体的句柄查找实体
ads采用helpacedHelp调用帮助功能
ads采用initgetacedInitGet次定用户响应下一次调用输入函数acedGetXxx()时那些值是有效的
ads采用intersacdbInters求出两直线的交点
ads采用invokeacedInvoke在ARX应用程序中调用外部函数
ads采用isalnumacutIsAlNum验证是否是字母或数字
ads采用isalphaacutIsAlpha验证是否是字母
ads采用iscntrlacutIsCntrl验证是否是一个控制字符
ads采用isdigitacutIsDigit验证是否是数字
ads采用isgraphacutIsGraph验证是否是一个图形字符
ads采用isloweracutIsLower验证是否是小写字母
ads采用isprintacutIsPrint验证是否是一个可打印字符
ads采用ispunctacutIsPunct验证是否是一个标点符号
ads采用isspaceacutIsSpace验证是否是一个空白字符
ads采用isupperacutIsUpper验证是否是一个大写字母
ads采用isxdigitacutIsXDigit验证是否是一个十六进制数字
ads采用menucmd acedMenuCmd显示并激活菜单
ads采用name采用clearacdbNameClear可将ads采用name型的数据赋值为空
ads采用name采用equalacdbNameEqual可比较两个ads采用name型的数据是否相同
ads采用name采用nilacdbNameNil可以检测这个实体名或选择集名为空
ads采用name采用setacdbNameSet可以复制一个实体名或选择集名
ads采用namedobjdictacdbNameObjDict返回图形字典的实体名
ads采用nentselacedNEnrSel类似acedNEntSelp(),但使用4*3(而非4*4)作为变换矩阵,不能指定点
ads采用nentselpacedNEntSelp类似acedNEntSel(),但对于嵌套实体返回附加数据,并使程序能指定选择点
ads采用newrbacutNewRb创建一个新的结果缓冲区
ads采用osnapacedOsnap借助指定对象的捕捉方式来捕捉一个点
ads采用point采用setacdbPointSet可以将一个点复制给另一个点
ads采用polaracutPolar通过极坐标求一点
ads采用printfacutPrintf在文本屏幕输出一条信息
ads采用promptacedPrompt在提示行中显示一条信息
ads采用putsymacedPutsym设置LISP符号的值(有使用条件)
ads采用redrawacedRedraw将当前图形屏幕做重画操作
ads采用regappacdbRegApp注册应用程序的扩展实体数据
ads采用regfuncacdbRegFunc注册一个可以直接调用的外部函数
ads采用relrbacutRelRb释放分配给一个结果缓冲区或一个结果缓冲区链表内存
ads采用retintacedRetInt返回一个整数
ads采用retlistacedRetList返回一个表
ads采用retnameacedRetName返回一个实体的名称或选择集的名称
ads采用retnilacedRetNil返回一个Nil值
ads采用retpointacedRetPoint返回一个点
ads采用retrealacedRetReal返回一个浮点数
ads采用retstracedRetStr返回一个字符串
ads采用rettacedRetT返回逻辑真
ads采用retvalacedRetVal返回一个包含在结果缓冲区的值
ads采用retvoidacedRetVoid返回一个不显示的控制(void)
ads采用rtosacdbRToS将一个实数(浮点数)转化为字符串
ads采用setcfgacedSetCfg添加应用程序数据到系统acad.cfg文件的应用程序数据部分
ads采用setenvacedSetEnv
ads采用setfunhelpacedSetFunHelp为一个通过命令行“C:外部函数名”方式启动的命令注册帮助信息
ads采用setvaracedSetVar设置CAD系统变量的值(有使用条件)
ads采用setviewacedSetView为指定端口建立一个3D视图
ads采用snvalidacdbSNValid检查一个符号表名称的合法性
ads采用ssaddacedSSAdd向选择集里添加新的实体(或创建新的选择集)
ads采用ssdelacedSSDel从选择集里删除一个实体
ads采用ssfreeacedSSFree释放一个选择集
ads采用ssgetacedSSGet获得(生成)一个选择集
ads采用ssgetfirstacedSSGetFirst决定那个对象被选中或支持(grip)
ads采用sslengthacedSSLength返回一个选择集中的实体的数量
ads采用ssmembacedSSMemb检测一个实体是否是选择集里的一个实体(属于选择集)
ads采用ssnameacedSSName返回选择集里一个实体的实体名
ads采用ssnamexacedSSNameX描述选择集中对象是如何选中的
ads采用sssetfirstacedSSSetFirst选择或夹持对象
ads采用tabletacedTablet控制数据化仪的标定
ads采用tblnextacdbTblNext扫描指定的符号表,并返回这个表的下一个条目
ads采用tblobjnameacdbTblObjName返回一个可传送给acedEntGet()或acedEntMod()的实体标识符,以定位实际实体
ads采用tblsearchacdbTblSearch扫描指定符号表,并以结果缓冲区链表方式返回查找到的指定符号
ads采用textboxacedTextBox找出包含文本实体的矩形框的对角坐标
ads采用textpageacedTextPage显示当前文本屏幕,在显示前先清屏
ads采用textscracedTextscr显示当前文本屏幕
ads采用toloweracutTolower将字符转为小写
ads采用toupperacutToUpper将字符转为大写
ads采用transacedTrans降一个点或一个位移从一个坐标系转换到另一个坐标系
ads采用undefacedUndef取消一个外部函数的定义
ads采用updateacedUpdate
ads采用usrbrkacedUsrBrk检查用户有没有按下ESC建
ads采用vportsacedVports为当前端口配置,返回一个端口描述器表
ads采用wcmatchacutWcMatch检测一个字符串是否与一个通配符模式相匹配
ads采用xdroomacdbXdRoom返回一个实体还能容纳的扩展数据的内存,一个实体做多只能容纳16k
ads采用xdsizeacdbXdSize返回扩展数据链表将占用的内存空间(字节)
ads采用xfromssacedXfromSS将一个指定矩阵应用到指定的选择集上
ads采用xstrcaseacdbXStrCase
ads采用xstrsaveacdbXStrSave
ads采用ssGetKwordCallbackPtracedSSGetKwordCallbackPtr获得并保存指向回调函数的指针
acs采用ssGetOtherCallbackPtracedSSGetKwordCallbackPtr
ads采用ssSetKwordCallbackPtracedSSSetKwordCallbackPtr提供指向一个关键字回调函数的指针
ads采用ssSetOtherCallbackPtracedSSSetOtherCallbackPtr提供指向“其他”的当前回调函数的指针
二、ARX里定义的数据类型
ads采用realtypedef double ads采用real下面这些宏全包含在头文件string.h中
ads采用pointtypedefads采用real ads采用pointads采用point采用set()宏,可以将一个点复制给另一个点
ads采用nametypedef long ads采用nameads采用name采用set()宏,可以复制一个实体名或选择集名 ads采用name采用equal()宏,可以比较两个ads采用name型的数据是否相同 ads采用name采用char()宏,可以将ads采用name型的数据赋值为空 ads采用name采用nil()宏,可以检测这个实体名或选择集名为空
ads采用binarystruct ads采用binary{ short clen;//块的长度,单位为字节 char *buf;//字符指针,表二元数据 }; 用于处理二元扩展数据(xdata),这些数据可组成不同长度的集合块(chunks)
三、结果类型码
RTNONE 无结果值 RT3DPOINT 3D点(X,Y,Z)
RTREAL 实数值 RTLONG 长整数(32位)
RTPOINT 2D点(X和Y;Z=0.0) RTVOID 空符号
RTSHORT 短整数(16位) RTLB 序列起始(用于嵌套序列)
RTANG 角度 RTLE 序列结束(用于嵌套序列)
RTSTR 字符串 RTDOTE 点(用于点对)
RTENAME 实体名 RTT LISP中的T(代表真)
REPICKS 选择集名 RTNIL LISP中的nil(代表空)
RTORINT 方位 RTDXF0 用于DFX的组码0(只与acutBulidList()一起)
四、函数返回结果类型代码
RTNORM 用户输入一个有效值,表示函数调用成功
RTERROR 表示函数调用失败
RTCAN 用户取消了当前函数的运行过程,即按下了ESC
RTREJ AutoCAD拒绝一无效的要求
RTFAIL AutoLISP链接失败
RTKWORD 用户输入一个关键字或任意文本
注:并不是全部ARX函数都如此,有特殊的函数值返回值不同(会有RTNONE或RTSTR返回值) 五、其他代码
#define TURE 1 表示为真
#define FALSE 0 表示为假
#define EOS 表示字符中止的符号
#define PAUSE 在命令参数中代表暂停
#define GOOD 1 表示真
#define BAD 0 表示假
六、用户输入控制位代码:由函数acedInitGet()先发控制
RSG采用NUNULL 不允许空输入
RSG采用NOZERO 不允许零值
RSG采用NONEG 不允许负值
RSG采用OTHER 允许任意输入
RSG采用NOLIM 不检测绘图界限,即使LIMCHECK为0
RSG采用DASH 当绘图带拖动功能的线或方框时,使用虚线
RSG采用2D 忽略3D点的Z坐标(只适用于acedGetDist()函数)
acedSSGet函数的选择模式选项
值(选择模式) 说明
NULL 单点选择(如果制定了pt1)或者提示用户选择(如果pt1的值为NULL)
# 非集合选择模式(包括All、Last、和Previous选择模式)
. 用户选择模式
:? 其他回调选择模式(Other callbacks)
A 全部选择
B 框选模式
C 窗交选择模式
CP 圈交选择模式(选择多边形(通过在待选对象周围指定点来定义)内部或与之相交的多有对象)
:D 允许复制选择模式(Duplicates Ok)
:E 小孔中的所有实体(Everything in aperture)
F 栏选模式
G 选择编组
I 获得当前图形窗口中已经选择的实体(PickFirst 选择集)
:K 键盘回调选择模式(Keyword callbacks)
L 选择最近一次创建的可见实体
M 指定多次选择而不高亮显示对象,从而加快对复杂对象的选择过程
P 选择最近创建的选择集
:S 单一对象选择模式
W 窗口选择模式
WP 圈围选择模式
X 过滤选择模式
页:
[1]