明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1805|回复: 3

导出文本 (求助!!!)

[复制链接]
发表于 2005-1-31 14:20:00 | 显示全部楼层 |阅读模式
导出文本
  如果仅有少量文字需要导出,那么在“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实体集中建立的先后次序及回 车换行。 为什么上面方法行不通?
发表于 2005-1-31 15:09:00 | 显示全部楼层
“XXX”--> "XXX" 引号大写改小写 ;;; ExpText.lsp
(defun c:EXTT (/ flnm fn s n index ents ent txt)  (setq flnm (getstring "\nFile name:"))  (setq fn (open flnm "w"))  (setq s (ssget '((0 . "TEXT,MTEXT"))))  (setq n (sslength s))  (setq i 0)  (repeat n   (setq ents (entget (ssname s i)))   (setq txt (cdr (assoc 1 ents)))   (write-line txt fn) (setq i (+ i 1))
 ) (close fn) ) ;(princ “\文字导出:EXT”)
发表于 2005-2-21 10:45:00 | 显示全部楼层

能直接存到EXCEL里面么?

不知道能不能直接存到EXCEL里面,而且这个程序的自动筛选排序,如果是框选的话好像还有点问题。
发表于 2005-2-21 13:27:00 | 显示全部楼层
你可以先写到一个(.txt)的记事本文件里,然后再导入到excel里,我是这样做的。不知其他大虾有更好的办法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-17 17:49 , Processed in 0.206145 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表