文档介绍:(加载后只需框选所有线段便可得出这些线段的总长度)(defunc:LL()(setvar"cmdecho"1)(setqen(ssget(list'(0."spline,arc,line,ellipse,LWPOLYLINE"))))(setqi0)(setqll0)(repeat(sslengthen) (setqss(ssnameeni)) (setqendata(entgetss)) (command"lengthen"ss"") (setqdd(getvar"perimeter"))(setqll(+ddll)) (setqi(1+i))) (princ"所选线条总长为:")(princll)(princ))(加载后只需框选所有线段便可得标注这些线段)(defunc:LLL()(COMMAND"UCS""")(setvar"cmdecho"1)(SETVAR"OSMODE"0)(setq  AcadObject (vlax-get-acad-object)  AcadDocument(vla-get-ActiveDocumentAcadobject)  mSpace   (vla-get-ModelSpaceAcaddocument));;选取需要测量的样条曲线、圆弧、直线、椭圆(setqen(ssget(list'(0."spline,arc,line,ellipse,LWPOLYLINE"))))(setqi0);;获取系统参数textsize(setqshh(getvar"textsize"))(setqstr_hh(strcat"\n文字高度<"(rtosshh2)">:"))(setqhh(getdiststr_hh))(whilehh(setvar"textsize"hh)(setqhhnil));;输入标注文字高度;;循环开始(repeat(sslengthen) (setqss(ssnameeni)) (setqendata(entgetss)) (command"lengthen"ss"") (setqdd(getvar"perimeter")) (princ(strcat"\n长度="(rtosdd2))) ;;寻找代表图层的字符串 (setqaa(assoc0endata)) ;;获取图层名称 (setqaa1(cdraa)) ;;判断线条种类 (cond  ((=aa1"SPLINE")  ;;如果是spline  (progn  (setqarcObj(VLAX-ENAME->VLA-OBJECTss))  (setqstartPnt1(vla-get-ControlPointsarcObj))  (setqp1    (vlax-safearray->list(vlax-variant-valuestartPnt1))  )  (setqx1(carp1))  (setqy1(cadrp1))  (setqz1(caddrp1))  (setqpp1(listx1y1z1))  (repeat(-(/(lengthp1)3)1)   ;;循环,寻找最后一个控制点   (setqp1(cdddrp1))   (setqx2(carp1))   (setqy2(c