本文目錄一覽:
- 1、怎樣把cad所有圖形都z軸歸零?
- 2、cnc數控機床z軸高於零點怎麼弄
- 3、求!!天正Z軸如何歸零
- 4、CAD中如何把所有線型的Z軸坐標歸零?
- 5、cad 中怎樣將Z軸的數值改為0
- 6、CAD怎麼將Z軸的標高一次性歸零
怎樣把cad所有圖形都z軸歸零?
請按步驟操作
1.將畫面ctrl+a全選
2.使用移動(m_)命令,輸入第一點位置0,0,0
確定,然後輸入第二點位置
0,0,1e99(是數字一英語字母E和數字九九)確定
3.將畫面ctrl+a全選
4.使用移動(m_)命令,輸入第一點位置0,0,1e99
確定,然後輸入第二點位置0,0,-1e99確定
5.使用移動(m_)命令,輸入第一點位置0,0,-1e99
確定,然後輸入第二點位置
0,0,0確定
這樣Z軸就歸零了,原理是將問題的點全部移至正無窮,再移至負無窮,最後再移回到0坐標
注意:在這樣做之前,要將塊先打散,不然即使按部就班的做了這些步驟,圖形也回不到0坐標
這個方法我是從百度文庫看來的。真的好使!記得按步驟操作。再就是,每一次MOVE可以多等一下,如果你的線條特別多!
cnc數控機床z軸高於零點怎麼弄
1、首先設當前機床坐標為工件原點位置:按軟鍵「測量工件」顯示屏幕轉換到「加工」操作區,出現對話框用於測量零點偏置。
2、然後選擇軸向,移動光標到「存儲在」按選擇坐標系,移動光標到「設置位置到」中,輸入當前所設定的工件坐標系位置。
3、最後按軟鍵,工件零點偏置被存;按中斷鍵退出窗口即可Z軸歸零點。
求!!天正Z軸如何歸零
1、首先需要框選所有圖像,如下圖所示。
2、接下來需要輸入m移動指令,如下圖所示。
3、接下來需要選擇基點,如下圖所示。
4、輸入第2點坐標0,0,1e99,意思是將所有點移動的z軸正無窮方向上。
5、接下來需要輸入ch,調出特性欄,如下圖所示。
6、接下來需要繼續框選所有圖像,輸入m移動指令,如下圖所示。
7、這樣所有的點的z坐標就都歸零了,如下圖所示。
CAD中如何把所有線型的Z軸坐標歸零?
1.手改,將線型全選,特性欄目裏面改Z值。
2.第三方插件改Z軸坐標歸零。
cad 中怎樣將Z軸的數值改為0
在AutoCAD裏面,Z坐標歸零有很多方法,根據不同的環境做出選擇。
法向坐標為-1的情況,只有重新描一遍對象才可以歸零,這樣圖紙才不會出現問題。
在默認法向坐標1的情況下,流行的有兩個。
1)選擇除塊以外的對象,移動對象到Z無窮遠,然後移動回來,坐標就歸零了,不過有個情況就是,如果對象本來就是無窮遠,就不好用了。
2)Z坐標歸零加強版。對塊面域等都做出Z坐標歸零,原理是在AutoCAD裏面,所有對象都有屬性,代碼10~15是表示坐標,多段線標高代碼為38,那麼對這些Z坐標修改為0,達到Z變0的要求。就是不得修改法向坐標。代碼如下:
;;;;;;Z坐標歸零;;
(defun c:z0 ( / block c10 c38 e ent i len ss)
(setvar “cmdecho” 0)
(setvar “blipmode” 0)
;;包圍盒坐標
(defun getboundingbox (ename / lb ur)
(vla-getboundingbox (vlax-ename-vla-object ename) ‘lb ‘ur)
(mapcar ‘vlax-safearray-list (list lb ur))
)
;移動對象面域Z歸零
(defun move-region-to-wcs-plan (ename / obj z)
(setq obj (vlax-ename-vla-object ename))
(if (and (= “AcDbRegion” (vla-get-objectname obj)) (/= 0.0 (setq z (caddr (car (getboundingbox ename))))))
(vla-move obj (vlax-3d-point (list 0 0 z)) (vlax-3d-point (list 0 0 0)) )
)
)
(defun zero-group (x / x)
(cond;; 處理 10-15 段,含 Z 坐標且非零組碼,設置Z = 0.0
((and (= (car x) 10) (= (car x) 15) ( (length x) 3) (/= 0.0 (nth 3 x)))
(setq c10 (1+ c10))
(cons (car x) (list (cadr x) (caddr x) 0.0))
)
;; 處理 38 段(標高屬性)
((and (= (car x) 38) (/= 0.0 (cdr x)))
(setq c38 (1+ c38))
‘(38 . 0.0)
)
;; 其餘組碼原樣返回
(t x)
)
)
(defun zero-ent (e / dxf new)
(setq dxf (entget e))
(if (= (cdr (assoc 0 dxf)) “REGION”)
(move-region-to-wcs-plan e)
(progn
(setq new (mapcar ‘zero-group dxf))
(if (not (equal dxf new))
(entmod new)
)
)
)
new
)
(if (null vlax-dump-object) (vl-load-com) )
(princ “選擇需要將Z坐標或標高屬性清零的對象 回車選擇所有圖元: “)
(if (null (setq ss (ssget))) (setq ss (ssget “X”)) )
(if ss
(progn
(setq len (sslength ss) i 0 c10 0 c38 0)
(vla-startundomark (vla-get-activedocument (vlax-get-acad-object)))
;; 塊定義內實體歸零
(vlax-for block (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))
(vlax-for e block
(zero-ent (vlax-vla-object-ename e))
)
)
;;除塊以外Z標高歸零
(repeat len
(zero-ent (setq ent (ssname ss i)))
(setq i (1+ i))
)
(vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
(command “_.regen”)
(princ (strcat “選擇的 ” (itoa len)” 個對象中,\n” (itoa c10)” 個非零Z坐標, ” (itoa c38) ” 個標高屬性被強制清零.”))
)
(princ “\n選擇集為空”)
)
(princ)
)
(defun C:tes ( / ac0 k1 kw1 ob1 mspace);重新描一遍對象;圓,橢圓,弧,直線,多段線
(setvar “cmdecho” 0)
(setvar “blipmode” 0)
(if (null vlax-dump-object) (vl-load-com) )
;(command “UCS” “”)
(setq mSpace (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object))) n4 0)
(if (setq kw1 (ssget ‘((0 . “CIRCLE,ELLIPSE,ARC,LINE,LWPOLYLINE”))));1
(progn;;1
(setq n5 (rtos (sslength kw1) 2 0))
(while (setq k1 (ssname kw1 0));1
(setq kw1 (ssdel k1 kw1) ob1 (vlax-ename-vla-object k1) ac0 (vla-get-objectname ob1) n6 0)
(if (member ac0 ‘(“AcDbArc” “AcDbCircle” “AcDbEllipse” “AcDbLine” “AcDbPolyline”)) (setq n6 (T~20150708~1 ob1 ac0 mSpace)) )
(setq n4 (+ n4 n6))
(vla-delete ob1)
);while;1
(princ (strcat “\n共處理了” n5 “個曲線,” “共刪除了長度小於0.05的曲線” (rtos n4 2 0) “個”))
);progn;1
);if;1
(prin1)
)
;;=============
;重新描一遍對象
;==============
(defun T~20150708~1 (ob1 ac0 mSpace / ac0 ang1 ang2 ang3 clo co1 cx1 dis1 dis2 dis3 end n1 n2 n3 ob1 ob2 p1 p2 p3 p5 r1 ss1 sta tc1 aw ew mspace)
(if ( (vlax-curve-getDistAtParam ob1 (vlax-curve-getEndParam ob1)) 0.05);1
(setq n3 1)
(progn;;1
(setq sta (vlax-curve-getStartPoint ob1);起點
sta (list (car sta) (cadr sta))
end (vlax-curve-getEndPoint ob1);端點
end (list (car end) (cadr end))
tc1 (vla-get-layer ob1);圖層
co1 (vla-get-Color ob1);顏色
cx1 (vla-get-Linetype ob1);線型
aw (vlax-curve-isClosed ob1);閉合
n3 0
)
(if (member ac0 ‘(“AcDbArc” “AcDbCircle” “AcDbEllipse”));2
(progn;;2
(setq p3 (vla-get-Center ob1) p1 (Vlax-SafeArray-List (Vlax-Variant-Value p3)) p1 (list (car p1) (cadr p1)) p3 (Vlax-3d-Point p1))
(if (member ac0 ‘(“AcDbCircle” “AcDbArc”)) (setq R1 (vla-get-radius ob1)) )
(if (member ac0 ‘(“AcDbArc” “AcDbEllipse”)) (progn (setq ang1 (vla-get-StartAngle ob1) ang2 (vla-get-EndAngle ob1)) ))
(if (= ac0 “AcDbCircle”) (entmake (list ‘(0 . “CIRCLE”) (cons 8 tc1) (cons 62 co1) (cons 6 cx1) (cons 10 p1) (cons 40 R1))) )
(if (= ac0 “AcDbArc”);3-1
(progn;3-1
(setq dis1 (* (vlax-curve-getDistAtParam ob1 (vlax-curve-getEndParam ob1)) 0.5) p5 (vlax-curve-getPointAtDist ob1 dis1) p5 (list (car p5) (cadr p5)))
;(setq ob2 (vla-addArc mSpace p3 R1 ang1 ang2))
;(vla-put-layer ob2 tc1) (vla-put-Color ob2 co1) (vla-put-Linetype ob2 cx1)
(setq ang1 (rem (angle p1 sta) (* pi 2)) ang2 (rem (angle p1 end) (* pi 2)))
(entmake (list ‘(0 . “ARC”) (cons 8 tc1) (cons 62 co1) (cons 6 cx1) (cons 10 p1) (cons 40 R1) (cons 50 ang1) (cons 51 ang2)))
(setq ob2 (entlast) ob2 (vlax-ename-vla-object ob2))
(setq dis1 (* (vlax-curve-getDistAtParam ob2 (vlax-curve-getEndParam ob2)) 0.5) p2 (vlax-curve-getPointAtDist ob2 dis1))
(if (= (distance p5 p2) R1);3-2
(progn;;3-2
(vla-delete ob2)
(entmake (list ‘(0 . “ARC”) (cons 8 tc1) (cons 62 co1) (cons 6 cx1) (cons 10 p1) (cons 40 R1) (cons 50 ang2) (cons 51 ang1)))
);progn;3-2
);if;3-2
);progn;3-1
);if;3-1
(if (= ac0 “AcDbEllipse”);3-3
(progn;;3-3
(setq p2 (vla-get-MajorAxis ob1)
p2 (Vlax-SafeArray-List (Vlax-Variant-Value p2))
p2 (list (car p2) (cadr p2))
p2 (Vlax-3d-Point p2)
dis3 (vla-get-MinorRadius ob1)
dis2 (vla-get-MajorRadius ob1)
dis2 (/ dis3 dis2)
)
(setq ob2 (vla-addEllipse mSpace p3 p2 dis2))
(vla-put-StartAngle ob2 ang1)
(vla-put-EndAngle ob2 ang2)
(vla-put-layer ob2 tc1) (vla-put-Color ob2 co1) (vla-put-Linetype ob2 cx1)
(if (= aw nil) ;3-4
(progn;;3-4
(setq ang3 (- (* pi 2) ang2) ang2 (- (* pi 2) ang1) ang1 ang3)
(setq p5 (vlax-curve-getStartPoint ob2))
(if (= (distance p5 sta) 0.01);3-5
(progn;;3-5
(vla-put-StartAngle ob2 ang1)
(vla-put-EndAngle ob2 ang2)
);progn;3-5
);if;3-5
);progn;3-4
);if;3-4
);progn;3-3
);3-3
);progn;2
);if;2
(if (= ac0 “AcDbLine”) (entmake (list ‘(0 . “LINE”) (cons 8 tc1) (cons 62 co1) (cons 6 cx1) (cons 10 sta) (cons 11 end))) )
(if (= ac0 “AcDbPolyline”);4
(progn;;4
(setq n1 (fix (vlax-curve-getEndParam ob1)) ss1 ‘() n2 0 p2 nil)
(if aw (setq clo ‘(70 . 1)) (progn (setq clo ‘(70 . 0) n1 (1+ n1)) ))
(repeat n1
(setq p1 (vlax-curve-getPointAtDist ob1 (vlax-curve-getDistAtParam ob1 n2)))
(if (or (= p2 nil) (and (/= p2 nil) ( (distance p2 p1) 1)))
(progn
(setq p1 (list (car p1) (cadr p1)))
(setq ss1 (cons (cons 10 p1) ss1))
(vla-getwidth ob1 n2 ‘aw ‘ew)
(setq ss1 (cons (cons 40 aw) ss1) ss1 (cons (cons 41 ew) ss1))
(setq aw (vla-getBulge ob1 n2) ss1 (cons (cons 42 aw) ss1))
)
)
(if (and (/= p2 nil) ( (distance p2 p1) 1))
(progn
(setq ss1 (cdddr ss1))
(vla-getwidth ob1 n2 ‘aw ‘ew)
(setq ss1 (cons (cons 40 aw) ss1) ss1 (cons (cons 41 ew) ss1))
(setq aw (vla-getBulge ob1 n2) ss1 (cons (cons 42 aw) ss1))
)
)
(setq p2 p1)
(setq n2 (1+ n2))
);repeat
(setq ss1 (reverse ss1))
(if ( (length ss1) 4) (entmake (append (list ‘(0 . “LWPOLYLINE”) ‘(100 . “AcDbEntity”) (cons 8 tc1) (cons 62 co1) (cons 6 cx1) ‘(100 . “AcDbPolyline”) (cons 90 (/ (length ss1) 4)) clo ) ss1)) )
);progn;4
);if;4
);progn;1
);if;1
n3
);;複製到記事本,以【.lsp】為後綴命名,打開CAD,autolisp加載,命令【TES】,就會把對象重新描一遍
CAD怎麼將Z軸的標高一次性歸零
一、歸零方法:
將畫面ctrl+a全選
使用移動(m_)命令,輸入第一點位置0,0,0 確定,然後輸入第二點位置 0,0,1e99(是數字一英語字母E和數字九九)確定
將畫面ctrl+a全選
.使用移動(m_)命令,輸入第一點位置0,0,1e99 確定,然後輸入第二點位置0,0,-1e99確定
使用移動(m_)命令,輸入第一點位置0,0,-1e99 確定,然後輸入第二點位置 0,0,0確定
這樣Z軸就歸零了,原理是將問題的點全部移至正無窮,再移至負無窮,最後再移回到0坐標
二、CAD的實用小技巧:
在標註時,使標註離圖有一定的距離時,執行DIMEXO命令,再輸入數字調整距離。
用break命令時,輸入第二點時,可以輸入@,這樣可以在第一點打斷。
AUTOCAD中,文件可以作為塊插入其他文件中,但這會使文件過於龐大,可以用PURGE命令來清除它們。
在AUTOCAD中,修改ACAD.CNT文件,可以在幫助中加入自己的幫助鏈接。
在AUTOCAD中菜單源文件為.MNU文件,將其修改可將自己的命令加入菜單中,再用MENU命令裝入,可參考AUTOCAD幫助了解菜單文件格式。圖標工具條中加入自己的命令相對簡單,可在工具條上點右鍵,在TOOLBAR對話框中點NEW,輸入工具條名後,再選CUSTOMIZE,選定CUSTOM,將空按鈕拖入工具條中,再在空按鈕上點右鍵,定義它的屬性,圖標可以進行個性化的設置。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/254249.html