CAD统计多条线段长度程序及程序加载方法_第1页
CAD统计多条线段长度程序及程序加载方法_第2页
CAD统计多条线段长度程序及程序加载方法_第3页
CAD统计多条线段长度程序及程序加载方法_第4页
CAD统计多条线段长度程序及程序加载方法_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用下面的这个程序可以,加载后执行命令:mulen(defunc:mulen()(setqi1s0)(prompt"选择直线:")(setqss(ssget)(setqleng(sslengthss)(setqnamelist(list(ssnamess0)(repeat(1-leng)(setqnamelist(appendnamelist(list(ssnamessi)(setqi(1+i)(foreachnamenamelist(setqnameall(entgetname)(setqps(cdr(assoc10nameall)(setqpe(cdr(assoc11na

2、meall)(setqpsx(carps)(setqpsy(cadrps)(setqpsz(caddrps)(setqpex(carpe)(setqpey(cadrpe)(setqpez(caddrpe)(setqx(-psxpex)(setqy(-psypey)(setqz(-pszpez)(setqlength(sqrt(+(exptx2)(expty2)(exptz2)(setqs(+slength)(princ(strcat"直线总长为:"(rtoss)(princ):em27上述为程序内容,然后存为:“文件名.lsp,再从CAD里用appload命令加载此文件。这

3、里有一个程序,你可以用用看,命令为AM对line,arc,ellispe,spline,polyline,lwpolyline,circle,mline,solid均有效。你既可统计长度,也可统计面积,或者两者都统计。如果你对精确位不满意,你可以改动程序中的数字我已经在程序注释中说明;面积和长度统计程序;highflybirdkunming(prompt"命令为:AM")( defunfssen entlenheightC: amlename nameobjinsPt1 insPt2 text - 1SSarea(/totltext - S text - L insPt0t

4、ext -2 *APP * DOCMSP)(vl-load-com)(setq*APP(vlax-get-acad-object)(setq*DOC(vla-get-activeDocument*APP)(setq*MSP(vla-get-Modelspace*DOC)(initget1"123")(setqf(getkword"n请输入你要统计的<1>面积<2>长度<3>两者:")(if(and(setqss(ssget)(setqinsPt0(getpoint"n请输入文字插入点:")(setq

5、height(getdist"n请输入文字高度:")(progn(setql(sslengthss)(setqi0)(setqSSarea0)(setqtotlen0)( setq insPt1( setq insPt2( (=( setq insPt2( condf "1" )( vlax -3d- point insPt2 )( repeat l( func - 1)( func - 2)( setq i ( 1 + i )( setq text - S ( strcat ( convert1 SSarea 6( vla - addtext * MS

6、P text -S insPt1 height" 平方米 " ); 总面积为 : 小数后 6 位)( (=f "2" )( repeat l( func - 1)( func - 3)( setq i ( 1 + i )( setq text - L ( strcat ( convert1 totlen 4" 米 "); 总长度为 : 小数后4位( vla - addtext * MSP text - L insPt2 height)( (=f "3" )( repeat l( func - 1)( func -

7、2)3位( func - 3)( setq i(1+ i)( setq text( setq text-S-L( strcat( strcat( convert1 SSarea 6( convert1 totlen 3" 平方米 " ); 总面积为 : 小数后 6 位" 米 "); 总长度为 : 小数后(vlax-3d-pointinsPt0)1.5 height )(polarinsPt0(*1.5Pi)(*( vla - addtext( vla - addtextMSPtext-SinsPt1heightMSPtext-LinsPt2height)

8、!"(alert"你没有选取物体或者输入正确的数据)(princ)(defunfunc-1()(setqename(ssnamessi)(setqobj(vlax-ename->vla-objectename)(setqelist(entgetename)(setqname(cdr(assoc0elist);面积的统计(defunfunc-2(/p1p2p3p4)(if(vlax-property-available-pobj"area")(setqSSarea(+(vla-get-areaobj)SSarea)(if(=name"SOL

9、ID")(setqp1(cdr(assoc10elist)p2(cdr(assoc11elist)p3(cdr(assoc12elist)p4(cdr(assoc13elist)SSarea(+(area-of-verties(listp1p2p4p3)SSarea);长度的统计(defunfunc-3(/p1p2p3p4)(cond(=name"MLINE")(setqtotlen(+totlen(ml-lengthename)(or(=name"ARC")(=name"CIRCLE")(=name"LINE&q

10、uot;)(=name"POLYLINE")(=name"LWPOLYLINE")(=name"SPLINE")(=name"ELLIPSE")getendparam)(setqentlen(vlax-curve-getdistatparamename(vlax-curve-ename)(setqtotlen(+totlenentlen)(=name"SOLID")(setqp1(cdr(assoc10elist(setqp2(cdr(assoc11elist(setqp3(cdr(assoc1

11、2elist(setqp4(cdr(assoc13elist(setqtotlen(+(length-of)verties(listp1p2p4p3)totlen);Mline的长度(defunml-length(ename/jdptlist)(foreachn(entgetename)(if(=(carn)11)(setqptlist(cons(cdrn)ptlist)(reverseptlist)(setqj0)(setqd0)(repeat(1-(lengthptlist)(setqd(+d(distance(nthjptlist)(nth(1+j)ptlist(setqj(1+j)d)

12、;单位转化(defunconvert(xn/tol_xfra_xint_x)(setqtol_x(/x(expt10n)(setqfra_x(rtos(-tol_x(fixtol_x)2n)(setqfra_x(vl-string-left-trim"0"fra_x)(setqint_x(itoa(fixtol_x)(strcatint_xfra_x)(defunconvert1(xn/tol_xfra_xint_x)(setqtol_x(/x(expt10n)(setqfra_x(rtos(-tol_x(fixtol_x)23)(setqfra_x(vl-string-l

13、eft-trim"0"fra_x)(setqint_x(itoa(fixtol_x)(strcatint_xfra_x);n个点的长度(defunlength-of-verties(pts/illenpts1)(setqi-1len0)(setqpts1(cons(lastpts)pts)(repeat(lengthpts)(setqi(1+i)(setql(distance(nthipts1)(nth(1+i)pts1)(setqlen(+llen);n个点的面积( defun area - of - verties(pts/iareaPX0PY0x1y1x2y2(setqi0)(setqarea0)(setqpx0(caar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论