将以下文字复制到记事本,保存为zz.lsp
;;;-----------------------------------------------------
;;;计算多条线段的总长度
;;;-----------------------------------------------------
(defun C:zz (/ 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)
)
工具 加载应用程序 zz.lsp
命令行键入 zz ,选择所有的线段后,求出总和长度。
温馨提示:答案为网友推荐,仅供参考