什麼是ICMExchange?

ICMExchange不是額外的應用程序,也不是InfoWorks ICM的附加模塊。ICMExchange許可證僅激活默認隱藏的ICM的應用程序編程介面(API)。它就像是ICM的「後門」,一旦打開該門,由第三方編寫的軟體代碼就可以指示ICM執行某些步驟、操作或者任務,而無需任何人需要坐在ICM軟體本身之前。換句話說,ICM是在後台運行的;它是由第三方應用程序或者流程驅動的,從終端用戶的角度來看是看不到任何東西的。

因此,提供類似於InfoWorks ICM界面內那樣標準的軟體演示是不可能的,ICMExchange在運行或者工作時是沒有什麼可看的。當通過API驅動時,ICM不再是桌面應用程序,它只是一個在更大的過程中的後台任務。

ICMExchange怎麼工作&可以做什麼?

隨著API的開放,ICM通過以Ruby腳本的形式編寫代碼來控制。程序員需要高度熟悉Ruby以及面向對象編程的術語。ICMExchange通常會通過命令行或批處理文件來運行啟動。Ruby腳本的文件名作為參數傳遞,然後腳本將運行並訪問Scripting API的類和函數。在命令行中,指令看起來像這樣:「C:Program FilesInnovyze Workgroup Client 4.5iexchange.exe」c:myrubyscriptsicmnetwork.rb /ICM。

然後你就會看到:

圖1:命令行啟動ICMExchange

下一個階段是使用批處理文件。這可以讓ICMExchange按照計劃自動運行(例如每天運行一次)。這項工作可能包括一個ruby腳本或多個腳本。如果以多個腳本運行,則每個腳本都將按順序運行,即下一個腳本只有在上一個腳本完成時才會啟動。

圖2:批處理文件運行ICMExchange

Ruby腳本可以做些什麼?

Ruby腳本的運行方法:

  1. 在InfoWorks ICM和InfoNet的用戶界面上直接運行。
  2. 採用獨立許可的ICMExchange產品,通過從命令行運行,不顯示圖形用戶界面。

雖然從用戶界面運行腳本的可用功能與ICMExchange產品中提供的功能之間存在很大程度的重疊,但某些功能僅可在一個或另一個中提供。

兩者的區別大致如下:

  1. 在用戶界面中,腳本在GeoPlan打開時運行,顯示網路,可能會載入訪客網路。這些腳本可以處理網路中的數據,使用「打開數據導入和導出」中心執行導入和導出操作,提交和還原更改,並顯示一些簡單的用戶界面功能。腳本不能操作除選擇列表之外的樹對象,並且可能無法打開和關閉資料庫或設置和運行模擬。
  2. 從ICMExchange應用程序中,用戶具有操作資料庫樹對象,創建資料庫以及設置和運行模擬的額外功能。但是,在ICM或InfoNet用戶界面上這些是不可能做到的。

總而言之,ICMExchange可以將以下所有操作作為後台任務完成:

  • 編輯,更新和查詢資料庫樹對象
  • 創建,複製和刪除資料庫樹對象
  • 創建網路場景
  • 提交並驗證網路
  • 編輯網路對象
  • 進行模擬
  • 查詢結果並提取數據

ICMExchange不允許訪問InfoWorks ICM中可用的所有工具和菜單項,並且不會與ICM-TSDB交互或創建/導出圖表和地圖。

付費購買許可權

要使用ICMExchange API,您需要購買許可證。這扇可以打開API的大門適用於InfoWorks ICM的任何特定實例。如果ICM的許可證沒有可用的ICMExchange功能,它將不會接受任何命令。ICMExchange作為InfoWorks ICM Executive Suite的一部分提供。

ICMExchange相關的幫助/建議/支持

InfoWorks ICM和InfoNet的Ruby界面對於這兩個應用程序來說都是通用的,但是許可證是獨立。顧客如果需要幫助創建腳本以驅動InfoWorks/InfoNet,可以諮詢HR Wallingford,了解相關合作方式。在幕後,開發團隊里各種各樣的成員可以提供關於創建成功腳本的關鍵的面向對象編程術語(例如「類」,「方法」等)的其他幫助和建議。

用戶必須注意到,Ruby腳本語言的靈活性意味著該語言幾乎是無限靈活的,InfoWorks ICM和InfoNet應用程序中的語言嵌入主要用於通過API來操縱數據。在InfoWorks或InfoNet中可能無法使用其他Ruby資料庫,並且不可能為這些嘗試提供支持。

示例Ruby腳本&運行模擬

下面的腳本是一個簡單的例子,展示了如何從資料庫中選擇一個網路和各種隨時間變化的文件,並為模擬定義參數。

圖3:示例腳本

如有任何問題,歡迎聯繫:

InfoWorks ICM官方QQ討論群:339073787

郵箱:[email protected]


推薦閱讀:
相关文章