Navisworks 提供了.NET, COM和NwCreate 三種API

来源:http://www.cnblogs.com/bimzz/archive/2016/12/26/6223938.html
-Advertisement-
Play Games

Navisworks 提供了.NET, COM和NwCreate 三種API。而通常我們說Navisworks API其實指的只是COM或.NET,因為NwCreate的功能比較特殊。待我一一道來: COM API: 這是很早很早以前就提供的介面。COM有多老基本它就有多老了。它能完成大部分產品里有 ...


Navisworks 提供了.NET, COM和NwCreate 三種API。而通常我們說Navisworks API其實指的只是COM或.NET,因為NwCreate的功能比較特殊。待我一一道來: 

  • COM API: 這是很早很早以前就提供的介面。COM有多老基本它就有多老了。它能完成大部分產品里有的功能。
  • .NET API: 這是2011版本開始提供的。用來逐漸取代COM API。但並不是簡單的把COM 功能搬過來,而是從底層寫起,並且,增加了很多COM沒有的功能。

      .NET API誕生後,我們只在.NET里增加新功能,COM API只做維護。還有零星的一點COM功能.NET暫時沒有暴露,但可以通過COM Interop去訪問之。換句話講,您可以 在.NET API里調用到COM的能力。下麵這個表格是兩種API的大致對比,以作參考。.

 

 

API 能力

COM

.NET

模型聚合

模型基本信息訪問

模型結構樹

對象屬性訪問

√ 但API結構繁瑣

√ API結構清晰

對象查找

√ 但API結構繁瑣

√ API結構清晰

LINQ查找

×

對象用戶自定義屬性添加和修改

×, 但可以通過COM Interop使用

自動化API

材質和渲染

× 2015之前有Presenter API,2015後去除

×

工程進度管理和操作

×

導入外部工程進度

×

碰撞檢測

√  功能有限

√  功能完備

瀏覽模式

註釋

×

算量

×

文檔資料庫

×

控制項

√  ActiveX控制項

√  .NET 控制項

訪問和添加超鏈接

×, 但可以通過COM Interop使用

訪問和添加快速屬性

×, 但可以通過COM Interop使用

剖面

√  功能很有限

×, 但可以通過COM Interop使用

全局選項

×  部分可通過註冊表操作

×  部分可通過註冊表操作

用戶交互

×

√  目前僅插件支持

臨時圖形

×

支持WPF

×

Ribbon

×

面板

×

視點操作

相機操作

√ 功能有限

√ 功能完備

屬性集操作

場景動畫

×鏈接地址鏈接地址可部分利用保存視點

× 可部分利用保存視點

對象動畫

×鏈接地址鏈接地址可部分利用對象位置變換

×  可部分利用對象位置變換

對象顏色

對象透明度

對象位置變換

添加自定義模型*

×

×

載入自定義文件*

×

×

 

  • NwCreate: 用來創建模型的 --- 或許您會問,前面不是提到,Navisworks不是設計軟體?嗯,是的,Navisworks本身不能創建模型,只是聚合已有的模型。而通常的API能力如上面的表格,都是對模型的審閱和管理。NwCreate是一個C++庫,讓開發者能
    1. 自行從零開始,創建模型場景,生成模型,並存為nwd文件。類似於一個OpenGL程式,在自己的畫布里繪製出自己的模型。
    2. 或者,能做一種插件,解釋特定的文件格式。Navisworks能打開60多種文件格式,但要是有些格式很特別,而您又知道怎麼解釋其中的數據,那可以利用NwCreate寫個插件,當打開特定格式文件時,插件獲取文件數據,按照要求繪製相應的模型。也就是說讓您能做自己的文件解釋器。

           總之,NwCreate是為開發者而生,創建模型所用。但它也不能在現有的模型上再添加模型,只是從零開始構建一個新模型文檔。  

 

所以,我們說普通意義上的Navisworks API指的是COM或.NET。有時,您的程式也會和 NwCreate結合。例如:不能在現有的模型上再添加模型,那用NwCreate創建出模型,再聚合到主模型也是一個思路。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1 自定義控制項與用戶控制項區別 WinForm中, 用戶控制項(User Control):繼承自 UserControl,主要用於開發 Container 控制項,Container控制項可以添加其他Controls控制項 自定義控制項(Custom Control):繼承自 Control,主要用於開發wi ...
  • 年關將近,整個人已經沒有了工作和寫作的激情,估計這個時候很多人跟我差不多,該相親的相親,該聚會喝酒的聚會喝酒,總之就是沒有了幹活的心思(我有很多想法,但就是叫不動我的手腳,所以我只能看著別人在做我想做的事,吃我想吃的東西。)。本人由上個月的每周四五篇,到現在的文章縮短到每周一篇,說個實話,現在的一篇 ...
  • .NET Core和 .NET 4.6中 的C# 6/7 中的編譯器Roslyn 一個重要的特性就是"Compiler as a Service",簡單的講,就是就是將編譯器開放為一種可在代碼中調用的服務, 通常在工作流引擎 或是規則引擎中都需要一項功能是計算表達式,這樣的任務很容易就用Roslyn... ...
  • 當某個請求能夠被成功路由的前提是它滿足某個Route對象設置的路由規則,具體來說,當前請求的URL不僅需要滿足路由模板體現的路徑模式,請求還需要滿足Route對象的所有約束。路由系統採用IRouteConstraint介面來表示路由約束,所以我們在接下來的內容中將路由約束統稱為RouteConstr... ...
  • 上次實現了依賴註入,但是web項目必須要引用業務邏輯層和數據存儲層的實現,項目解耦並不完全;另一方面,要同時註入業務邏輯層和數據訪問層,註入的服務直接寫在Startup中顯得非常臃腫。理想的方式是,web項目近引用介面而不引用實現,在配置文件中進行配置實現程式集合類,註入業務邏輯層而不必註入數據訪問 ...
  • 為了實現這個功能,可算是折騰不少時間,網上搜素出來的結果基本都是如何屏蔽警告對話框。後來請教一個技術大牛(程式員之窗的主要作者Starts_2000),他用C++實現了,他嘗試了下C#也沒有解決,就忙其他的去,大牛時間一般都比較寶貴,後來我就將就用那個C++動態庫,那個時候我測試環境是 win7 6 ...
  • 模型瀏覽器: 在之前的章節中,我們創建了第一個關於學校的實體數據模型。但是EDM設計器並沒有將他所創建的所有對象完全顯示出來。它只將資料庫中的被選擇的表與視圖顯示出來了。 模型瀏覽器可以將EDM所創建的所有對象和函數的信息都顯示出來。右鍵EDM設計器併在菜單中選擇模型瀏覽器即可打開。 模型瀏覽器包含 ...
  • 本次要和大家分享的是webapi的模型驗證,講解的內容可能不單單是做驗證,但都是圍繞模型來說明的;首先來吐槽下,今天下午老闆為自己買了套新辦公傢具,看起來挺好說明老闆有錢,不好的是我們乾技術的又成了搬運工(誰叫技術部男的多呢哈哈),話說讓我們搬點兒什麼小座椅板凳就夠了吧,為什麼4大箱的傢具都讓我們動 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...