AutoCAD有很多系统变量,例如当前文本的固定字高这个系统变量为零或不为零时,用TEXT命令写文本时的命令格式就不一样。而好的 应用程序必须在不改变当前系统变量的前提下,标注出与当前系统设定的完全相同的格式文本。这就要求我们在程序中读取各种相关的变量并采用相应的命令格式。但文本的固定字高等一些系统变量的读取很不方便。AutoCAD所提供的标注命令很有限,虽然国内有些二次开发软件也提供一些比较特殊的标注,但总不全面,为此要求用户增加一些专用的标注命令。 x2gnB@t
-:92<G\D
笔者根据自己的ADS编程经验,编写了一些参考书中所没有的应用函数,姑且包含在drawing.h文件中,读者如想调用这 些函数只需在相关文件中增加一句#include“drawing.h ”即可(该文件放在..ιacadιads目录下)。根据笔 者的测试,该函数系列能普遍用于各种C语言编译器,如BC 、VC和WatcomC等(包括Auto?CADR12、R13的ForDos和Fo rWindows的各种版本)。下面侧重讲解各结构变量和函数的功能。 d4@\5<
L`E^BuP/
(1).结构structhgy—dim—char,包含有三个成 员变量,dim—scale、dim—text、dim—asz分别对应dims cale、dimtext、dimasz等变量,但本例函数中dim—text 、dim—asz分别是dimtext、dimasz变量与dimscale之积 (详见函数get—dim—char())。 ub^v,S8O
TNYd_:j
(2).函数checkμtext(),检查当前文本的固定 字高,若读取当前字形名称错误时返回0。反之,当固定 字高不为零时返回1,当固定字高为零时返回2.调用此函 数后由返回值来确定使用text命令的格式和是否继续使用t ext命令。 {oIv%U9
iwb]mJUA
(3).函数get—dim—char(structhgy—dim—cha r*dimchar),由结构指针通过地址来传值,读者在应用 时可以给结构增加更多的成员变量,并相应修改此函数即 可。 -&87nR(eW
<