慵懶樂活
關於部落格
  • 180634

    累積人氣

  • 6

    今日人氣

    0

    訂閱人氣

LISP函數

第一類數學運算功能函數
1.1 (+ 數值數值 ...) 累計實數或整數數值
1.2 (- 數值數值 ...) 減去數值
1.3 (* 數值數值 ...) 所有數值乘積
1.4 (/ 數值數值 ...) 第一個數值除以第二個以後數值的商
1.5 (1+ 數值) 數值+1
1.6 (1- 數值) 數值-1
1.7 (abs 數值數值的絕對值
1.8 (atan 數值) 反正切值
1.9 (cos 角度) 角度的餘弦值,角度值為弳度
1.10 (exp 數值) 數值的指數
1.11 (expt 基數指數) 基數的指數值
1.12 (fix 數值) 將數值轉換為整數值
1.13 (float 數值) 將數值轉換為實數值
1.14 (gcd 數值1 數值2) 二數值的最大公因數
1.15 (log 數值) 數值的自然對數值
1.16 (max 數值數值 ...) 數值中的最大值
1.17 (min 數值數值 ...) 數值中的最小值
1.18 pi 常數p ,其值約為 3.1415926
1.19 (rem 數值1 數值2) 二數值的相除的餘數
1.20 (sin 角度) 角度的正旋值,角度值為弳度
1.21 (sqrt 數值) 數值的平方根
 
第二類檢驗 & 邏輯運算功能函數
2.1 (= 表示式1 表示式2) 比較表示式1是否等於表示式2適用數值及字串
2.2 (/= 表示式1 表示式2) 比較表示式1是否大於等於表示式 2
2.3 (< 表示式1 表示式2) 比較表示式 1 是否 <小於表示式 2
2.4 (<= 表示式1 表示式2) 比較表示式 1 是否 <=小於等於表示式 2
2.5 (> 表示式1 表示式2) 比較表示式 1 是否 >大於表示式 2
2.6 (>= 表示式1 表示式2) 比較表示式1是否大於等於表示式2
2.7 (~ 數值) 傳回:數值的位元not,(1的補數)
2.8 (and 表示式1 表示式2) 邏輯and的結果
2.9 (boole 函數整數整數…) 位元式布林運算
2.10 (eq 表示式1 表示式2) 比較表示式1與表示式2是否相同, 適用串列比較(實際相同)
2.11 (equal 表示式1 表示式2 [差量]) 比較表示式1與表示式2是否相同, 差量可省略)
 
第三類轉換運算功能函數
3.1 (angtof 字串 [模式]) 角度值的字串轉成實數
3.2 (angtos 角度 [模式 [精度]]) 角度轉成的字串值
3.3 (atof 字串) 字串轉成實數值
3.4 (atoi 字串) 字串轉成整數值
3.5 (cvunit 數值原始單位轉換單位) 數值轉換單位後的值轉換根據 acad.unt 檔案
3.6 (distof 字串 [模式]) 依模式將字串轉成實數值
3.7 (itoa 整數) 整數轉成字串
3.8 (rtos 數值模式 [精度]) 實數轉成字串
3.9 (trans 原位置新位置 [位移]) 轉換座標系統值
 
第四類串列處理功能函數
4.1 (append 串列串列 ...) 結合所有串列成一個串列
4.2 (assoc 關鍵元素聯合串列) 依關鍵元素找尋聯合串列中關係資料
4.3 (car 串列) 串列中的第一個元素通常用來求 x 座標
4.4 (cadr 串列) 串列中的第二個元素通常用來求 y 座標
4.5 (caddr 串列) 串列中的第三個元素通常用來求 z 座標
4.6 (cdr 串列) 除去第一個元素後的串列
4.7 (cons 新元素串列) 將新元素結合到串列
4.8 (foreach 名稱串列表示式) 將串列的每一元素對應至名稱再依表示式執行回應
4.9 (length 串列) 串列內的元素數量
4.10 (list 元素元素…) 將所有元素結合成一串列
4.11 (listp 元素) 判斷元素是否為一串
4.12 (mapcar 函數串列1 串列2 ...) 將串列1、串列2、…等串列的元素配合函數,求得新串列
4.13 (member 關鍵元素串列) 依關鍵元素()以後的串列
4.14 (nth n 串列) 串列的第n個元素
4.15 (reverse 串列) 將串列元素依順序顛倒過來的串列
4.16 (subst 新項舊項串列) 替換新舊串列後的串列
 
第五類字串、字元、檔案處理功能函數
5.1 (ascii 字串) 字串第一個字元的『ASCII』碼
5.2 (chr 整數) 整數所對應的 ASCII 單一字串
5.3 (close 檔案名稱) 關閉檔案
5.4 (open 檔名模式) 開啟檔案代碼,準備讀取或寫入資料
5.5 (read 字串) 串列中的字串的第一組元素
5.6 (read-char [檔案代碼]) 經由鍵盤或檔案中讀取單一字元
5.7 (read-line [檔案代碼]) 經由鍵盤或檔案中讀取一行字串
5.8 (strcase 字串 [字樣]) 轉換字串大小寫
5.9 (strcat 字串1 字串2 ...) 將各字串結合成一字串
5.10 (strlen 字串) 字串構成的字元數(即字串長度)
5.11 (substr 字串起始長度) 取出子字串
5.12 (wcmatch 字串格式) Tnil,將字串與通用字符進行比對
5.13 (write-char 數值 [檔案代碼]) 將一ASCII字元寫到檔案或螢幕
5.14 (write-line 字串 [檔案代碼]) 將字串寫到檔案或螢幕上
 
第六類等待輸入功能函數
6.1 (getangle [基點] [提示]) 請求輸入十進位角度數值,回應一弳度值提示及參考點可有可無
6.2 (getcorner 基點 [提示]) 請求輸入另一矩框對角點座標
6.3 (getdist [基點] [提示]) 請求輸入一段距離
6.4 (getint [提示]) 請求輸入一整數值
6.5 (getkword [提示]) 請求輸入『關鍵字』
6.6 (getorient [基點] [提示]) 請求輸入十進位角度,回應一弳度值不受angbaseangdir影響
6.7 (getpoint [基點] [提示]) 請求輸入一個點座標
6.8 (getreal [提示]) 請求輸入一實數
6.9 (getstring [提示]) 請求輸入一字串
6.10 (initget [位元] 字串) 設定下次 getxxx 函數的有效輸入
 
第七類幾何運算功能函數
7.1 (angle 1 2) 取得二點的角度弳度值
7.2 (distance 1 2) 取得二點的距離
7.3 (inters 1 2 3 4 [模式]) 取得兩條線的交點
7.4 (osnap 模式字串) 依輔助抓點模式取得另一座標點
7.5 (polar 基點弳度距離) 依極座標法取得另一座標點
7.6 (textbox 圖元串列) 取得文字串的二對角點座標
 
第八類圖元處理功能函數
8.1 (entdel 圖元名稱) 刪除或逆刪除圖元
8.2 (entget 圖元名稱 [應用程式串列]) 取出圖元名稱的資料串列
8.3 (entlast) 取出圖形資料中的最後一個圖元
8.4 (entmake 圖元串列) 建立一個新的圖元串列
8.5 (entmod 圖元串列) 依更新的資料串列更新螢幕上元體
8.6 (entnext [圖元名稱]) 找尋圖面中的下一個圖元
8.7 (entsel [提示]) 請求選取一個圖元,回應包含圖元名稱及選點座標的串列
8.8 (entupd 圖元名稱) 更新螢幕上複元體圖形
8.9 (handent 圖碼) 圖碼的元體名稱
8.10 (nentsel [提示]) BLOCK所含副元體圖元資料串列
8.11 (nentselp [提示] []) BLOCK所含副元體圖元資料(4 x 4矩形表示)
 
第九類選擇集、符號表處理功能函數
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) 顯示目前的記憶體使用
相簿設定
標籤設定
相簿狀態