目前參數(shù)化繪圖方法需要人工預(yù)處理有關(guān)交、切點(diǎn)的信息,每變換一幅圖形,用戶要重新編寫程序。在進(jìn)行尺寸標(biāo)注時(shí),需要人工處理,工作效率低。所以,希望找到一種獨(dú)立于具體圖形的方法,只需輸入圖形的有關(guān)尺寸及信息,便可自動(dòng)計(jì)算出圖形的數(shù)學(xué)模型,根據(jù)已形成的圖形的數(shù)學(xué)模型,形成尺寸標(biāo)注的必要信息,以完成尺寸的快速標(biāo)注。
相關(guān)元素法是將一條條曲線及直線看作是一個(gè)個(gè)元素,所有元素都是圓弧(圓是特殊的圓弧)或直線,而兩個(gè)元素的關(guān)系只不過(guò)是相交或相切。這樣,給出元素本身信息及與其相關(guān)的元素號(hào)碼等信息,通過(guò)程序自動(dòng)運(yùn)算,求出所求交點(diǎn)及切點(diǎn)等。在電機(jī)圖紙中,大部分元素是圓弧、直線,不規(guī)則曲線(如波浪線)很少,可用相關(guān)元素法繪電機(jī)零件圖。相關(guān)元素法有關(guān)圖形的約定是:
b.圓弧的方向?yàn)槟鏁r(shí)針?lè)较颉?/DIV>
c.每個(gè)元素都有起點(diǎn)和終點(diǎn)。對(duì)于直線,起點(diǎn)和終點(diǎn)為直線的兩端點(diǎn)。對(duì)于圓弧,起點(diǎn)和終點(diǎn)的變量是圓弧起始角和終止角。
元素的類型只有直線和圓弧,組成平面元素之間的連接關(guān)系是通過(guò)元素及其相關(guān)元素運(yùn)算得到的。元素之間的相關(guān)關(guān)系只有相交或相切兩種。電機(jī)圖形中存在以下關(guān)系:
對(duì)于一個(gè)圖形,完全可以用元素及元素之間的相關(guān)關(guān)系描述,通常,一個(gè)元素與其他兩個(gè)元素相關(guān)。對(duì)于一個(gè)元素,它的最多信息是,本身的元素信息(包括元素的類型及初始數(shù)據(jù)),與第一相關(guān)元素的關(guān)系類型(指相交或相切);與第二相關(guān)元素的關(guān)系類型。通過(guò)這些信息,就可求出圖形中交、切點(diǎn),決定一幅圖。通過(guò)給出各元素初始值及相互關(guān)系,由計(jì)算機(jī)自動(dòng)求出所需點(diǎn)的坐標(biāo)。
在計(jì)算機(jī)繪制過(guò)程中(見(jiàn)圖1),關(guān)鍵是在于Pl和P2點(diǎn)的確定,而P1點(diǎn)是由1號(hào)元素和2號(hào)元素相切決定的,P2點(diǎn)是由2號(hào)和3號(hào)元素相切決定的。利用相關(guān)元紊法,將圖形元素的初始信息和元素之間的交、切信息輸入計(jì)算機(jī),由計(jì)算機(jī)完成。在“相關(guān)元素法的程序具體實(shí)現(xiàn)”中,將以圖1為例說(shuō)明。
2相關(guān)元素法的程序具體實(shí)現(xiàn)
用C語(yǔ)言實(shí)現(xiàn)此程序,定義了三個(gè)數(shù)組:
整型4維數(shù)組

[n][4](n表示元素的個(gè)數(shù))。

數(shù)組存儲(chǔ)的是各元素類型,相關(guān)元素號(hào)碼,及指向存儲(chǔ)元素具體信息的數(shù)組的指針。第i個(gè)元素在

中所存儲(chǔ)的信息為:

[i][0]:第i個(gè)元素的類型,1表示元素為一直線,2表示元素為一圓弧。

[i][1]:與第i個(gè)元素起點(diǎn)相關(guān)的元素號(hào)碼。如果它等于f則表示起點(diǎn)已知;等于一f則表示起點(diǎn)為另一個(gè)元素的起點(diǎn)或終點(diǎn),具體由р=

[i][3]及

[p]或

[p]來(lái)定(

或

中存儲(chǔ)的是元素的號(hào)碼,起點(diǎn)用負(fù)數(shù)表示,終點(diǎn)用正數(shù)表示);如果

[i][1]大于O且不等于i,設(shè)等于j,則此元素和第i個(gè)元素的交點(diǎn)為此元素起點(diǎn);若它小于0且不等于-i,設(shè)等于-j,此元素和第j個(gè)元素的切點(diǎn)為此元素起點(diǎn)。

[i][2]:與第i個(gè)元素終點(diǎn)相關(guān)的元素號(hào)碼,其意義與

[i][1]類似。

[i][3]:指向具體存儲(chǔ)第i個(gè)元素的元素信息的數(shù)組的指針,若元素類型為1,則指向數(shù)組

,若元素類型為2,則指向數(shù)組

。
另外,還定義了兩個(gè)數(shù)組存儲(chǔ)圓弧和直線的信息。結(jié)構(gòu)數(shù)組

存儲(chǔ)的是所有n1個(gè)圓弧的信息,其中結(jié)構(gòu)

的定義:


即存儲(chǔ)單個(gè)圓弧的信息。結(jié)構(gòu)數(shù)組

存儲(chǔ)的是所有n2個(gè)直線的信息,其中結(jié)構(gòu)

的定義:


即存儲(chǔ)單個(gè)直線的信息。程序開(kāi)始時(shí),這兩個(gè)數(shù)組存儲(chǔ)圓弧和直線的已知信息,程序運(yùn)行過(guò)程中,處理完第i個(gè)元素后,就用新的元素信息值刷新舊值。程序運(yùn)行完后,所有的元素都求出了其正確的信息值。這時(shí)就可根據(jù)

和

中存貯的數(shù)據(jù)進(jìn)行圖形的繪制。
形成

[][4]的過(guò)程,需要說(shuō)明的是,在實(shí)際運(yùn)用此方法中,

數(shù)組中

[][3]由程序自動(dòng)生成。
第O個(gè)元素:是一直線,故元素類型為1,兩端點(diǎn)均已知,并且,此元素按順序存儲(chǔ)于數(shù)組

[]的第0號(hào),所以有:

[0][0]=l,

[0][1]=0,

[0][2]=O,

[0][3]=0
第1個(gè)元素:是一直線,故元素類型為1,左端點(diǎn)已知,右端點(diǎn)是元素(1)和元素(2)的切點(diǎn),并且,此元素按順序存儲(chǔ)于數(shù)組linedata[]的第1號(hào),所以有:

[1][0]一1,

[1][1]=l,

[1][2]=-2,

[1][3]=l
第2個(gè)元素:是一圓弧,故元素類型為2,起點(diǎn)是元素(1)和元素(2)的切點(diǎn),終點(diǎn)是元素(2)和元素(3)的切點(diǎn),并且,此元素按順序存儲(chǔ)于數(shù)組arcdata[]的第O號(hào),所以有:

[2][O]-2,

[2][1]=-1,

[2][2]=-3,

[2][3]=0
第3個(gè)元素:是一直線,故元素類型為1,一端點(diǎn)是元素(2)和元素(3)的切點(diǎn),另一端點(diǎn)已知,并且,此元素存儲(chǔ)于數(shù)組linedata[]的第2號(hào),所以有:

[3][0]=1,

[3][1]=-2,

[3][2]=3,

[3][3]=2
相應(yīng)的aredata[]中的數(shù)據(jù)為:
0 O 0 O 25:第0段圓弧(第2號(hào)元素)的已知信息,由于圓心、起始角、終止角未知,但可由與其相切的兩元素決定,故先賦0,半徑已知為25。
相應(yīng)的linedata口中的數(shù)據(jù)為:
O 0 0 100:第O段直線(第O號(hào)元素)的已知信息,它的兩個(gè)端點(diǎn)已知,為(O,O)及(0,100)。
O 100 100 100:第1段直線(第1號(hào)元素)的已知信息,它是一條水平線且一個(gè)端點(diǎn)已知,已知的端點(diǎn)為(0,100),故直線方程是y=100,所以另一端點(diǎn)值可估計(jì)取為(100,100),此點(diǎn)的取值要求是滿足直線方程。
0 O 43.3 25:第2段直線(第3號(hào)元素)的已知信息,與水平夾角為30。且經(jīng)過(guò)點(diǎn)(0,0),故直線方程為y=tg30z。一端點(diǎn)已知,為(O,0),另一端點(diǎn)可依直線方程任意取一點(diǎn)(43.3,25)。
經(jīng)過(guò)計(jì)算機(jī)運(yùn)算后,數(shù)組

和

中的初始數(shù)據(jù)由精確值取代,這時(shí)就可以根據(jù)linedata和arcdata的值進(jìn)行圖形的繪制。該程序的框圖如圖2所示。
3尺寸標(biāo)注方法
對(duì)于一幅機(jī)械圖紙,尺寸標(biāo)注部分的工作量大于單純圖形繪制的工作量。因?yàn)槌叽鐦?biāo)注很復(fù)雜,要求的定位點(diǎn)很多,如果全靠人工給出信息,工作效率很低。由于相關(guān)元素法對(duì)圖形的線、弧都進(jìn)行了編號(hào),且進(jìn)行了數(shù)據(jù)處理,這樣就可在標(biāo)注尺寸時(shí)利用這個(gè)特點(diǎn),在找標(biāo)準(zhǔn)尺寸的定位點(diǎn)時(shí),利用元素編號(hào)由計(jì)算機(jī)程序自動(dòng)找出所需端點(diǎn)的坐標(biāo)值,而不是由人工直接給出定位點(diǎn)的坐標(biāo)值。例如,對(duì)于最普遍的直線型標(biāo)注,一般需要三個(gè)定位點(diǎn),如圖3所示A點(diǎn)、B點(diǎn)、c點(diǎn),A,B兩點(diǎn)可由元素決定,而c點(diǎn)只需給出相對(duì)于A點(diǎn)或B點(diǎn)的偏移量。標(biāo)注尺寸大為簡(jiǎn)化。
4舉例
用一空調(diào)電機(jī)端蓋(圖4)為例,說(shuō)明相關(guān)元素法繪圖的過(guò)程。
因?yàn)閳D形具有對(duì)稱性,取其1/8,編號(hào)如下(只對(duì)圖形的外緣進(jìn)行了處理):
以上數(shù)據(jù)是主程序處理后的輸入計(jì)算機(jī)的已知信息,element[][]數(shù)組只需寫出前三維,第四維由程序自動(dòng)生成。有了以上已知信息,程序就可利用相關(guān)元素法的原理自動(dòng)計(jì)算出圖形的1/8的數(shù)學(xué)模型,再利用鏡象、旋轉(zhuǎn)等變換即可得到整個(gè)圖形。