线型比例是一个十分重要的概念,对初学者来说也是难以掌握的一个头疼问题。
为了更好地说明问题,请各位先看一下acad.lin和acadiso.lin的设置和区别。
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/18/184342-lty-embed.GIF');}" 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/220S0B23-1.gif" />
线型比例中常见的问题:
1。 “我的虚线怎么显示不出来?”
2。 “为什么我的线型有的能显示,有的却显示不出?”
3。 “线型比例定多少才算合适呢?”
4。 “图纸空间为什么不能显示出线型?”
5。 “如何设置自己的线型?”
在解决以上问题之前,先让我们来认识一下线型。先看一下AutoCAD的帮助:
线型是由沿图线显示的线、点和间隔组成的图样。可以通过图层指定对象的线型,也可以不依赖图层而明确地指定线型。
除选择线型外,还可以设置线型比例以控制横线和空格的大小,也可以创建自定义线型。
不要将 AutoCAD 内部使用的线型与某些绘图仪提供的硬件线型混淆。这两种类型的虚线产生的效果相似。不要同时使用这两种类型,否则,可能会产生不可预料的后果。
在线型定义文件中用两行文字定义一种线型。第一行包括线型名称和可选说明。第二行是定义实际线型图案的代码。
第二行必须以字母 A(对齐)开头,其后是一列图案描述符,用于定义提笔长度(空移)、落笔长度(划线)和点。通过将分号 (;) 置于行首,可以在 LIN 文件中加入注释。
线型定义格式
线型定义的格式为
*linetype_name,description
A,descriptor1,descriptor2, ...
例如,名为 DASHDOT 的线型定义为
*DASHDOT,Dash dot __ . __ . __ . __ . __ . __ . __ . __
A,.5,-.25,0,-.25
这表示一种重复图案,以 0.5 个图形单位长度的划线开头,然后是 0.25 个图形单位长度的空移、一个点和另一个 0.25 个图形单位长度的空移。该图案延续至直线的全长,并以 0.5 个图形单位长度的划线结束。该线型如下所示。
__ . __ . __ . __ . __ . __ . __ . __
LIN 文件必须以 ASCII 格式保存,并使用 .lin 文件扩展名。
*DASHDOT,Dash dot __ . __ . __ . __ . __ . __ . __ . __
A,.5,-.25,0,-.25
如果你仔细看过上帖中的AutoCAD的帮助,就知道,这条点划线的实线段长为0.5,空0.25,再是一个点。因为我们用的是公制,分别是0.5mm,0.25mm。按这个规格画在图纸上什么也看不出,假如我们把它们放大10倍,便成了5mm,2.5mm,这还马马虎虎,假如放大20倍,成10mm,5mm,这比较好看一些。
1:n的图纸比例,意味着要缩小n倍打印,而要保证打印后的这条线型是10mm,5mm的话,就要设这条线型的比例因子为20×n。这20算什么呢?21不也行?22不也可以?也即这个20没有特定的含义。
如果我们能做到线型全局比例因子LTSCALE=n,那么,我们可以说成:“因为打印要缩小n倍,所以要预先放大n倍。”而要做到这一点,就必须是:
*DASHDOT,Dash dot __ . __ . __ . __ . __ . __ . __ . __
A,10,-5,0,-5
再看acadiso.lin中设置
*DASHDOT,Dash dot __ . __ . __ . __ . __ . __ . __ . __
A, 12.7, -6.35, 0, -6.35
这说明什么呢?显然acadiso.lin中的定义适用于公制单位。可是,Autidesk真够滑稽的,简体中文版中居然不把acad.lin删除,让二个设置数量级完全不同的线型文件并存,造成人为混乱。
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/18/184496-lts-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/220S05124-2.jpg" />
线型全局比例因子LTSCALE和尺寸标注全局比例因子DIMSCALE在概念上非常相似,LTSCALE是把线型由线型文件上定义的规格放大,DIMSCALE是放大尺寸标注样式中的各设置值。当线型规格和尺寸标注各控制值都以物理图纸上的规格为依据设置的话,则LTSCALE=DIMSCALE=打印比例因子。
二者的差别在于,DIMSCALE是否设成打印比例因子与样式的设置有关,也即用户可以自己掌握,LTSCALE是否设成打印比例因子与线型有关,如果用户不设置自己的线型,就很难由用户掌握。
如果 LTSCALE=DIMSCALE=打印比例因子,则使得设置方便并容易理解。那么,最好的办法就是放弃原AutoCAD系统线型,而由用户自己建立用户线型。
用户自己建立线型的可行性
1。线型随图
由于线型随图,不会因用户自己的线型使别人不能用。但如果线型中用到字体和形文件,字体和形文件不能随图。
2。可以任意加载任何线型文件上的线型
这一方面给用户自定义线型文件带来了方便,但这也带来一个严重的问题。如果在一张图上,加载线型设置规格数量级完全不同的线型,如一部分线型用acad.lin的,另一部分用acadiso.lin的,再搞几种用户定义的,这样,这个线型全局比例因子顾前不顾后,满足了甲满足不了乙。
所以,
1。 提倡用户自己定义线型
2。 一张图上要用一种设置规格数量级的线型
3。 无特殊情况,当前对象缩放比例应为1.0
4。 可以设置复杂线型,但尽量不要用“形文件”来设置
搞清楚线型比例,对域内填充图案就也能理解了,它们有相同点:
1。都是用ASCII 码编成的
2。都有英制和公制二个文件(acad.lin,acadiso.lin acad.pat,acadiso.pat)
3。都可以由用户自定义
但它们也有不同点:
1。线型不存在编辑问题,图案存在编辑的可能
2。线型随图,图案不随图
3。用户可以自建线型文件,图案不能自建用户文件,自定义的图案一定要加入acad.pat或acadiso.pat,否则,一个图案就得对应一个文件。
所以,线型提倡自定义,图案最好不要自定义。有一些用户热衷于自定义图案,我个人是不支持的。因为自定义图案到了别人手里能显示但不能编辑。
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/18/184573-tz-embed.GIF');}" 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/220S0K56-3.gif" />
下图中的用户定义,是普通剖面线,对话框上有个间距值,你想 3 的话,那1:100就是300,1:50的话就是150,这样,用这个间距来作参照物就可以大致能看出其他图案是否合适了。
域内填充要注意的问题:
1。如果全涂黑,应该采用SOLID,而不要用很密的其他图案填充
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/18/184586-tz11-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/220S061V-4.jpg" />
补充:
1。上面这一段
DIM-100:DIMLFAC=1, DIMSCALE=100
DIM-50 :DIMLFAC=0.5, DIMSCALE=100
DIM-25 :DIMLFAC=0.25,DIMSCALE=100
上下文连起来是没问题的,但如果单独列出来,则是谬论。所以,要补充说明一下。上面是举例主比例为1:100的时候,如果1:200就要是:
DIM-200:DIMLFAC=1, DIMSCALE=200
DIM-50 :DIMLFAC=0.25, DIMSCALE=200
DIM-25 :DIMLFAC=0.125,DIMSCALE=200
所以,通用的表达式是:
DIM-主图比例因子:DIMLFAC=1, DIMSCALE=主图比例因子
DIM-放大图比例因子:DIMLFAC=1/图形放大倍数, DIMSCALE=主图比例因子
还有,尺寸标注样式名可任取,但最好能从名字上看出所标的图形比例,便于识别。
2。谈到线型比例时,我曾经假设把规格
*DASHDOT,Dash dot __ . __ . __ . __ . __ . __ . __ . __
A,.5,-.25,0,-.25
放大20倍,成:
*DASHDOT,Dash dot __ . __ . __ . __ . __ . __ . __ . __
A,10,-5,0,-5
这是为了说明我们实际差不多是要这么大,既然用户自定义,那就由用户选择自己认为最合适的规格。另外,我们放大25.4(英制与公制的换算)倍,结果正好是:
*DASHDOT,Dash dot __ . __ . __ . __ . __ . __ . __ . __
A, 12.7, -6.35, 0, -6.35
结论:AutoCAD早期的版本是以英制为单位的,R14以后的版本增加了公制单位的设置,于是,acad.dwt->acadiso.dwt,acad.lin->acadiso.lin,acad.pat->acadiso.pat。
多线MLINE中的比例与上面所说的各比例不太一样,它是在命令行上设置的,任便把它也列出来的原因,是想纠正下面的说法:
1。 多线就是双线
2。 多线的比例就是二条线的间距
不错,AutoCAD的缺省设置就是这样,但作为概念,不能这么说。多线非单线,是复线,可以二条线、可以是三条线、可以是四条线。。。命令行上设置的比例 N 是把设置的多线放大 N 倍。
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/18/184856-ml-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/220S0I37-5.jpg" />
十四、总结
AutoCAD中还有一些比例概念,如图块插入比例、缩放命令scale要输入比例值等,但相对来说,这些比较容易掌握,就不再细说。如果哪位朋友有这方面的要求,再追加说明。
上面说了那么多,把头都搞晕了。其实,上面所提到的DIMSCALE,LTSCALE,概念清楚了非常容易。
如果按物理图纸上的规格设置参数,那么这些比例就对应出图(打印)比例。 一句话解决问题。
符号性图块不也是这样吗?你可以按图纸上的大小预先画好符号而不管它插入什么比例的图中,使用时只要按图纸出图比例因子放大就行。