请问如何快速计算出CAD图中所画线条的长度?

2025-06-21 08:28:56
推荐回答(3个)
回答1:

如果是封闭图形,可用“面域”命令转成面域,再双击查看属性。如图:

如果不封闭,可用“pedit”命令转换并合并为一条多段线,再双击查看属性。

回答2:

这个需要一个小插件。

;;测量长度;;
(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】
;就可以选择对象得到长度

回答3:

用DI命令就可以直接查询单条线段的长度
如果是多条线的话(前提是相连的)可以先用PE合并 然后用LI命令(列表显示)
分散的话 只能LI查询出来后自己在加一下