AutoCAD有很多系統(tǒng)變量,例如當(dāng)前文本的固定字高這個(gè)系統(tǒng)變量為零或不為零時(shí),用TEXT命令寫文本時(shí)的命令格式就不一樣。而好的 應(yīng)用程序必須在不改變當(dāng)前系統(tǒng)變量的前提下,標(biāo)注出與當(dāng)前系統(tǒng)設(shè)定的完全相同的格式文本。這就要求我們在程序中讀取各種相關(guān)的變量并采用相應(yīng)的命令格式。但文本的固定字高等一些系統(tǒng)變量的讀取很不方便。AutoCAD所提供的標(biāo)注命令很有限,雖然國內(nèi)有些二次開發(fā)軟件也提供一些比較特殊的標(biāo)注,但總不全面,為此要求用戶增加一些專用的標(biāo)注命令。
9M$N>[og oz- k_9% 筆者根據(jù)自己的ADS編程經(jīng)驗(yàn),編寫了一些參考書中所沒有的應(yīng)用函數(shù),姑且包含在drawing.h文件中,讀者如想調(diào)用這 些函數(shù)只需在相關(guān)文件中增加一句#include“drawing.h ”即可(該文件放在..ιacadιads目錄下)。根據(jù)筆 者的測試,該函數(shù)系列能普遍用于各種C語言編譯器,如BC 、VC和WatcomC等(包括Auto?CADR12、R13的ForDos和Fo rWindows的各種版本)。下面?zhèn)戎刂v解各結(jié)構(gòu)變量和函數(shù)的功能。
wuQ>|\Zs ^,M&PP6 (1).結(jié)構(gòu)structhgy—dim—char,包含有三個(gè)成 員變量,dim—scale、dim—text、dim—asz分別對應(yīng)dims cale、dimtext、dimasz等變量,但本例函數(shù)中dim—text 、dim—asz分別是dimtext、dimasz變量與dimscale之積 (詳見函數(shù)get—dim—char())。
^3:DeZf!u %g<J"/ (2).函數(shù)checkμtext(),檢查當(dāng)前文本的固定 字高,若讀取當(dāng)前字形名稱錯(cuò)誤時(shí)返回0。反之,當(dāng)固定 字高不為零時(shí)返回1,當(dāng)固定字高為零時(shí)返回2.調(diào)用此函 數(shù)后由返回值來確定使用text命令的格式和是否繼續(xù)使用t ext命令。
X&qa3C}) _7M!