AUTOCAD文字字符串的分解与联接

上传人:M****1 文档编号:458398990 上传时间:2023-01-15 格式:DOC 页数:2 大小:16.50KB
返回 下载 相关 举报
AUTOCAD文字字符串的分解与联接_第1页
第1页 / 共2页
AUTOCAD文字字符串的分解与联接_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《AUTOCAD文字字符串的分解与联接》由会员分享,可在线阅读,更多相关《AUTOCAD文字字符串的分解与联接(2页珍藏版)》请在金锄头文库上搜索。

1、 AUTOCAD文字字符串的分解与联接电算中心 李正海 摘要:本文介绍了如何把 AUTOCAD文字字符串分解成为单个文字的字符串,以便于文字的编辑、修改、调整;如何把文字字符串联接成长的文字字符串,以减少文字字符串的数量,提高文字显示、处理的速度,节约存储空问。 关键词:文字字符串 分解 联接 关联表 利用美国通用绘图软件包 AUTOCAD绘制图样时,常要书写一些文字。由于在 AUTOCAD中,文字描述的基本单位是字符串,因此即使只要修改单个文字也必须对整个字符操作。若要对文字进行段落重排,就必须把原有的文字字符串删除,再重新输入所有的文字,操作十分繁琐。若文字串中含有汉字,由于 AUTOCA

2、D本身不能处理汉字,汉字的输入必须使用汉字系统。若采用常驻汉字系统输入汉字的方式,AUTOCAD的运行速度将大大降低,其功能还有可能丢失;若采用中间加桂汉字系统的方式,则有个汉字系统的加挂过程,需要一定的时间,同时相对而言,汉字的输入速度又比较低。因此,需要把文字字符串分解成单个文字的字符串,以减少需要编辑的文字数量,使文字的编辑、修改、调整变得方便从而提高图样文字编辑的效率。 但是假如用单个文字的字符串描述所有的文字,文字字符串数量将大大增加,文字显示、处理的速度由于实体数目的增加也将降低很多,同时图形存储时占用的磁盘空间也将增加,因此需要把一些文字字符串联接成一个长的文字字符串,以克服上述

3、的缺点。 笔者编写了把 AUTOCAD的文字字符串分解成为单个文字的字符串和把单个文字的字符串联接成为长的文字字符串的 AUTOCAD程序,分别介绍如下。 一、分解 AUTOCAD文字字符串 描述一个 AUTOCAD文字字符串的特征信息包括文字所在的图层、文字的书写点、文字的颜色、线型、文字宇型、文字的标高、厚度、高度、角度、宽高比、反向、倒向、方向(水平或垂直等)。一般情况下,文字的线型设置为连续线,其标高、厚度均为零,文字的反向、倒向设置为 NO,文字的方向设置为水平方向,这些一般都不会改变。而其它的信息,如文字的书写点、高度、角度、图层、颜色等特征信息往往不同,在分解 AUTOCAD文字

4、字符串时,必须使新生成的文字字符串保持这些特征信息不发生改变。 AUTOCAD文宇字符串中有西文,也有中文。由于描述一个西文字使用一个字符,而描述一个汉字需要使用两个字符,因此在分解文字宇符串时必须区分出中西文,以相应地提取出一个或两个字符,来生成新的文字。 程序编写的基本思想是:为了使程序执行更清晰,首先关闭不必要的命令提示和屏幕小十字线标志,保存当前图层、当前颜色。然后提示选择要分解的文字字符串,构造出一个实体集,从实体集中逐个取出实体,根据实体的名称构造出一个关联表,从关联表中提取出实体类型,判别这个实体是否为文字实体。若是文字实体,则再从这个关联表中取出文字字符串的书写点、高度、角度、

5、宽高比、字型、图层、颜色和字符串内容,删去该文字实体,把当前的图层、颜色设置为该文字字符串的图层、颜色,随后计算出该字符串的长度,再逐个提取出字符,判断这个字符是否为汉字字符。汉字字符的判别方法是跟据汉字字符的ASIIC码值从 OXAl开始对应的八进制值为241,只要判断该字符的入ASIIC码值是否大于240,即可判断出该字符是否为汉字字符。若该字符是汉字字符则继续取出下一个字符构成一个字符串,否则就以这一个字符构成一个字符串,然后用原文宇字符串的字形、高度,利用 FIT对齐方式,根据原文字字符串的书写点、高度、宽高比、角度计算出的点书写出单个文字。书写完成后,把文字的书写点相应地移动。如此往

6、复直到该文字字符串全部分解,新的单个文字的字符串全部生成,再从实体集中取出下一实体,进行文字实体的判别、文字的分解、重新生成的操作,再如此往复,直到所有的文字字符串处理完毕。最后把当前图层、当前颜色恢复,打开命令和屏幕小十字线开关,结束程序的执行。 该程序执行时,保持了原文字字符串的图层、颜色、文字字型、高度、旋转角度、宽高比等特征信息,智能地处理中西文字符,不改变当前的实体生成模式,而文字字符串分解后,文字的编辑、修改将变得十分方便,文字处理的效率也将大大提高。 二、联接 AUTOCAD文字串 AUTOCAD的文字字符串分解后,要进行各种编辑、调整操作。因此,文字字符串在AUTOCAD系统内

7、部的序号与文字在图纸上的位置并不对应。要把一些文字字符串联接起来,就必须把描述文字字符串特征信息的关联表根据文字在图纸上的位置进行排序。在笔者编写的程序中,所有输入的文字字符串将联接成一个文字字符串,关联表的排序是根据文字字符串书写点的 X坐标。 由于输入的文字字符串的特征信息不一定相同,例如文宇不在一个图层上,具有不同的颜色等,但当这些文字字符串联成一个长的文字字符串时,其特征信息必须是唯一的。因此笔者把第一个文字字符串的特征信息作为这一个长的文字字符串的特征信息。 程序编写的基本思想是:同上一程序相同,在程序开始时保存当前图层、当前额色关闭命令揭示和屏幕小十字线标志。随后提示选择一些文字字

8、符窜,构造出一个实体集,从实体集中逐个取出实体。根据实体的名称构造出一个关联表,从关联表中提取出实体类型,判别这个实体是否为文字实体。若是文字实体,则把该关联表加入到一个表集合中。如此往复直到所有的实体判别完,存贮关联表的表集合形成为止。然后从该表集合中提取出文字字符的高度、字型、书写点、图层和颜色,据此设置当前图层和当前颜色、文字的书写与高度。再从表集合中提取出文字字符串书写点的 X坐标的小的关联表,由这个关联表读取出下一个文字字符串的宇型。若这个文字字符串的字型与上一文字字符串的字型相同,就把这个字符串联接到上一字符串后;若两个字型不同,则根据设置的文字高度、书写点,利用上一字符串的文字宇

9、型书写出上一字符串,然后再重新设置当前图层、颜色、文字的高度、书写点。如此往复直到表集合中所有的关联表处理完,再书写最后一个文字字符串,恢复当前图层、当前颜色结束程序的运行。 三、程序的执行 分解文字字符串的 AUTOIISP程序名为 EXPLODE.LSP,联接文字宇符串的 AOTOLISP程序名为LINK.LSP。笔者已将这两个程序配置在 AUTOCAD菜单文件中,菜单项名分别为“EXPIODE”,“LINK”。若要执行某个程序,只要拾取一下相应的菜单项,AUTOCAD就将自动装载程序并开始执行。程序执行时提示:Please se2ect text:(请选取文字字符串)。选取一些文字字符串后,程序就将把这些文字字符串分解成单个文字的字符串或联接成一个氏的文字字符串。 程序及程序流程图(略) 参考文献: AUTOCAD计算机软件包北京:海洋出版社。19912。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号