CAD中图形如何将Z轴归0?
之前遇到过很多图形坐标异常大的图纸,当时不知道这些图纸是怎么产生的,但最近跟多次跟网友交流后可以确定这些图纸就是因为使用了错误的Z轴归零的插件和方法。那如果图纸中出现了Z坐标导致图形编辑不正常时到底应该怎么让Z轴归0呢?
之前发过相关相关的文章,但最近发现还有不少因为用错误的Z轴归零插件导致出现的异常图纸,觉得有必要在此提醒一下大家。
建议不要使用的Z轴归0的方法或插件!
网上搜Z轴归0时,经常会看到这样的一种方法,有的是介绍手动操作,有的是提供了LISP程序的语句,有的直接提供了写成了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,确定。意思就是将图形再移动到原点处。
这种处理方式的原理是将图形全部移至正无穷,再移至负无穷,最后再移回到0坐标这样Z轴就归零了。有的还专门写了注意事项:在这样做之前,要将块先打散,不然即使按部就班的做了这些步骤,图形也回不到0坐标!
我是在不太理解这个处理的原理,估计是CAD在坐标移动到无穷大和无穷小的时候超出了CAD的算法的极限值,从而忽略了之前的Z坐标,也就是钻了CAD算法的空子。可能在低版本CAD因为计算精度比较低,用这种方法有可能可以解决一部分图纸的问题,但从理论上是不合理。
之前多次遇到过坐标值超大的图纸,感觉跟这类的处理和插件有关系,所以不建议使用。
大家如果下载了Z轴归0的插件,可以用记事本打开一下,虽然可能看不懂,但只要出现1e99类似的数字就最好不要用。
如果想试一下也可以,处理后保存时不要覆盖之前的文件,另存一下,检查一下是否有Z轴特别大或双击后图纸消失或变成小点的现象。之前我遇到过很多图纸坐标异常的插件都确定跟用了此插件。
Z轴归零可以采用的方法
CAD归零的方法多种多样,有些方法很简单,有些方法稍微麻烦一点,如果只是一两个图形Z坐标不为零,单独修改就好,但如果图纸中有大量图形Z坐标不为0,就需要用一些工具和插件了,下面将我知道几种方法简单给大家介绍一下。
方法一,选中图形后直接在特性面板里修改标高值
大家想到的最简单的方法就是选择所有图形,然后打开特性面板(输入PR或CH命令或者按CTRL+1),在特性面板里去改Z坐标。如果只有少数几个同类图形有这样的问题,是可以的。如果Z坐标异常的图形有多种,这样显然不行,因为当选择所有对象后,特性面板里只显示公共属性。比如多段线的Z坐标是标高值,而直线则是起点和端点Z坐标,当同时选择直线和多段线时特性面板里并没有显示Z坐标。
我们可以利用快速选择来进行分类选择后进行修改。输入QSELECT命令后回车或直接在特性面板中单击快速选择按钮,打开快速选择对话框,选择应用到整个图形,在对象类型中选择直线,在运算符里选择“选择全部”,单击"确定"按钮,将所有直线选择出来。
在特性面板找到起点和终点Z坐标,无论显示的是3.0000E+99还是多种,直接输入0,将所有直线的起点和终点的Z坐标都改为0。
用快速选择依次将其他类型的图形选出来,再特性面板中改Z坐标,圆和弧需要修改圆心坐标,多段线、填充、文字、图块有的是标高,有的是位置Z坐标,总之是找到可修改的异常Z坐标,将他们都改成0,还要切换到布局空间,将视口和图纸空间的图形也要处理一遍。
方法二,用CHANGE命令修改标高值
CHANGE命令可以修改各种对象,但通常也用来修改特性,而且可以同时修改不同类型图形的标高。
操作很简单:
输入CHANGE命令,回车,框选要修改的对象,回车,输入P,回车,输入E,回车,输入0,回车。
用CHANGE命令可以同时选中直线、圆、多段线等图形并修改标高。如果直线的起点和端点的Z坐标相同,可以被成功地将Z坐标修改为0。但如果直线的起点和端点的Z坐标不同,命令行会提示:无法修改具有不同Z坐标的对象的标高,这种直线就无法修改了。这种直线通过快速选择用特性面板倒是可以修改。
方法三、利用扩展工具命令
1、FLATTEN
在AUTOCAD和浩辰CAD等软件的扩展工具中有一个叫变平或三维转平面的命令:FLATTEN,这个命令并不仅可以将有Z坐标的图形的标高改成0,且可以可以处理三维实体,将三维实体变成在当前视图的投影。
在命令行中输入FLATTEN,如果可以执行,就表示你的CAD支持此命令。变平FLATTEN正如命令的名字一样,可以在模型空间是将整个图形变平,不仅可以处理三维实体,二维图形也会按当前视图进行投影。如果需要得到三维实体的轴测图,需要先将视图切换到轴侧图,或者对三维实体进行三维旋转。变平命令后,三维实体会被直接转换为二维线,和视图方向不平行的圆、椭圆等图形也会进行转换。
当图中二维图形有Z坐标,需要将Z坐标都变成0时,也可以用FLATTEN命令,但FLATTEN命令也并不是所有的图形都可以修改,通常在处理后会提示有多少对象未被修改,我们需要切换到侧视图检查一下,看是否还有图形的Z坐标不为零,这些图形有什么特征,是否图块内部有Z坐标不同的图形,等等。
2、CHANGEZ
在浩辰CAD的扩展工具里还有一个专门改Z坐标的工具:CHANGEZ,在天正建筑等软件等一些转业软件里也集成了类似的命令。这个命令操作非常简单,执行命令后,框选所有要改Z坐标的对象,直线(包括起点和端点Z坐标不一致的直线)、圆、多段线以及共面的图块等标高都可以改为零,图块、三维模型也只是将标高值改为零,三维模型和图块都会维持原样,因此如果图块内部图形有不同的Z坐标,也无法处理。
方法四、Z轴归零的插件
如果你的CAD中没有FLATTEN或CHANGEZ等类似的可以处理Z坐标不为零的插件,我在网上看到一个插件,感觉还算靠谱,这里分享给大家,希望有人能用得上。
百度网盘下载地址:http://pan.baidu.com/s/1c1HnWTa
使用方法:
1、输入AP,回车,加载下载后的插件。
2、加载成功后,输入FLT命令,回车。
3、命令行会提示是否继续,回车,当提示选择对象时框选要处理的图形后回车。
4、处理完后会提示你处理了多少个对象,多少个对象没有处理,我们可以查看没有处理的图形状况。
命令提示示例如下:
此程序校正二维图形的Z坐标不为0的情况.
是否继续:
选择要拍平的物体: <直接回车将会自动选择所有物体>
选择对象:指定对角点:找到8个
选择对象:
设置Thickness为0...
无法修改3DSOLID的厚度。
无法修改MTEXT的厚度。
无法修改MTEXT的厚度。
处理Z轴坐标中...0完成.
7个物体已拍平.
1个物体没有拍平. [1个物体具有非0基点无法处理]
回车可以亮显这些物体...
请按回车取消亮显...
我只是简单进行了测试,能不能很好地处理问题图纸还需要大家的验证。大家在处理后最好另存,保存原始图纸的备份,避免处理有问题。
至于图纸为什么会出现Z坐标,之前我也分析过,但并不能确定,但大家可以看一下下面的文章,看是否是这些原因。最好能找到出现Z坐标的原因,在以后绘图的时候避免出现类似图纸。