如果是封闭图形,可用“面域”命令转成面域,再双击查看属性。如图:
如果不封闭,可用“pedit”命令转换并合并为一条多段线,再双击查看属性。
这个需要一个小插件。
;;测量长度;;
(defun C:TES ( / &dis1 &dis2 &k1 &kw1 &ob1)
(if (null vlax-dump-object) (vl-load-com) )
(if (setq &kw1 (ssget '((0 . "LINE,ELLIPSE,CIRCLE,ARC,LWPOLYLINE,SPLINE"))))
(progn
(setq &dis1 0)
(while (setq &k1 (ssname &kw1 0))
(setq &kw1 (ssdel &k1 &kw1))
(setq &ob1 (vlax-ename->vla-object &k1))
(setq &dis2 (vlax-curve-getDistAtParam &ob1 (vlax-curve-getEndParam &ob1)))
(setq &dis1 (+ &dis1 &dis2))
)
(princ "\n长度共: ")
(princ (rtos &dis1 2 3))
(princ " 毫米");命令行显示长度
)
)
(prin1)
);复制到记事本,以【.lsp】为后缀命名,打开CAD,autolisp加载了,命令【TES】
;就可以选择对象得到长度
用DI命令就可以直接查询单条线段的长度
如果是多条线的话(前提是相连的)可以先用PE合并 然后用LI命令(列表显示)
分散的话 只能LI查询出来后自己在加一下