jack11280 发表于 2012-11-30 11:21:36

(已解決)求高手修改文字統計程序

本帖最后由 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))
    )

)


ZZXXQQ 发表于 2012-11-30 13:11:54


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

jack11280 发表于 2012-11-30 13:41:16

感谢ZZXXQQ 大大的帮忙你的急时雨帮了我很大的忙
再次感谢你

cgmacby 发表于 2012-12-1 00:06:34

这个是好东西啊~~~~~~~~

freeok 发表于 2012-12-8 11:08:16

ZZXXQQ 发表于 2012-11-30 13:11 static/image/common/back.gif


Z版,为啥写的字全堆在一块啊?不是表格形式呢?

xiabin68 发表于 2012-12-8 11:13:52

支持一下

freeok 发表于 2012-12-8 21:49:52

ZZXXQQ 发表于 2012-11-30 13:11 static/image/common/back.gif


谢谢Z版,是捕捉的问题。另一问题是,我关闭捕捉但是一改字高又堆一块了。需要怎么解决呢?
是写点的问题吗?。谢谢

freeok 发表于 2012-12-8 21:52:24

ZZXXQQ 发表于 2012-11-30 13:11 static/image/common/back.gif


呵,找到问题了。谢谢!

xiaomm250 发表于 2013-5-23 18:52:54

ZZXXQQ 发表于 2012-11-30 13:11 static/image/common/back.gif


不错!不错!不错!不错!不错!不错!不错!不错!不错!不错!不错!

注册 发表于 2013-7-13 23:35:21

ZZXXQQ 发表于 2012-11-30 13:11 static/image/common/back.gif


请教z版,可以按选择文字的垂直位置进行排序统计吗,最上层的放在第一行,最下层的放在最后一行,其余类推?
页: [1] 2
查看完整版本: (已解決)求高手修改文字統計程序