*本程序用于从图形中提取文本
(defun c:outtext ( / dwgnam olderr tss flag key tf index edata fname)
*初始化一些变量
(modes '("cmdecho"))
(setvar "cmdecho" 0)
(setq olderr *error* *error* myerr flag t)
(setq dwgnam (strcat (getvar "dwgname") ".txt"))
(prompt "\n输出文本的文件名<")
(prompt dwgnam)
(prompt ">: ")
(setq fname (getstring))
(if (= "" fname) (setq fname dwgnam))
(if (findfile fname) (progn
(prompt (strcat "\n" fname " 文件已存在,要重写吗? <N>: "))
(initget "Yes No")
(setq key (getkword))
(if (or (null key) (= key "No")) (setq flag nil))
))if-progn
(if flag (progn
(prompt "\n选择要提取的文本...")
(setq tss (ssget))
(if tss (progn
(setq tf (open fname "w"))
(setq index 0)
(repeat (sslength tss)
(setq edata (entget (ssname tss index)))
(if (= (dxf 0 edata) "TEXT") (write-line (dxf 1 edata) tf))
(setq index (1+ index))
)repeat
(close tf)
))))if-progn-if-progn
*恢复设置
(moder)
(setq *error* olderr)
(setvar "cmdecho" 1)
(princ)
)*c:outtext
*
可以把图上的文本提取出来,存到一个*.txt文件中,方便从老图中提取文本,稍作修改后再写回图里去。
(findfile "setting.txt")用以上语句获取你这个文件的完整路径,前提是不管这个文件是放在那个目录,必须将该目录设置在autocad的支持文件搜索路径内,否则是找不到该文件目录的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)