AutoCAD线型文件定义含文字线型的格式说明

说明:以下格式翻译自Kean的文章Understanding the properties of textual linetype segments in AutoCAD,关于.NET中设定方法及注意项Kena也给出了一些提示。

线型文件(*.lin)格式样例:
A,.5,-.2,["MK",STANDARD,S=.2,R=0.0,X=-0.1,Y=-.1],-.2

中括号中定义文字几个关键特性如下:

    "MK" - 这是线型中显示的文字。

    STANDARD -这个告诉AutoCAD线型中的文字用什么样的文字样式显示。注:这个选项是可选的,当不指定时AutoCAD将自动选用当前文字样式进行显示。
        [Kean的提示:我发现在.NET接口中,文字样式是要求强制指定的。]

    S=.2 - 这项用来设定文字的比例因子。一般有两种情况:(1)当文字样式的高度为0时,“S”将指定文字的高度(本例中高度将是0.2个单位);(2)当文字样式的高度参数不是0,文字的高度则为文字样式的高度和这个设定值的乘积(本例中高度将是文字样式高度的20%);

    R=0.0 - 此项用来设定文字相对于线型方向的转角;如:0.0代表没有转角。注:此项是可选项。当不指定时AutoCAD将默认为0度。此项数值的默认单位为度,你也可以用"r"代表弧度,"g"代表度数,或者"d"代表度,例如 R=150g。

        [Kean的提示:就像ObjectARX一样,.NET接口对此项也只接受弧度,使用SetShapeRotationAt()函数。360度=2*PI弧度,因此可用"System.Math.PI / 2"来传递90度的信息。]

    A=0.0  - This rotates the text relative to the x-axis ("A" is short for Absolute); this ensures the text is always oriented in the same direction, no matter the direction of the line. The rotation is always performed within the text baseline and capital height. That's so that you don't get text rotated way off near the orbit of Pluto.
    A=0.0  - 此项用来设定文字相对于用户坐标X轴的转角("A"是Absolute 绝对值的意思);此项将使文字总是朝向同一个方向,而不管线型的方向是什么样子的。

        [Kean的提示:要在.NET中使用此选项,你需要使用SetShapeIsUcsOrientedAt()来设置转角是相对于当前UCS而不是线型的方向。]

    X=-0.1 - 此项用来移动文字相对于线型向量的x向位置;
    Y=-0.1 - 此项用来移动文字相对于线型向量的y向位置;

    以上两项可用来调整文字到线型的中心位置。偏移量根据线型的比例因子的不同而不同,线型比例因子存在系统变量LTSCALE里。


 对于偶的前一篇文章中定义的那个"Ben"线型,写在*.lin文件中的格式将是:

*Ben,Ben supply ---- Ben ---- Ben ---- Ben ----
A,0.5,-0.3,["Ben",STANDARD,S=0.1,R=0.0,X=-0.1,Y=-0.05],-0.3