當前位置:首頁 » 培訓機構 » autolisp培訓教程

autolisp培訓教程

發布時間: 2020-12-26 04:06:57

⑴ 求LISP語言教程

AutoCAD的幫助中有完整的教程。

可以通過從 AutoCAD「幫助」菜單選擇「開發人員幫助」來訪問內 AutoLISP、Visual LISP 和 DXF 文檔。

《AutoLISP 參考》容。提供了關於 AutoLISP 的全面參考。AutoLISP 是一種功能全面的解釋性編程語言,可用於調用 AutoCAD 命令、系統變數和對話框。
《AutoLISP Developer's Guide》。提供了有關使用 Visual LISP 互動式開發環境開發和測試 AutoLISP 程序的信息。同時還描述了如何使用 Visual LISP 提供的 AutoLISP 擴展來創建 ActiveX Automation。
《AutoLISP 教程》。詳細地介紹如何使用 Visual LISP 開發 AutoLISP 應用程序。
《DXF 參考手冊》。提供了關於 DXF 文件格式的全面參考。

⑵ 求CAD 二次開發Auto lisp 【視頻】教程下載地址

我有幾個lisp的PDF教程你需要麼。說實話,現在懂lisp的人真不多

⑶ 如何使用AutoLISP語言常式

AutoLISP語言是AutoCAD的內置的編程語言。 它可以用來創建新的命令或重新定義現有的。AutoLISP語言是一個非常強大的定製工具。本文旨在說明如何載入AutoLISP語言。

你可以復制和粘貼,如下面的例子,或者你可以下載一個*.LSP的文件。開始你需要使用記事本, 因為AutoLISP *.LSP的文件只是普通的文本文件。看其他人的編寫的AutoLISP語言代碼是一個很好的學習方法,網上有很多提供.LSP的文件下載的。

基本過程是非常簡單,如下。 有3個主要步驟(或如果有*.LSP的文件僅僅需要2步),創建lisp文件,載入lisp文件和日常運行lisp程序。

註:AutoLISP語言常式將只在完整版本的AutoCAD運行,他們不會在AutoCADLT版本運行。

創建lisp文件

復製程序代碼並粘貼到Windows中的記事本。

(defunc:zone(/ss la rv i tv op en)

(while(notss)

(princ" Pick any object on the required layer: ")

(setqss(ssget)))

(initget"Length Area")

(setqrv(getkword" Would you like to measure Length/Area <Area>: "))

(and(notrv)

(setqrv"Area"))

(setqla(cdr(assoc8(entget(ssnamess0))))

ss(ssget"X"(list(cons0"*POLYLINE")

(cons8la)))

i(sslengthss)

tv0

op0)

(while(not(minusp(setqi(1-i))))

(setqen(ssnamess i))

(command"_.AREA""_E"en)

(cond((=rv"Length")

(setqtv(+tv(getvar"PERIMETER"))))

(T

(setqtv(+tv(getvar"AREA")))

(if(/=(logand(cdr(assoc70(entgeten)))1)1)

(setqop(1+op))))))

(princ(strcat" Total "rv

" for layer "la

" = "(rtostv22)

" in "(itoa(sslengthss))" polylines "

(if(/=rv"Length")

(strcat(itoaop)" with open polylines")"")))

(prin1))

現在保存文件為zone.lsp,給予它適當的文件名,並確保它有一個.LSP的文件擴展名。

載入lisp文件

打開AutoCAD選擇菜單Tools——AutoLISP——Load Application….彈出對話框(如下圖所示):

load unload apps

使用下面的操作來載入已保存lisp文件:

  • 找到該lisp文件已保存的文件夾。

  • 從列表中選擇所需的文件。

  • 單擊 Load按鈕。如果一切順利,將出現一條消息說「*.lsp成功載入」。

  • 單擊Close按鈕關閉對話方塊。

  • 運行AutoLISP程序

    一旦lisp文件被載入,它可以在命令行運行。在運行時只需輸入命令的名稱(而不是文件名)。在lisp文件中開始是(defunc:zone ,所以在命令行輸入zone。

⑷ 《Autolisp 學習導引》 哪裡有下載的

autolisp,visual lisp,這兩來個都是cad自帶的,其實差自不多。你買幾本書就成了!我在網上找過沒找到,還是買書吧!不過這樣的書天津市不好買!你是什麼專業的?機械設計專業有兩本書《autolisp學習導引》還有一本我忘了叫什麼名字!等我回去給你看看吧!你可以去天津圖書館去借,那裡面有。

⑸ 誰有AUTOLISP語言全套視頻教程,能否共享一下

AUTOLISP我沒有看到有視頻,我在一個月前學習這個,是網上下載的(autoLisp&DCL基礎篇),這個程序內只要你掌握了基礎,其它的容就靠你自己發揮了。
這個由於每個人的習慣不同,就有不同的編程方法,所以視頻什麼的不好說。不像AutoCAD有固定的命令,只要記住就可以。

⑹ autolisp教程 高分懸賞,請高手用AutoLISP改寫一個坐標提取小程序

修改這一句
(princ (strcat "\n已輸出的文字為'" s "'"))

⑺ AutoLISP&DCL基礎篇(AutoCAD程序設計魔法書)

這本書我有,《AutoLISP&DCL基礎篇》,紫藍色封面,二手的,你要的話可以賣給你。我就是靠這個學會Lisp的。反正我現在用不到,能換點錢也恰好。

⑻ CAD考試:用autolisp編程

(defun c:xxx()
(setvar "cmdecho" 0)
(setq pt1 (getpoint " \n 第一點:"))
(setq pt2 (getpoint pt1 " \n 第二點:"))
(setq LL (distance pt1 pt2)) ;計算兩點間距離
(setq ang (angle pt1 pt2)) ;計算兩點間角度
(setq pt3 (polar pt2 (+ ang (/ (* 120 pi) 180)) LL)) ;計算三角形第三專點坐標
(command "polygon" 3 "e" pt1 pt2) ;繪制屬三角形
(prin1)
)

⑼ 使用autolisp語言程序統計線的步驟

;-----------------------------------------------------------------------------------------------------
;LWPOLYLINE獲得點列表子程序。
;-----------------------------------------------------------------------------------------------------
(defun lwpolyline_get_pt_list ( );/ sub_list ent_list)
(setq pt_list nil)
(setq ent_list (entget ent_name))
(while (setq ent_list (cdr ent_list))
(setq sub_list ent_list)
(setq sub_list (car sub_list))
(if (= (car sub_list) 10)
(progn
(setq pt (cdr sub_list))
(if (member pt pt_list) ;過濾掉重復點。
(setq pt_list pt_list)
(setq pt_list (cons pt pt_list))
)
)
)
)
(setq len (length pt_list))
)
;-----------------------------------------------------------------------------------------------------
;POLYLINE獲得點列表子程序。
;-----------------------------------------------------------------------------------------------------
(defun polyline_get_pt_list ()
(setq pt_list nil)
(setq sub_ent_name ent_name)
(setq sub_ent_name (entnext sub_ent_name))
(while (and (/= sub_ent_name nil) (/= (cdr (assoc 0 (entget sub_ent_name))) "SEQEND"))
(setq pt (cdr (assoc 10 (entget sub_ent_name))))
(if (member pt pt_list) ;過濾掉重復點。
(setq pt_list pt_list)
(setq pt_list (cons pt pt_list))
)
(setq sub_ent_name (entnext sub_ent_name))
)
)
;-----------------------------------------------------------------------------------------------------
;應用點列表計算單條多段線長。
;-----------------------------------------------------------------------------------------------------
(defun dxc ();/ pt1 pt2)
(setvar "osmode" 0)
(setvar "cmdecho" 1)
(setq lenth_p 0)
(setq pt1 (car pt_list))
;(princ (strcat "\n" (rtos (car pt1) 2 4) "," (rtos (cadr pt1) 2 4)))
(write-line (strcat (rtos (car pt1) 2 4) "," (rtos (cadr pt1) 2 4)) x)
(setq pt_list (cdr pt_list))
(while (setq pt2 (car pt_list))
;(princ (strcat "\n" (rtos (car pt2) 2 4) "," (rtos (cadr pt2) 2 4)))
(write-line (strcat (rtos (car pt2) 2 4) "," (rtos (cadr pt2) 2 4)) x)
(setq pt_list (cdr Pt_list))
(setq xx (- (car pt2) (car pt1)))
(setq yy (- (cadr pt2) (cadr pt1)))
(setq lenth_p (+ lenth_p (sqrt (+ (* xx xx) (* yy yy)))))
(setq pt1 pt2)
)
;(princ (strcat "\n>>>>>『全長』 " (rtos lenth_p 2 6)))
(write-line (strcat ">>>>>『全長』 " (rtos lenth_p 2 6)) x)
(princ)
)
;-----------------------------------------------------------------------------------------------------
(defun c:tjd()
(prompt "\nPlease select objects need to count:")
(setq set_data nil)
(while (= (setq set_data (ssget '((-4 . "<OR") (0 . "LWPOLYLINE") (0 . "POLYLINE") (-4 . "OR>")))) nil)
(prompt"\nPlease select Polylines:")
)
(setq dc_file (getfiled "命名保存文件名" "" "txt" 1))
(princ "\n>>>>> Wait...")
(setq x (open dc_file "w"))
(setq long_total 0)
(setq set_length 0)
(while (setq ent_name (ssname set_data set_length))
(setq set_length (+ set_length 1))
(cond
((= (cdr (assoc 0 (entget ent_name))) "LWPOLYLINE") (lwpolyline_get_pt_list))
((= (cdr (assoc 0 (entget ent_name))) "POLYLINE" ) ( polyline_get_pt_list))
)
;(princ "\n-----------------------")
(write-line (strcat "NO." (itoa set_length) " 圖層 " (cdr (assoc 8 (entget ent_name))) " ----------") x)
(dxc)
(setq long_total (+ long_total lenth_p))
)
;(princ "\n-----------------------")
(prompt "\n>>>>>...OK!")
(princ (strcat "\n\n>>>>>【共計】 " (itoa set_length) " Polylines"))
(princ (strcat "\n>>>>>【總長】 " (rtos long_total 2 4)))
(write-line "-----------------------" x)
(write-line (strcat "\n>>>>>【共計】 " (itoa set_length) " Polylines") x)
(write-line (strcat ">>>>>【總長】 " (rtos long_total 2 4)) x)
(fixc)
(close x)
(startapp "notepad" dc_file) ;用記事本打開保存的文件。
(princ)
)
;-----------------------------------------------------------------------------------------------------
(defun fixc()
(write-line "\n------------- Write By In_city ---------------" x) ;在打開文件里寫入信息。
(write-line "在網路文庫查找「in_city」,下載更多Autolisp程序。" x)
(prompt "\n\n------------- Write By In_city ---------------") ;在文本窗口寫入信息。
(prompt "\n在網路文庫查找「in_city」,下載更多Autolisp程序。")
)
;-----------------------------------------------------------------------------------------------------

熱點內容
幼師專業怎麼樣 發布:2021-03-16 21:42:13 瀏覽:24
音樂小毛驢故事 發布:2021-03-16 21:40:57 瀏覽:196
昂立中學生教育閘北 發布:2021-03-16 21:40:47 瀏覽:568
建築業一建報考條件 發布:2021-03-16 21:39:53 瀏覽:666
2017年教師資格注冊結果 發布:2021-03-16 21:39:49 瀏覽:642
中國教師資格證查分 發布:2021-03-16 21:39:41 瀏覽:133
踵什麼成語有哪些 發布:2021-03-16 21:38:20 瀏覽:962
東營幼師專業學校 發布:2021-03-16 21:35:26 瀏覽:467
機械電子研究生課程 發布:2021-03-16 21:33:36 瀏覽:875
杭州朝日教育培訓中心怎麼樣 發布:2021-03-16 21:33:28 瀏覽:238