WEB开发网
开发学院图形图像AutoCAD AUTOCAD系列批量处理程序 阅读

AUTOCAD系列批量处理程序

 2006-04-05 19:01:16 来源:WEB开发网   
核心提示:笔者在AUTOCAD中编辑大量图形时,发现仅用AUOTCAD本身提供的命令,AUTOCAD系列批量处理程序,效率实在太低,故编写系列批量处理程序以提高工作效率、工作质量,间距M_d=500mm,通过Mplot只需调试一张,1.批量修改POLYLINE的线宽(CH_w):我们知道编辑一条POLYLINE的线宽可以通过Pe
笔者在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"\n\tFirstCORNER:")

      P_2(getPOINT"\n\tOtherCORNER:")

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

    (if(=nnil)(setqn1))

    (setqm_d500)

  (REPEATn

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

Tags:AUTOCAD 系列 批量

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接