作者:独角斗士
一、基本概念
这么说很显然,图纸空间并不是非用不可,既然大家要用,肯定有很多好处。有的朋友急了:“什么好处呢?”,且慢,要理解图纸空间概念,我们还是从最基本着手,先来看看几个概念:
1、图纸空间也是作图空间,它同样可以像模型空间一样作图(加注:三维图不能作)
2、二个空间三个状态
二个空间:模型空间,图纸空间
三个状态:模型空间(平铺),模型空间(浮动),图纸空间
模型空间(平铺)就是正宗的模型空间,就是我们安装后打开软件所在的空间,也就是我们过去习惯上的作图空间。
模型空间(浮动),实际是在图纸空间,但把视口激活,被激活的视口回到了模型空间,也即图纸空间上不仅是块透明的玻璃,而且在玻璃上开了个口子,能够透过口子操作模型空间上的对象。
图纸空间,在模型空间上罩了一块玻璃,只能看不能修改模型空间上的对象。
nload="if(this.width >screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图nCTRL+鼠标滚轮放大或缩小';}" onclick="if(!this.resized) {return false;} else {window.open('attachments/19/191479-2-embed.JPG');}" onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" src="http://www.zmozx.com/static/image/lazy.gif" class="lazy" original="http://www.zmozx.com/file/upload/201701/02/22315A057-0.jpg" />
3、模型空间(平铺)在模型空间,模型空间(浮动)在图纸空间
我们一定要注意,模型空间(浮动),它叫成模型空间,但实际上状态在图纸空间,只不过把图纸空间上的视口激活而已。为什么把它归到模型空间,是因为被激活的视口相当于回到了模型空间,可以编辑对象,也可以增加对象。
4、视口比例
视口比例就是用Zoom设定的屏幕比例。因为视口被激活后,相当于回到的模型空间,用zoom可以平移,也可以缩放。我们在模型空间时的Zoom缩放是相对于屏幕的,在图纸空间,视口尺寸不变,激活视口内的缩放便相对于视口了。这样,就有一个视口比例概念。实际上就是模型空间上的一个作图单位显示在图纸空间上为多少。如果我们把模型空间上的100个作图单位缩到1个作图单位显示在图纸空间,那么从图纸空间以1:1打印,图纸比例就是1:100。而从图纸空间以1:2打印,图纸比例就是1:200。当然,既然用图纸空间打印,就不会再以1:2打印了,因为如果图纸比例是1:200的话,就把视口比例设为1:200了,何必自找麻烦呢?所以尽管理论上没有要求从图纸空间打印一定要1:1,但实际上几乎无一例外,这也许是人有共性。所以,凡用图纸空间出图,打印比例不用考虑,即1:1打印。
视口比例如何设置呢?按理这不应该是个问题,因为既然视口比例就是屏幕比例,Zoom是我们最熟悉的命令了。这里特别提出是因为我们平时缩放屏幕实际上并不输入比例的,Zoom的即时缩放很方便,尤其是高版本的滚轮鼠标缩放,久而久之,Zoom的比例缩放概念变得模糊了。
请看Zoom命令:
命令: zoom
指定窗口角点,输入比例因子 (nX 或 nXP),或
[全部(A)/中心点(C)/动态(D)/范围(E)/上一个(P)/比例(S)/窗口(W)] <实时>: s
输入比例因子 (nX 或 nXP): .5x
nX是相对于前一个状态,它是相对比例,nXP是相对于实际对象,它是绝对比例。
很显然,设置视口比例必须用nXP。
5、布局
从上帖的附图中我们可以看到有“模型空间、布局1、布局2,这个称为“选项卡"。如果你需要,可以增加“布局3”、“布局4”。。。也可以重命名,这跟EXCEL的页面非常像。
我们在模型空间,用鼠标选择布局,立刻转到图纸空间,那么,布局与图纸空间是什么关系呢?
我们可以把“布局”选项卡理解为图纸空间,因为凡是布局,不管是布局1、布局2,都在图纸空间内。这一点与EXCEL有点不同。
我们可以把“布局”选项卡理解为页面,因为既然用图纸空间出图,这就有个页面设置的问题,所以R14以后,只要选择布局,就会跳出打印机配置、页面设置、打印样式等的设置对话框,这种格局同WORD完全一样。
我们可以把“布局”选项卡理解为布置,在图纸空间,我们可以根据需要设置一个视口,也可以根据需要设置多个视口,并且,由于图框本身是没有比例的,自然我们会把图框以1:1放在图纸空间。那么,这就有个图面布置问题,图面的摆放问题。
6、模型空间与图纸空间的关系
(1)平行关系
模型空间与图纸空间是个平行关系,相当与二张平行放置的纸。
(2)单向关系
如果把模型空间和图纸空间比喻成二张纸的话,模型空间在底部,图纸空间在上部,从图纸空间可以看到模型空间(通过视口),但模型空间看不到图纸空间,因而它们是单向关系。
(3)无连接关系
正因为模型空间和图纸空间相当于二张平行放置的纸张,它们之间没有连接关系,也就是说,要么画在模型空间,要么画在图纸空间。在图纸空间激活视口,然后在视口内画图,它是通过视口画在模型空间上,尽管所处位置在图纸空间,相当于我们面对着图纸空间,把笔伸进视口到达模型空间编辑,这种无连接关系使得明明在图纸空间下仍把它称为模型空间,只是为了区别加个“浮动”。
我们要注意这种无连接关系,它不像图层,尽管对象被放置在不同的层内,但图层与图层之间的相对位置始终保持一致,使得对象的相对位置永远正确。模型空间与图纸空间的相对位置可以变化,甚至完全可以采用不同的坐标系,所以,我们至今尚不能做到部分对象放置在模型空间,部分对象放置在图纸空间。
2002开始,AutoCAD增加了DIMASSOC这个系统变量,在尺寸标注方面有了突破。也即当DIMASSOC=2时,标在图纸空间上的尺寸标注与在模型空间上的被标对象建立了连接关系。关于DIMASSOC的概念下面将谈到。
图形总归是放在图框内的,图框与图形是包含关系,这种无连接的关系不影响它。常规做法是在图框上或图框内开视口,图形始终被包含在图框内。
1、尺寸标注全局比例因子DIMSCALE
在模型空间出图,当打印比例是1:n 时,如果尺寸标注的文字、箭头、尺寸线伸缩等这些标注特征值取打印出来的物理图纸上的规格,那么这个尺寸标注全局比例因子DIMSCALE=n,这在《AutoCAD中的比例概念及使用技巧》中已经有说明。
现在,我们用图纸空间出图了,这个DIMSCALE怎么取呢?
(1)DIMSCALE=1,因为从图纸空间出图是1:1
(2)DIMSCALE=n,因为从模型空间到图纸空间要缩1:n
上面二种回答初看似乎都有道理,让我们来分析一下。
第一个回答强调了打印比例,因为我们过去一直说DIMSCALE与打印比例有关,现在既然是1:1打印,自然DIMSCALE=1。
但是,我们千万不能忘了,这个尺寸标注不在图纸空间,尽管我们不在真正的模型空间标注,而是在图纸空间在激活的视口上标注,但尺寸标注作为ACAD对象却毫无疑问在模型空间。既然在模型空间,让它显示在图纸空间就不得不接受视口比例的缩放,因此,这个全局比例不能为1.0。
如果尺寸就在图纸空间标注,DIMSCALE=1是对的。注意,尺寸在图纸空间标注,前提是DIMASSOC=2,否则天下大乱!
第二个回答强调了模型空间到图纸空间的缩放,因此它是对的。但是,它这种是没有利用图纸空间的优势。把尺寸标注同其他对象等同处理。
不利用优势不算错,但这样做的问题来了,当一张图纸有多个比例怎么办?传统的模型空间出图,我们大家已经非常清楚,即把图形人为缩放,用测量比例来调整,此时的DIMSCALE不变;用图纸空间出图,不必再人为缩放图形了,测量比例始终为1.0,那么,DIMSCALE还是不变吗?如果不变,这不同的比例其尺寸标注的文字、箭头等一样大小。等分别缩到图纸空间上的视口里,由于视口比例不同,它就跟普通对象一样按视口比例缩放,一张图纸打印出来其尺寸势必大大小小。
如此说来,这个DIMSCALE要跟着变,它不对应打印比例,而是直接对应视图比例,即1:100的图形为100,1:50的图形为50。
所以,我们经常听到看到这种不严密的说法: “DIMSCALE是图纸比例因子”。
(3)DIMSCALE=0,不要去设
这是正确答案。用图纸空间出图,打印时以1:1,图形由视口缩小,不同视口可以设置不同的比例,尺寸标注的特征值(文字、箭头等的大小)应该是不同的,也即DIMSCALE不能是一个数。问题是ACAD早注意到这一点,它为了不增加用户的麻烦,提取视口比例来代替这个值,于是用户不要再设置这个DIMSCALE了,从下图可以看出,它成了禁选,显示为0。
即便尺寸在图纸空间标注,照样可以设DIMSCALE=0,这是系统比较聪明的一点。哈哈,这样看来DIMSCALE=0乃名副其实的正解。
这样,用图纸空间既没有测量比例设置的麻烦,也没有全局比例设置的麻烦。但这有个前提:尺寸标注的特征值必须取打印出来图纸上的规格,否则,ACAD提供的方便功能就没法享受。
nload="if(this.width >screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图nCTRL+鼠标滚轮放大或缩小';}" onclick="if(!this.resized) {return false;} else {window.open('attachments/19/193242-cc-embed.JPG');}" onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" src="http://www.zmozx.com/static/image/lazy.gif" class="lazy" original="http://www.zmozx.com/file/upload/201701/02/2231563137-1.jpg" />
2、DIMASO 与 DIMASSOC
DIMASO是2002之前控制尺寸标注关联性的系统变量,它的定义是:
DIMASO=on,关联标注
DIMASO=off,不关联标注
2002开始增加了系统变量DIMASSOC,它的定义是:
DIMASSOC=0,分解的标注。包含单个对象而不是单个标注对象的集合。
DIMASSOC=1,无关联标注。与其测量的几何图形一起选定和修改。
DIMASSOC=2,关联标注。当与其关联的几何对象被修改时,关联标注将自动调整其位置、方向和测量值。布局中的标注可以与模型空间中的对象相关联。
DIMASSOC与DIMASO的关系
DIMASSOC=1 相当于DIMASO=on
DIMASSOC=0 相当于DIMASO=off
这里有一个概念要澄清:DIMASSOC=1 称“无关联标注”,DIMASO=on 称“关联标注”,初看是矛盾的。实际上是不同版本不同叫法,同一“关联”不同含义。
我在《AutoCAD中的比例概念及使用方法详解》中对线型比例作了一些说明,但在那里重点解决LTSCALE的问题。这里,我们要解决的是用图纸空间后如何设置的问题。先看下图。
nload="if(this.width >screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图nCTRL+鼠标滚轮放大或缩小';}" onclick="if(!this.resized) {return false;} else {window.open('attachments/19/193400-xx-embed.JPG');}" onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" src="http://www.zmozx.com/static/image/lazy.gif" class="lazy" original="http://www.zmozx.com/file/upload/201701/02/2231561418-2.jpg" />
这里有一个非常麻烦的概念。
如果图纸比例是1:50,那在"全局比例因子(G)"内输入50(线型规格是物理图纸上的规格),那个“缩放时使用图纸空间单位(U)”不打勾,既能在模型空间正常显示线型,也能在图纸空间"正常"显示线型(注意这个正常是加引号的正常)。而像上图那样,在图纸空间能正常显示线型,在模型空间却不能正常显示线型了。
这里为什么要有这个“缩放时使用图纸空间单位(U)”?
这就要回到前面,在一张图纸上有多个比例时,我们现在已经不是人为缩放图形,而是用不同的视口,以不同的视口比例来解决。1:100的图上画一个1:5的图,显然,这个1:5的图形很小,只是因为视口比例让它放大了。而在模型空间,这个很小的1:5的图形,用原来的线型比例,经视口放大,线型就相应放大,也即,如果是一条虚线,因为图形小,可能就显示出三段实线二段空格,到了图纸空间它当然还是三段实线二段空格,但图形大了,势必这个实线段和空格也跟着放大,那么相对与其他视口,这虚线就明显不同。
为了理解这一点,大家可以看一下《AutoCAD中的比例概念及使用技巧》,我说过,模型空间到图纸空间相当于把模型空间“打印”到图纸空间,而打印的概念我们太清楚了,就是整体缩放。这线型也不例外。
不同视口有不同比例,线型也要随视口比例缩放,但我们不希望它这样,我们要的是在一张图上同一种线型打印出来一致,就像文字或尺寸标注,一张图就一个样。
要达到这个要求,线型就必须由图纸空间来自动缩放,即在“缩放时使用图纸空间单位(U)”上打勾。但我们要注意到它的含义,它是以图纸空间的规格来设置线型比例了,图纸空间以1:1打印,那么"全局比例因子(G)"就是以图纸空间的大小来设置,如果线型规格就是按打印出的物理图纸上的规格设置的,其值就等于1.0,如果选用的是英制单位线型,公制单位出图,它就等于25.4。
这样的设置,实际就是依图纸空间为依据了,它根本不管模型空间,显然当我们回到模型空间,线型没法正常显示了。
如果你用图纸空间出图只是习惯,并且图纸就一个比例,那你用不着这么设置,按原来的模型空间设置线型,让它“打印”到图纸空间,两边都没事。也就是说,这种特殊情况,就设置全局比例因子LTSCALE,而那个“缩放时使用图纸空间单位(U)”不要去勾上。