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)
留言
張貼留言