跪求LISP实用代码

跪求LISP实用代码,第1张

给你个例子吧,源代码如下:

*本程序用于从图形中提取文本

(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的支持文件搜索路径内,否则是找不到该文件目录的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12018102.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存