730527 发表于 2018-3-27 09:21:22

求批量提取文字

批量提取封闭区域内的文字,区域内的文字个数不定

730527 发表于 2018-3-30 12:48:08

请大神帮帮忙

730527 发表于 2018-4-6 16:01:16

哪位大哥帮忙写个。

mikewolf2k 发表于 2018-4-8 09:46:31

已经有大把接近功能的代码出现了,自己研究下就能修改出满足自己需要的版本。既然对你有利,自己又弄不出来,要请人代劳,何不去付费开发板块呢?请人跑个腿也得付个外卖费是不?

elepeipei 发表于 2018-5-17 08:19:43

这个提取出来了吗

独一无二 发表于 2018-5-18 16:43:37

本帖最后由 独一无二 于 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)
)

730527 发表于 2018-5-20 08:19:14

这个程序不能批量提取封闭区域内的文字

pastor 发表于 2018-5-22 01:27:58

(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)
)

730527 发表于 2018-5-24 11:23:04

(defun c:tt();;;提取封闭图形内文字
(setq ffn (getfiled "写出文件" "" "DOC" 1))

不能批量提取呀    谢谢你的帮助!

f4800 发表于 2021-2-16 12:25:00



横断面批量提取演示hdm.7z.001
横断面批量提取演示hdm.7z.002
页: [1]
查看完整版本: 求批量提取文字