999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

自定義特征的管網圖形建模研究

2009-01-01 00:00:00何坤金陳正鳴
計算機應用研究 2009年2期

(河海大學 計算機及信息工程學院, 江蘇 常州 213022)

摘 要:提出用自定義特征的方法設計管網圖形模型,提供了新元件設計的接口,需要對元件進行擴展建模時,用戶可先自定義生成特征元件進入特征庫,再進行管網圖形建模設計。該方法有效地解決了管網圖形建模的可擴展性問題。系統采用面向對象技術來實現,以提高程序的移植性與通用性。實例研究表明,該方法實現的系統具有良好的接口與方便的用戶操作,是一種有效的管網圖形建模方法。

關鍵詞:矢量圖形;圖元;自定義特征;數據結構;管網模型

中圖分類號:TP311.52 文獻標志碼:A

文章編號:10013695(2009)02059803

Pipe net graphic modeling research on userdefined feature

HE Kunjin,CHEN Zhengming

(College of Computer Information Engineering, Hohai University,ChangzhouJiangsu 213022, China)

Abstract:This paper presented the method of pipe net graphic modeling based on userdefined feature.Provided the interface of designing new graphic elements.Extending the elements to set up model,users could define features into feature library and then desiged pipe net model. The method efficiently solved the extensibility of model. To improve university and migration of the modeling,designed the pipe net modeling system with OOP technology. The experiments show that the system designed by the method contains the good interface and convenient operation. It is a very efficient method to implement pipe net model.

Key words:vector graph; graphic element; userdefined feature; data structure; pipe net model

隨著圖形化建模軟件和計算機技術的發展,研制可維護性強、通用性、擴展性好、具有良好用戶界面的圖形化軟件成為圖形建模軟件的重要任務之一。一般的管網(管道網絡)圖形建模具有行業針對性和專業性[1,2],不易擴展到其他行業或相似行業的工程上,一旦需求有所變化,往往需要重新設計模型和重復建模,導致軟件操作不便、通用性較差、效率低。

本文以火電廠循環冷卻水管網系統為背景[3],利用特征設計的思想,提出了用自定義特征的方法實現管網圖形建模,設計一個具有相對通用性和擴展性較好的管網圖形建模,使系統具有開放性、通用性和擴展性。系統包含特征矢量圖標設計模塊和管網圖形繪制模塊。特征矢量圖標設計模塊提供自定義特征接口,方便用戶添加新元件;管網圖形繪制模塊實現用已有自定義特征庫進行圖形繪制。系統采用軟件設計構件重用的思想,以提高系統的實用性和擴展性。整個管網建模系統采用面向對象的程序設計思想進行設計[4],擴展后可以作為相關行業的管網圖形建模使用。

1 自定義特征

本系統采用自定義特征的思想實現了特征矢量圖標設計。特征矢量圖標設計的主要任務是完成自定義特征的形狀、屬性、功能等設置。 

1.1 自定義特征的基本概念

一般來說,特征是指工程人員感興趣的、具有一定工程意義的幾何形狀,它與具體應用領域有關。本文借鑒其特征的基本思想[5],自定義設計特征矢量圖標。特征設計的內容主要包括:

a)特征的表示問題。特征具有特定的屬性,包括一般形狀(拓撲、幾何信息)、內部約束、外部約束、有效性規則及維護方法等。特征的表示方法要能有效地表示特征的所有屬性。

b)特征模型。通常由特征實例組成的特征圖和結果的幾何模型來表示。

c)特征設計。其基本思想就是逐步從特征庫中選擇需要的特征,給定特征參數及約束關系,生成特征實例并加入到特征模型中,像搭積木一樣設計產品[6]。其流程如圖1所示。

1.2 自定義特征圖形系統的功能

采用自定義特征的圖形系統設計管網建模,能夠根據用戶需求,自定義設計元件及其屬性,能夠有效地提高系統的效率、擴展性、通用性。

其功能主要包括以下幾點:

a)能夠用基本圖元生成自定義特征的矢量圖標。矢量圖標代表管網建模的基本元件(圖2(a))。對基本圖元編輯的功能包括鼠標點擊繪圖、圖形的放大和縮小、基本圖元的選擇、基本圖元的移動、刪除等。

b)能夠設置矢量圖標的屬性和方法(圖2(b))。根據工程需要,用戶可對生成的矢量圖標(即基本元件)設置基本屬性和功能。基本屬性主要描述其形狀、顏色、大小屬性等。常用功能包括矢量圖形的繪制、元件的連接、有效性判斷等。

c)生成的矢量圖標能夠自動添加到工具欄(圖2(c))。生成的矢量圖標能夠自動添加到管網建模的工具欄中,作為管網建模的基本元件。

d)繪制管網圖時,添加一個基本元件,即矢量圖標生成一個對象,可對生成的對象設置屬性值。

在傳統的建模設計中,系統只提供現有的元件,一旦用戶需要添加新元件時,系統就需要重新設計,在系統中添加新元件,這需要用戶方與系統設計方進行反復交流,會給用戶設計新模型帶來不便。

1.3 矢量圖標的特征與生成

管網建模可以看做圖形符號的有機組成,每種圖形符號用一種矢量圖標表示,每種矢量圖標有其相應的含義,如泵、閥門、交叉點、管道等用不同圖標表示。在管網建模中,對每種符號有以下要求:

a)每種符號用一種矢量圖標表示,它是由一些基本圖元組成,如線、矩形、圓、弧等,或一些擴展圖元組成,如插值曲線、樣條曲線等。

b)矢量圖標是由一定的組成方式和形狀約束條件構成。

c)在管網建模中,每個矢量圖標(除管道外)的包圍盒大小、形狀相同,每個矢量圖標用一個對象實現;管道對象具有一定的伸縮性。

矢量圖標的特征屬性[7,8]有:

a)組成特征。它表示矢量圖標的自身組成。如構成矢量圖標的各基本圖元的位置關系、大小等。基本圖形圖元直接來源于VC++系統提供的圖形或用戶稍擴展的圖形圖元。

b)關聯特征。是矢量圖標與外界圖標的關聯方式的邏輯特征,如閥門與管道是如何相連和設置。

c)字符串特征。用來描述每種矢量圖標的屬性,如某矢量圖標類的名稱、顏色、屬性等。

d)排它特征。表示不允許在其附近或包圍盒內有其他圖標出現,主要用于有效的管網建模。

e)其他特征。用于以后的用戶需要的擴展部分,如幾何信息、拓撲特征等。

本系統用基本圖元繪制可擴展的特征:首先,基本圖元由幾何曲線[9]構成(圖3(a)),如線、矩形、圓、弧、插值曲線[10]、連續直線等;其次,自定義特征的矢量圖標由基本圖元生成(圖3(b)),并設置相應特征屬性;最后,生成的特征進入特征庫,添加到矢量圖標工具欄(圖3(c))。此方法有效地解決了傳統方式下的特征不可擴展性的弊端。

1.4 主要數據結構

矢量圖標由基本圖元組成,其中基本圖元的屬性包括圖元類型、繪制顏色、形狀大小等;常用的基本圖元有線、矩形、圓、弧、插值曲線、連續直線等。形狀特征是矢量圖標的重要屬性,它由基本圖元決定。為了數據結構統一與實現方便,系統采用序列點來表示基本圖元的形狀。線的形狀是由兩個端點決定;矩形的形狀可由左上角和右下角點決定;圓的形狀可由圓心點和半徑決定,或由圓心點和半徑上某個點決定;插值曲線的形狀可由插值點或控制點決定。

矢量圖標的存儲結構采用鏈表來表示,分成二級鏈表方式來表示,其主鏈表存儲基本圖元的類型,次級鏈表存儲基本圖元的形狀特征的序列點。其存儲方式如圖4所示。

C++對應的數據結構如下:

//基本圖元的數據結構

struct ELEMENT

{ int m_type;//基本圖元類型

int m_id;//類型編號

COLORREF m_color; //顏色

CPOS*p_entity; //指向m_type類型的指針

ELEMENT*next; //下一個類型指針

};

//點的數據結構

struct CPOS

{ CPoint point;//點坐標

intm_pos;//點的編號

CPOS*next;//指向下一個點的指針

};

為每種矢量圖標定義一個類,在類中定義矢量圖標的各種成員,包括屬性成員和功能函數。其中屬性描述各個基本圖元的形狀、位置及類的特征屬性等,功能包括各個基本圖元的繪制、設置等方法,如表1所示。矢量圖標類采用鏈表存儲方式,為了維護方便,保存為文本文件 (擴展名為 .tb )。其數據結構格式如下:

//矢量圖標屬性節點

struct TNODE

{ char name[40];//屬性名稱

char m_type[10];//數據類型

TNODE*next;//下一個類型指針

};

表1 矢量圖標的封裝方案

2 管網建模的設計

利用自定義特征的方法生成特征庫,特征庫中包含管道特征和各類元件特征,可根據用戶需要,選擇所需特征進入特征工具欄,為管網建模做準備。

2.1 管網建模的流程

管網建模系統采用面向對象設計的思想進行設計[11],利用類的繼承、封裝、重載和多態技術來完成數據結構設計。設計的類包括基類—圖元類(包括直線、矩形類、圓弧類、圓類、曲線類等)、派生類—自定義特征矢量圖標類。管網建模的基本流程如圖5所示。

使用本管網建模系統,建模過程大致如下:

a)用戶根據需要生成自定義特征矢量圖標。在基本圖元工具欄中選擇基本圖元繪制成特征矢量圖標,并設置其特征屬性,保存該類為文本文件。

b)自動生成矢量圖標工具欄。自動載入a)生成的矢量圖標類文件進入工具欄。

c)首先繪制管網模型中的元件(鼠標單擊矢量圖標工具欄中的圖標符號),然后再繪制管道。每個元件對應一個矢量圖標類生成的對象,每個管道對應管道類生成的管道對象,并給每個對象設置屬性值。

d)在管網建模繪制的過程中或繪圖初步完成后,可以對圖形進行編輯修改,以完成一個有效的管網模型。

e)繪制完成后,存儲為一個完整的管網模型文本文件和附屬的各對象文本文件。

2.2 管網建模的設計

特征管網圖形建模在設計過程中,主要考慮設計步驟有:

a)規劃模型的設計意圖。規劃模型的設計思路,確定模型由哪些自定義的特征圖標組成、特征圖標創建的順序、管道的連接方式等,最終創建完整的模型。

b)創建自定義的特征圖標。最初建立的特征矢量圖標為基體。基體是最簡單的實體,沒有任何細節特征,但它是進行后續細節特征的基礎。創建基體特征時可考慮:(a)基體特征要反映圖標的大概面貌;(b)每個特征應盡量簡單,便于特征的修改和管理。

c)創建細節特征。自定義圖標的特征設計是建模逐步完善的過程,即在基體特征上進行新特征的添加,逐步完成整個模型的創建。

d)修改參數化特征。通過改變一個或多個特征的形狀或位置約束,并對圖標進行刷新處理,則所修改的特征及與之相關的所有屬性特征將一同被修改。

采用自定義特征的建模方法,對復雜的特征圖形可分解為一些基本圖元組成。由于有許多基本圖元是相同的或相似的,可把一些常用的基本圖元存儲起來,生成元件特征庫,在以后特征建模設計過程中,再把存儲的基本圖元從元件庫中調出來,按照實際需要的尺寸、位置及約束條件組織起來,達到需要的結果。這將大大提高設計效率,方便了用戶。采用自定義特征和面向對象技術實現管網圖形建模系統,方便用戶根據需要的元件自定義生成相應的元件矢量圖標,為管網圖形建模做準備。

2.3 管網建模的設計比較

目前,傳統圖形系統所缺乏的是開放性、通用性和擴展性,在圖形繪制時,一旦需要增加新的元件,用戶無法添加,必須提交給程序開發人員來完成,給用戶帶來不便。本文介紹的管網圖形建模方法充分利用自定義特征,為用戶提供圖標設計的自定義性和擴展性的接口,用戶自定義新的元件自動加入特征庫,為管網圖形繪制所使用,實現了管網圖形建模開放性、通用性和擴展性。通過使用,傳統管網建模與本文管網建模的比較結果如表2所示。

表2 管網建模使用比較

特點傳統管網建模本文管網建模

是否有特征思想無特征思想建模采用特征思想建模

用戶可否添加元件提交給程序開發人員添加用戶可自定義設計

元件可否按行業分類一旦確定,用戶無法修改用戶可選擇行業特征

元件工具欄能否修改一旦確定,用戶很難修改用戶根據需要,可動態修改

適用范圍和擴展性更具有專業性、較難擴展更具有通用性、可擴展

3 實例

以火電廠管網建模任務為例,要求根據電廠的管道網絡實際情況分析管道的壓力、流速等情況,給定各元件的t0時刻的初始條件,計算并仿真出整個管網的動態運行情況。根據設計的管網可視化仿真軟件,允許在任何時刻設置元件的參數值,然后提交給計算軟件,計算出新的管道壓力、流速等屬性值。

例:使用本系統繪制一個具有七個特征的火電廠管網圖形模型,其中七個特征通過自定義特征的圖形系統進行圖形繪制和屬性設置后進入特征庫,特征庫自動加入矢量工具欄;然后,通過特征圖形建模繪制圖形模型,如圖6所示。

基本元件有:

繪制管網圖形步驟如下:

a)用戶根據實際需要生成自定義新的特征矢量圖標載入特征庫,如圖6(a)所示。

b)自動生成矢量圖標工具欄,特征庫中的矢量圖標自動進入矢量工具欄,為管網圖形建模做準備,如圖6(b)所示。

c)先繪制管網圖形模型中的元件(鼠標單擊矢量圖標工具欄中的圖標符號),然后再繪制管道,如圖6(c)所示。

d)在管網圖形建模繪制的過程中或繪圖初步完成后,可以對圖形進行編輯修改,以完成一個有效的管網圖形模型,如圖6(d)所示。

e)繪制完成后,存儲為一個完整的管網圖形模型文本文件和附屬的各對象文本文件。

4 結束語

系統采用C++與面向對象的技術來實現,用自定義特征的方法進行管網建模,有效地提高了管網建模的效率,并具有較好的通用性和擴展性。以火電廠循環冷卻水系統建模設計為背景,用自定義特征方法后,可以方便地移植到城市供暖管網、排水管網、消防的報警器設計、水電站輸水管道等圖形建模系統中,提高了軟件設計的方便性、高效性和通用性。該建模方法具有一定的應用價值。

參考文獻:

[1]

劉景,陳正鳴,王豐,等.用于水力特性分析的管網建模系統設計[J].計算機工程與設計, 2006,27(15):27822784.

[2]NILS H.Simulation of energy system guidelines and pitfalls[J].Math and Comp is Simu,1995,39(5):559564.

[3]劉德有,鄭源,趙冬蓮,等.廬山蓮花臺水庫供水工程的輸水管道設計[J].中國給水排水,2001,17(1):3639.

[4]廖維川,萬濤.一個繪圖工具的面向對象設計[J].計算機工程與設計,2005,26(5):13731376.

[5]段海波,馬枚.利用用戶定義特征實現基于約束設計[J].計算機輔助設計與圖形學學報,2001,13(3):193196.

[6]陳正鳴,唐敏霞.曲面特征技術研究的現狀及展望[J].河海大學常州分校學報,2004,18(1):1015.

[7]趙貽竹,常明,朱林,等.用戶自定義特征建模系統的研究[J].工程設計CAD與智能建筑,2002,6(6):7577.

[8]汪同慶,華晉,魯軍,等.基于矢量圖形的特征識別方法[J].重慶大學學報:自然科學版,2005,28(1):2528.

[9]KRUGLINSKI D J.Visual C++ 6.0技術內幕[M].北京:北京希望電子出版社,2001.

[10]孫家廣.計算機圖形學[M].3版.北京:清華大學出版社,2000:200298.

[11]錢浦雄,王書慶,張之勇.面向對象圖形系統的實現[J].計算機工程,2000,26(10):8385.

主站蜘蛛池模板: 成人欧美日韩| 国产精品久久久久久久久kt| 91无码视频在线观看| 内射人妻无套中出无码| 亚洲第一视频网| 91网址在线播放| 久久www视频| 成人中文字幕在线| 亚洲综合香蕉| 国产大片喷水在线在线视频| 久久国产精品电影| 亚洲天堂在线免费| 精品无码国产自产野外拍在线| 亚洲午夜综合网| 九九香蕉视频| 亚洲精品动漫在线观看| 91色综合综合热五月激情| 亚洲色图综合在线| 国产成人精品无码一区二| 国产剧情国内精品原创| 无码精品国产dvd在线观看9久| 强奷白丝美女在线观看| 99精品福利视频| 国产精品一区二区不卡的视频| 不卡无码h在线观看| 国产久草视频| 欧美五月婷婷| 欧美成人日韩| 97人妻精品专区久久久久| 亚洲高清中文字幕在线看不卡| 香蕉在线视频网站| 2021最新国产精品网站| 一区二区欧美日韩高清免费| 久久久久亚洲精品成人网| 99在线视频精品| 人妻少妇乱子伦精品无码专区毛片| 婷婷综合缴情亚洲五月伊| 亚洲成人福利网站| 色视频国产| 91在线丝袜| 99re视频在线| 人妻一区二区三区无码精品一区| 精品在线免费播放| 久久久久夜色精品波多野结衣| 久久熟女AV| 国产成人啪视频一区二区三区 | 2021国产在线视频| 中文精品久久久久国产网址| 午夜啪啪福利| 欧美国产精品拍自| 福利国产微拍广场一区视频在线| 一级毛片不卡片免费观看| 亚洲天堂网视频| 亚洲午夜国产精品无卡| 一区二区三区毛片无码| 欧美日韩一区二区在线播放| 欧美五月婷婷| 国产国模一区二区三区四区| 国产综合色在线视频播放线视| 2021精品国产自在现线看| 91成人在线观看视频| 国产一级无码不卡视频| 免费人成网站在线高清| 久久久久人妻一区精品色奶水| 国产人在线成免费视频| 一级毛片免费观看不卡视频| 国产在线八区| 成人日韩视频| 国产综合精品日本亚洲777| 国产真实乱人视频| 亚洲狼网站狼狼鲁亚洲下载| 国产精品主播| 呦视频在线一区二区三区| 国产97公开成人免费视频| 欧美日韩在线观看一区二区三区| 欧美一区国产| 日韩中文无码av超清| 亚洲成在线观看 | 激情无码视频在线看| 尤物精品国产福利网站| 久青草国产高清在线视频| 97久久精品人人做人人爽|