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

  • 相关阅读:
    poj 3070 矩阵快速乘
    将数字放大显示
    hdu 火车入队 stack
    linq to Entity 数据库除了有主键还有唯一索引,是不是不能更新
    整理:C#写ActiveX, 从代码到打包到签名到发布的示例
    Java—FileOperator
    第二章-递归与分治策略
    第四章-贪心算法
    第五章-回溯法
    Linux中C程序调试、makefile
  • 原文地址:https://www.cnblogs.com/bitbybit3d/p/11399202.html
Copyright © 2011-2022 走看看