你當前的位置:主頁>>AutoCAD知識>>AutoCAD提高篇 聰明人最愚蠢,呆傻人最智慧 --陳景潤

               在AutoCAD中做純文本的導入導出

   在使用AutoCAD繪圖軟件進行工作時,有時需要把用文字編輯器寫好的段落文字插入到圖形中,并用AutoCAD的文字編輯命令進行修改;有時也需要把圖形中已有的文字輸出到文件中,以便用文字編輯器進行處理。AutoCAD中并沒有直接提供關(guān)于文本插入和文本輸出的命令,遇到這樣的問題該怎么辦?當然,通過剪貼板進行OLE方式的復制與粘貼是無法實現(xiàn)上述要求的。下面介紹的方法能夠解決在AutoCAD與文字編輯器之間進行純文本的導入和導出的問題。

1. 導入文本

  雖然AutoCAD中沒有提供插入文本的命令,但是利用多行文字編輯命令“Mtext”可以實現(xiàn)文本插入。在Mtext的對話框中有一個“ImportText…”命令按鈕,點擊后出現(xiàn)“打開”對話框,在此可以選擇磁盤上的“.txt”、“.rtf”格式的文件進行插入,插入后的文本即可用“Ddedit”命令進行編輯,注意插入文件大小不得超過16KB,這顯得美中不足。值得一提的是可以將“Mtext”默認的文字編輯器改為“Windows 記事本”或者“Microsoft Word 2000”。選取“Tools”菜單的“Preferences…”對話框,將“Text Editor、Dictionary、Font File Names”目錄下的“Text Editor Application”項,由“Internal”改為記事本或Word 2000的磁盤路徑,例如:C:\Windows\Notepad.exe。通過設(shè)置系統(tǒng)變量“Mtexted”也可以實現(xiàn)相同操作。

2. 導出文本

  如果僅有少量文字需要導出,那么在“Ddedit”或“Mtext”的編輯框中,選擇文字進行復制,然后粘貼到文字編輯器中即可。但是如果圖紙中有大量散落的文字需要導出,上述方法就不太適用了。下面提供的小程序“ExpText.lsp”,可以通過AutoCAD的窗選方式直接將所選文字輸出到文本文件中去。

;;; ExpText.lsp(defun c:EXT (/ flnm fn s n index ents ent txt)
(setq flnm (getstring “\nFile name:”))
(setq fn (open flnm “w”))
(setq s (ssget))
(setq n (sslength s))
(setq index ( - n 1))
(repeat n 
(setq ents (entget (ssname s index)))
(setq index ( - index 1))
(setq ent (assoc 0 ents))
(if ( = “TEXT”(cdr ent))
(progn
(setq txt (cdr (assoc 1 ents)))
(write-line txt fn)
)
)
)
(close fn)
)
(princ “\n文本導出:EXT”)

  程序建立后,通過“Appload”命令加載“ExpText.lsp”,在“Command:”后鍵入EXT回車,輸入文件名(可帶路徑及后綴名)、窗選實體(自動過濾非文字實體),此時輸出到文件的文字實體將按其在AutoCAD實體集中建立的先后次序及回車換行。

民眾工作室.制作      版權(quán)所有