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