1633712236 发表于 2016-2-19 15:52:36

如何提取文字和坐标点?

各位大神,帮忙看看好嘛?
怎么提取封闭区域里的字和封闭区域的的端点坐标啊?并且让它们一 一对应啊?

1633712236 发表于 2016-2-19 15:55:09

哦,最好提取出来以后排序也是按照文字的大小顺序排列A1 ;A2;A3....

永不言弃 发表于 2016-2-20 14:45:50




更多插件请加群或云盘下载
http://yunpan.cn/c3iAVqYptpwj9访问密码 cc19
QQ群: 208388011


CASS淘宝店
https://shop144125783.taobao.com/?spm=2013.1.1000126.2.OPuimC


视频网盘
https://yunpan.cn/cxxbsasRFynjQ访问密码 0742



(defun c:tt();;输出PL线内的文字和PL线的起点坐标
(vl-load-com)
(setq ss (ssget (list (cons 0 "*POLYLINE"))))
(setq k -1)
(setq filetxt (open "C:\\坐标及文本.csv" "W"))
(setq txt1 (strcat "文本内容" "," "X坐标" "," "Y坐标"))
(write-line txt1 filetxt)
(princ)
(setq txtnum nil)
(repeat (sslength ss)
    (setq ent (ssname ss (setq k (1+ k))))
    (setq plst (xlr_pljdzb ent))
    (setq X (rtos (nth 0 (car plst)) 2 3))
    (setq Y (rtos (nth 1 (car plst)) 2 3))
    (setq ss1 (ssget "WP" plst (list (cons 0 "TEXT"))))
    (if (/= ss1 nil)
      (setq txt2 (cdr (assoc 1 (entget (ssname ss1 0)))))
      (setq txt2 "")
      )
      (setq txt3 (list txt2 (list(strcat txt2 "," X "," Y))))
    (setq txtnum (cons txt3 txtnum))
    )
(setq ss_en (vl-sort txtnum '(lambda (l1 l2) (< (car l1) (car l2)))))
(foreach tx ss_en
    (setq tx1 (caadr tx))
    (write-line tx1 filetxt)
      (princ)
    )
(close filetxt)
)

(defun xlr_pljdzb (ename / i v lst);;获得_节点坐标
    (setq i -1)
    (while (setq v (vlax-curve-getpointatparam ename (setq i (1+ i))))
      (setq lst (cons v lst))
    )
    (reverse lst)
)

1633712236 发表于 2016-2-20 14:58:54

谢谢楼上的大神,谢谢
页: [1]
查看完整版本: 如何提取文字和坐标点?