1、打开cad软件,点击工具---autolisp-autolisp编辑器
2、打开autolisp编辑器,点击文件新建一个窗口。
3、将如下代码粘贴到新建的窗口(defun c:tj(/ ss tlen obj 氯短赤亻k l) (setvar "cm颊俄岿髭decho" 0) (if (setq ss (ssget)) (progn (vl-load-com) (setq l (sslength ss) k 0 tlen 0 ) (repeat l (setq ename (ssname ss k)) (setq obj (vlax-ename->vla-object ename)) (if (= (cdr (assoc 0 (entget ename))) "MLINE") (setq tlen (+ tlen (ml-length ename))) (setq tlen (+ tlen (vlax-curve-getdistatparam ename (vlax-curve-getendparam ename)))) ) (setq k (1+ k)) ) (princ (strcat "\n共选择 " (itoa l) " 个对象 | 总长度: " (rtos tlen 2 0))) ;(command "text" (getpoint "\n选取文字插入点") "" "" (rtos tlen 2 3)) (alert (strcat "\n共选择 " (itoa l) " 个对象 | \n总长度: " (rtos tlen 2 0))) ) (princ "\n未选择对象") ) (setvar "cmdecho" 1) (prin1))
4、输入完成之后点击加载命令,下图问加载无误之后的截面。
5、加载完成后返回到在cad窗口中,输入“tj”命令按照提示操作,提示选择需要统计的对象。
6、选择屏幕中的两条线段,图中已经标注每条直线为5000mm为了验证程序计算的结果。
7、选择完成之后按回车或藤舔趾贶者空格键,命令窗口显示计算结果为:“共选择 2 条线段. 线段总长: 10000.000毫米”和图中标注的两条线段长度之和一致,计算无误。