2024年5月10日发(作者:)

Auto CAD与文字上下标

摘要 在各种操作系统下的所有AutoCAD版本,都不能直接写出带上下标的文字,并根据工作实践,

介绍了该文提出了解决这一问题的方法。

关键词 AutoCAD 文字 文字上下标在AutoCAD中,用于存放所绘图形的文件被称为图形文件,

实体是组成这种文件的基本单位,文字(Text)是其中最常用的实体之一。

一、术语

为叙述方便先定义几个与文字有关的术语,在BASESUPPER DATA(带上标的文字)、BASES UB

DATA(带下标的文字)、BASESUPPERSUB DATA(带上下标的文字)的例子中,BASE和DATA称为基本

文字,其中BASE又称前导(基本)文字、DATA又称后续(基本)文字,SUPPER称为上标文字, SUB称为下

标文字,文字上下标在这里包括文字的上标(Superscript) 、下标(Subscript)和上下标。

在AutoCAD中,文字是具有相同高度、高宽比(宽度)、旋转角度、倾斜角度、线型、颜色和字体

等属性的字符串,由1个及多个字符组成。由于上下标文字与基本文字高度不同,按此定义,AutoCAD

文字显然不能带上下标,因此给使用者带来了很多麻烦。在实际使用中,前导文字、上标文字、下标文

字和后续文字必须分多次来写,虽然这样可以应付使用,但是有很多不便:

(1)由于要分次来写所以比较烦琐;

(2)由于基本文字与上下标文字分属不同的实体所以修改起来也比较烦琐;

(3)由于精确定位困难所以图中文字的上下标很难完全一致。

二、扩充TEXT命令

在AutoCAD各版本中,TEXT命令用于在图中写文字(字符串),只能直接写出基本文字,而不能直接

写出带上下标的文字。能否用TEXT命令,在不对AutooCAD程序作任何修改的情况下,扩充TEXT命

令的功能,使其也能直接写出带上下标的文字呢?本文得出的结论是肯定的。

要扩允TEXT命令,必须先弄清楚此命令写文字的处理过程:

(1)确定文字(西文字符、汉字)的各种属性;

(2)置"文字解释器"(Translater for text)初值;

(3)读入一行文字;

(4)对此行文字中的每个文字(西方字符为单个字符、汉字为两个字符)按其先后顺序逐个进行以下

操作;

(5)落笔(置写方式);

(6)从形文件(西文字符从普通形文件、汉字从多字形文件)中取出对应数据;

(7)文字解释器将取出的数据按其数据定义边解释边写入图中。

要扩充TEXT命令,且又不修改AutoCAD程序,那么只能从此命令所使用的数据上作文章,由以上

给出的处理过程可知:TEXT命令所使用的主要数据为形文件(西方字库、汉字字库),即从形文件上作文

章。为此,必须要了解形文件,不仅要了解文件格式,更重要的是要了解其中数据的定义。

形文件由形及索引组成,形由形定义命令和向量数据组成,AutoCAD中共有两种形文件:一种是普

通形文件(Shape),用单字节作索引(用单个字节作为取出数据的索引),用于建立西方字库,最多可拥有