AutoLISP入門教學.JPG (45140 bytes)


單元四:快速分類瀏覽AutoLISP功能函數(二)

 

第九類 選擇集、符號表處理功能函數

項目

函數語法

傳    回

9.1 (ssadd [圖元名稱] [選擇集]) 將圖元加入選擇集或建立一新選擇集
9.2 (ssdel 圖元名稱 選擇集) 將圖元自選擇集中移出
9.3 (ssget [模式] [1] [2]) 取得一個選擇集
9.4 (ssget "X" [過濾串列]) 取得依過濾串列所指定範圍的選擇集
9.5 (sslenth 選擇集) 計算選擇集的圖元個數
9.6 (ssmemb 圖元名稱 選擇集) 回應圖元名稱是否包含於選擇集內
9.7 (ssname 選擇集 索引值) 依索引值取出選擇集中的圖元名稱
9.8 (tblnext 符號表名稱 [T]) 檢視符號表,有效的符號表: "LAYER""LTYPE""VIEW""STYLE""BLOCK"
9.9 (tblsearch 符號表名稱 符號) 在符號表中蒐尋符號

第十類 AutoCAD 相關查詢、控制功能函數

項目

函數語法 傳    回
10.1 (command "AutoCAD 指令" ...) 呼叫執行AutoCAD指令
10.2 (findfile 檔名) 傳回:應該檔名的路徑及檔名
10.3 (getfiled 標題 內定檔名 副檔名 旗號) 透過標準AutoCAD檔案對話DCL交談框求得檔案
10.4 (getenv "環境變數") 取得該環境變數的設定值,以字串表示
10.5 (getvar "系統變數") 取得該系統變數的設定值,以字串表示
10.6 (setvar "系統變數" ) 設定該系統變數的值
10.7 (regapp 應用類項) 將目前的AutoCAD圖形登記為一個應用程式名稱

第十一類 判斷式、迴圈相關功能函數

項目

函數語法 傳    回
11.1 (if <比較式> <表示式1> [表示式2]) 檢算比較式結果,如果為真,執行<表示式1>否則,執行<表示式2>
11.2 (repeat 整數 [<運算式> <運算式> ...]) 重複執行<整數>次數
11.3 (while 標題 內定檔名 副檔名 旗號) 透過標準 AutoCAD 檔案對話DCL交談框求得檔案
11.4 (cond "環境變數") 取得該環境變數的設定值,以字串表示
11.5 (progn 運算式1 運算式2 ...) 連結其內的運算式為一組,常用於配合ifcond等函數

第十二類 函數處理、定義、追蹤 & 錯誤處理功能函數

項目

函數語法 傳    回
12.1 (*error* 字串) 程式錯誤時的警示訊息
12.2 (alert 字串) 以交談框式顯示出警告字串
12.3 (apply 功能函數 串列) 將功能函數與串列結合後執行
12.4 (defun 名稱 引數串列 表示式 ...) 自定函數或副程式
12.5 (eval 表示式) 傳回:表示式的執行結果
12.6 (exit) 強制退出目前的應用程式
12.7 (lambda 引數 表示式) 定義未具名的函數
12.8 (progn 運算式1 運算式2 ...) 連結其內的運算式為一組,常用於配合ifcond等函數
12.9 (quit) 強制退出目前的應用程式
12.10 (tablet 代碼 [1 2 3 方向]) 取用或建立對數位板的校調
12.11 (trace 函數…) 對函數設定追蹤旗號,輔助除錯
12.12 (untrace 函數…) 對函數設定解除追蹤旗號

 

第十三類 顯示、列印控制功能函數

 

項目

函數語法 傳    回
13.1 (graphscr) 作圖環境切換到圖形畫面
13.2 (grclear) 暫時清除模前的螢幕畫面
13.3 (grdraw 起點 終點 顏色 [亮顯]) 暫時性的畫出一條線
13.4 (grread [追蹤]) 由輸入設備讀取追蹤值
13.5 (grtext 位置 字串 [亮顯]) 將字串顯示在狀態列或螢幕功能表上
13.6 (grvecs 向量串列 [轉置矩陣]) 暫時性的畫出多條線
13.7 (menucmd 字串) 提供在AutoLISP中呼叫各功能表
13.8 (prin1 [表示式 [檔案代碼]) 將表示式列印於命令區或已開啟的檔案,控制碼字元則以"\" 為字首展開
13.9 (princ [表示式 [檔案代碼]) 除控制碼字元則不以 "\" 為字首展開外其餘同prin1
13.10 (print [表示式 [檔案代碼]) 除表示式會往下一新行列出,及一空格外其餘同prin1
13.11 (prompt 訊息) 將訊息顯示於螢幕的命令區,並隨後回應一個nil訊息
13.12 (redraw [圖元名稱 [模式]]) 重繪整張圖或依圖元名稱重繪該圖形
13.13 (terpri) 在螢幕上顯示新列
13.14 (textscr) 作圖環境切換到文字畫面
13.15 (textpage) 清除文字畫面文字類似DOScls指令
13.16 (vports) 傳回:視窗組態串列

 

第十四類 符號、元素、表示式處理功能函數

項目

函數語法 傳    回
14.1 (atom 元素) 如果元素不是串列,回應 T,否則為 nil
14.2 (atoms-family 格式 [符號串列]) 傳回:一組已定義函數的符號串列
14.3 (boundp 表示式) 傳回:Tnil,回應表示式是否有值存在
14.4 (minusp 元素) 傳回:T nil,元素是否為負值
14.5 (not 元素) 傳回:T nil,判定元素是否為 nil
14.6 (null 元素) 傳回:Tnil判定元素是否被賦予nil
14.7 (numberp 元素) 傳回:Tnil,元素是否為整數或實數
14.8 (... '表示式) 回應表示式未檢算前狀態
14.9 (quote 表示式) 回應表示式未檢算前狀態,同『'』功能
14.10 (set 符號 表示式) 將表示式結果設定給帶單引號 ' 符號
14.11 (setq 符號1 表示式1 [符號2 表示式2]...) 設定表示式結果給各符號
14.12 (type 元素) 傳回:元素的資料型態
143.13 (zerop 元素) 傳回:T nil,元素是否為 0

  第十 ADSAutoLISP 載入與釋放函數

項目

函數語法 傳    回
15.1 (ads) 傳回:目前載入ADS程式串列
15.2 (ver) 傳回:目前AutoLISP版本字串
15.3 (load LSP檔名 [載入失敗]) 載入AutoLISP檔案(*.lsp)
15.4 (arxload <應用程式名稱> [錯誤回應]) 載入一個ARX應用程式檔
15.5 (arxunload <應用程式名稱> [錯誤回應]) 釋放ARX應用程式檔
15.6 (autoarxload <檔案名稱> <指令定義>) 載入一個關連式的ARX
15.7 (autoload ADS 定義的函數 & 指令) 載入一個關連式的AutoLISP
15.8 (autoxload <檔案名稱> <指令定義>) 載入一個關連式的ADS
15.9 (xload 應用程式 [出錯處理]) 載入ADS應用程式
15.10 (xunload 應用程式 [出錯處理]) 釋放ADS應用程式

   第十六類 記憶體空間管理函數

項目

函數語法 傳    回
16.1 (alloc 數值) 以節點數值設定區段大小
16.2 (expand 數值) 以區段數值配置節點空間
16.3 (gc) 強制收回廢記憶體
16.4 (mem) 顯示目前的記憶體使用狀態
16.5 (vmon) 釋放ADS應用程式
16.6 (xdroom 圖元名稱) 傳回圖元延伸資料允用得記憶體空間
16.7 (xdsize 串列) 傳回圖元延伸資料所佔用的記憶體空間

 

第十 ARX 定義的函數

項目

函數語法 傳    回
17.1 (acad_colordlg 顏色碼 旗號) 顯示出標準AutoCAD顏色選擇交談框
17.2 (acad_helpdlg 求助檔名 主題) 顯示出標準 AutoCAD 求助交談框
17.3 (acad_strlsort 串列) 作串列排序