(已解決)求高手修改文字統計程序
本帖最后由 jack11280 于 2012-11-30 14:33 编辑在本论坛收集了一个文字统计程序想请高手改一下
原程序对其数量统计并没有做排序希望能有大大帮忙改一下让输出能按文字顺序排列
在此贴出程序原文希望能有人帮忙
(defun c:txt ()
(setq lst nilnewlst nil x1 0)
(setq a (ssget))
(setq n (sslength a))
(setq index 0)
(repeat n
(setq el (entget ( ssname a index)))
(setq index ( + index 1))
(setq e (assoc 0 el))
(if (= "TEXT" (cdr e))
(progn
(setq txt (cdr (assoc 1 el)))
(setq lst(cons(append(list 1) (list txt))lst))
)
)
)
(while lst
(setq n 0)
(foreach i lst(if (= (cadar lst) (cadr i))(setq n (+ n (car i)))))
(setq newlst (append newlst (list (list n (cadar lst)))))
(setq lst(vl-remove-if '(lambda (x) (= (cadar lst) (cadr x))) lst))
)
(setq x2 (getpoint "\起始位置"))
(setq x3 (polar x20 12))
(command "text" "j" "c" (polar x2 (* pi 0.5) 3) "2" "0" "种类" "")
(command "text" "j" "c" (polar x3 (* pi 0.5) 3) "2" "0" "数量" "")
(repeat (length newlst)
(command "text" "j" "c" x2 "1.5" "0" (nth 1 (nth x1 newlst)) "")
(command "text""j" "c" x3 "1.5" "0" (nth 0 (nth x1 newlst)) "")
(setq x2(polar x2 (* pi 1.5) 3));此句可以将polar x2 (* pi 1.5) 3)
(setq x3 (polar x20 12))
(setq x1(1+ x1))
)
)
(defun c:txt ()
(setq lst nil newlst nil)
(setq a (ssget '((0 . "TEXT"))))
(setq i 0)
(repeat (sslength a)
(setq el (entget (ssname a i)))
(setq i (1+ i))
(setq lst(cons(cons (cdr (assoc 1 el)) 1) lst))
)
(while lst
(setq n 0)
(foreach i lst(if (= (caar lst) (car i))(setq n (+ n (cdr i)))))
(setq newlst (append newlst (list (cons (caar lst) n))))
(setq lst(vl-remove-if '(lambda (x) (= (caar lst) (car x))) lst))
)
(setq newlst (vl-sort newlst (function(lambda (x y) (< (car x) (car y))))))
(setq x2 (getpoint "\n起始位置:"))
(setq x3 (polar x2 0 12))
(command "text" "c" x2 "2" "0" "种类")
(command "text" "c" x3 "2" "0" "数量")
(foreach x newlst
(setq x2(polar x2 (/ pi -2) 3))
(setq x3 (polar x2 0 12))
(command "text" "c" x2 "1.5" "0" (car x))
(command "text" "c" x3 "1.5" "0" (cdr x))
)
(princ)
)
感谢ZZXXQQ 大大的帮忙你的急时雨帮了我很大的忙
再次感谢你 这个是好东西啊~~~~~~~~ ZZXXQQ 发表于 2012-11-30 13:11 static/image/common/back.gif
Z版,为啥写的字全堆在一块啊?不是表格形式呢? 支持一下
ZZXXQQ 发表于 2012-11-30 13:11 static/image/common/back.gif
谢谢Z版,是捕捉的问题。另一问题是,我关闭捕捉但是一改字高又堆一块了。需要怎么解决呢?
是写点的问题吗?。谢谢 ZZXXQQ 发表于 2012-11-30 13:11 static/image/common/back.gif
呵,找到问题了。谢谢! ZZXXQQ 发表于 2012-11-30 13:11 static/image/common/back.gif
不错!不错!不错!不错!不错!不错!不错!不错!不错!不错!不错! ZZXXQQ 发表于 2012-11-30 13:11 static/image/common/back.gif
请教z版,可以按选择文字的垂直位置进行排序统计吗,最上层的放在第一行,最下层的放在最后一行,其余类推?
页:
[1]
2