在AutoCAD里面,经常要计算一些曲线的长度,如果用list来看的话,只能是一个个的看长度,总长度的话,就需要安装一些插件来解决。
;;测量长度;;
(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))
(princ " 毫米");命令行显示长度
)
)
(prin1)
);复制到记事本,以【.lsp】为后缀命名,打开CAD,autolisp加载了,命令【TES】
;就可以选择对象得到长度
输入AA。。回车后点几个线段的点