AutoCAD导入导出文本方法及命令详细步骤介绍

05-15

在使用AutoCAD绘图软件进行工作时有时需要把用文字编辑器写好的段落文字插入到图形中并用AutoCAD的文字编辑命令进行修改有时也需要把图形中已有的文字输出到文件中以便用文字编辑器进行处理AutoCAD中并没有直接提供关于文本插入和文本输出的命令遇到这样的问题该怎么办?当然通过剪贴板进行OLE方式的复制与粘贴是无法实现上述要求的下面介绍的方法能够解决在AutoCAD与文字编辑器之间进行纯文本的导入和导出的问题。

AutoCAD中导入超文本实现方法
一、除了AutoCAD内含的文本输入命令外,向AutoCAD中输入多行文本即超文本的方法还有:通过Windows提供的剪贴板,利用AutoCAD提供的多行文本命令;利用OLE特性。

二、用单行文本命令组合实现
在AutoCAD图样中输入少量文字可以用DText命令实现,如工程图样中的图名、明细表、标题栏、技术要求等的填写。在需要输入多行文本时,可以通过单行文本的组合来实现。即输入一行文本后,再借助复制命令(Copy)和文本编辑(DDEdit或MTEdit)、属性编辑(DDModify)、对象特性工具(Properties)、移动(Move)等命令进行多行文本的输入。但此种方法在换行时的定位及行列对齐都比较困难。且标注结束后,每行文本都是一个单独的实体。所以用其标注多行文本时,其实输入和编辑的功能远远不如下面的几种方法方便。

三、通过剪贴板来实现
剪贴板是Windows提供的功能,帮助应用程序间进行数据通讯。虽然利用剪贴板所传递的数据是静态的,即应用程序中对数据的修改不会在目标程序中体现出来,但操作方便、快捷、简单。以Word为例,Word提供了剪切(Cut)、复制(Copy)和粘贴(Paste)三个命令来操作剪贴板。其具体实现方法如下:打开AutoCAD和Word软件,在Word中选中要插入的内容,单击下拉式菜单“编辑”中的“复制”命令。激活AutoCAD,打开下拉式菜单“Edit”中的“Paste”选项,这样Word文档就以AutoCAD绘图区左上角为插入点被插入,此种方法插入的文档位置和字体的大小都会与原AutoCAD图样大小和比例不一致,需进行处理。

四、用AutoCAD的多行文本命令来导入
AutoCAD系统提供了多行文本输入命令MText,可以一次标注多行文本,且各行文本都按照指定宽度对齐排列,并成为一个完整统一的实体,其内容可以在多行文本编辑器中直接输入,也可从外部文档导入。
1.在文本编辑器中直接输入
在AutoCAD的下拉式菜单“Draw”中选中“Text”,再单击“MultiLINE Text…”选项,在Command提示区提示用户确定所标注文本的宽度、高度和字体排列方式,系统根据输入信息,确定文本框大小,并弹出一个专门用于文字编辑的文本编辑器,即弹出“Multiline Text Editor”对话框,在选定字型、字高、文本宽度等前提条件后,可直接在“Multiline Text Editor”对话框中进行多行标注文本的输入、编辑、修改等工作。

2.从外部导入多行文本
(1)导入纯文本
若需导入纯文本,可直接单击“Multiline Text Editor”对话框中的“Import Text…”按钮,弹出“打开”对话框,用户可以在这个对话框中选择所需插入引用的纯文本文件。(AutoCAD 2000除支持纯文本文档,还可导入带有格式信息的RTF格式文件,用户可以在支持RTF格式的文字处理软件中对文字进行格式化处理,然后再用此方法导入到AutoCAD中)。
(2)导入格式文本
对于RTF格式的格式文档,可直接从文本编辑器导入。对于非RTF格式的格式文档要导入到AutoCAD中,先要进行格式转换处理,此后才能导入成功。否则,会提示格式出错。格式转换处理方法有:方法一,可将非RTF格式文档调入到记事本等纯文本文字处理软件内,然后另存为纯文本格式文档;方法二,有些格式文档可转换为RTF格式文档,也可成功导入。

五、用OLE来实现
把一个对象从一个应用程序链接或嵌入到另一个应用程序中,操作过程与使用剪贴板的操作过程很相近,但它们之间有很大的区别。对象链接和嵌入即OLE(Object Linking and Embedding)是Microsoft Windows提供的集成接口,使用OLE实现向AutoCAD图样插入Word文档,即将一个特定OLE对象从一个应用程序链接到另一个应用程序中,在对象与创建它的应用程序之间,保持联系,且这两个应用程序间可以进行实时编辑,具体实现方法如下。
进入AutoCAD,打开下拉式菜单“Insert”,选中“OLE Object…”选项,弹出“插入对象”对话框,从对象类型列表框中选择将要插入的对象类型:Microsoft Word类型或其他类型,选中“由文件创建”单选框,此单选框选中后,可直接选择某个已存在文件作为插入对象插入到当前图形文件中,单击“浏览”按钮,弹出“浏览”对话框,选择要插入到AutoCAD中的Word文档或其他类型文档,并单击该对话框中的“插入”按钮,返回到“插入对象”对话框,在该对话框中的“文件”编辑框中列出被插入文档的路径。单击“确定”按钮,则Word文档以AutoCAD绘图区左上角为插入点插入到AutoCAD图样中。如果要编辑被插入文档,可双击该文档,则系统链接到Word系统,完成编辑后,打开“文件”菜单,单击“关闭并返回”,则返回到AutoCAD。此时,已是编辑后的Word文档。被插入的OLE对象,根据需要可对其大小进行调整,亦可进行无级缩放,并按住左键将其移到需要的合适位置。此种方法对纯文本文档、非纯文本文档都适用。

六、通过拖放技术导入
在Windows9X/NT环境下,可以一次打开或运行多个应用程序,因此为了将文本文档导入图形文件,用户可打开Window系统的资源管理器,把文档文件图标拖到AutoCAD图形窗口,所产生的文本作为MText对象显示。利用导入对象的外围控制点可对其大小要进行调整。

由于AutoCAD中的图形可进行无级缩放和平移,采用以上方法导入的文本,其大小和位置有时会与整个图形不协调一致,需进行处理。

1、 导入文本
虽然AutoCAD中没有提供插入文本的命令,但是利用多行文字编辑命令“Mtext”可以实现文本插入。在Mtext的对话框中有一个“ImportText…”命令按钮,点击后出现“打开”对话框,在此可以选择磁盘上的“.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。通过设置系统变量“Mtexted”也可以实现相同操作。

导出文本
如果仅有少量文字需要导出那么在Ddedit或Mtext的编辑框中选择文字进行复制然后粘贴到文字编辑器中即可但是如果图纸中有大量散落的文字需要导出上述方法就不太适用了下面提供的小程序ExpTextlsp可以通过AutoCAD的窗选方式直接将所选文字输出到文本文件中去

;;; ExpTextlsp(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 ))
(repeat n?
(setq ents (entget (ssname s index)))
(setq index ( index ))
(setq ent (assoc ents))
(if ( = TEXT(cdr ent))
(progn
(setq txt (cdr (assoc ents)))
(writeline txt fn)
)
)
)
(close fn)
)
(princ n文本导出:EXT)

程序建立后通过Appload命令加载ExpTextlsp在Command后键入EXT回车输入文件名(可带路径及后缀名)窗选实体(自动过滤非文字实体)此时输出到文件的文字实体将按其在AutoCAD实体集中建立的先后次序及回车换行