欢迎来到天天文库
浏览记录
ID:10712826
大小:40.50 KB
页数:6页
时间:2018-07-07
《cad统计多条线段长度程序及程序加载方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、用下面的这个程序可以,加载后执行命令:mulen(defunc:mulen() (setqi1s0) (prompt"选择直线:") (setqss(ssget)) (setqleng(sslengthss)) (setqnamelist(list(ssnamess0))) (repeat(1-leng)(setqnamelist(appendnamelist(list(ssnamessi))))(setqi(1+i))) (foreachnamenamelist (setqn
2、ameall(entgetname)) (setqps(cdr(assoc10nameall))) (setqpe(cdr(assoc11nameall))) (setqpsx(carps)) (setqpsy(cadrps)) (setqpsz(caddrps)) (setqpex(carpe)) (setqpey(cadrpe)) (setqpez(caddrpe)) (setqx(-psxpex)) (setqy(-psyp
3、ey)) (setqz(-pszpez)) (setqlength(sqrt(+(exptx2)(expty2)(exptz2)))) (setqs(+slength)) ) (princ(strcat"直线总长为:"(rtoss))) (princ)){:em27}上述为程序内容,然后存为:“文件名.lsp”,再从CAD里用appload命令加载此文件。这里有一个程序,你可以用用看,命令为AM对line,arc,ellispe,spline,polyline,lwpo
4、lyline,circle,mline,solid均有效。你既可统计长度,也可统计面积,或者两者都统计。如果你对精确位不满意,你可以改动程序中的数字(我已经在程序注释中说明)。;;;===================;;;面积和长度统计程序;;;highflybirdkunming;;;===================(prompt"命令为:AM")(defunC:am(/f ss l i SSarea totlen entle
5、n ename name obj text-S text-L insPt0 height insPt1 insPt2 text-1 text-2 *APP *DOC *MSP ) (vl-load-com) (setq*APP(vlax-get-acad-object)) (setq*DOC(vla-get-activeDocument*APP)) (setq*MSP(vla-get-Modelspa
6、ce*DOC)) (initget1"123") (setqf(getkword"请输入你要统计的<1>面积<2>长度<3>两者:")) (if (and (setqss(ssget)) (setqinsPt0(getpoint"请输入文字插入点:")) (setqheight(getdist"请输入文字高度:")) ) (progn (setql(sslengthss)) (setqi0) (setq
7、SSarea0) (setqtotlen0) (setqinsPt1(vlax-3d-pointinsPt0)) (setqinsPt2(polarinsPt0(*1.5Pi)(*1.5height))) (setqinsPt2(vlax-3d-pointinsPt2)) (cond ((=f"1") (repeatl (func-1) (func-2)
8、 (setqi(1+i)) ) (setqtext-S(strcat(convert1SSarea6)"平方米"));总面积为:小数后6位 (vla-addtext*MSPtext-SinsPt1height) ) ((=f"2") (repeatl (func-1) (func-3) (setqi(1+i)) )
此文档下载收益归作者所有