陈伯雄lisp 在cad中如何创建lisp程序以及大神们所说的lisp解决重复性劳动问题是怎么回事
謝邀。 AutoLISP程序語言,可以直接在AutoCAD命令行直接輸入並運行,比如輸入 ( 32)就可以得到:5,AutoLISP的語言規範就是LISP語言通用的方式,並不難以理解。 AutoLISP的程序文件其實是一種純文本文件,所以直接用任何純文本編輯器都可以創建及修改。
AutoCAD內置了一個功能齊全的VisualLISP編輯器:VLIDE,可以從菜單或命令行直接輸入VLIDE運行。VisualLISP是AutoLISP可視化之後的名稱,不過很多人還是習慣稱之為AutoLISP。
每一版的AutoCAD都附帶一套完整的AutoLISP幫助,其中包括:AutoLISP參考、AutoLISP開發者指南、AutoLISP教程、DXF參考。
而市面上大部分紙質書,內容並不會超出這一套幫助,居然也能掙到錢也是蠻詭異的。總之如果需要深入了解、學習,直接閱讀幫助就好了。 至於AutoLISP的具體應用,舉個例子,我們建築專業畫總圖需要插入、標註坐標。
早些年,還沒有專業的建築軟件提供這些功能,甚至還沒有互聯網,無法共享成果,大家就都只好用AutoLISP自己編寫。 如果用AutoCAD的標準方式,標註坐標流程是: 用ID命令查詢點坐標;選擇合適的圖層和字高,書寫已經查詢到的坐標值。
或者COPY一組現成的坐標圖元到目標點,再將值更改為查詢到的結果。單個的坐標標註,這樣做一點也不麻煩,但如果有很多坐標需要標註,如果有很多坐標需要不時地修改,這樣做就很痛苦了,而且——手工輸入還容易出錯、遺漏。
用AutoLISP的方式,標註坐標的操作流程就變成了: 點取一目標點,放置標註文本。AutoLISP獲得目標點,進而獲得坐標值,進而在指定的位置書寫標註文本(或者填寫塊屬性),並且把標註用引線連接起來。
這樣一次性就搞定了。 不僅僅如此,當我們把一部分內容複製到另外一個區域,按說複製到新位置的坐標就應該刪除重新標註了,但AutoLISP的世界,我們可以用另一段代碼來對坐標值做檢查更新。
這樣設計師就可以簡單地複製、複製、複製……最後再做一次整體性更新就行了,都不用再去檢查。 以上敘述核心就是兩點:一是用自動化接管手工操作,獲得效率;一是用程序計算替代手工輸入,獲得精確。
這就是AutoLISP可以帶來的幫助。不過我在另一個回答裡面強調過,AutoLISP的定位是『拾遺補缺』,而不是取代更高效、更具有整體性的專業軟件,這一點請務必留意。 你畫圖畫着畫著,突然想,這個操作能不能簡化?於是即興碼出一堆括號,調試幾次,搞定。所以最終,AutoLISP其實是貫穿在製圖過程中的一種思維方式。