jt格式文件讀取,osg顯示插件更新


osgdb_jt

最近還是更新了一下 osgdb_jt 插件。解碼jt格式核心庫jt_toolkit,通過靜態鏈接到Plugin jt產生osgdb_jt插件,使得osg可以可視化jt格式文件。

用法

osg為OpenSceneGraph-3.6.3官方源碼編譯,只有osgdb_jt為新增編譯文件。

當 osgDB::readNodeFile(fileName) 遇到后綴為jt格式的文件時,會自動以osgdb_jt的形式去尋找插件,所以在osg源碼部分沒有任何修改。

osgdb_jt 僅依賴zlib.dll, liblzma.dll 兩個文件。

下載地址:osgviewer_with_jt

用法舉例:比如 osgviewer ElectricRazor_assm.jt
image

相比之前的osgdb_jt插件,改進如下:

  • 在接口層面放棄模擬西門子官方JT Open庫,重心放在jt格式解析上,拆掉在jt格式節點之上的一層架子
  • 接口層面增加 遍歷訪問器,在Dump()打印信息輸出更友好
  • 當前僅支持單一文件形式的JT文件,相比之前還支持外部JT文件是一個退步,不過這里不理會這個
  • 修訂在JT9.5格式上解碼的缺失以及遇到的錯誤,現在大部分JT9.5格式文件均可正常打開
  • 實現對JT文件中材質節點的支持,會有顏色顯示
  • 升級可支持讀取VERSION 10的JT文件,但是由於在Int32CDP壓縮數據讀取上遇到問題,所以沒有哪個JT10版本的文件會成功可視化

如果模擬官方JT Open Toolkit,認為可以更好與CAD模型數據比對(Assembly, Part, Instance的方式),體現形式會更友好。但這種表述並不貼近JT格式內容,需要在這之上再架構一層。我這次是重新整理對原有代碼的較大幅度升級,重心放在格式的解析上,放棄在這之上的架構疊加,以減少工作量與精力投入;估計這個庫用得人也不會多,所以也不投入JT Writer,不過如果再去做,會比原來的底層更健壯友好。

僅實現了三角網格節點的讀取,沒有對線框,JT BREP, X_T BREP,PMI等節點或段的讀取。

關於 Int32 Compressed Data Packet 數據的讀取問題,在JT10版本上,基本上遇到算術編碼之后,成功讀取一二次之后就會遇到難以解釋的問題,仔細比對JT文檔認為代碼沒問題呀!搞不清楚,目前也沒得參考的地方,沒精力耗在這個上面了,存疑吧,以后有機會了再考慮修改。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM