摘 要:本文主要從軟件復(fù)用角度研究設(shè)計出一個DHF,通過DHF能夠有效實現(xiàn)CAD系統(tǒng)繪圖幫助功能。DHF復(fù)用性良好,在盒型CAD中被廣泛應(yīng)用;與此同時,也能夠被復(fù)用到盒型以外的CAD系統(tǒng)之中,本文主要就CAD系統(tǒng)繪圖幫助功能的可復(fù)用設(shè)計做出了相關(guān)的研究。
關(guān)鍵詞:CAD;軟件復(fù)用;可復(fù)用構(gòu)件
中圖分類號:TP391.72
在CAD領(lǐng)域中軟件系統(tǒng)的數(shù)量以及種類非常多,所以在進行產(chǎn)品開發(fā)的過程中采用軟件復(fù)用的思想以及相關(guān)技術(shù)顯得極其富有價值。即使不同的CAD系統(tǒng)要解決不同的問題,但是在解決問題的過程中,其功能以及操作方式上也存在著諸多的共同點。因此在開發(fā)新系統(tǒng)的過程中,研究復(fù)用已有的系統(tǒng)的研究成果更加富有意義,顯得可行有效。通常在一個應(yīng)用系統(tǒng)中主要包括三類成分,分別為基本構(gòu)件、領(lǐng)域共性構(gòu)件以及應(yīng)用專用構(gòu)件。在進行開發(fā)的過程中,重復(fù)勞動主要指的是前兩類構(gòu)成成分的重復(fù)開發(fā)。所以,針對CAD系統(tǒng)中的一些共性功能來有效進行可復(fù)用設(shè)計,能夠充分實現(xiàn)軟件復(fù)用的有效途徑。本文從此角度出發(fā),具體研究CAD系統(tǒng)繪圖幫助功能的可復(fù)用設(shè)計。
1 軟件復(fù)用簡介
軟件復(fù)用主要指的是在進行軟件開發(fā)的過程中,有效解決重復(fù)勞動的具體方法。其目的在于在進行應(yīng)用系統(tǒng)的開發(fā)時不再采取從頭開始的模式,是在現(xiàn)有工作的基礎(chǔ)之上,利用在開發(fā)以往應(yīng)用系統(tǒng)時所積累的工作經(jīng)驗以及相關(guān)知識,最終將重點有效集中在應(yīng)用的特有構(gòu)成成分之中。軟件復(fù)用能夠有效將軟件的質(zhì)量以及生產(chǎn)率明顯提高,并且可以有效解決軟件危機。如今,在進行軟件復(fù)用的研究過程中已經(jīng)將重點放在提取可復(fù)用資源以及資源的有效利用中,具體的設(shè)計模式以及大體框架的研究過程中也詳細探討了設(shè)計知識的反復(fù)使用,并在領(lǐng)域工程中充分分析與設(shè)計可復(fù)用構(gòu)件,最終成功實現(xiàn)。
2 CAD系統(tǒng)繪圖幫助簡介
繪圖幫助功能又被稱為智能捕捉以及作圖輔助,意指在進行繪圖的過程中,系統(tǒng)能夠自動將版面上一些富有意義的位置進行有效捕捉。如果作圖點的位置與一些特殊條件相滿足時,系統(tǒng)就會以圖標(biāo)的形式對用戶進行智能提示,之后將作圖點進行自動捕捉,然后捕捉到目標(biāo)位置上。下圖即為繪圖幫助的例子。在版面上有AB一條線段,P點表示當(dāng)前鼠標(biāo)所在的位置。之后移動鼠標(biāo)使得P點與線段端點A相靠近時,P就會自動捕捉到端點A的位置,這時在版面上就會出現(xiàn)一個方塊的標(biāo)記,此時就證明捕捉已經(jīng)出現(xiàn)。
3 繪圖幫助功能研究
根據(jù)捕捉對象有所不同,通??梢灾v繪圖幫助分成以下幾點:
(1)版面上一些輔助信息的有效捕捉。主要包括背景格交點的捕捉;作圖參考線的捕捉;規(guī)矩線的準(zhǔn)確捕捉以及0度、45度以及90度線的捕捉等。
(2)版面上一些圖元信息的有效捕捉。主要捕捉實際圖形數(shù)據(jù):具體包括線段端點以及線段中點的捕捉;圓心的捕捉;平行線的捕捉;垂直線的捕捉以及圓切線的捕捉。
根據(jù)在進行捕捉過程中參數(shù)輸入的不同,通??梢灾v繪圖幫助分成以下幾點:
(1)一元捕捉。在進行捕捉的過程中只有一個輸入?yún)?shù),即為將當(dāng)前的鼠標(biāo)位置ptCur來當(dāng)做待捕捉點進行有效運算,之后對一些特殊點的位置進行有效捕捉,像線段端點、線段中點以及背景格交點等。光標(biāo)在版面移動的過程中通常就會進行一元捕捉。
(2)二元捕捉。主要是通過橡皮筋的形式來進行作圖具體操作時有效進行二元捕捉。主要有兩個輸入?yún)?shù):分別為當(dāng)前鼠標(biāo)所在位置ptCur以及作圖起點ptStart。并且在此時,除了要以將ptCur當(dāng)做待捕捉點來進行醫(yī)院的捕捉過程中的點來進行捕捉之外,同時要以ptCur以及ptStart來組成待畫線段來進行相應(yīng)的準(zhǔn)確運算,最終將一些特殊線進行捕捉。
4 復(fù)用的DHF
4.1 DHMeta介紹
當(dāng)前想要有效實現(xiàn)繪圖幫助,一般就是將具體的處理方法以及圖形數(shù)據(jù)相混雜在一起。因為應(yīng)用圖形數(shù)據(jù)不同,其結(jié)構(gòu)也有所不同,所以最終的設(shè)計結(jié)果一般都不能夠通用。為了能夠?qū)崿F(xiàn)可復(fù)用設(shè)計,最為關(guān)鍵的就是將數(shù)據(jù)以及處理算法進行分隔。對此,在DHF中有效設(shè)計出了一套中性圖形的表示結(jié)構(gòu)DHMeta。并且CAD系統(tǒng)在進行DHF的調(diào)用過程中,主要就是將自身的數(shù)據(jù)進行有效的轉(zhuǎn)換,最終形成DHMeta結(jié)構(gòu)。DHF的捕捉與處理主要就是根據(jù)DHMeta數(shù)據(jù)來有效進行。對于DHMeta主要包括三個子類,想要將其他的圖元類型增加也只需要派生出新的子類就可以,具體的關(guān)系可見下圖2。
4.2 DHTable介紹
在DHF中,主要支持下列幾種捕捉類型:分別為捕捉線段端點、捕捉線段中點、捕捉圓心、捕捉圓弧中點、捕捉平行線、捕捉切線等。
將每一類的捕捉狀態(tài)信息主要選擇表格的形式來進行有效管理。表1即為一個捕捉狀態(tài)表的示例。
(1)Priority為整數(shù)記錄捕捉的優(yōu)先級。通常情況下數(shù)字越高就代表優(yōu)先級越低。
(2)Status記錄具體捕捉的開/關(guān)狀態(tài)。
(3)Type記錄捕捉類型。如果是1代表一元捕捉。如果是2代表二元捕捉。
(4)Precision代表此類捕捉的精度閾值。
(5)Function表示此類捕捉的處理函數(shù)。
在DHF中,捕捉狀態(tài)表主要記錄在DHTable中。之后通過此接口函數(shù)對表中的每一項進行準(zhǔn)確讀寫。
4.3 框架結(jié)構(gòu)介紹
通過OMT圖來有效表示DHF框架結(jié)構(gòu)如下圖3所示。
4.4 可復(fù)用性研究
通??梢詮囊韵聨讉€方面來實現(xiàn)可復(fù)用性分析:
(1)主要將框架分成熱點與冷點。在DHF中,冷點主要指的是DHData、DHEngine以及DHTable等一些基本部件和一些部件之間的具體關(guān)系,最終有效組成了繪圖幫助的處理機制,在這一點就屬于每個不同應(yīng)用相互之間的一致部分,并且可以復(fù)用;對于熱點主要指的是數(shù)據(jù)格式的轉(zhuǎn)換部分,主要表示了每個不同應(yīng)用之間的一些相關(guān)的要求,不能夠進行復(fù)用。將數(shù)據(jù)與算法進行有效分離之后,最終成功實現(xiàn)了繪圖幫助處理機制復(fù)用的目的。
(2)復(fù)用的開銷主要來源于將CAD系統(tǒng)中一些圖形數(shù)據(jù)格式進行有效轉(zhuǎn)換,最終形成通用表示格式。對于通用格式而言,其定義非常簡單,因此在進行格式轉(zhuǎn)換的過程中不會有很大的工作量,所以也只會有很小的復(fù)用代價。
(3)DHF的擴充性非常好,對于不同應(yīng)用系統(tǒng)的諸多需求其都能夠有效適應(yīng),具體主要表現(xiàn)在以下幾方面,分別為能夠擴充的新型的圖元類型、新的捕捉類型以及可以準(zhǔn)確修改一些具體的參數(shù)等。通過上述這幾點反映了DHF具有非常好的復(fù)用性。
5 總結(jié)
本文站在軟件復(fù)用的角度,具體提出了一個繪圖幫助功能的實現(xiàn)框架即DHF。通過DHF能夠有效將數(shù)據(jù)以及相應(yīng)的算法進行分離,之后選擇表驅(qū)動機制來進行捕捉與處理,最終可以充分適應(yīng)系統(tǒng)的不同數(shù)據(jù)結(jié)構(gòu),其擴充性非常好,所以DHF成為了一個可復(fù)用設(shè)計。在盒型CAD中,DHF得到了充分檢驗,因此在后續(xù)新CAD系統(tǒng)的開發(fā)過程中,通過復(fù)用DHF能夠有效實現(xiàn)繪圖幫助功能,最終將開發(fā)周期縮短,將軟件質(zhì)量也明顯提高。基于此,在CAD領(lǐng)域中應(yīng)該不斷進行軟件復(fù)用的研究,最終研究出更多的可復(fù)用構(gòu)件。相信隨著可復(fù)用構(gòu)件的增多,會明顯降低新系統(tǒng)的復(fù)雜度,系統(tǒng)在進行搭建的過程中也會變得越來越簡單,最終有效提高了整個領(lǐng)域的開發(fā)生產(chǎn)率。
參考文獻:
[1]魏雙羽,劉延林,陳明等.可復(fù)用組件技術(shù)在CAD系統(tǒng)中的應(yīng)用研究[J].中國制造業(yè)信息化,2003,9(10).
[2]田建立.基于軟件復(fù)用的標(biāo)準(zhǔn)件CAD系統(tǒng)設(shè)計與實現(xiàn)[D].解放軍信息工程大學(xué),2008,10(20).
[3]張國軍,邵新宇,李培根.可復(fù)用設(shè)計方法及其基本過程的研究[J].機械科學(xué)與技術(shù),2004,4(30).
作者簡介:冉英(1976-),女,貴州思南人,本科,助理工程師,主要研究方向:測繪、計算機繪圖。