1. 程式人生 > >Bentley 二次開發 入門配置

Bentley 二次開發 入門配置

開發環境配置

本機開發環境:Microsoft Visual Studio 2008(c#)+ MicroStation V8i (SELECTseries 1)

開發環境的配置如下:

1、  安裝MicroStation V8i (SELECTseries 1)

2、  MicroStationAddInWizard2005的安裝及使用

MicroStationAddInWizard2005是VS2005(VS2008)下的開發嚮導,可以很方便的進行入門。(MicroStationAddInWizard2005可以從Bentley BBS中找到),不過目前這個嚮導還不少很完善,有些地方還需要手動進行修改。具體步驟如下:

  1. 解壓“MicroStationAddInWizard2005.rar”將“vcprojects”和“VCWizards” 兩個目錄複製到VS2005(VS2008)安裝目錄的“VC”目錄下。

(如果使用的是VS2008,請將“MicroStationAddInWizard.vsz”檔案中的“Wizard=VsWizard.VsWizardEngine.8.0” 改為“Wizard=VsWizard.VsWizardEngine.9.0”。 )

2.開啟VS2005或VS2008,新建專案,命名為“MsApp”,選擇VC++下的“MicroStationAddInWizard”模板,選擇C sharp,後面的選項頁中均打勾,完成後生成專案;


2.開啟VS2005或VS2008,新建專案,命名為“MsApp”,選擇VC++下的“MicroStationAddInWizard”模板,選擇C sharp,後面的選項頁中均打勾,完成後生成專案;

需要用到的dll路徑:(假設你的MicroStation預設安裝在C盤)
  • C:\Program Files\Bentley\MicroStation V8i (SELECTseries 1)\MicroStation\ustation.dll
  • C:\Program Files\Bentley\MicroStation V8i (SELECTseries 1)\MicroStation\assemblies\bentley.microstation.dll
  • C:\Program Files\Bentley\MicroStation V8i (SELECTseries 1)\MicroStation\assemblies\bentley.interop.microstationdgn.dll
  • C:\Program Files\Bentley\MicroStation V8i (SELECTseries 1)\MicroStation\assemblies\bentley.windowing.dll
  • C:\Program Files\Bentley\MicroStation V8i (SELECTseries 1)\MicroStation\assemblies\bentley.microstation.interfaces.1.0.dll
  • C:\Program Files\Bentley\MicroStation V8i (SELECTseries 1)\MicroStation\assemblies\ECFramework\Bentley.General.1.0.dll

其中還需用到Windows Form自帶的引用,可以新增一個Windows 窗體即可再刪除,方案裡自動添加了幾個必須的引用。 

1、  新增完成後,再重新生成解決方案,可以看到生成成功了。

2、  下面有幾個需要注意的問題,需要手動調整下:

  • 將“commands.xml” 檔案的“生成操作”屬性改為“嵌入的資源”;(這樣只需拷貝一個dll檔案到Microstation的mdlapp目錄下即可了,否則的話還需要把這個commands.xml檔案一併拷貝。)
  • 主程式檔案中(MsApp.cs) KeyinTree的值要加上主命令名
    (即namespace 關鍵字後面的)。即

              [Bentley.MicroStation.AddInAttribute(MdlTaskID=“MsApp”, KeyinTree=“MsApp.commands.xml")]

3、  測試

a)        將生成的檔案MSAPP.dll複製到Microstation安裝目錄下的“mdlapps”目錄下,然後執行Microstation,開啟選單【實用工具】-【鍵入命令】,彈出鍵入命令視窗,鍵入“MDL load msapp”,提示已載入。

然後再鍵入msapp,即可以出現預設的2個命令。

到這一步,說明這個開發環境已經配置成功了,下一步就可以針對這個嚮導新增自己的命令、視窗和其它功能了。

除錯執行

  • VS裡設定除錯環境

C:\Program Files\Bentley\MicroStation V8i (SELECTseries 1)\MicroStation\mdlapps\

1.  首先設定專案屬性,在專案上點選右鍵,選擇屬性,在“生成”選項卡,設定輸出路徑為Microstation的安裝目錄下的mdlapps下。

2.  為了方便除錯和提高效率,可以將常用的幾個鍵入命令設定為工具條。

(Microstation中介面定製儲存在*.dgnlib檔案中。可以先開啟常用的一個dgnlib檔案,如General.dgnlib,然後在Microstation中定義工具選單

  • 裝載:mdl load msapp,,mydomain
  • 解除安裝:clr unload domain mydomain
  • Open:msapp open
  • ……

備註:

Addins依附於應用程式域(AppDomain),要解除安裝Addins必須將其所在的應用程式域一起解除安裝。通過mdl load MSAddins,會將Addins載入到DefaultDomain應用程式域中,而該應用程式域不能被解除安裝。這樣,只能退出MicroStation才能解除安裝使用者載入的Addins

通過

  • 裝載:mdl load msapp,,mydomain
  • 解除安裝:clr unload domain mydomain

可實現在不關閉MS的情況下進行載入和解除安裝,方便除錯。

  • Vs中除錯方法
    • 啟動Microstation
    • Vs:【除錯】-【附加到程序】
    • 選擇MS程序

(ustation.exe)

VS自動啟動除錯,只需要在需要的地方插入斷點,在microstation中操作的時候即可自動跳轉到該斷點進行除錯。

開發嚮導包可在本部落格的資源中找到下載。