cad中如何导入导出文本

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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。(defunc:exx(/&ss%fir~fir@tex#si#sn&tex%lay%tex@cl%ctx)(vl-load-com)(princ\n请选择要输出的文字对象)(if(setq&ss(ssget(list(cons0TEXT))))(progn(setq%fir(strcatC:\\(vl-filename-base(getvardwgname)).csv)~fir(open%firw))(repeat(setq@tex'()#si0#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(ab)(>(lengtha)(lengthb))))))(setq#si0#sn(length(car@tex)))(setq@tex(vl-sort@tex(function(lambda(ab)(<(cara)(carb))))))(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文件。(defunc:ecx(/&tex&ss%fir~fir%lay#si#sn)(if(nullvlax-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(strcatC:\\(vl-filename-base(getvardwgname)).csv)~fir(open%firw))(setq%lay(vla-get-layer&tex)&ss(ssgetX(list(cons0TEXT)(cons8%lay))))(repeat(setq#si0#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,回车,在图中点取一个要输出图层上的单行文字即可。上面两个程序,不仅AutoCAD可以用,在浩辰CAD这样的国产CAD中也一样可以运行。网上还找到一些其他程序,有的类似,有的不太好用,就不再一一介绍了。希望这两个工具对大家有所帮助,也感谢编写这个程序的人。相关文章:CAD大字体什么意思?详细讲解CAD字体CAD中的动态文字:字段(field)和动态反应文字(rtext)什么是CAD大字体?从文字处理的发展讲到CAD的大字体CAD文字显示为问号?怎么解决?更多CAD使用技巧请访问:CAD使用技巧、CAD教程、CAD资料下载

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功