国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種通過AutoCAD實現(xiàn)嵌入式駐地網(wǎng)傳輸資源全生命周期管理的方法

2014-10-21 20:04林文鋒
電子世界 2014年6期

林文鋒

【摘要】電信運營商的綜合資源管理系統(tǒng)對資源的生命周期管理逐漸前移,需要將工程階段的資源數(shù)據(jù)納入管理。通過在資源管理系統(tǒng)中集成AutoCAD技術(shù),可以提升工程建設(shè)與網(wǎng)絡(luò)維護之間的資源數(shù)據(jù)銜接效率,顯著提高資源管理能力。

【關(guān)鍵詞】綜合資源管理系統(tǒng);駐地網(wǎng)資源;AutoCAD

1.引言

電信運營商的綜合資源管理系統(tǒng)大部分已完成了對全專業(yè)網(wǎng)絡(luò)資源數(shù)據(jù)的統(tǒng)一管理,但目前管理的生命周期僅僅是各類資源的入網(wǎng)/運維以及退網(wǎng)階段。在接下來的系統(tǒng)建設(shè)中,需要將逐步將管理的范圍前移,實現(xiàn)對工程、設(shè)計階段的資源數(shù)據(jù)進行管理。

駐地網(wǎng)資源管理是綜合資源管理系統(tǒng)的傳輸專業(yè)的重要組成部分,本文主要探討如何將駐地網(wǎng)工程階段的數(shù)據(jù)納入傳輸管線系統(tǒng)管理范圍,提升工程建設(shè)與網(wǎng)絡(luò)維護之間的資源數(shù)據(jù)銜接效率。

2.現(xiàn)狀

根據(jù)資源生命周期,我們將資源管理劃分為“規(guī)劃-設(shè)計-工程-使用-維護-退網(wǎng)”六個階段。在目前的工程設(shè)計階段,駐地網(wǎng)資源管理一般采用AutoCAD進行設(shè)計并輸出圖紙。這樣的處理過程有明顯的缺點:

(1)不能實現(xiàn)設(shè)計階段與施工維護階段的無縫對接。

(2)資源維護人員需要在兩個系統(tǒng)上重復(fù)錄入維護同一套數(shù)據(jù),管理效率很低。

為解決上述問題,需要對現(xiàn)有傳輸管線系統(tǒng)進行擴展,增加圖紙設(shè)計功能。

3.實現(xiàn)方案

3.1 整體框架

系統(tǒng)整體框架是將現(xiàn)有傳輸管線系統(tǒng)與AutoCAD實現(xiàn)無縫整合,工程設(shè)計人員可以直接在傳輸管線系統(tǒng)中調(diào)用AutoCAD功能進行駐地網(wǎng)資源的工程設(shè)計與出圖。

圖1

3.2 關(guān)鍵技術(shù)點

本方案主要通過ActiveX Automation和AutoLisp技術(shù)實現(xiàn)AutoCAD的集成。

3.2.1 ActiveX Automation

ActiveX Automation是一種使Windows應(yīng)用程序?qū)崿F(xiàn)互聯(lián)互通的技術(shù),其前身是OLE Automation技術(shù)。ActiveX Automation由兩部分實現(xiàn):Automation Server和Automation Controller。

3.2.1.1 AutoCAD的Automation對象模型

AutoCAD的ActiveX Automation對象體系處于最高層的對象是Application應(yīng)用對象,包含了AutoCAD ActiveX Automation對象所提供的全部功能。

在Application之下的是Preferences和Document對象。Preferences對象等于AutoCAD的Preferences界面,用于設(shè)置與存放AutoCAD的各種系統(tǒng)參數(shù)。Document對象表示當前在AutoCAD中處于激活狀態(tài)的圖形文件,通過該對象實例可以對激活的圖形文件進行所有的操作。

3.2.1.2 調(diào)用AutoCAD Automation Server

以下代碼為在傳輸管線系統(tǒng)中調(diào)用AutoCAD Automation Server、實現(xiàn)無縫整合AutoCAD功能的應(yīng)用實例:

acadApp:=CreateOleObject(‘a(chǎn)utocad.application);

if(not VarisEmpty(acadApp)and not VarisNull(acadApp))then

begin

acadApp.Preferences.System.Single DocumentMode:=False;

Windows.SetParent(acadApp.HWND, ParentPnl.Handle);

Windows.SetWindowPos(acadApp.HWND, HWND_TOP,0,0,

ParentPnl.Width,ParentPnl.Height,SWP_NOACTIVATE);

//生成文檔對象實例并與AutoCAD的當前活動文檔建立連接

CurrDoc:=TAcadDocument.Create(nil);

CurrDoc.ConnectTo(IUnknown(acadApp.ActiveDocument)as IAcadDocument);

//遍歷當前活動文檔中的所有圖形對象

p3:=VarArrayCreate([0,2],VarDouble);

for Idx:=0 to CurrDoc.ModelSpace.Count-1 do

begin

//讀取圖形對象的類型名稱與ID、句柄HANDLE以及其他屬性

pName:=(IUnknown(CurrDoc.ModelSpace.Item(Idx))as IAcadEntity).EntityName;

pID:=inttostr((IUnknown(CurrDoc.ModelSpace.Item(Idx))as IAcadObject).ObjectID);

pHandle:=(IUnknown(CurrDoc.Model Space.Item(Idx))as IAcadObject).Handle;

//讀取圖形對象的中心點坐標

(IUnknown(CurrDoc.ModelSpace.Item (Idx))as IAcadEntity).GetBoundingBox (p1,p2);

p3[0]:=(p1[0]+p2[0])/2;

p3[1]:=(p1[1]+p2[1])/2;

p3[2]:=(p1[2]+p2[2])/2;

//將圖形對象信息寫入數(shù)據(jù)庫

WriteToDB;

end;

End;

3.2.1.3 AutoCAD事件處理

Automation對象除了提供大量對象方法供客戶端程序調(diào)用AutoCAD Automation Server的各種功能,還提供了豐富的事件消息類型,可以讓客戶端捕獲AutoCAD運行過程中產(chǎn)生的各種事件并進行相應(yīng)的處理。

//向Automation Server注冊需要接收的事件

CurrDoc.OnObjectAdded:=ObjectAdded;

//當用戶在AutoCAD中手工選擇的圖形對象發(fā)生改變時,將會

//觸發(fā)OnSelectionChanged事件

CurrDoc.OnSelectionChanged:=SelectionChanged;

CurrDoc.OnBeginDocClose:=OnBeginDocClose;

CurrDoc.ConnectTo(IUnknown(acadApp.ActiveDocument)as IAcadDocument);

//OnSelectionChanged事件處理過程

procedure TACADForm.SelectionChanged(Sender:TObject);

begin

//遍歷Document對象的選擇集,獲取在AutoCAD的當前活動

//文檔中被選中的圖形對象

fori:=0 to CurrDoc.PickfirstSelectionSet. Count-1 do

begin

//從數(shù)據(jù)庫讀取圖形對象的詳細屬性

GetDetailInfofromDB(

CurrDoc.PickfirstSelectionSet.Item(i). EntityName,

CurrDoc.PickfirstSelectionSet.Item(i). ObjectID);

//將詳細信息展示在界面上

end;

end;

3.2.2 AutoLISP語言

對于某些比較特殊的操作效果(比如選定圖形文件中某個圖元,然后居中定位并高亮顯示),Automation對象暫時還無法提供很好的實現(xiàn)方法,這個時候就需要使用AutoCAD本身自帶的、能提供更加底層的控制功能的AutoLISP語言來實現(xiàn)。

圖2 效果圖

以下的代碼實例,就是使用AutoLISP語言,根據(jù)指定的圖形對象id,在圖形文件中進行居中定位和高亮顯示:

IHighlightEntity:IAcadEntity;

SelVariant,p1,p2:OleVariant;

//根據(jù)ID獲取圖形對象

IHighlightEntity:=CurrDoc.ObjectIDTo Object(iObjectID)as IAcadEntity;

//定位并縮放,將所選的圖形對象置于屏幕中心

IHighlightEntity.GetBoundingBox(p1,p2);

p1[0]:=p1[0]-50;

p1[1]:=p1[1]-50;

p2[0]:=p2[0]+50;

p2[1]:=p2[1]+50;

acadApp.ZoomWindow(p1,p2);

//向AutoCAD發(fā)送AutoLISP指令,將選中的對象高亮顯示

CurrDoc.SendCommand(‘(setq ourset nil)(setq e1(handent”

+IUnknown(IHighlightEntity as IAcad Object).Handle

+”))(setq ourset(ssadd e1))(sssetfirst nil ourset)+#13);

3.3 集成方案

3.3.1 定義規(guī)范的資源CAD圖元

平常的CAD圖紙,都用某種圖元代表某種資源對象。因此,集成AutoCAD后,我們通過在傳輸管線系統(tǒng)中擴展一套規(guī)范化的資源CAD圖元,并且圖元擁有資源屬性。

3.3.2 提供標準化的資源圖紙設(shè)計界面

當使用圖元進行繪圖時候,通過Automation調(diào)用AutoCAD的功能,可以實現(xiàn)和AutoCAD一樣的繪圖操作功能。我們可以讓圖紙設(shè)計界面延續(xù)設(shè)計人員畫圖習(xí)慣。

3.3.3 提供資源數(shù)據(jù)到CAD圖紙的轉(zhuǎn)換

因為資源對象和CAD圖元有了對應(yīng)關(guān)系,現(xiàn)在可以將存量資源數(shù)據(jù)進行導(dǎo)出,轉(zhuǎn)化為圖元,生成AutoCAD圖紙。

3.3.4 與工程管理流程的結(jié)合

集成了AutoCAD之后,綜合資源管理系統(tǒng)具備了駐地網(wǎng)資源的“圖紙在線設(shè)計”功能。以前獨立于資源管理生命周期之外的工程階段設(shè)計圖紙,也能夠納入資源系統(tǒng)中進行管理。

4.應(yīng)用效果

在傳輸管線系統(tǒng)中整合了基于AutoCAD的駐地網(wǎng)資源管理模塊后,維護人員對駐地網(wǎng)資源數(shù)據(jù)的處理速度和效率得到了極大的提升,比之前需要先在AutoCAD中畫圖然后在傳輸管線系統(tǒng)再重復(fù)錄入一遍的方式,平均提高了10~12倍。

5.結(jié)束語

通過集成AutoCAD實現(xiàn)對工程階段的資源進行管理,有利于提升工程建設(shè)與網(wǎng)絡(luò)維護之間的資源數(shù)據(jù)銜接效率,有利于加強工程建設(shè)過程管理的規(guī)范化,還有利于加強設(shè)計管理規(guī)范化。因此非常值得去嘗試,讓資源管理產(chǎn)生更大的價值。

參考文獻

[1]潘愛民.COM原理與應(yīng)用[M].清華大學(xué)出版社,1999.

[2]Autodesk.AutoCAD 2008幫助[M].2008.

[3]Autodesk.AutoCAD 2008開發(fā)人員幫助[M].2008.

[4]中國移動設(shè)計工程階段網(wǎng)絡(luò)資源數(shù)據(jù)管理規(guī)范——工程管理平臺分冊_V1.0[S].2013.