⑴ 編寫一lisp程序 cad
試編程序如下,請校核。
(defun hang (p r n)
(repeat n
(command "circle" p r)
(setq l (cons p l)
p (polar p 0 (+ r r))
)
)
l
)
(defun sjy (p r n / i p1 p2 p3 l)
(setq i 0)
(repeat n
(hang p r (- n i))
(setq i (1+ i)
p (polar p (/ pi 3) (+ r r))
)
)
(setq p1 (last l)
p2 (car l)
p3 (polar p1 0 (distance p1 p2))
)
(command "pline" p1 p2 p3 "c")
(command "offset" r p2 (polar p2 (/ pi 2) (+ r r)) "")
(command "erase" p2 "")
l
)
(defun c:sjy (/ p r n)
(setq p (getpoint "左下角圓心坐標:")
r (getdist p "半徑:")
n (getint "排數:")
)
(sjy p r n)
)
⑵ CAD怎麼自己編lisp程序
CAD 自帶的LISP 都是英文,估計不好學,還是買本書學下吧。祝你成功!!!!
⑶ 如何在AutoCAD Visual Lisp編輯器中創建與編譯lisp程序
打開Visual Lisp編輯器有兩種方式:
1.AutoCAD2008及之前的版本,在菜單欄「工具(Tools)"下面,選擇」AutoLisp"---->"Visual
Lisp編輯器"。(」AutoLisp"---->"導入應用"這個命令是用來載入AutoLisp腳本的)
2.AutoCAD2009及之後的版本,在功能區的」管理「選項卡里可以直接打開Visual Lisp編輯器。
如何在AutoCAD Visual Lisp編輯器中創建與編譯lisp程序
打開Visual Lisp編輯器之後新建一個文件,並另存為Lisp源文件。然後就可以在編輯窗口裡輸你的代碼了。
代碼編輯並調試確認無錯誤後,就可以在AutoCAD中使用了。
如何在AutoCAD Visual Lisp編輯器中創建與編譯lisp程序
左邊的按鈕表示立即運行當前代碼,如果有錯誤就會提示出來,右邊按鈕是切換到CAD窗口。
如果不需要再修改代碼了還可以將代碼進行編譯以加速運行。
如何在AutoCAD Visual Lisp編輯器中創建與編譯lisp程序
根據向導一步步進行編譯很簡單的。
如果在其他CAD圖形文件中需使用當前代碼文件或編譯後的文件,就按上面第一點的,或者在命令行輸入」ap",打開導入應用的對話框。
如何在AutoCAD Visual Lisp編輯器中創建與編譯lisp程序
1是用來臨時導入的,2是將程序加入CAD的啟動組。
lisp解決重復性勞動問題
在設計和繪圖中,你覺得都是簡單粗暴的重復性工作,就可以考慮用AutoLisp來代替你做。
首先,AutoLisp也是一個程序設計語言,屬於Common
Lisp的子集,同時加入了很多自定義的函數。即然是一個程序語言,就是其他編程語言能做的,它也能做,只是他的lisp語法跟一般的語言有些差另就是了,但是如果是一個沒有VB、C#、C++(對應於AutoCAD的開發方式分別是VBA,.net,ObjectArx)的基礎的人來說,AutoLisp是很簡單而且特別容易上手的一個語言。
作為一個編程語言,AutoLisp能做的很多:
1、擴充AutoCAD的原有命令。任何帶有C:前綴的AutoLisp函數,在AutoCAD中都可以像"line" "circle"
"dim"等命令一樣使用。
2、編寫代碼直接根據國標圖庫要求來繪出一些常用圖庫標准件什麼的,或是代替人查找各種設計手冊中的相關數據並繼續使用。
3、進行參數化繪圖,對於一些不特別復雜的系統,提供窄范圍、大深度的專業設計自動化或者輔助系統,如發動機裝配工具設計、縱使機主軸箱設計等。
4、DWG文件本質上是AutoCAD在圖形生成和編輯中使用的資料庫,可以將一些非圖形信息的數據(粗糙度,高度,厚度。。)等存於DWG文件中作
為非圖形資料庫文件,然後利用Lisp程序進行讀取等。
各種AutoCAD二次開發方式的比較:
由於 .net語言和c++的學習曲線比較陡峭,所以簡單易學的AutoLisp經常與VBA進行對比。(當然如果有VB的基礎還是直接學VBA好了。)
AutoLISP擅長建立新命令和產生已有命令的連接。VBA擅長執行包括在其他應用程序中的組件,如Microsoft的Excel和Access。AutoLISP是基於表處理的編程體系,它允許程序員隨意地存儲和操作傳送信息,然而VBA部件包括數據和對復雜情況的各種有效操作,這就是問題變得復雜的地方。
不過,在AutoCAD2000開始,Autodesk公司就在AutoCAD中加入了Visual
Lisp編輯器,引入了許多新函數擴充AutoLisp的功能,並支持ActiveX對象的訪問方式,所以使用AutoLisp來與Word\Excel等程序進行交互也是變簡單了。
另外,在創建帶GUI圖形界面的應用程序上,VBA當然是所見即所得的了,而AutoLisp是通過DCL文件來實現GUI的(語法很簡單,但做不到所見即所得).這點是AutoLisp略遜一籌了。原文出自[
CAD自學網 ] 轉載請保留原文鏈接:http://www.cadzxw.com/1873.html