求批量提取文字
批量提取封闭区域内的文字,区域内的文字个数不定请大神帮帮忙 哪位大哥帮忙写个。 已经有大把接近功能的代码出现了,自己研究下就能修改出满足自己需要的版本。既然对你有利,自己又弄不出来,要请人代劳,何不去付费开发板块呢?请人跑个腿也得付个外卖费是不? 这个提取出来了吗 本帖最后由 独一无二 于 2018-5-18 16:45 编辑
将CAD文字导入WORD文档
(defun c:Q2()
(setq ffn (getfiled "写出文件" "" "DOC" 1))
(princ "\n选取文字...")
(setq ss (ssget))
(setq ff (open ffn "w"))
(setq i 0)
(repeat (sslength ss)
(setq ssn (ssname ss i))
(setq ssdata (entget ssn))
(setq sstyp (cdr (assoc 0 ssdata)))
(if (or (= sstyp "TEXT") (= sstyp "MTEXT"))
(progn
(setq txt (cdr (assoc 1 ssdata)))
(princ txt ff)
(princ "\n" ff)
)
)
(setq i (1+ i))
)
(close ff)
(princ (strcat "\n写出文件: " ffn))
(prin1)
) 这个程序不能批量提取封闭区域内的文字 (defun c:tt();;;提取封闭图形内文字
(setq ffn (getfiled "写出文件" "" "DOC" 1))
(princ "\n选取封闭区域多段线...")
(setq entdata(entget(car(entsel))))
(if(= (cdr(assoc 0 entdata)) "LWPOLYLINE")
(progn
(setq n 0)
;;; (setq pt_list nil)
(repeat (length entdata)
(setq pp (nth n entdata))
(setq key (car pp))
(if (= key 10)
(progn
(setq x (cadr pp))
(setq y (caddr pp))
(setq aa (list(list x y)))
(setq pt_list (append pt_list aa))
)
)
(setq n (1+ n))
)
)
)
(setq ss (ssget "CP" pt_list))
(setq ff (open ffn "w"))
(setq i 0)
(repeat (sslength ss)
(setq ssn (ssname ss i))
(setq ssdata (entget ssn))
(setq sstyp (cdr (assoc 0 ssdata)))
(if (or (= sstyp "TEXT") (= sstyp "MTEXT"))
(progn
(setq txt (cdr (assoc 1 ssdata)))
(princ txt ff)
(princ "\n" ff)
)
)
(setq i (1+ i))
)
(close ff)
(princ (strcat "\n写出文件: " ffn))
(prin1)
) (defun c:tt();;;提取封闭图形内文字
(setq ffn (getfiled "写出文件" "" "DOC" 1))
不能批量提取呀 谢谢你的帮助!
横断面批量提取演示hdm.7z.001
横断面批量提取演示hdm.7z.002
页:
[1]