廖東杰


摘要:在市政道路交通工程設計過程中,交通標牌繪圖量大,統計耗時,影響著整個設計項目的進度。本文中設計的交通工程繪圖系統,采用DWGdirect中的圖形交互技術、ObjectARX中的深度克隆技術,以及標牌屬性的自識別技術,從自動化與智能性等方面著手,極大地提高了設計出圖效率。
關鍵詞:市政道路;DWGdirect圖形;工程繪圖系統
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9416(2017)01-0165-01
1 引言
在市政設計領域中,交通標志的繪制及其工程量統計非常重。在長達數十公里的道路上,按照設計規范逐個繪制標牌,并加以統計,是一項較為耗時的工作。為此,需要利用計算機輔助制圖進行參數化設計。根據GB 5768-2009中關于道路交通標志的規定,本文將常用的交通標志歸為以下幾類:警告標志47種、禁令標志48種、指示標志36種、指路標志79種、旅游標志17種、輔助標志22種,并制作成模板保存到Dwg文件中。根據設計需要使用模板時,其內容和尺寸都可能被調整,這給參數化設計帶來一定挑戰。為此,本文使用基于DWGdirect的圖形交互技術,增強參數化體驗;通過深度克隆技術,快速繪制參數化修改后的標牌;再結合標牌屬性的自識別,實現一鍵式工程量統計,提高整體設計效率。
2 DWGdirect圖形交互技術
DWGdirect源于開放設計協會,是一套針對CAD文件讀寫的高質量類庫。它可以獨立于AutoDesk平臺對DWG文件進行讀寫操作及圖形查看,方便集成到Winform窗體上。本文設計的軟件系統中,將DWGdirect與.net的Panel相結合,構建交通標志的展示區,如圖1中的黑色背景區域,并支持標志內容的實時編輯,為用戶提供了高效的交互途徑。
2.1 DWGdirect加載圖形文件
在讀取文件之前,需要通過創建Teigha.Runtime.Services的實例來注冊服務,這是調用所有DWGdirect方法的前提。文件的讀取首先要通過DatabaseServices實例化數據庫,然后運用ReadDwgFile方法讀取指定圖形文件。打開方式盡量使用OpenForReadAndAllShare模式,減少文件占用報錯的機率。讀取文件到數據庫后,需要將其指定為當前工作的數據庫。
2.2 圖形交互控件的初始化
先從WinGDI.txv文件加載繪圖模塊并創建繪圖驅動器。這涉及到Teigha.GraphicsSystem命名空間下的GsModule和Device類。然后通過Device的WindowHDC屬性綁定Panel控件。接著為Dwg數據庫指定上下文Context ForDbDatabase,并啟用UseGsModel屬性。最后通過LayoutHelperDevice.SetupActiveLayoutViews方法啟動視圖,完成交互控件的初始化。
2.3 DWGdirect圖形編輯
針對交通標志,主要是編輯標志中的文字內容,這需要文字的選取和修改兩個步驟。文字的選取主要通過繪圖驅動器graphichsDevice的ActiveView,得到當前視圖,然后調用其Select方法,并傳入鼠標點擊的位置坐標,從而得到文字對象的ID。再用TransactionManager啟動一個事務,根據ID得到文字對象,修改對應的內容、顏色等屬性即可。
3 深度克隆技術
參數編輯后的交通標志需要繪制到用戶CAD中,這里通過數據庫之間的克隆技術來實現。克隆時需要考慮實體、符號表之間的關聯,保證克隆的完備性。ObjectARX中數據庫對象的封裝,包括命名對象字典、塊表、層表、字體樣式表、標注樣式表、線型表、視口表、UCS表、注冊應用表等,它們的對應關系如圖2所示。這些關系中包含硬所有、軟所有、硬指針、軟指針等關聯關系。調用WblockClone Objects,通過深度克隆將標牌模板中的實體,及其對應的圖層、字體、線型等具有指針關系和所有關系的對象,一并復制到當前圖形中。
4 標牌屬性自識別
標牌自識別通過擴展數據XData來實現。該機制方便自定義的應用程序進行簡單的讀寫操作。同一實體可以為不同應用程序存儲數據,這需要通過事務將RegAppTable Record添加到應用程序符號表中,完成應用程序名的注冊,并通過DxfCode.ExtendedDataRegAppName數據類型,指定擴展數據所屬的應用程序。XData支持的數據類型有限,其DXF組碼范圍為[1000,1071],且每個實體的 Xdata數據最大為16K。我們僅將標牌的類別、形狀、尺寸、備注等關鍵信息存儲到標牌外框的擴展數據中,供標牌統計時使用。
5 結語
通過對DWGdirect開放類庫,以及深度克隆和擴展數據等AutoCAD二次開發技術的研究與討論,對交通標牌的繪制與工程量統計提出了有效解決方案。其效率在實際工程應用中得到證實。交通標線的識別與自適應繪制將是下一步的研究重點。
參考文獻
[1]晏韻,許超.基于DWGDirect訪問AutoCAD DWG圖形文件[J].工程圖學學報,2010(6):178-181.
[2]饒金通,姜青山.基于ObjectARX的實體擴展數據二次開發技術研究[C].第16屆全國計算機新科技與教育研討會,2007.