1 / 9
文档名称:

CAD LISP 程序.doc

格式:doc   大小:25KB   页数:9
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

CAD LISP 程序.doc

上传人:书犹药也 2019/10/12 文件大小:25 KB

下载得到文件列表

CAD LISP 程序.doc

文档介绍

文档介绍:(加载后只需框选所有线段便可得出这些线段的总长度)(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