yaokui25
发表于 2013-5-12 11:05:32
小弟子线很多天了,每天上网第一件事就是打开明经看看哪位老大能出手帮小弟解决一下
豆角
发表于 2013-5-12 11:40:45
本帖最后由 豆角 于 2013-5-12 11:52 编辑
假定AUTOCAD中的文字是无序状态的话,需要先要把文字重新进行排序(按照一定的规则。),并记下每一个文字的新坐标,然后生成一个二维数组;再把二维数组填充到EXCEL或别的程序中。
用lisp实现排序的过程很难!
我用c#写了1000余行的代码 (借助c#方便的LINQ-语言集成查询和事务处理功能) , 才实现了AUTOCAD与EXCEL之间单行或多行文字的自由粘贴。
xiabin68
发表于 2013-5-12 15:46:02
这有一免费的,你可以用一下,,感觉 还是可以的,
yaokui25
发表于 2013-5-12 18:40:17
豆角 发表于 2013-5-12 11:40 static/image/common/back.gif
假定AUTOCAD中的文字是无序状态的话,需要先要把文字重新进行排序(按照一定的规则。),并记下每一个文字的 ...
嘿嘿~谢谢您的支持
yaokui25
发表于 2013-5-12 18:41:17
xiabin68 发表于 2013-5-12 15:46 static/image/common/back.gif
这有一免费的,你可以用一下,,感觉 还是可以的,
谢谢您,一会试试
我来看MM的
发表于 2014-2-25 22:40:01
留名
香田里浪人
发表于 2014-2-26 14:17:12
;;;取得图层所有文本.
(defun c:outxls()
(setq flnm (getfiled "保存文件名" "" "xls" 1))
(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文本导出xls")
lxy_2080
发表于 2014-3-5 01:38:52
香田里浪人 发表于 2014-2-26 14:17 static/image/common/back.gif
;;;取得图层所有文本.
(defun c:outxls()
(setq flnm (getfiled "保存文件名" "" "xls" 1))
高手呀!!!!!!!!!
xyp1964
发表于 2014-3-5 08:31:37
feng83
发表于 2014-5-21 06:05:54
感谢分享咯