cad快速绘图小插件程序_第1页
cad快速绘图小插件程序_第2页
cad快速绘图小插件程序_第3页
cad快速绘图小插件程序_第4页
cad快速绘图小插件程序_第5页
免费预览已结束,剩余1页可下载查看

付费下载

下载本文档

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

文档简介

1、使用方法:将程序分别复制到txt记事本,保存后改后缀成.Isp保存后,打开cad加载使用。测量区域内的面积(defunc:mj()(if*error*(command"_boundary"(setqpl(getpoint"n点取要标注的封闭区域内部一点:")"")(setqEN(entlast)(command"area",oHEN)(setqsmj(getvar"area'1)(setqimjsmj)(setqsmj(/smj1000000)(setqsmj(*smj1)(setqsmj(rto

2、ssmj22)(setqsmj(strcat"5="smj"m2")(if(=htxtnil)(progn(setqhtxt(/(sqrtimj)15)(setqhtxtl(getdist(strcatHn输入字体的高度<”(rtoshtxt21)”>:")(ifhtxtl(setqhtxthtxtl)(setqPt(getpoint"n文字标注位置:")(command"style""MJ""txt.shx"htxt0.8"n)(comman

3、d"text""s""MJ""j""BC"pt""smj""),(COMMAND“TEXT”Ptffsize0smj)求cad图纸内任意数字之和(defunC:QH(/ssetqhbssltemptlhn)(setqsset(ssget)(setqqhbnil)(setqssl(sslengthsset)(if(>ssl25)(princ"n确认所选的图元-请稍候.")(while(>ssl0)(setqtemp(ssnam

4、esset(setqssl(1-ssl)(if(=(cdr(assoc0(entgettemp),TEXTn)(progn(setqtl(cdr(assoc1(entgettemp)(if(or(=(type(readtl)'INT)(=(type(readtl)"REAL)(setqqhb(cons(atoftl)qhb)(if(>(lengthqhb)0)(progn(setqh0)(foreachnqhb(setqh(+nh)(promptnn和为:“)(princh)(print)(prompt"nERROR:未选到数字!”)求cad图纸内任意线长之和

5、(defunC:ZCD(/CURVETLENSSNSUMLEN)(vl-load-com)(setqSUMLEN0)(setqSS(ssget*(0."CIRCLE,EUJPSE,UNE,"POLYLINE,SPLINE,ARC”)(setqN0)(repeat(sslengthSS)(setqCURVE(vlax-ename->vla-object(ssnameSSN)(setqTLEN(vlax-curve-getdistatparamCURVE(vlax-curve-getendparamCURVE)(setqSUMLEN(+SUMLENTLEN)(setqN(

6、1+N)(print(strcat11总长度:11(rtosSUMLEN25)(princ)求cad图纸内任意数字之乘积和除法(defunC:q(/#osl#os2#os3k)(setvar,lcmdechon0)(setvar"blipmode"0)(setvar"dimzin"0)(vl-load-com);加载vlax扩展函数(setq#osl(getvar"osmode11)(setq#os2(getvar,ClayerM)#os3(getvar"textstyle");取得当前字体样式)(initget“XS&qu

7、ot;)(setqk(getkword(strcat"n请选择方式数值相乘(X)/数值除以(S):<""X"”>")(if(=knil)(setqk“X”)(setqk(strcasek)(setvar"osmode"0)(if(=k"X")(CY2)(if(=k"S")(CY4)(setvar“osmode,#osl)(setvar"Clayer"#os2)(setvar“textstyle”#os3)(prinl)(defunCY2(/#kl#k2&

8、amp;kl&kwlszlsz2)(princ"n请选择要相乘的数值")(setq&kwl(ssget(list(cons0,TEXT,MTEXTH)(cons1”)(if(/=&kwlnil)(progn(setq&kl(ssname&kwl0)(setq#k2(entget&kl)SZ2nil)(while&kl(setq&kwl(ssdel&kl&kwl)#kl(entget&kl)SZ1(atof(cdr(assoc1#kl)(if(and(/=SZ1nil)(/=SZ2nil)

9、(setqSZ2(*SZ1SZ2)(if(and(/=SZ1nil)(=SZ2nil)(setqSZ2SZ1)(setq&kl(ssname&kwl0)(if(/=SZ2nil)(CY3SZ2#k2)(defunCY3(SZ2#k2/%k%klgdlgrikdnplp2ptssszl)(setqSZ2(cons1(rtosSZ221);数值为小数点后3位,要多少位自己修改SZ1(assoc1#k2)#k2(substSZ2SZ1#k2)GDI(cdr(assoc40#k2)kd(*0.5(caadr(textbox#k2)ss'()ss(cons(cons510)ss)

10、%k*(8710414010)iO)(repeat(length%k)(setq%kl(assoc(nthi%k)#k2)ss(cons%klss)i(l+i)(setq%ktinilp2(assoc10ss)(while%k(setqgr(grreadt40);取得鼠标操作及坐标n(cargr)pt(cadrgr)(if(=n5);没有操作(progn(setqpt(polarptpikd)pt(polarpt(*1.5pi)(*GDI0.5);文字坐标修改使鼠标坐标位于文字中点(if(/=inil)(entdeli);如果有文字就删除(setqpl(cons10pt)ss(substplp

11、2ss)p2pl)(entmakess);重新生成文字(setqi(entlast);得到文字图元名)(if(=n3)(setq%knil);3表示左键;结束循环(if(or(=n2)(=n25);2表示空格;25表示右键;结束循环并删除文字(progn(setq%knil)(entdeli)(defunCY4(/#kl#k2&kl&kwlszlsz2)(setqSZ2(CY5)(if(/=SZ2nil)(progn(princ“n请选择除数”)(setq&kwl(ssget(list(cons0"TEXIMTEXT")(cons1"*-.0-9*")(if(/=&kwlnil)(progn(setq&kl(ssname&kwl0)#k2(entget&kl)(while&kl(setq&kwl(ssdel&kl&kwl)#kl(entget&kl)SZ1(atof(cdr(assoc1#kl)(if(and(/=SZ10)(/=SZ1nil)(setqSZ2(/SZ2SZ1)(setq&kl(ssname&kwl0)(CY3SZ2#k2)/(defunCY5(/#kl%kl%k2entl)(

温馨提示

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

评论

0/150

提交评论