CAD中怎么導入導出文本

時間:2024-08-14 07:45:58 計算機輔助設計 我要投稿
  • 相關推薦

CAD中怎么導入導出文本

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

  1. 導入文本

  雖然CAD中沒有提供插入文本的命令,但是利用多行文字編輯Mtext可以實現文本插入。在Mtext的對話框中右鍵菜單中有“輸入文字”的功能,可以選擇磁盤上的“.txt”、“.rtf”格式的文件進行插入,注意插入文件大小不得超過16KB,這顯得美中不足。還有一種比較麻煩的方法就是利用文字編輯軟件先打開文本,然后在輸入單行文字或多行文字的時候將文字內容復制粘貼到CAD中。CAD還可以將默認的文字編輯器設置為記事本或WORD,設置方法如下:

  1、 在選項對話框中設置。輸入OP命令,打開選項對話框,在“文件”選項卡中找到文本編輯器應用程序,可以瀏覽設置成記事本、WORD的執行文件。

  2、 直接輸入mtexted命令,回車,輸入notepad,可以將編輯器設置成記事本,如果想設置回來,輸入mtexted,回車,輸入“.”,回車,就可以回復為CAD默認的編輯器。

  如果要導入文本,無論是粘貼、插入,實際上都不太復雜,改變編輯器一般人很少用。

  2. 導出文本

  如果僅有少量文字需要導出,那么在單行和多行文字的編輯框中,選擇文字進行復制,然后粘貼到文字編輯器中即可。但是如果圖紙中有大量散落的文字需要導出,上述方法就不太適用了。下面給大家介紹兩個在網上看到的小程序,可以快速將CAD中的單行文字輸出為文本文件(*.csv),這個文件用記事本或EXCEL都可以打開。

  A、選擇文字輸出

  可以框選文字進行輸出,自動將文字保存為*.csv。

  (defun c:exx ( / &ss %fir ~fir @tex #si #sn &tex %lay %tex @cl %ctx )

  (vl-load-com) (princ "\n請選擇要輸出的文字對象")

  (if (setq &ss (ssget (list (cons 0 "TEXT"))))

  (progn

  (setq %fir (strcat "C:\\" (vl-filename-base (getvar "dwgname")) ".csv") ~fir (open %fir "w"))

  (repeat (setq @tex '() #si 0 #sn (sslength &ss))

  (setq &tex (vlax-ename->vla-object (ssname &ss #si)) #si (1+ #si))

  (setq %lay (vla-get-layer &tex) %tex (vla-get-textstring &tex))

  (if (setq @cl (assoc %lay @tex))

  (setq @tex (subst (append @cl (list %tex)) @cl @tex))

  (setq @tex (cons (list %lay %tex) @tex))

  )

  )

  (setq @tex (vl-sort @tex (function (lambda (a b) (> (length a) (length b))))))

  (setq #si 0 #sn (length (car @tex)))

  (setq @tex (vl-sort @tex (function (lambda (a b) (< (car a) (car b))))))

  (repeat #sn

  (setq %tex "")

  (foreach @tx @tex

  (if (null (setq %ctx (nth #si @tx))) (setq %ctx "") )

  (if (/= %tex "")

  (setq %tex (strcat %tex "," %ctx))

  (setq %tex %ctx)

  )

  )

  (write-line %tex ~fir) (setq #si (1+ #si))

  )

  (close ~fir) (vlax-release-object &tex)

  (princ (strcat "\n成功輸出 " (itoa (sslength &ss)) "個文字輸出到 " %fir " 中."))

  )

  (princ "\n未選擇文字對象,退出.")

  )

  (princ)

  )

  將上面代碼復制到記事本中,另存為exx.lsp,在CAD中輸入AP命令,加載exx.lsp,加載成功后,在命令行輸入EXX,回車,在圖中框選要輸出的單行文字即可。

  B、輸出同圖層文字

  可以選擇圖層上的一個單行文字,就可以將此圖層上所有單行文字都輸出為一個*.csv文件。

  (defun c:ecx ( / &tex &ss %fir ~fir %lay #si #sn )

  (if (null vlax-dump-object) (vl-load-com) )

  (if (setq &tex (entsel "\n請選擇要輸出圖層的文字對象: "))

  (if (= (vla-get-objectname (setq &tex (vlax-ename->vla-object (car &tex)))) "AcDbText")

  (progn

  (setq %fir (strcat "C:\\" (vl-filename-base (getvar "dwgname")) ".csv") ~fir (open %fir "w"))

  (setq %lay (vla-get-layer &tex) &ss (ssget "X" (list (cons 0 "TEXT") (cons 8 %lay))))

  (repeat (setq #si 0 #sn (sslength &ss))

  (write-line (vla-get-textstring (vlax-ename->vla-object (ssname &ss #si))) ~fir)

  (setq #si (1+ #si))

  )

  (close ~fir) (vlax-release-object &tex)

  (princ (strcat "\n已輸出圖層 [" %lay "]中的 " (itoa #sn) " 個文字到文件 " %fir "中."))

  )

  (princ "\n選擇的不是文字對象.")

  )

  (princ "\n未選擇對象.")

  )

  (princ)

  )

  將上面代碼復制到記事本中,另存為ecx.lsp,在CAD中輸入AP命令,加載ecx.lsp,加載成功后,在命令行輸入EcX,回車,在圖中點取一個要輸出圖層上的單行文字即可。

【CAD中怎么導入導出文本】相關文章:

cad中怎么導入圖片09-14

MySQL導出導入SQL文件命令方法10-17

cad中的問號怎么解決08-05

怎么在cad2015中調出CAD經典模式10-24

CAD導入圖片實用技巧01-31

CAD圖紙中怎么把實線變成虛線10-09

怎么將word中的內容直接導入PPT08-28

2016最新Oracle數據庫導入導出命令總結08-25

怎么CAD-CAD的用法06-11

將格式化文本導入Excel的步驟12-07

亚洲制服丝袜二区欧美精品,亚洲精品无码视频乱码,日韩av无码一区二区,国产人妖视频一区二区
亚洲第一综合天堂另类专 | 一区二区三区乱码国产在线 | 日韩欧美中文字幕一区二区 | 中文字幕亚洲视频一在线 | 亚洲欧美在线观看品 | 一区二区三区国产日韩欧美 |