魏 國, 梁光瑞, 吳 巍, 高尚建, 石寶山, 王學仁
(中海油能源發展裝備技術有限公司, 天津 300452)
目前施工圖紙等信息的查看依然無法擺脫計算機硬件水平與專業應用軟件的束縛,圖紙等相關信息的管理依然停留在人工階段。隨著智能建筑和互聯網+的發展,給現場施工人員及管理人員造成了很大的不便,為此本文通過對DWG格式文件的探索研究[1],結合DWG格式文件在線瀏覽技術,提出基于.NET,利用可視化的編程語言C#對DWG格式文件進行解析,設計并開發DWG格式文件在線瀏覽與熱點關聯系統,不僅具有DWG格式文件在網頁中的在線瀏覽、DWG格式文件中熱點與宿主系統、熱點關聯信息樹目錄的互相鏈接導航,還具有DWG格式文件文字熱點的自動識別、熱點規則定義及熱點的增加、刪除、修改,熱點樹目錄和熱點關聯信息樹目錄的管理,日志記錄、展示及日志的輸出等多種功能。
本系統主要采用B/S(Browser/Server,瀏覽器/服務器)架構、利用Microsoft Visual Studio 2012開發平臺、C#編程語言進行開發。B/S構架結合瀏覽器的多種腳本語言和Active X技術,減輕服務器負擔、增加交互性,利用通用瀏覽器實現原本需要專用軟件才能實現的強大功能,并且可以實現局部實時刷新;C號控制數據處理、存儲與輸出以及系統界面的設計。
根據DWG格式文件在線瀏覽與熱點關聯系統要實現的功能,將其劃分為前端展示與后臺管理兩大模塊,前端主要實現DWG格式文件網頁瀏覽及熱點展示與交互,而后臺管理系統主要實現DWG熱點信息的具體管理,其具體系統結構如下圖1所示。

圖1 DWG格式文件在線瀏覽與熱點關聯系統功能模塊
DWG格式文件作為一種Auto CAD的專屬文件,其數據結構主要包括頭部、塊實體部、實體部、非實體部以及其他信息五大部分構成。系統前端主要分為DWG格式文件網頁在線瀏覽、DWG格式文件熱點展示及交互兩大模塊。關于DWG格式文件網頁在線瀏覽,主要通過對DWG格式文件數據結構類型的分析,利用C#編程語言對此進行編碼,實現DWG格式文件的在線瀏覽。
DWG格式文件熱點展示及交互,主要通過程序設計自動識別DWG格式文件中可能的熱點信息,根據正則表達式進行判斷,確定熱點并與目錄樹進行關聯。其中熱點信息的確定作為DWG格式文件熱點展示及交互功能實現的關鍵,主要通過以下步驟實現:
1)獲取DWG格式文件中所有文字信息,將其以字符串的形式存儲;
2)從數據庫獲取熱點規則,例如圖紙類型的正則表達式、管線類型的正則表達式、設備類型的正則表達式;
3)將文字信息與熱點規則進行匹配計算,實現文字熱點識別規則;
每一個設備或圖紙的熱點名稱都具有特別的含義,例如一張圖紙中一根管線的熱點名稱為KLA-2-CEPA,對應熱點識別的正則表達式為^[A-Z]{3}[-][0-9]{1}[-][A-Z]{4}$,其中字符“^”與字符“$”分別表示正則表達式的開始與結尾,“[A-Z]{3}”表示該字段由英文字母大寫A至Z中的任意三個字符構成,“[-]”為連字符,“[0-9]{1}”表示該字段由阿拉伯數字0至9中的任意一個字符構成。
4)通過for循環語句進行正則表達式具體類型的步判斷,具體程序如下:
for(int i=0;i SonZhenze=zhenze.Split("$");//每個類型的正則表達式 foreach(string item3 in SonZhenze){//循環i類型下的第j個正則表達式 if(Regexs(s,item3)){//正則表達式判斷是否滿足list.Add(s);}}}//將熱點保存到集合中 后臺管理部分主要分為DWG熱點信息管理、系統管理以及日志管理三大模塊,每一模塊均具有不同的功能,均可完成不同的任務,但相互之間緊密聯系。 DWG熱點信息管理模塊主要將系統中熱點信息、圖紙信息、熱點識別規則、熱點關聯信息樹目錄的主要內容通過系統設置及自動識別,為便于信息的查詢與管理,將具體信息填入預先設置的表格中[8],其中主要包括DWG格式文件編碼、熱點具體信息、設施類型與單元、操作具體信息、關聯目錄樹規則名稱等內容。每一份DWG格式文件均對應唯一的DWG格式文件編碼,其DWG格式文件中的每一個熱點對應唯一的熱點編碼,熱點編碼的信息來源于宿主系統和DWG格式文件提取的熱點信息,當兩條數據的熱點編碼相同時,合并為一條記錄,并建立DWG熱點與宿主系統的熱點信息鏈接關系。 系統管理模塊主要包括識別規則管理、關聯樹目錄規則管理、數據同步、系統接口四大部分。其中識別規則管理將系統中現有的所有熱點識別規則進行匯總,包括熱點類型與識別規則、應用范圍等內容,或通過對系統中的現有熱點識別規則進行搜索查找查看其具體信息。系統也可通過“添加”選項進行設置新的熱點識別規則,通過在規則名稱、熱點類型、識別規則、規則說明填寫相應的內容,選擇應用范圍即可實現增添新的熱點識別規則。程序設計原理主要通過獲取每一個輸入框的ID值、輸入內容后獲取其value值、選擇不同適用范圍對應的標簽值,點擊“保存”按鈕后將其獲取到的所有value值存入數據庫,完成新增熱點識別規則。對于新添加的熱點識別規則,系統會根據應用范圍進行實時更新,如關聯目錄樹規則管理中的相關數據及時更新保存至數據庫中。 關于關聯樹目錄規則管理,系統編碼將所有關聯樹目錄規則的名稱、描述、設施單元等具體詳細信息進行匯總,在此通過添加設置新的關聯樹目錄規則,即可對系統中的相關熱點建立關聯樹信息目錄;對于系統中相關數據信息的增加、刪減、修改,系統中的數據同步模塊均會實現相關的數據同步,其主要是通過記錄其修改的熱點及關聯信息,系統經過定時不間斷的更新,實現相關數據的同步。例如在關聯樹目錄規則管理頁面點擊“新增”按鈕,在名稱及規則描述輸入框中填寫具體內容,不同的輸入框對應不同ID值,輸入具體內容后將其分別賦值給對應value值,選擇作業公司及設施類型,不同的作業公司與設施單元對應不同的編號,設置完成后點擊“新增”按鈕,將所有數據存入數據庫中,并對相關不同作業公司、不同設施類型的關聯樹目錄進行更新,將其所有數據更新保存至數據庫中[1]。 日志管理模塊主要包括操作日志與系統日志兩部分。操作日志記錄所有操作的具體信息,包括ID、類型、操作內容、用戶名、客戶端IP及操作時間等詳細信息,通過查詢操作日志即可了解系統被操作的具體信息;系統日志記錄系統中信息自動更新的具體信息,包括平臺、類型、圖紙、狀態、處理情況等詳細信息,可根據狀態或操作日期進行范圍限定,搜索查詢其相關系統自動操作的具體信息。關于操作日志及系統日志的具體獲取過程分別如下: 操作日志具體獲取過程: 1)系統啟動獲取ID號、記錄ID類型; 2)系統登錄獲取用戶名、客戶端IP; 3)系統發生變動時記錄其具體內容、時間。 系統日志具體獲取過程: 4)獲取系統自動更新的平臺信息; 5)獲取系統自動更新的具體類型、圖紙信息; 6)記錄系統自動更新后的狀態及處理情況。 DWG格式文件在線瀏覽與熱點關聯系統實現了DWG格式文件在網頁中的在線瀏覽、DWG格式文件中熱點與宿主系統,熱點關聯信息樹目錄的互相鏈接導航,DWG格式文件文字熱點的自動識別、熱點規則定義及熱點的增加、刪除、修改,熱點樹目錄和熱點關聯信息樹目錄的管理,日志記錄、展示及日志的輸出等多種功能,是針對中國大型工程設計、施工及管理一體化團隊定制研發的專用系統軟件,系統不僅擺脫Auto CAD專用設計軟件的束縛,還大大提高了項目施工及管理效率。當然系統目前還存在熱點識別規則不夠簡單、交互界面不美觀等缺陷與不足,在后續系統的研發過程中將進一步完善,使其達到良好的效果。2.2 后臺管理部分
3 結語