第二章AutoCAD的线型及充填图案开发AutoCAD提供了标准线型库(文件)ACAD.LIN和标准图案库(文件)ACAD.PAT,在绘图时,可根据需要选择其中的线型或图案来设置要画的线型或充填图案。
但当这些线型库或图案库满足不了用户的要求时,就需要对AutoCAD 进行二次开发,以生成满足用户特殊要求的线型和图案。
第一节AutoCAD应用于地质绘图的局限AutoCAD提供的标准线型是由名为ACAD.LIN的标准线型库文件定义的。
标准线型库文件中包含有通用线型、ISO线型和复合线型三大类线型。
AutoCAD R14标准线型库中所定义的线型数量及特性如下:库中含通用线型25种,除连续线外的24种可分为8类,每类有3种不同的线段长度和间隔,其线型名分别是“类名”、“类名2”和“类名X2”,其中后两种线型的线段长度和间隔分别是前一种的一半和两倍。
ISO线型按ISO128标准且笔宽为1mm时定义,共有14种。
当将其用于ISO预定义的其他线型时,可通过改变相应的线型比例LTSCALE的数值来得到。
另外,AutoCAD标准线型库提供的复合线型为7种。
虽然AutoCAD R14 标准线型库文件ACAD.LIN 提供了如此多的线型,但是我们知道,AutoCAD最初是为建筑和机械绘图而设置的。
当用AutoCAD 绘制地质图件时,许多地质方面的线型AutoCAD 都不能提供。
例如,我们在绘制剖面图时,地表第四系的绘制就比较麻烦。
当然,我们可以把第四系作成块的方式来插入,当地表起伏不大时,可通过“阵列”命令来较快地实现第四系的绘制,如图:但是当地表起伏较大时,我们就只能把第四系以块的形式一个一个插入,以实现第四系的绘制,这样就会很浪费时间。
如果我们把第四系作成复合线型的方式,就能很快实现第四系的绘制。
第四系的复合线型如图:另外AutoCAD 提供的标准图案库文件ACAD.PAT中的图案,远远不能满足绘制地层柱状图和剖面图的需要。
例如,地层柱状图中常用的砂岩、泥岩、粉砂岩等,AutoCAD 标准图案库文件是不能提供的,更不用说其他的如硅质岩、黄铁矿、铝土矿、火山角砾岩等图案了。
虽然,AutoCAD中具有灰岩的图案,我们可以直接加以引用,但是当绘制剖面图时引用灰岩图案就会遇到难题。
因为在剖面图中,灰岩随深度的变化而上下起伏,直接用AutoCAD 标准图案库提供的灰岩充填时,虽可调节灰岩的角度,但终不能达到随深度变化而变化的要求,所以不能直接用来充填。
从以上分析可以看出,AutoCAD 若不进行二次开发,它在绘制地质图件方面存在很大的局限性。
第二节AutoCAD的线型开发方法一、线型文件的格式线型文件是一种纯ASCII码格式的文本文件,一个线型文件可以定义多种线型。
每一种线型的定义在线型文件中占两行。
空行和分号后面(注释)的内容都被忽略。
每一线型的定义如下:*线型名[,线型描述]Alignment,dash-1,dash-2,dash-3,...例如:*推测整合地层界限,128- - - - -A,3,-1描述是选择项,除可为点、间隔及短划线的组合序列外,还可以是对线型的说明,如“Use this linetype for hidden lines”(此线型用于表示隐藏线),用户对线型的描述不能超过47个字符。
线型描述是可选项,即允许省略,此时线型后不能有逗号。
Alignment 字段为线型对齐方式。
目前AutoCAD只支持一种对齐方式,即通过在字段开头输入“A”来指定。
使用A型对齐,AutoCAD将保证直线的端点处为短划线。
这种对齐方式,首短划线的值应大于等于0(即下笔段或点),第二个短划线的值应小于0(提笔段),并从第一个短划线说明开始,至少有2个短划线结构说明。
线型说明中的短划线序列,将从第一个到最后一个相继画出来,然后再从第一个说明的短划线开始重复这个序列。
dash-n 字段指定组成线型的线段的长度。
若长度为正,则表示是下笔段,即为要画出的线段;若长度为负,则表示为一提笔段(间隔);长度为零则画出一个点。
在.LIN文件中,每个线段定义应限制在80个字符以内,R14版本最多可允许280个字符。
即使在最多80个字符行中,用户可为每个线型确定12个线段,12个点以及12个间隔。
对于一般的线型定义,这已足够了。
二、线型的开发方法AutoCAD 既提供了在某系统内部生成新线型的命令,又允许用户用文本编辑程序在AutoCAD之外生成线型文件。
用户定义的新线型即可以加在标准线型文件ACAD.LIN中,又可以自己定义新的线行文件。
(一)、在AutoCAD 内部用“-LINETYPE”命令生成新线型进入AutoCAD 后,可以通过“-LINETYPE”命令随时定义开发新线型。
具体过程如下:命令(Command):-LINETYPE?/Create/Load/Set:C(回车)Name of linetype to create:(线型名)此时,屏幕出现“Sleet Linetype File(选择线型文件)”对话框。
这时,用户有两中选择:一是在原有文件(如ACAD.LIN)中增加新线型;二是建立新线型文件来定义新线型。
现分析如下。
原有线型文件中增加新线型在选择对话框中的某一文件名,则屏幕提示如下信息:Wait,checking if linetype already defined ...(稍侯,正在检查是否线型已经定义过...)这是AutoCAD 提供的安全措施,其目的是防止用户定义的线型名与原有的线型名重复而覆盖原有的线型。
如果发现用户输入的线型名已在所选择的线型文件中,则显示线型文件中该线型的定义内容并提示:Overwrite(Y/N)〈N〉?(覆盖吗)此时按空格键或回车,则不覆盖原有的同名线型。
系统会提示用户输入另外的线型名和线型文件名。
若输入“Y”并回车,则系统将用新生成线型覆盖原有的同名线型。
接下来的操作如下:Descriptive text:(线型描述)在此提示下,键入表示线型的下划线、空格和点的组合。
Enter paten(on next line):(在下一行输入线型的具体参数)在此提示下,键入所定义线型的具体参数。
?/Create/Load/Set:(回车)到此,新线型即已加载在原有的线型文件中。
若要继续增加新线型,则可输入“C”重复上述过程。
否则回车,结束-LINETYPE命令,回到“命令(Command):”提示符下。
建立新线型文件在“选择线型文件”对话框中的“文件名”一栏中输入新线型文件名并回车,则AutoCAD会生成一个扩展名为.LIN的线型文件,此时屏幕提示如下信息:Descriptive text:(此处用户需键入线型描述)Create new fileEnter pattern(on next line):A,(此处用户应键入所定义线型的具体参数)New definition written to file.?/Create/Load/Set:(回车)到此,新线型即已定义在新的线型文件中。
若要继续增加新线型,则可输入“C”重复上述过程。
否则回车,结束-LINETYPE命令,回到“命令(Command):”提示符下。
(二)、直接编辑线型文件来生成新线型用文本编辑程序生成新线型的方法较简单,用户不必进入AutoCAD系统而是通过在已有线型文件中增加新的线型定义或修改原有线型定义来建立新的线型,用户也可以借助于建立新的线型文件来增加新线型。
无论是编辑已有线型文件还是建立新的线型文件,都必须注意线型扩展名一定为.LIN。
另外,在已有的线型文件中增加新线型时,还应注意增加的新线型定义不能插在已有定义的两行之间。
线型文件编辑完成后存盘,即可在AutoCAD 中调试和使用新线型。
三、复合线型的定义格式复合线型定义的语法格式与前述简单线型基本相同,不同之处在于复合线型在定义中增加了用方括号括起来的特殊参数,用以告诉AutoCAD 如何潜入文本或形。
复合线型定义的具体格式如下:*线型名[,线型描述]Alignment,dash-1,dash-2,dash-3,...[嵌入的文本字符串或形定义],dash-n,...其中,嵌入文本字符串的定义语法为:[“string”,style,R=n,A=n,S=n,X=n,Y=n]例如:*断层下盘,389---- x ----A,20,-2,["×",standard,s=2.5,x=-1.4,y=-1.4],-2嵌入的形定义语法是:[shapename,shape-file,R=n,A=n,S=n,X=n,Y=n]例如:*煤厚为零点边界,52-------。
-------A,30,-0.1,[circ1,ltypeshp.shx,s=0.75,r=0,x=-0.1,y=-0.1],-1.35 string 是双引号中的由一个或多个字符组合的文本字符串,shapename 是shape-file 文件中的形名。
shape-file 文件中必须有形,否则AutoCAD不允许用户使用此线型。
AutoCAD系统提供的形如下:TRACK1 ZIG BOX CIRC1 BAT 。
Style 是文本式样的名字,shape-file 为AutoCAD 的.SHX形文件。
如果当前图形中没有style,AutoCAD则不允许使用此线型。
如果shape-file文件没有位于库搜索路径中,AutoCAD会提示并要求用户选择另一个.SHX文件。
在shape-file 文件中可以包括路径。
其余五个字段R=、A=、S=、X=、和Y=为可选择的转换分类。
每个转换分类后面的n表示所需数字。
R=n表示文本文字或形相对于当前线段方向的转角。
缺省时为0,表示AutoCAD文本或形的方向所与所给线段方向一致。
当给定一定的角度时,文本文字或形就会以此角度相对于当前线段方向旋转。
例如,断层下盘线,当R=0时,如下图:当R给定一角度时,如R=45时,如下图:A=n 表示文本或形相对与世界坐标系的X轴的绝对的转角。
当希望文本或形总是以水平方式出现而与线段的方向无关时,可采用A=0(如上图)。
用户可以指定R和A,但两者不能同时指定值。
如果两个都没有指定值,则AutoCAD 采用R=0。
如下图:R和A以度为单位。
如果希望以弧度或剃度作为单位,那么数字后面必须加R 和G。
S=N确定文本或比例系数。
如果使用固定高度的文本式样,AutoCAD会将此高度乘以n。
如果使用的是变高度的式样,AutoCAD 则会把n看作绝对高度。
对于形而言,S=缩放系数会使形从其缺省缩放系数1.0按此值放大或缩小。
在任何情况下,AutoCAD 通过S=缩放系数与LTSCALE和CELTSCALE的乘积来确定高度或缩放系数。