用法
评论
建议
取 消
确 定
(defun text:get-matrix (/ ss-txt result lst-tmp row) "从dwg图中框取单行文本,形成二维列表数据" "由字符串组成的二维列表" "" (setq ss-txt (pickset:to-list (ssget (quote ((0 . "text")))))) (setq ss-txt (vl-sort ss-txt (quote (lambda (x y) (or (and (equal (cadr (entity:getdxf x 10)) (cadr (entity:getdxf y 10)) (* 1.1 (entity:getdxf x 40))) (< (car (entity:getdxf x 10)) (car (entity:getdxf y 10)))) (> (cadr (entity:getdxf x 10)) (+ (cadr (entity:getdxf y 10)) (* 0.5 (entity:getdxf y 40))))))))) (setq result (quote nil)) (setq lst-tmp (list (car ss-txt))) (while (setq ss-txt (cdr ss-txt)) (if (equal (cadr (entity:getdxf (last lst-tmp) 10)) (cadr (entity:getdxf (car ss-txt) 10)) (* 0.3 (entity:getdxf (last lst-tmp) 40))) (setq lst-tmp (append lst-tmp (list (car ss-txt)))) (progn (setq result (append result (list lst-tmp))) (setq lst-tmp (list (car ss-txt)))))) (setq result (append result (list lst-tmp))) (setq lst-tmp (cdr result)) (setq result (list (car result))) (foreach row lst-tmp (if (= (length row) (length (car result))) (setq result (append result (list row))) (progn (setq i 0) (setq j 0) (setq row-tmp (quote nil)) (repeat (length (car result)) (if (equal (car (entity:getdxf (nth j row) 10)) (car (entity:getdxf (nth i (car result)) 10)) (* 1.1 (entity:getdxf (nth i (car result)) 40))) (progn (setq row-tmp (append row-tmp (list (nth j row)))) (setq i (1+ i)) (setq j (1+ j))) (progn (setq row-tmp (append row-tmp (list ""))) (setq i (1+ i))))) (setq result (append result (list row-tmp)))))) (mapcar (quote (lambda (x) (mapcar (quote (lambda (y) (if (= (quote ename) (type y)) (entity:getdxf y 1) y))) x))) result))
函数库使用说明
应用包
技术支持
统计信息
函数库规模: 733 个
函数库类别: 51 种
上传记录
刷新