在cad中有時會遇到對多條線段一下求和,不用li命令一條一條相加
采用加載LISP命令進行,加載xdqh.lsp,輸入命令LENON;
以下為xdqh.lsp的源代碼:
;;;----------------------------------------------------- ;;;計算線加總長度 ;;;----------------------------------------------------- (defun C:LENOF (/ CURVE TLEN SS N SUMLEN) (vl-load-com) (setq SUMLEN 0) (setq SS (ssget '((0 . "CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE,ARC")))) (setq N 0) (repeat (sslength SS) (setq CURVE (vlax-ename->vla-object (ssname SS N))) (setq TLEN (vlax-curve-getdistatparam CURVE (vlax-curve-getendparam CURVE) ) ) (setq SUMLEN (+ SUMLEN TLEN)) (setq N (1+ N)) ) (print (strcat "總長度: " (rtos SUMLEN 2 5))) (princ) )
加載lisp方法:https://wenku.baidu.com/view/548a553583c4bb4cf7ecd12e.html;
參考文獻:https://wenku.baidu.com/view/b969b72d7375a417866f8f5a.html