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