本文目录一览:
- 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,将空按钮拖入工具条中,再在空按钮上点右键,定义它的属性,图标可以进行个性化的设置。