- UID
- 103363
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2003-12-17
- 最后登录
- 1970-1-1
|
发表于 2004-6-5 06:37:26
|
显示全部楼层
先熟悉线型是怎么定义的,上图的虚线的定义是实线段为5,空格为1.5。这是我自己定义的线型,这个大小就是打印出来的图纸上的大小。我们用公制,意味着这种虚线是5mm线段后空1.5mm再5mm线段。
如果图纸比例是1:100,那我们就要把它放大100倍,这条线型应该要设成500空150,以便缩小打印后还原成5空1.5。
同图块一样,我们不可能也没必要针对不同的图纸比例制作不同的线型,那么谁能使这条线型成500空150呢?那就是LTSCALE。
公式:图面上线型尺寸=线型定义值×LTSCALE
很显然,对于这条线型,1:100的图纸比例其全局线型比例LTSCALE=100,也即,1:N的图,LTSCALE=N。
但是,你的1:100图纸上LTSCALE可能是1000,因为100根本看不出是虚线,这为什么呢?这就是线型定义不同,acad.lin中虚线的定义是:
*DASHED,Dashed __ __ __ __ __ __ __ __ __ __ __ __ __ _
A,.5,-.25
你如果还是设LTSCALE=100,意味着这条虚线实际是50空25,1:100打印后回到0.5空0.25,当然看不出。由于线型设置值小,1:1时LTSCALE就要10,那1:100当然就要1000了。
acad.lin为什么设得那么小,因为它用于英制单位,现在我们应该用acadiso.lin,在这个线型文件内,其虚线定义是
*DASHED,Dashed __ __ __ __ __ __ __ __ __ __ __ __ __ _
A, 12.7, -6.35
明白了,它是12.7实线段,空格6.35
在图纸比例1:100的图上,如果有一条虚线长650,用这个线型可以吗?根据上面的公式,实线段5×100=500,空格1.5×100=150,加起来正好是650,也就是说,这条线可以显示出来,只不过一端正好在空格位置,这制图标准允许吗?回答当然不行。
于是,线型设置中前面要加个A,这个A保证二端不会在空格位置,既然不能在空格位置,那这条650长的线当然不能正常显示出虚线。
这个时候,我们就要把线型改小,怎么改?
(1)、把LTSCALE改小一点,比如设LTSCALE=50,那这条段线没问题了。但是,这么一改,图上所有的虚线都变了,这便是为什么称它为“全局线型比例因子”。为了一条线而改变所有线,这当然不可取。
(2)、设置CELTSCALE,这个叫当前线型比例因子,缺省值等于1.0,这样,我们把上面这个公式改成:
图面上线型尺寸=线型定义值×LTSCALE×CELTSCALE
显然,如果设置CELTSCALE=0.5,刚才的问题就解决了。
(3)、修改这条短线的特性,对象本身也有一个线型比例,它的缺省值实际就是CELTSCALE的设置值。
(4)、换一种线型,所以会有DASHED、DASHED1、DASHED2等。这是一个好方法,为什么呢?修改对象的比例因子,意味着线型规格实线和空格是成比例变小的,当空格小到一定程度,打印出来便看不出,明明是虚线,实际效果成了实线。
当前线型比例因子CELTSCALE的特性:
(1)、它的值赋予对象,作为对象的线型比例的缺省值
(2)、强调“当前”,改变这个值的设置,它只对从现在开始加入的新对象有效,因为它是直接把它加入对象数据的,而不是修改对象数据。
PSLTSCALE
如果你要在一张图上画1:100和1:50二个比例的图形并且使用图纸空间做的话,那么,你就在图纸空间开二个视口,视口比例分别为1:100、1:50。
如果你对图纸空间概念清楚的话,这实际上就是把模型空间的图形以不同的比例“打印”到图纸空间。那好,上面说过,1:100的LTSCALE=100,1:50的LTSCALE=50,也就是说,你的二个图形的LTSCALE要相应有二个。
可是,这个LTSCALE是“全局”的,一张图上(严格一点是一个dwg文件上)只能有一个。那怎么办?当然,按前面的CELTSCALE概念,你可以把1:50的图形的对象的线型比例预先放大。但这样做太麻烦。
用图纸空间出图意味着什么?就是图纸空间的图形就是实际的图纸,也就是从图纸空间到实际的物理图纸是1:1打印,那么对图纸空间来说,它的线型比例是多少?想想看,它没有缩放了,应该取多少?
设PSLTSCALE=1,就是把“缩放时使用图纸空间单位(U)”选项勾上,它就按图纸空间来缩放了。
注意,现在的LTSCALE为多少?那就是1啦!千万不能还是100了!
这里的1和100是对我举例的线型来说的,如果加载的是acad.lin线型,那当然就不是1和100了。用acad.lin或者acadiso.lin或者用户自己编的线型都无所谓,只是如果自己编制线型,一般都以打印出来的物理图纸上的大小设置,这样的话,LTSCALE就对应打印比例,直观一点。
这里要注意的是,不要用二种规格设置的线型,比如虚线用acadiso.lin,而中心线用acad.lin。这二个设置规格完全不同,这LTSCALT顾了这头顾不了那头。请看:
acadiso.lin中的虚线:
*DASHED,Dashed __ __ __ __ __ __ __ __ __ __ __ __ __ _
A, 12.7, -6.35
acadiso.lin中的中心线:
*CENTER,Center ____ _ ____ _ ____ _ ____ _ ____ _ ____
A, 31.75, -6.35, 6.35, -6.35
而acad.lin中的中心线:
*CENTER,Center ____ _ ____ _ ____ _ ____ _ ____ _ ____
A,1.25,-.25,.25,-.25
这就像不同身高的人要求统一着同一号码的衣服,那怎么行呢?
说了那么多,实际上,只要一句话就能解决问题:“因为打印时要放大(缩小),所以要预先缩小(放大)”。
转自~~~~~柔柔老师 |
|