AutoLISP入門教學.JPG (45140 bytes)


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

 

一•看到以下那麼多的 AutoLISP 功能函數,洋洋灑灑17大類:

  1. 您第一個念頭,一定驚訝怎麼會那麼多,您可能快嚇壞了!
  2. 您第二個念頭,一定會想『那麼多,怎麼記得下來』,您可能快放棄了!

     

二•其實,您應該要『很興奮』而『充滿信心』的,怎麼說呢?

  1. 您有那麼多的『大將』協助您撰寫 AutoLISP 程式,當然左右又逢源,不但輕鬆, 而且要快樂的不得了!!!
  2. 這些函數只要您先瀏覽有印象, 要用時,再翻查該函數,了解用途語法再加入到您的程式中就可以了!!!
  3. 常用的函數,寫久、用久後,自然會深深牢記腦海,想忘都很難,不常用的函數, 若硬要您記下來,相信連高手都很困難,更何況是初學的您!!!
  4. 您不用再摸不著頭緒了,因為您幸運的擁有了本書,就是您成功的開始!!!

第一類 數學運算功能函數

項目

函數語法 傳    回
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矩形表示)