arx常用的一些函數功能表
ADS原函數 | ARX後函數 | 函數功能 |
ads_agetcfg ads_agetenv ads_alert ads_angle ads_angtof ads_angtos ads_arxload ads_arxloaded ads_arxunload ads_asetcfg ads_asetenv ads_buildlist ads_cmd ads_command ads_cvunit ads_defun ads_dictadd ads_dictnext ads_dictremove ads_dictrename ads_dictsearch ads_distance ads_distof ads_draggen ads_entdel ads_entget ads_entgetx ads_entlast ads_entmake ads_entmakex ads_entmod ads_entnext ads_entsel ads_entupd ads_fail ads_findfile ads_fnsplit ads_getangle ads_getappname ads_getargs ads_getcfg ads_getcname ads_getcorner | acedGetCfg acedGetEnv acedAlert acutAngle acdbAngToF acdbAngToS acedArxLoad acedArxLoaded acedArxUnload acedSetCfg acedSetEnv acutBuildList acedCmd acedCommand acutCvUnit acedDefun acdbDictAdd acdbDictNext acdbDictRemove acdbDictRename acdbDictSearch acutDistance acdbDisToF acedDragGen acdbEntDel acdbEntGet acdbEntGetX acdbEntLast acdbEntMake acdbEntMakeX acdbEntMod acdbEntNext acedEntSel acdbEntUpd acdbFail acedFindFile acedFNSplit acedGetAngle acedGetAppName acedGetArgs acedGetCfg acedGetCName acedGetCorner | 顯示一個對話框,對話框中有使用者指定的資訊 求出直線與目前X軸的夾角 将一個顯示為角度值的字元串轉化為實數(浮點數) 把角度值轉換為字元串 将ARX應用程式裝載入CAD中,供使用 以連結清單的方式傳回目前裝入的ARX應用程式 将一個ARX應用程式從CAD從解除安裝出去 建立結果緩沖區連結清單 借助一個結果緩沖區連結清單來執行CAD指令(有使用條件) 執行CAD指令(有使用條件) 在各種機關制内進行轉換 定義一個外部函數 向指定字典中添加一個非圖形對象 使程式指針指向字典中的下一個實體,并傳回這個指向它的指針 從指定字典中移走一個實體 重命名一個字典條目 對一個給定實體條目,尋找一個字典 求出兩點之間的距離 将一個顯示為實數的字元串轉化為實數(浮點數) 提示使用者動态拖動一個選擇集 删除(或者取消删除)圖形中的實體 獲得一個實體的定義資料 獲得實體資料,包括應用程式注冊的擴充資料 查找圖形中最後一個實體 形成一個新的實體,并把這個實體的定義資料添加到資料庫中去 同acedEntMake()一樣,但傳回新的實體名稱 修改一個實體的定義資料 查找圖形中的下一個實體 提示使用者以指定一點的方式來選擇一個實體 更新實體的螢幕顯示 簡單的列印錯誤資訊并把控制權傳回給調用者 尋找一個指定的檔案 提示使用者輸入一個角度,要考慮ANGBASE系統變量的目前值 獲得目前ARX應用程式的檔案名稱 獲得在調用外部函數時的指令行參數 擷取一個指令的本地名或與語言無關的名稱 提示使用者輸入一個矩形的頂點 |
ads_getdist ads_getenv ads_getfiled ads_getfuncode ads_getinput ads_getint ads_getkword ads_getorient ads_getpoint ads_getreal ads_getstring ads_getstringb ads_getsym ads_getvar ads_graphscr ads_grdraw ads_grread ads_grtext ads_grvecs ads_handent ads_help ads_initget ads_inters ads_invoke ads_isalnum ads_isalpha ads_iscntrl ads_isdigit ads_isgraph ads_islower ads_isprint ads_ispunct ads_isspace ads_isupper ads_isxdigit ads_menucmd ads_name_clear ads_name_equal ads_name_nil ads_name_set ads_namedobjdict ads_nentsel | acedGetDist acedGetEnv acedGetFileD acedGetFunCode acedGetInput acedGetInt acedGetKword acedGetOrient acedGetPoint acedGetReal acedGetString acedGetStringB acedGetSym acedGetVar acedGraphScr acedGrDraw acedGrRead acedGrText acedGrVecs acdbHandEnt acedHelp acedInitGet acdbInters acedInvoke acutIsAlNum acutIsAlpha acutIsCntrl acutIsDigit acutIsGraph acutIsLower acutIsPrint acutIsPunct acutIsSpace acutIsUpper acutIsXDigit acedMenuCmd acdbNameClear acdbNameEqual acdbNameNil acdbNameSet acdbNamedObjDict acedNEntSel | 提示使用者輸入一個距離 用标準的CAD對話框提示使用者輸入要查找的檔案名 獲得外部函數的碼值 提取傳送給使用者輸入函數acedGetXxx()的關鍵字(可以是任意字元) 提示使用者輸入一個整數 提示使用者輸入一個關鍵字 類似于acedGetAngle(),但零度方向總是向右 提示使用者輸入一個點 提示使用者輸入一個浮點數 提示使用者輸入一個字元串 擷取一個LISP符号的值(有使用條件) 擷取一個系統變量的目前值 顯示目前圖形螢幕 在目前端口畫一矢量 讀取輸入裝置 在螢幕的菜單區"模式區或狀态區顯示文本 在目前圖形螢幕上畫多個矢量 通過實體的句柄查找實體 調用幫助功能 次定使用者響應下一次調用輸入函數acedGetXxx()時那些值是有效的 求出兩直線的交點 在ARX應用程式中調用外部函數 驗證是否是字母或數字 驗證是否是字母 驗證是否是一個控制字元 驗證是否是數字 驗證是否是一個圖形字元 驗證是否是小寫字母 驗證是否是一個可列印字元 驗證是否是一個标點符号 驗證是否是一個空白字元 驗證是否是大字字母 驗證是否是一個十六進制數字 顯示并激活菜單 可将ads_name型的資料指派為空 可比較兩個ads_name型的資料是否相同 可以檢測這個實體名或選擇集名為空 可以複制一個實體名或選擇集名 傳回圖形字典的實體名 類似acedNEntSelp(),但使用4*3(而非4*4)作為變換矩陣,不能指定點 |
ads_nentselp ads_newrb ads_osnap ads_point_set ads_polar ads_printf ads_prompt ads_putsym ads_redraw ads_regapp ads_regfunc ads_relrb ads_retint ads_retlist ads_retname ads_retnil ads_retpoint ads_retreal ads_retstr ads_rett ads_retval ads_retvoid ads_rtos ads_setcfg ads_setenv ads_setfunhelp ads_setvar ads_setview ads_snvalid ads_ssadd ads_ssdel ads_ssfree ads_ssget ads_ssgetfirst ads_sslength ads_ssmemb ads_ssname ads_ssnamex ads_sssetfirst | acedNEntSelP acutNewRb acedOsnap acdbPointSet acutPolar acutPrintf acedPrompt acedPutSym acedRedraw acdbRegApp acedRegFunc acutRelRb acedRetInt acedRetList acedRetName acedRetNil acedRetPoint acedRetReal acedRetStr acedRetT acedRetVal acedRetVoid acdbRToS acedSetCfg acedSetEnv acedSetFunHelp acedSetVar acedSetView acdbSNValid acedSSAdd acedSSDel acedSSFree acedSSGet acedSSGetFirst acedSSLength acedSSMemb acedSSName acedSSNameX acedSSSetFirst | 類似于acedEntSel(),但對于嵌套實體傳回附加資料,并使程式能指定選擇點 建立一個新的結果緩沖區 借助指定對象的捕捉方式來捕捉一個點 可以将一個點複制給另一個點 通過極坐标求一點 在文本螢幕上輸出一條資訊 在提示行中顯示一條資訊 設定LISP符号的值(有使用條件) 将目前圖形螢幕做重畫操作 注冊應用程式的擴充實體資料 注冊一個可以直接調用的外部函數 釋放配置設定給一個結果緩沖區或一個結果緩沖區連結清單的記憶體 傳回一個整數 傳回一個表 傳回一個實體的名稱或選擇集的名稱 傳回一個Nil值 傳回一個點 傳回一個浮點數 傳回一個字元串 傳回邏輯真 傳回一個包含在結果緩沖區的值 傳回一個不顯示的空值(void) 将一個實數(浮點數)轉化為字元串 添加應用程式資料到系統acad.cfg檔案的應用程式資料部分(?) 為一個通過指令行“C:外部函數名”方式啟動的指令注冊幫助資訊. 設定CAD系統變量的值(有使用條件) 為指定端口建立一個3D視圖 檢查一個符号表名稱的合法性 向選擇集裡添加新的實體(或建立新的選擇集) 從選擇集裡删除一個實體 釋放一個選擇集 獲得(生成)一個選擇集 決定那個對象被選中或夾持(grip) 傳回一個選擇集中的實體的數量 檢測一個實體是否是選擇集裡中的一個實體(屬于選擇集) 傳回選擇集裡一個實體的實體名 描述選擇集中的對象是如何選中的 選擇或夾持對象 |
ads_tablet ads_tblnext ads_tblobjname ads_tblsearch ads_textbox ads_textpage ads_textscr ads_tolower ads_toupper ads_trans ads_undef ads_update ads_usrbrk ads_vports ads_wcmatch ads_xdroom ads_xdsize ads_xformss ads_xstrcase ads_xstrsave | acedTablet acdbTblNext acdbTblObjName acdbTblSearch acedTextBox acedTextPage acedTextScr acutToLower acutToUpper acedTrans acedUndef acedUpdate acedUsrBrk acedVports acutWcMatch acdbXdRoom acdbXdSize acedXformSS acdbXStrCase acdbXStrSave | 控制資料化儀的标定(?) 掃描指定的符号表,并傳回這個表的下一個條目 返一個可傳送給acedEntGet()或acedEntMod()的實體辨別符,以定位實際實體 掃描指定的符号表,并以結果緩沖區連結清單方式傳回查找到的指定符号 找出包含文本實的矩形框的對角坐标 顯示目前文本螢幕,在顯示前先清屏 顯示目前文本螢幕 将字元轉為小寫 将字元轉為大寫 将一個點或一個位移從一個坐标系轉換到另一個坐标系 取消一個外部函數的定義 檢查使用者有沒有按下ESC鍵 為目前端口配置,傳回一個端口描述器表 測試一字元串是否與一通配符模式相比對 傳回一個實體還能容納的擴充資料的記憶體空間,一個實體最多隻能容納16K 傳回擴充資料連結清單将占用的記憶體空間(位元組) 将一個指定矩陣應用到指定的選擇集上 |
ads_ssGetKwordCallbackPtr ads_ssGetOtherCallbackPtr ads_ssSetKwordCallbackPtr ads_ssSetOtherCallbackPtr | acedSSGetKwordCallbackPtr acedSSGetOtherCallbackPtr acedSSSetKwordCallbackPtr acedSSSetOtherCallbackPtr | 獲得并儲存指向回調函數的指針 提供指向一個關鍵字回調函數的指針 提供指向一”其它”的目前回調函數的指針 |
ARX裡定義的資料類型:
ads_real ads_point ads_name ads_binary | typedef double ads_real typedef ads_real ads_point[3] typedef long ads_name[2] struct ads_binary{ short clen;//塊的長度,機關為位元組 char *buf;// 字元指針,表二進制資料 }; | (下面這些宏全包含在頭檔案string.h中) ads_point_set()宏,可以将一個點複制給另一個點 ads_name_set()宏,可以複制一個實體名或選擇集名 ads_name_equal()宏,可比較兩個ads_name型的資料是否相同 ads_name_clear()宏,可将ads_name型的資料指派為空 ads_name_nil()宏,可以檢測這個實體名或選擇集名為空 用于處理二進制擴充資料(xdata),這些資料可組成不同長度的集合塊(chunks). |
結果類型碼:
RTNONE RTREAL RTPOINT RTSHORT RTANG RTSTR RTENAME REPICKS PTORINT | 無結果值 實數值 2D點(X和Y; Z=0.0) 短整數(16位) 角度 字元串 實體名 選擇集名 方位 | RT3DPOINT RTLONG RTVOID RTLB RTLE RTDOTE RTT RTNIL RTDXF0 | 3D點(X,Y和Z) 長整數(32位) 空符号 序列起始(用于嵌套序列) 序列結束(用于嵌套序列) 點(用于點對) LISP中的T(代表真) LISP中的nil(代表空) 用于DFX的組碼0(隻與acutBuildList()一起 |
函數傳回結果類型代碼:
RTNORM RTERROR RTCAN RTREJ RTFAIL RTKWORD | 使用者輸入一個有效值,表示函數調用成功 表示函數調調用失敗 使用者取消了目前函數的運作過程,即按下了ESC鍵 AutoCAD拒絕一無效的要求 AutoLISP連接配接失敗 使用者輸入一個關鍵字或任意文本 |
(并不是全部ARX函數都如此,有特殊的函數傳回值不同(會有RTNONE或RTSTR傳回值)
其它代碼:
#define TURE 1 #define FALSE 0 #define EOS ‘"0’ #define PAUSE “""” | 表示為真 表示為假 表示字元中止的符号 在指令參數中表示暫停 | #define GOOD 1 #define BAD 0 | 表示真 表示假 |
使用者輸入控制位代碼:由函數acedInitGet()先發控制
RSG_NONULL RSG_NOZERO RSG_NONEG RSG_OTHER | 不允許空輸入 不允許零值 不允許負值 允許任意輸入 | RSG_NOLIM RSG_DASH RSG_2D | 不檢測繪圖界限,即使LIMCHECK為0 當繪圖帶拖動功能的線或方框時,使用虛線 忽略3D點的Z坐标(隻适用于acedGetDist()函數) |