AutoCAD內常用術語的自動標注方法_第1頁
AutoCAD內常用術語的自動標注方法_第2頁
AutoCAD內常用術語的自動標注方法_第3頁
AutoCAD內常用術語的自動標注方法_第4頁
AutoCAD內常用術語的自動標注方法_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、AutoCAD 內常用術語的自動標注方法每日經(jīng)典 CAD 解決方案 史上最齊全的 CAD 下載鏈接 : 訪問密碼 5bf3400G autocad 視頻教程和軟件 鏈接 : 訪問密碼 2f59 (請 用電腦下載)已轉移到 360 ,請大家下載, 400G 文件 部分 已傳!長按右側二維碼,關注 CAD 吧 漢字的標注在 CAD 設計 制圖中是一個重要的部分, 也是一個較為繁瑣、 困難的部分。 目前,在 AutoCAD 內漢字的輸入大多采用拼音方式,對拼 音不熟悉的人來說漢字的輸入就很困難。如果能將設計中常 用的文字術語直觀地顯示出來供設計人員調用,將會極大地 提高工作效率。 本文就此進行研究,

2、 提出了一種用對話框 (下 圖)將常用術語顯示并供調用的方法,同時給出了源程序, 供大家參考。該程序已應用于我院的實際生產(chǎn)中。二、原理 及方法AutoCAD 對話框結構包含有多種構件,如 edit_box( 編 輯框 )、 list_box( 列表框 )、 radio_button( 多選一按鈕 )等,利 用這些工具,可以開發(fā)出界面友好的實用程序。左圖就是用這種方法實現(xiàn)的。將常用詞組分類,分別存 于不同的文件中。根據(jù)多選一按鈕中所驅動的分組號分別打 開不同的文件,將文件內容讀入并顯示于列表框內,供設計 人員使用。同時,設有一個編輯框,可將所點取的詞組顯示 于編輯框中,便于用戶對詞組進行適當?shù)男?/p>

3、改,如刪除或增 加字符等。這種方法有一個優(yōu)點,用戶可十分方便地根據(jù)自 己需要修改或添加詞組內容。對話框文件及驅動程序分別見 #CAL.DCL 及 #CAL.LSP 。三、程序使用方法先用 WPS 、 EDIT 等編輯程序分類建立詞組庫(注意,需要 存成純文本格式) ,每個詞組占一行。 程序要求將 常用術語 、 圖紙名稱 、 房間名稱 等各分類所對應的詞組庫文件名分別 為 $TXT1.DAT 、 $TXT2.DAT 、 $TXT3.DAT 厖。除第一個文 件不能少外,其它文件可空缺,但當點取該分類項時,系統(tǒng) 會提示有關文件不存在的信息。 然后將所建立的詞組庫文件及所提供的程序 #TXT.LSP

4、和對 話框文件 #TXT.DCL 拷貝到 AutoCAD 所能找到的目錄(環(huán) 境變量 ACAD 所設置的任一目錄如 ACADSUPPORT 或當 前目錄)中,在 Command :命令下鍵入( LOAD #TXT ) 進行程序的加載,即可象其它 AutoCAD 內部命令一樣使用 #TXT 了。也可在所使用的菜單文件(如 ACAD.MNU )中的 下拉式菜單或屏幕菜單部分加上下面一行: 常用詞組 ACACAP(if (null c:#txt) (load#txt) #txt 以后可直接從菜單中 驅動該程序。在 COMMAND :狀態(tài)下,鍵入 #TXT 后,系統(tǒng)彈出一個對話 框,根據(jù)需要點取所需的

5、詞組類別,再從列表框內選擇所需 詞組。所點取的詞組會在編輯框所選詞組中顯示。用戶 可以在此對詞組進行必要的修改,點取0K后,根據(jù)提示輸入字高及起點即可把詞組寫到圖中。 需要說明的是,本程序中是將文字以 HZ 字型寫到圖中,要 求字體為 TXT.SHX 及 HZTXT.SHX 。若您的軟件中無這兩 種字體,可將其它字體改名為該兩種字體(要求一個為英文 字體,一個為中文字體) ,或將程序修改為您所具有的字體。 但需要注意,也許您的字體在用于設置字型時會多一個選項, 詢問是否垂直書寫文字,此時,可將字型設置一句改為: (command STYLE HZ txt,hztxt 0 0.7 0 n n n

6、)即可。本程序在 AutoCAD R12.0 FOR DOS 及 FOR WINDOWS 版上 均調試通過。(defun c:#txt ( / oldcmd olderr ok txt_tb txt dcl_id sty fp nn ht pt txterr diag init wr_txt old_nn) ; 定義錯誤處理子程序(defun txterr(s)(if (and (/= s console break)(/= s Function cancelled)(/= s quit / exit abort)(princ (strcat nError: s)(if olderr (set

7、q *error* olderr);恢復原系統(tǒng)設置(if oldcmd (setvar cmdecho oldcmd)(princ); 對話框顯示及驅動程序(defun diag ( / i)(if ( (setq dcl_id (load_dialog #txt) 0) ;加載對話框文件 (progn(if (new_dialog filetext dcl JX*6id);顯示對話框(progn start_list what) ;將詞組顯示到列表框內(mapcar add_list txt_tb)(end_list)(setq i 1)(repeat nn ;點取詞組分類項后的操作(act

8、ion_tile (strcat c (itoa i) (wr_txt)(setq i (1+ i)(action_tile what (setq i (atoi $value);選中詞組(setq txt (nth i txt_tb)(set_tile sel_ok txt)(action_tile sel_ok (setq txt $value)(action_tile accept (setq ok T)(done_dialog 1)(unload_dialog dcl_id)(action_tile cancel (unload_dialog dcl_id)(start_dialog)

9、(prompt n 無法顯示對話框 FILETEXT! 請檢查對話框內 容!)(prompt n 無法加載對話框文件 #TXT.DCL! 請檢查文件是 否存在及路徑是否正確 !); 初始化程序 , 把第 1 個分組項中的詞組讀入表 txt_tb 中 (defun init( / fname fp txt1)(setq fname (findfile $txt1.dat)(if (not fname)(progn (princ n 文件 $TXT1.DAT 不存在 !) (exit) ; 文件 不存在 , 則退出)(setq fp (open fname r)(setq txt_tb ()(wh

10、ile (setq txt1 (read_line fp)(setq txt_tb (cons txt1 txt_tb)(close fp)(setq txt_tb (reverse txt_tb)(setq old_nn 1) ;記錄索引號); 更換列表框內詞組顯示內容(defun wr_txt ( / fname fname1 fp txt1 i)(setq i 1)(while (if (= (get_tile (strcat c (itoa i) 1)(setq fname1 (strcat $txt (itoa i) .dat)i nn)(setq i (1+ i)(if (setq

11、 fname (findfile fname1);查找文件是否存在(progn(setq old_nn (atoi (substr fname1 5) ;記錄索引號(setq fp (open fname r)(setq txt_tb ()(while (setq txt1 (read_line fp) ;依次讀出各詞組(setq txt_tb (cons txt1 txt_tb)(close fp)(setq txt_tb (reverse txt_tb)(start_list what) ;在列表框內顯示詞組內容(mapcar add_list txt_tb)(end_list) ; pr

12、ogn(progn(alert (strcat 文件 fname1 不存在 !)(set_tile (strcat c (itoa old_nn) 1) ;恢復原記錄號 ) ; if); 主程序開始(setq olderr *error*error* txterr oldcmd (getvar cmdecho)(setvar cmdecho 0) ; 命令不回顯(setq nn 9) ; 詞組分類數(shù)(init) ; 初始化(diag) ; 驅動對話框(if (and ok txt)(progn(if (or (= (setq sty (tblsearch STYLE HZ) nil); HZ

13、字型是 否存在(/= (cdr (assoc 40 sty) 0) ; 字高是否為定值(/=(getvar TEXTSTYLE) HZ); 當前字型是否為 HZ)(command STYLE HZ txt,hztxt 0 0.7 0 n n) ;設置 HZ字型)(initget (+ 2 4) ;下面的輸入值要求大于 0(setq ht (getreal n 請輸入字高 :)(if (not ht) (setq ht 500)(setq pt (getpoint n 請點取文字起點 :)(command text pt ht 0 txt)(setq *error* olderr) ;恢復原設置

14、(setvar cmdecho oldcmd)(princ)/ #txt.dcl/ 供 #txt.lsp 調用filetext : dialog / 對話框名稱 label = 常用詞組 ; / 對話框標識 : row : boxed_column label = 索 引 ;: radio_button label = 常用術語 ; / 多選一按鈕key = c1;value = 1; / 初始值為 1, 表示選中: radio_button label = 圖紙名稱 ;key = c2;: radio_button label = 房間名稱 ;key = c3;: radio_button label = 衛(wèi)生器具 key = c4;: radio_button label = 管材配件 key = c5;: radio_button label = 器材儀表 key = c6;: radio_button label = 常用設備 key = c7;: radio_button label

溫馨提示

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

評論

0/150

提交評論