羅敏雪
(安徽建筑工業(yè)學院機械與電氣工程學院,安徽合肥 230022)
工程圖是工程界的技術(shù)語言,任何領(lǐng)域的工程圖都必須按照國家標準繪制。計算機繪制工程圖中兩中心線相交,難以做到符合國家標準[1,2]。
目前,基于國家標準,中心線的線型是細點畫線、點畫線與點畫線交接,應是線段交接。繪圖軟件的線型庫中,雖然線型很多,比例可以調(diào)整,但調(diào)整成符合某種要求非常麻煩,因此經(jīng)常出現(xiàn)計算機繪制工程圖中心線時,兩中心線相交的情況往往不符合國家標準[3-9],同時也不美觀。
為此,本文對繪制符合國家標準規(guī)定的兩相交中心線進行了研究,提出了一種算法。
根據(jù)國家標準,中心線的線型是細點畫線,點畫線樣式如圖1所示。圖1中,由線段、空及短線段組成。文獻[10]中設定:空、短線段長度各為1 mm,線段長度b根據(jù)圖形的大小來確定;并將問題歸結(jié)為:已知點畫線端點P1、P2,求出點畫線適當?shù)木€段長度b和線段數(shù)n。
圖1 點畫線樣式
設欲畫點畫線的總長度為L,點畫線的線段長度為b,線段數(shù)為n,由圖1可知:
根據(jù)國家標準中小圖形中心線,可用實線代替的規(guī)定,設定bmin=3 mm,nmin=3,又根據(jù)國家標準,中心線端部超出圖形2 mm的規(guī)定,由(1)式得Lmin=15 mm。
根據(jù)國家標準、美觀要求以及對稱圖形的特點,設立確定參數(shù)n、b的2個原則:n必須取奇整數(shù),優(yōu)先確定n;L長度較大時,b不能太小,n不能太大。再設定經(jīng)驗上、下限,進行下面判別,計算出點畫線線段的長度。
由(1)式得:
(1)當0<L≤15,取n=1,則0<b≤15。
(2)當15<L≤50,取n=3,則 3<b<15。
(3)當50<L≤100,取n=5,則8<b<18。
(4)當L>100,取n=7,則12<b≤20。
如果b>20,則令n=n+2;一直循環(huán)到首次出現(xiàn)b≤20。
當2條直線點畫線相交時,設第1條點畫線長度為L1,線段長為b1;第2條點畫線長度為L2,線段長為b2。
當L2>L1>15時,L1則調(diào)用上述步驟(2)~步驟(4),計算出b1、n1。為了求出L2的b2和n2,根據(jù)國家標準及美觀要求,又設定2個原則:當L1≠L2時,b1與b2長度盡可能接近;如L1<L2,則b1<b2。
文獻[10]中根據(jù)設定的4個原則和經(jīng)驗上、下限,設計了算法,并編制了程序,實現(xiàn)了符合國家標準的工程圖中對稱圖形相交點畫線的作圖,繪制出的點畫線美觀,且符合國家標準
本文在文獻[10]的基礎(chǔ)上,進一步提出了另一種算法,編制了程序,實現(xiàn)了符合國家標準的工程圖中非對稱圖形相交點畫線的作圖。
和文獻[10]一樣,設定空、短線段長度各為1 mm,線段長度b根據(jù)圖形的大小確定。本文問題歸結(jié)為:已知點畫線P1P2及點畫線上一點P0,求點畫線適當?shù)木€段長度b和所包含線段數(shù)n,使P0落在某一線段上,且接近該線段的中點。
按國標要求,只要線段相交就可以了,但是為了美觀起見,最好相交在中點。但這個要求過于苛刻,將會導致調(diào)試次數(shù)過多,使文獻[10]中的要求被破壞過多,從而更不美觀,所以作上述規(guī)定,下面將對此規(guī)定作更精確的描述。
設點畫線P1P2與P3P4交點為P0點,P1、P2、P3、P4、P0 點坐標依次為(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)和(x0,y0),則過點 P1、P2的直線方程為:
P0在 P1P2、P3P4上 ,則(x0,y0)滿足(2)式和(3)式,所以:
理論上 x0、y0的分母有可能為0。但是,在實際畫2條點畫線相交時,總會讓2條點畫線相交于一點,所以上述情況在應用中不會發(fā)生,因而不再進一步考慮這種特殊情況。
設P1P2長度為 l1,先根據(jù)文獻[10]設定的原則和經(jīng)驗上、下限算出P1P2線段數(shù)n,線段長度b。需要判斷P0點是否在某一線段上,且接近該線段的中點。如圖 2所示,設 A、B是由P1到P2的第m條線段的端點,1≤m≤n,則P1A長度為(m-1)(b+3);P1B長度為m(b+3)-3。
設P1P0長度為L,要求:
則P0在第m條線段上,且接近該線段中點,其中0.3b稱為修正值。對m循環(huán)判別,若對某m值(4)式滿足,稱為通過判別,則使用已算出的n、b畫出點畫線P1P2;n、b不能通過判別,則轉(zhuǎn)入下面調(diào)試。
過點P3、P4的直線方程為:
圖2 判別交點是否在線段中部
當n、b不能通過判別時,如圖3所示。此時,P0可能在某空中(即在相鄰短線段、線段端點的連線上)某短線段上、某線段上靠近端點處。
圖3 通過調(diào)試使交點在某線段中部
結(jié)合文獻[10]算法和上述算法,在AutoCAD平臺上編制程序,經(jīng)過大量實驗,需作調(diào)試的次數(shù)均不超過3次,所以程序中設定u=4。同時程序中可設交互輸入,需要時將修正值 0.3b降為0.25b或0.20b,用降低美觀的要求,實現(xiàn)判別的通過,滿足基本要求,符合國家標準。
使用該程序,任意地輸入2個相交點畫線4個端點的坐標,可以畫出既符合國家標準又美觀的圖形,驗證了算法的正確、有效和方便。本文提出的算法,可廣泛用于計算機繪制工程圖中,兩中心線相交的圖形,適用于對稱及非對稱圖形相交點畫線的作圖,如圖4、圖5所示。
算法思路還可嫁接延伸到用計算機繪制工程圖中,如虛線與空線相交、細虛線與粗實線相交等情況,為設計繪制出合格的工程圖打下算法基礎(chǔ)。
圖4 對稱及非對稱圖形相交點畫線
圖5 2條點畫線對稱及非對稱垂直相交和非對稱斜交
[1]全國技術(shù)產(chǎn)品文件標準化技術(shù)委員會.技術(shù)產(chǎn)品文件標準匯編:技術(shù)制圖卷[M].北京:標準出版社,2009:109.
[2]中華人民共和國建設部.房屋建筑制圖統(tǒng)一標準[M].北京:中國計劃出版社,2002:1-8.
[3]胡 煒,敕月梅.AutoCAD2008高級應用與實例教程[M].北京:中國電力出版社,2008:197-321.
[4]二代龍震工作室.AutoCAD2010機械設計基礎(chǔ)教程[M].北京:清華大學出版社,2010:206,335.
[5]二代龍震工作室.AutoCAD2009機械圖學基礎(chǔ)[M].北京:清華大學出版社,2009:473.
[6]二代龍震工作室.AutoCAD2009建筑圖學基礎(chǔ)[M].北京:清華大學出版社,2009:421.
[7]張曉峰,常 瑋.AutoCAD2010機械圖形設計[M].北京:清華大學出版社,2009:254-255.
[8]麓山文化.AutoCAD2010機械設計經(jīng)典208例[M].北京:機械工業(yè)出版社,2010:217.
[9]劉言松,賀 煒.AutoCAD2009中文版二次開發(fā)實例教程[M].北京:化學工業(yè)出版社,2009:97-102.
[10]羅敏雪.符合國家標準的工程圖中相交點畫線算法[J].安徽建筑工業(yè)學院學報,2005,13(3):86-88.