AutoCAD 解決畫2D圖物件有Z值

         在畫平面圖時,發現有時線段無法圓角或倒角,或是指令測量線段長度出現奇怪長度,這可能是物件Z值不為0的情形導致。

         這時請點選物件看性質(快捷鍵Ctrl+1)的點座標Z值是否為0,如果Z值不為0,就需要使用下列方法修正:


1.指令Change修改

缺點:無法修改不同高程物件,無法修改圖塊內的Z軸

指命:

change --> 選取物件: --> P --> E

最後輸入 0


2.指令Move修改

缺點:無法修改圖塊內的Z軸

指命:

步驟1:MOVE,Enter。
步驟2:ALL,Enter。
步驟3:0,0,1e99,Enter,Enter。
步驟4:MOVE,Enter。
步驟5:P,Enter。
步驟6:0,0,-1e99,Enter,Enter。


指令巨集:

^C^C_SELECT;\_MOVE;_p;;;0,0,1e99;_MOVE;_p;;;0,0,-1e99;


LISP版(建立記事本,改副檔名成LSP,如何載入LISP):

;;Z值歸零

;;;分享於 eakyle.blogspot.com

(defun C:z0 ()

  (command "_.UCS" "") ;_恢復為預設坐標系

  (command "_.move" "_all" "" "" '(0 0 1e99) "_.move" "_p" "" "" '(0 0 -1e99) ) ;_使Z值為0

  (princ "\nZ值已歸零.")

  (princ)

  );_end


3.指令FLATTEN(Express 工具)修改

         指令FLATTEN是將 3D 幾何圖形轉換為投影的 2D 表現法。使用它將所選取物件的厚度和高程強制設定為 0。

         此指令可以將圖塊內物件也改變,但注意:多個相同圖塊將變成個別獨立圖塊。(也就是每個同一種圖塊會重新命名成不同圖塊,請慎用。)


4.LISP (建立記事本,改副檔名成LSP,如何載入LISP)

可修改圖塊內物件

(defun c:flat ( / doc org )

   (setq doc (vla-get-activedocument (vlax-get-acad-object))

         org (vlax-3D-point 0 0 0)

   )

   (vlax-for blk (vla-get-blocks doc)

       (if (= :vlax-false (vla-get-isxref blk))

           (vlax-for obj blk

               (if (vlax-write-enabled-p obj)

                   (foreach elv '(1e99 -1e99) (vla-move obj org (vlax-3D-point 0 0 elv)))

               )

           )

       )

   )

   (vla-regen doc acallviewports)

   (princ)

)

(vl-load-com) (princ)



留言

這個網誌中的熱門文章

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

AutoCAD 如何自訂線型教學

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