除了统计长度、统计面积之外,cad用户还会常常碰到对某些文字进行求和汇总的需求。这些文字或者代表长度, 或者代表面积,算是统计长度和面积的一种变种吧。

文字求和汇总的cad插件,比统计面积的稍微短一点,总共14行autolisp代码。其中,有效行数11行,核心函数有效代码10行。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
(defun xg/sum-text (/ i l ls n)  ; no.3
  ;; 文字求和的核心函数
  ;; 作者:徐工, 微博:@徐工徐工2020,头条:@徐工徐工
  (if (and (setq ls (ssget '((0 . "text")))) (< 0 (setq n (sslength ls)))) 
    (progn 
      (setq i 0
            l 0)
      (repeat n 
        (setq l (+ (atof (cdr (assoc 1 (entget (ssname ls i))))) l)
              i (1+ i)))
      (prompt (strcat "\n总和为" (rtos l 2 3)))
      (princ))))

(defun c:hjhj () (xg/sum-text))

最后一行的c:hjhj意味着调用命令是hjhj,你可以修改为自己喜欢的快捷键。