AUTOCAD教程之批量处理程序

王朝学院·作者佚名  2016-08-08
窄屏简体版  字體: |||超大  

我们在AUTOCAD中编辑大量图形时,发现仅用AUOTCAD本身提供的命令,效率实在太低,故编写系列批量处理程序以提高工作效率、工作质量。

1.批量修改POLYLINE的线宽(CH_w):

我们知道编辑一条POLYLINE的线宽可以通过Pedit命令来完成,如 果需要编辑多条POLYLINE时还使用Pedit命令则不但需要选择目标,还要输入线宽,实在有点不方便,而且还可能漏选。其实编写个小小的LISP程 序便可一次性完成。程序CH_W.LSP如下:

(DEFUNC:CH_W(/wident_ssn_ssent_njent_a)

(PRINC"n请选择目标(WCWPCPF)")

(SETQENT_SS(SSGET)WID(GETREAL"n请输入线宽<0.3>:"))

(if(=widnil)(setqwid0.3))

(IF(/=ENT_ssnil)

(PROGN

(SETQN_SS(SSLENGTHENT_SS)J0)

(REPEATN_SS

(SETQENT_N(SSNAMEENT_SSJ)ent_a(cdr(assoc0(entgetent_n)))

J(1 J))

(if(or(=ent_a"POLYLINE")(=ent_a"LWPOLYLINE"))

(COMMAND"PEDIT"ENT_N"w"wid""COMMAND))

);ENDREP

);ENDPROGN

);ENDIF

);enddefun

2.批量打印出图(Mplot)

在AUTOCAD中用PLOT命令每次只能打印一张图纸,如果在一个图形文件内有多张大小一样的图纸成纵向排列,间距M_d=500mm。通过Mplot只需调试一张,便可打印所有图纸。程序如下:

(defunc:Mplot()

(setqp_1(getpoint"ntFirstCORNER:")

P_2(getPOINT"ntOtherCORNER:")

n(getint"nt总张数:<1>"))

(if(=nnil)(setqn1))

(setqm_d500)

(REPEATn

(command"plot""w"P_1P_2"n"COMMAND)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航