LISP簡介
LISP是一種通用高級計算機程序語言,長期以來壟斷人工智能領域的應用。LISP作為因應人工智能而設計的語言,是第一個聲明式系內函數式程序設計語言,有別于命令式系內過程式的C、Fortran和面向對象的Java、C#等結構化程序設計語言。
和學習大多數其他語言一樣,學習 Lisp 最好的方法就是實踐。打開您的解釋程序,和我一起編碼。Lisp 基本上是一門編譯好的語言,通過直接鍵入命令,就可以輕松地用它進行編程。
基本上,Lisp 是一門關于列表的語言。Lisp 中的一切內容(從數據到組成應用程序的代碼)都是列表。每個列表都由一些原子 和列表組成,數字就是原子,鍵入一個數字僅僅會返回該數字作為結果。
LISP按功能分類
一、數學運算功能函數
1.1(十 數值 數值…)返回:累計實數或整數數值
1.2(一 數值 數值…)返回:差值
1.3(* 數值 數值…)返回:所有數值乘積
1.4(/ 數值 數值…)返回:第一個數值除以第二個以后數值的商
1.5(l十 數值)返回:數值十l
1. 6(1— 數值)返回:數值一l
1.7(abs 數值)返回:數值的絕對值
1.8(atan 數值)返回:反正切值
1.9(cos 角度)返回:角度的余弦值,角度值為弧度
1.10(exp 數值)返回:數值的指數
1.11(expt 底數指數)返回:底數的指數值
1.12(fix 數值)返回:將數值轉換為整數值
1.14(gcd 數值1 數值2)返回:兩數值的最大公因數
1.15(log 數值)返回:數值的自然對數值
1.16(max 數值 數值…)返回:數值中的最大值
1.17(min 數值 數值…)返回:數值中的最小值
1.18 pi 常數∏,其值約為3.1415926
1.19(rem 數值 1數值 2)返回:M數值的相除的余數
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.nut文件
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字符串[文件代碼])返回:將字符串寫到文件或屏幕上
#e#
六、等待輸入功能函數
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*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 次數 [《 表達式> <表達式>…])重復執行 N次表達式
11.3(While <比較式> <表達式>…) 當條件成立則執行表達式內容
11.4(cond <比較式 1> <表達式 1>多條件式的 if整合功能
<比較式2> <表達式2>
<比較式3> <表達式3>)
11.5 ( prong 表達式1 表達式2…) 連接其中的表達式為一組,常用于配合if、cond等函數
十二、函數處理、定義、追蹤與錯誤處理功能函數
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…)連接其內的表達式為一組,常用于配合if、cond等函數
12.9(quit)強制退出目前的應用程序
12.10(tablet 代碼 [列1列2列3方向])取用或建立對數字板的校調 12.11(trace 函數…)對函數設定追蹤標記,輔助檢錯
12.12(untrace 函數…)對函數設定解除追蹤標記
十三、顯示、打印控制功能函數
13.1(gfaphscr)作圖環境切換到圖形畫面
13.2(grclear)暫時清除模前的屏幕畫面
13.3(grdraw起點終點顏色[亮顯])暫時性的畫出一條線
13.4(grread[追蹤])由輸入設備讀取追蹤值
13.5(grtext位置字符串[亮顯])將字符串顯示在狀態列或屏幕菜單上
13.6(grvecs向量列表[轉置矩陣])暫時性的畫出多條線
13.7(menucmd字符串);提供在 AlltOLISP中調用各菜單
13.8(Prinl[表達式[文件代碼]]將表達式打印于命令區或已打開的文件句柄字符則以“”為前綴展開
13.9(pinc[表達式[文件代碼]]除句柄字符則不以”\”為前綴展外開其余同Prinl
13.10(print[表達式[文件代碼]]除表達式會往下一新行列出,及空一格外其余同prinl
13.11(prompt信息)將信息顯示于屏幕的命令區,并隨后響應一個nil信息
13.12(redraw[對象名稱[模式]])重繪整張圖或根據對象名稱重繪該圖形
13.13(terpri) 在屏幕上顯示新列
13.14(textscr) 作圖環境切換到文字畫面
13.15(textpage)清除文字畫面文字類似 DOS的cls命令
13.16(vports)返回:窗口組態列表
十四、符號、元素、表達式處理功能函數
14.1(atom元素)如果元素不是列表,響應T,否則為nil
14.2(atoms-family格式閑號列表])返回:一組己定義函數的符號列表
14.3(boundp表達式)返回:T或 nil,響應表達式是否有值存在
14.4(minusp元素)返回:T或n兒 元素是否為負值
14.5(not元素)返回:T或n兒 判定元素是否為ni1
14.6(null元素)返回:T或nil判定元素是否被賦予nil值
14.7(numberp元素)返回:T或nil,元素是否為整數或實數
14.8(quote表達式)響應表達式未檢算前狀態,同“‘”功能
14.9(set符號 表達式)將表達式結果設定給帶單引號’符號
14.10(setq符號1 表達式1[符號2表達式2]…)設定表達式結果給各符號
14.11(type元素)返回:元素的信息型態
14.12(zerop元素)返回:T或nil,元素是否為0值
十五、ADS、ARX、AutoLISP加載與卸載函數
15.1(ads)返回:目前加載ADS程序列表
15.2(arx)返回:目前加載 ARX程序列表
15.3(arxload應用程序[出錯處理]))返回:加載 ARX程序
15.4(arxunload應用程序[出錯處理]))返回:卸載 ARX程序
15.5(ver) 返回:目前 AutoLISP版本字符串
15.6(load LSP文件名[加載失敗])加載 AutoLISP文件(*.lsp)
15.7 (xload應用程序[錯處理])加載ADS應用程序
15.8 (xunloa應用程序[出錯處理])卸載 ADS應用程序
十六、內存空間管理函數
16.1(alloc數值)以節點數值設定區段大小
16.2(expand數值)以區段數值配置節點空間
16.3(gc)強制收回廢內存
16.4(mem)顯示目前的內存使用狀態
16.5(xdroom對象名稱)返回對象擴展信息允許使用的內存空間
16.6(xdsize列表)返回對象擴展信息所占用的內存空間
十七、其它重要的功能函數
17.1(acad?_colordlg 顏色碼 旗號)顯示出標準 AutoCAD顏色選擇對話框
17.2(acad_helpdlg 求助文件名 主題)顯示出標準 AutoCAD求助對話框
17.3(acad_strlsort字符串列表)作字符串列表排序
17.4(bherrs) 取得 bhatch與 bpcly失敗所產生的錯誤信息
17.5(bhatch點[選擇集[向量]])根據 Pick point選點方式調用 bhatch命令,繪制選集區域的剖面線
17.6(bpoly點[選擇集[向量]])根據Pick point選點方式調用bpoly命令并產生一定域Polyline
17.7(cal計算式字符串)執行如 CAL計算功能
十八、ADS、ARX外部定義的3D函數
18. 1(align自變量 1 自變量 2.。。.)執行如 ALIGN命令各選項順序
18.2(c:3dsin模式3DS文件名)導入3DS文件
18.3(C:3dsout模式3DS文件名)輸出3DS文件
18.4(c:background模式[選項])設定渲染背景
18.5(C:fog模式[選項])設定渲染的霧效果
18.6(C:light模式[選項])設定渲染的燈光控制
18.7(c:lsedit模式【選項1】設定渲染的景物控制
18.8(C:lslib模式[選項])管理景物圖庫
18.9(c:matilb模式 材質 材質庫名)管理材質數據庫
18.10(c:mirror3d 自變量1 自變量2……) 執行如MIRROR3D命令
18.11(C:psdrap模式)根據模式設定值(0或1),傳喚psdrap命令
18.12(C:psfill對象名稱 圖案名稱[自變量1[自變量2]])以POStSCript圖案填滿
18.13(c:psin文件名 位置 比例)插入一個Postscript(*.eps)文件
18.14(c:render[渲染文件])執行渲染效果
18.15(C:rfileopt格式 自變量1 自變量2 自變量3…)設定執行渲染選項
18.16(c:replay影像文件名 影像類別[選項])展示影像文件TGA、BMP、TIF
18.17(C:rmat模式 選項)控管材質建立、貼附、編輯、分離
18.18(c:rotate3d自變量 1 自變量2…)執行如 ROTATE3D命令各選項順序
18.19(C:rpref模式 選項[設定])渲染環境設定
18.20(c:saveimg影像文件名影像類別[選項])儲存圖像文件TGA、BMP、TIF
18.21 (c:scene模式 [選項])SCENE場景管理
18.22(C:setuv模式 選集 自變量1 自變量2…)SETUV貼圖模式管理
18.23(C:showmat自變量1)顯示對象的材質貼附信息
18.24(C:solprof自變量 1 自變量工。。)建立 3D實體的輪廓影像
18.25(C:StatS[渲染信息文件])顯示渲染信息統計信息
十九、ADS、ARX外部定義的數據庫相關函數
19.1(c:aseadmin自變量1 自變量2…)管理外部數據庫
19.2(c:aseexportt自變量1 自變量2…)輸出信息
19.3 (c:aselinks自變量1 自變量2…)連接對象與信息
19.4(c:aserow自變量1 自變量2…)管理外部信息表格
19.5(c:aseselect自變量1 自變量2…)建立外部信息與對象選集
19.6 (c:asesqled自變量 1 自變量2…) 執行SQL程序
評論
查看更多