單元三:快速分類瀏覽AutoLISP功能函數(一)
一•看到以下那麼多的 AutoLISP 功能函數,洋洋灑灑17大類:
您第一個念頭,一定驚訝怎麼會那麼多,您可能快嚇壞了!
- 您有那麼多的『大將』協助您撰寫 AutoLISP 程式,當然左右又逢源,不但輕鬆, 而且要快樂的不得了!!!
- 這些函數只要您先瀏覽有印象, 要用時,再翻查該函數,了解用途語法再加入到您的程式中就可以了!!!
- 常用的函數,寫久、用久後,自然會深深牢記腦海,想忘都很難,不常用的函數, 若硬要您記下來,相信連高手都很困難,更何況是初學的您!!!
- 您不用再摸不著頭緒了,因為您幸運的擁有了本書,就是您成功的開始!!!
第一類 數學運算功能函數
項目 |
函數語法 | 傳 回 |
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 字串 格式) | T或nil,將字串與通用字符進行比對 |
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 [基點] [提示]) | 請求輸入十進位角度,回應一弳度值不受angbase、angdir影響 |
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矩形表示) |