AutoLISP在工程制圖中對命令的簡化應用_第1頁
AutoLISP在工程制圖中對命令的簡化應用_第2頁
AutoLISP在工程制圖中對命令的簡化應用_第3頁
AutoLISP在工程制圖中對命令的簡化應用_第4頁
AutoLISP在工程制圖中對命令的簡化應用_第5頁
免費預覽已結束,剩余2頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、    autolisp在工程制圖中對命令的簡化應用    劉承權劉昌文王艷【摘 要】autocad工程制圖中,使用autolisp進行一些適應需要的簡單編程,實現(xiàn)一個命令替代多個命令或命令多步執(zhí)行,從而簡化操作,使工程制圖變得更快捷?!娟P鍵詞】autolisp;編程;工程制圖;autocad: g434 : a : 2095-2457(2018)23-0084-002doi:10.19694/ki.issn2095-2457.2018.23.035【abstract】in autocad engineering drawing,autolisp is

2、used to carry out some simple programming to meet the needs,and a single command is implemented instead of multiple commands or multi-step execution,which simplifies operation and makes engineering drawing more rapid.【key words】autolisp;programming;engineering drawing;autocad0 引言autocad工程制圖中,常常會遇到需要

3、不斷重復使用某個命令的情況,而命令使用時,通常還需要繼續(xù)輸入數(shù)個選項,這樣的命令使用起來枯燥而繁瑣。一些autocad插件雖然能提供一些功能,但未必符合自己的應用場景。使用autolisp對命令進行一些適應需要的簡單編程,就能簡化命令操作,從而提高制圖效率。autolisp可以直接調(diào)用autocad中的全部命令,因此我們在使用autocad命令完成的一系列操作都可以用autolisp來完成。1 基本原理下面的例子定義了一個函數(shù)“n”,在autocad中加載這個例子后,輸入命令“n”,即可執(zhí)行?!埃弧狈柡竺娴拿枋鍪亲⑨?,程序執(zhí)行時會忽略這些內(nèi)容。(defun c:n () ;定義名為n函數(shù),也

4、就是在autocad中輸入的命令n,可以根據(jù)需要定義,不要與已有autocad命令相同;(command "zoom" "d") ; command函數(shù)是本文的主角,用于執(zhí)行autocad中的命令,其后跟隨的“"zoom"”就是視圖縮放命令,“"d"”是執(zhí)行“zoom”命令后出現(xiàn)的選項字段;) ;括號注意配對;從上面的例子可以看出,就是定義一個函數(shù)的名稱,然后調(diào)用autocad的命令,就簡單的完了需要的功能。2 應用場景實踐2.1 動態(tài)縮放:(defun c:n ()(command "zoom"

5、; "d")(princ)在某些比面積較大的項目圖紙中,比如市政工程,我們需要放大視圖檢查多個細節(jié),我們可以不斷的滾動鼠標中間來放大縮小,也可以輸入命令“zoom”然后選擇字段“d”來查看,在多個細節(jié)上檢查來回放大縮小,確實感覺操作繁瑣,這個例子看似很簡單,但卻能解決這個問題。使用時,先加載程序,輸入命令n,鼠標變成一個矩形框,將矩形框移動到需要查看的細節(jié)位置,點擊空格鍵即可放大該區(qū)域,可以用空格重復該命令而不用再輸入中間選項。2.2 合并多段線(defun c:jn ()(setq pet (getvar "peditaccept")(setvar &

6、quot;peditaccept" 1)(setq ss (ssget '(0 . "arc,*line")(if (and ss)(command "_pedit" "m" ss "" "j" "" "")(setvar "peditaccept" pet)(princ)當我們需要合并線段、圓弧、多段線時,尤其是在鋼箱橋梁展開圖中,曲線是由小段的線段組成,線段數(shù)量大,需要合并為一條多段線。通常做法是,輸入“pedit

7、”命令,根據(jù)提示依次輸入“m”,選擇線段,輸入“j”,輸入“模糊距離”步驟多,并且必須是先輸入命令再選擇,有時候常常忘記順序,先選擇了線段對象,再輸入命令,這是發(fā)現(xiàn)之前的選擇無效必須重新選擇。這個例子實現(xiàn)了可以在命令之前或之后選擇都可以,中間的選項都不用再輸入,輸入一次命令即可完成。2.3 定制打?。╠efun c:pt()(setq slc nil)(setq slc (ssget '(0 . "lwpolyline") (8 . "圖紙")(if (and slc)(progn(setq tkn (sslength slc)(setq i 0

8、)(repeat tkn(setq tki (ssname slc i)(setq tki_inf (entget tki)(setq ptlist nil)(foreach n_print tki_inf(if (= 10 (car n_print)(setq ptlist (cons (cdr n_print) ptlist)(if (> (abs(- (car (car ptlist) (car (caddr ptlist) (abs(- (cadr (car ptlist) (cadr (caddr ptlist)(setq trad "l")(setq tr

9、ad "p")(if (= (getvar "tilemode") 1)(command "-plot" "y" "" "pdffactory pro" "a3" "m" trad "n" "w" (car ptlist) (caddr ptlist) "f" "c" "y" "黃.ctb" "y"

10、 "w" "n" "y" "y")(command "-plot" "y" "" "pdffactory pro" "a3" "m" trad "n" "w" (car ptlist) (caddr ptlist) "f" "c" "y" "黃.ctb" "y"

11、; "n" "y" "n" "n" "y" "y")(setq i (1+ i)如果有大量的dwg格式圖紙需要打印,通常需要先設置紙張規(guī)格、打印樣式、打印機、圖紙橫向或縱向打印,然后每張圖需要逐個選擇和打印。網(wǎng)絡上也有一些插件工具,但也需要先進行打印設置。我們一般在固定的工作場所中,采用的紙張規(guī)格、打印樣式等基本都是固定的,通過這個簡單的程序,每次打印都不需要再進行設置,輸入命令即可直接打印,支持一個文件中多張圖紙的批量框選打印,并且自動判斷圖紙的方向。其中“'(0 . "lwpolyline") (8 . "圖紙")”定義了可選擇的圖框?qū)ο鬄榫匦位蚨喽尉€創(chuàng)建的圖框線,圖框線所在圖層為“圖紙”;“"pdffactory pro"”是我們使用的打印機名稱;“"a3"”是我們使用的圖幅;“"黃.ctb"”是我們使用的顏色打印樣式。只需要將上述字段修改為適合自己常用的字符,以后打印圖紙再也不需要去設置了。3 效果評價我們在實際工作中,積累了很多的lsp程序,不但簡化了一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論