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

相比之前的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文档认为代码没问题呀!搞不清楚,目前也没得参考的地方,没精力耗在这个上面了,存疑吧,以后有机会了再考虑修改。

最新文章

  1. Wtl之奇技淫巧篇:一、SDI如何居中显示视图
  2. html5文章 -- HTML5开发实例-网易微博手机Web App开发过程
  3. Power-BI免费版常用功能之同比、环比
  4. [转]各种字符串Hash函数比较
  5. TDD三大定律
  6. JSOI2015 Round1——完挂
  7. java浮点类型计算
  8. C#基础:事件(一) 【转】
  9. Nhibernate初入门基本配置(一)
  10. Python标准库09 当前进程信息 (部分os包)
  11. 集美大学网络1413第十二次作业成绩(个人作业3) -- Alpha阶段个人总结
  12. c++学习笔记---01---C++语言与OO思想介绍
  13. ScrollView(RecyclerView等)为什么会自动滚动原理分析,还有阻止自动滑动的解决方案
  14. Python3 randrange() 函数
  15. Entitas Learning Document
  16. 设计模式学习心得<享元模式 Flyweight>
  17. 求一个Map中最大的value值,同时列出键,值
  18. Django--CRM--一级, 二级 菜单表
  19. [hbase] hbase 基础使用
  20. puppet(1)-简介

热门文章

  1. 简单“三步”让你的网站支持https!
  2. JavaWeb学习——在Eclipse里使用Tomcat
  3. Windows下RabbitMQ 的下载、配置、Java实现生产者和消费者例子
  4. PWA 学习笔记(四)
  5. PHP计算二维数组指定元素的和
  6. 企业级堡垒机 jumpserver
  7. Python语法速查: 16. 时间日期处理
  8. Python的filter方法实现筛选功能
  9. 集合系列 List(五):Stack
  10. 理解并运用TP5.1-Facade