autocadlisp统计多段线方法
autocadlisp统计多段线方法
操作方法
- 01
打开cad软件,点击工具---autolisp-autolisp编辑器
- 02
打开autolisp编辑器,点击文件新建一个窗口。
- 03
将如下代码粘贴到新建的窗口 (defun c:tj(/ ss tlen obj k l) (setvar "cmdecho" 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) )
- 04
输入完成之后点击加载命令,下图问加载无误之后的截面。
- 05
加载完成后返回到在cad窗口中,输入“tj”命令按照提示操作,提示选择需要统计的对象。
- 06
选择屏幕中的两条线段,图中已经标注每条直线为5000mm为了验证程序计算的结果。
- 07
选择完成之后按回车或者空格键,命令窗口显示计算结果为:“共选择 2 条线段. 线段总长: 10000.000毫米”和图中标注的两条线段长度之和一致,计算无误。