AutoCAD LISP 模型或配置出圖設定

 

1. 使用"-plot"指令(前面有"-"是隱藏視窗)

;;;使用-PLOT指令出圖-詳細設定

(defun C:tt ( / )

(command "-PLOT"

"Y" ;_詳細出圖規劃?[是(Y)/否(N)]:

"" ;_輸入配置名稱或 [?] <模型>:

"DWG To PDF.pc3" ;_輸入輸出設備名稱或 [?] <無>:

"" ;_輸入圖紙大小或 [?] <ANSI A (11.00 x 8.50 英吋)>:

"M" ;_輸入圖紙單位 [英吋(I)/公釐(M)] <公釐>:

"L" ;_輸入圖面方位 [直式(P)/橫式(L)] <橫式>:

"N" ;_上下顛倒出圖?[是(Y)/否(N)] <否>:

"W" ;_輸入出圖範圍 [顯示(D)/實際範圍(E)/圖面範圍(L)/視圖(V)/視窗(W)] <顯示>:

;;下面點座標為選取出圖範圍是視窗的窗選才有

(getpoint) ;_輸入視窗的左下角點 <0.000000,0.000000>:

(getpoint) ;_輸入視窗的右上角點 <0.000000,0.000000>:

"F" ;_輸入出圖比例 (出圖 公釐=圖面單位) 或 [佈滿(F)] <佈滿>:

"C" ;_輸入出圖偏移 (x,y) 或 [中心點(C)] <0,0>:

"Y" ;_以出圖型式出圖?[是(Y)/否(N)] <是>:

"" ;_輸入出圖型式表名稱或 [?] (輸入 . 代表無) <>:

"Y" ;_以線粗出圖?[是(Y)/否(N)] <是>:

"A" ;_輸入描影出圖設定 [依顯示(A)/舊式線架構(W)/舊式隱藏(H)/視覺型式(V)/彩現(R)] <依顯示>:

"D:\\Drawing1-Model.pdf" ;_如果是輸出PDF,則輸入路徑跟檔名;否則忽略此輸入

"Y" ;_儲存變更至頁面設置 [是(Y)/否(N)]? <N>

"Y" ;_繼續出圖 [是(Y)/否(N)] <Y>:

)

  (princ)

  );_end


;;;使用-PLOT出圖-省略設定,可設定頁面設置

(defun C:tt2 ( / )

(command "-PLOT"

"N" ;_詳細出圖規劃?[是(Y)/否(N)]:

"" ;_輸入配置名稱或 [?] <模型>:

"" ;_輸入頁面設置名稱 <>:

"DWG To PDF.pc3" ;_輸入輸出設備名稱或 [?] <DWG To PDF.pc3>:

"D:\\Drawing1-Model.pdf" ;_如果是輸出PDF,則輸入路徑跟檔名;否則忽略此輸入

"Y" ;_儲存變更至頁面設置 [是(Y)/否(N)]? <N>

"Y" ;_繼續出圖 [是(Y)/否(N)] <Y>:

)

  (princ)

  );_end


2.使用ActiveX物件

使用 Layout 物件 (ActiveX)可以設定模型或配置設定

使用 Plot 物件 (ActiveX)可以出圖模型或配置


下面範例修改出圖方向(橫式/直式)/上下顛倒(PlotRotation) 值

(vl-load-com)

(defun c:Example_PlotRotation( / acadObj  doc ACADLayout originalValue )

    ;; 此範例讀取並修改 出圖方向(橫式/直式)/上下顛倒(PlotRotation) 值。

    ;; 完成後,本範例將值重設回其原始值。

    (setq acadObj (vlax-get-acad-object))

    (setq doc (vla-get-ActiveDocument acadObj))

    

    ;; 得到目前的配置(Layout)物件

    (setq ACADLayout (vla-get-ActiveLayout doc))

    

    ;; 讀取並顯示原始值

    (setq originalValue (vla-get-PlotRotation ACADLayout))

    (alert (strcat "目前 PlotRotation 值:" (itoa originalValue)))

;; 透過切換值修改 PlotRotation 首選項

    (vla-put-PlotRotation ACADLayout ac180degrees)

    (alert (strcat " PlotRotation 值將改成:" (itoa (vla-get-PlotRotation ACADLayout))))

;; 將重置回其原始值

    (vla-put-PlotRotation ACADLayout originalValue)

    (alert (strcat " PlotRotation 值將改回:" (itoa originalValue)))

) ;_end


留言

這個網誌中的熱門文章

AutoCAD 填充線(剖面線)樣式簡易製作產生器

AutoCAD 如何自訂線型教學

AutoCAD 動態圖塊-如何在所有可見性顯示或隱藏