我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > CAD教程 > CAD教程文章

為AUTOCAD編寫系列批量處理程序

時間:2010-11-12 10:40:39 來源:未知

筆者在AUTOCAD中編輯大量圖形時,發現僅用AUOTCAD本身提供的命令,效率實在太低,故編寫系列批量處理程序以提高工作效率、工作質量。

  1.批量修改POLYLINE的線寬(CH_w):

  我們知道編輯一條POLYLINE的線寬可以通過Pedit命令來完成,如果需要編輯多條POLYLINE時還使用Pedit命令則不但需要選擇目標,還要輸入線寬,實在有點不方便,而且還可能漏選。其實編寫個小小的LISP程序便可一次性完成。程序CH_W.LSP如下:

  (DEFUN C:CH_W( / wid ent_ss n_ss ent_n j ent_a)

  (PRINC " 請選擇目標(W C WP CP F)")

  (SETQ ENT_SS (SSGET) WID (GETREAL" 請輸入線寬<0.3>:"))

  (if (= wid nil) (setq wid 0.3))

  (IF (/= ENT_ss nil)

  (PROGN

  (SETQ N_SS (SSLENGTH ENT_SS)  J 0)

  (REPEAT N_SS

  (SETQ ENT_N (SSNAME ENT_SS J) ent_a (cdr (assoc 0 (entget ent_n)))

  J  (1+ J))

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

  (COMMAND "PED99v" ENT_N "w" wid "" COMMAND))

  );ENDREP

  );ENDPROGN

  ) ;ENDIF

  ) ;enddefun

  2. 批量打印出圖(Mplot)

  在AUTOCAD中用PLOT命令每次只能打印一張圖紙,如果在一個圖形文件內有多張大小一樣的圖紙成縱向排列,間距M_d=500mm。通過Mplot只需調試一張,便可打印所有圖紙。程序如下:

  (defun c:Mplot()

  (setq p_1 (getpoint" tFirst CORNER:")

  P_2 (getPOINT" tOther CORNER:")

  n (getint" t總張數:<1>"))

  (if (= n nil) (setq n 1))

  (setq m_d 500)

  (REPEAT n

  (command"plot" "w" P_1 P_2 "n" COMMAND)