OpenCASCADE JT Assistant

eryar@163.com

Abstract. Siemens’ JT data format accepted as the world’s first ISO international standard for viewing and sharing lightweight 3D product information. OpenCASCADE JT Assistant is a viewer for files in JT format.

Key Words. Simens JT, JtOpen, OpenCASCADE, Jt Assistant

1. Introduction

西 门子的JT(Siemens’s JT data format)文件格式是一个轻量级的数据交换格式,可用于在产品生命周期的各个阶段实时查看或共享产品的3D信息,并且已经通过ISO的认可作为了国际 标准。通过将大量的CAD系统中的3D产品数据无缝衔接,JT加强了产品设计的协作,并且产品生命周期管理系统(Product Lifecycle Management, PLM)也支持这个标准。作为第一个轻量级的3D数据可视化世界ISO国际标准,JT将使制造厂商免去了对各种三维数据交换格式的依赖,并可轻松扩展3D 可视化的应用,以便于使设计的协同性。

OpenCASCADE JT Assistant是一个JT格式数据可视化的小工具。由于JT格式在工业上的广泛应用,高性能、轻量级、灵活的用于三维产品可视化的文件格式。JT文件 可包含工业规模的组件(多达100000部件)。有些船厂的PDM中就使用到了JT格式。JT Assistant处理JT网格支持延迟加载(late loading),还利用LOD(Level Of Detail)技术来提高显示性能。

目前只提供了试用程序,将来OpenCASCADE准备提供开源版本的,仅支持GPL及商用License。Download binaries for Windows: ZIP archive (32 bits, 64 bits). 下载后用Dependency Walker打开查看引用关系如下图所示:

Figure 1.1 JT Assistant in Dependency Walker

由上图可知,JT Assistant界面上用到了Qt5,关于OpenCASCADE的库只用到TKernel和TKMath。显示直接使用了OpenGL,没有用到Visualization中的库。

2.Supported JT data

目前JT Assistant支持JT 8.0-9.5,可显示网格及组装结构。整体式和非整体式的组件都是支持的。如果想测试一下程序,可从如下地址下载到一些JT文件:

v Siemens web site:

http://www.plm.automation.siemens.com/en_us/products/open/jtopen/technology/jt_showcase.shtml

v Grab CAD Site: http://grabcad.com/library/software/jt

Figure 2.1 Navigation and Selection in the assembly structure

如上图所示,三维视图中的青色高亮部分与组装树上的Part是对应的,通过鼠标在三维视图中选择模型的同时,模型对应的组件树上部件也是同被选中。

Figure 2.2 Submarine model

Figure 2.3 Wavecar model

从上图中可以发现,不知是这个JT文件有问题,还是JT Assistant程序有问题,显示得有点不正常。

Figure 2.4 Wingflap model

Figure 2.5 Bufferfly Valve model

Figure 2.6 conrod Model

3.Conclusion

由上图可知,OpenCASCADE JT Assistant的显示效果还是很不错的,颜色、光照等调得很不错。用Qt来开发界面,还是比较方便,且效果也很不错。

有做工厂/船厂PDM系统的,如果涉及到三维产品数据的可视化,可以考虑采用JT这个轻量化的格式。

本文主要是翻译了OpenCASCADE网站上的内容,原文网址如下:

http://www.opencascade.org/support/applications/jt_assistant/

关于Jt格式的更多信息,可访问西门子的网站:

http://www.plm.automation.siemens.com/en_us/products/open/jtopen/index.shtml

OpenCASCADE JT Assistant的更多相关文章

  1. OpenCASCADE Texture Mapping

    OpenCASCADE Texture Mapping eryar@163.com Abstract. 纹理贴图技术的出现和流行是图形显示技术的一个非常重要的里程碑,直接影响3D技术从工业进入娱乐领域 ...

  2. OpenCASCADE AIS Manipulator

    OpenCASCADE AIS Manipulator eryar@163.com Abstract. OpenCASCADE7.1.0 introduces new built-in interac ...

  3. Convert BSpline Curve to Arc Spline in OpenCASCADE

    Convert BSpline Curve to Arc Spline in OpenCASCADE eryar@163.com Abstract. The paper based on OpenCA ...

  4. OpenCASCADE Shape Location

    OpenCASCADE Shape Location eryar@163.com Abstract. The TopLoc package of OpenCASCADE gives resources ...

  5. OpenCASCADE BRep Projection

    OpenCASCADE BRep Projection eryar@163.com 一网友发邮件问我下图所示的效果如何在OpenCASCADE中实现,我的想法是先构造出螺旋线,再将螺旋线投影到面上. ...

  6. OpenCASCADE Expression Interpreter by Flex & Bison

    OpenCASCADE Expression Interpreter by Flex & Bison eryar@163.com Abstract. OpenCASCADE provide d ...

  7. OpenCASCADE Data Exchange - 3D PDF

    OpenCASCADE Data Exchange - 3D PDF eryar@163.com Abstract. Today most 3D engineering model data are ...

  8. OpenCASCADE Interpolations and Approximations

    OpenCASCADE Interpolations and Approximations eryar@163.com Abstract. In modeling, it is often requi ...

  9. OpenCASCADE Ring Type Spring Modeling

    OpenCASCADE Ring Type Spring Modeling eryar@163.com Abstract. The general method to directly create ...

随机推荐

  1. 【原】iOS学习之UITabBar的隐藏

    当页面使用 UITabBarController + UINavigationController 框架的时候,当跳转到详情页面的时候,如果 UITabBar 仍然存在的话就会造成逻辑混乱,用户体验也 ...

  2. 2015 ACM/ICPC EC-Final

    A. Boxes and Balls 二分找到最大的不超过$n$的$\frac{x(x+1)}{2}$形式的数即可. #include <bits/stdc++.h> using name ...

  3. java.lang.NoSuchMethodError: android.view.View.setBackground

    int sdk = android.os.Build.VERSION.SDK_INT; if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) { ...

  4. margin:0 auto;不居中

    margin:0 auto:不居中可能有以下两个的原因; 1.没有设置宽度<div style="margin:0 auto;"></div>看看上面的代码 ...

  5. IE11 上的3个bug

    1.IE 11在popstate上无法正常使用,所以,需要使用老方法hashchange.有一个叫History.js的library,是可以解决这个问题.但如果url在"#"后跟 ...

  6. Torch7学习笔记(三)Sequencialization

    1.序列化 Torch提供4种高级方法来序列化或者反序列化任意Lua/Torch对象.这些方法都是从File对象抽象出来的,为了方便操作而创建. 前两种方法用来从文件序列化或者反序列化的: torch ...

  7. [ios]新手笔记-。-UIPickerView 关于伪造循环效果和延时滚动效果

    查找了网上资料,循环效果绝大部分都是增加行数来制造循环的错觉,延时滚动就是利用NSTimer间隔出发滚动事件来制造滚动效果. 代码: #import <UIKit/UIKit.h>#imp ...

  8. 解决:View调用invalidate()后不刷新onDraw()

    近来学android图片处理,按照例子来,自定义一个View,之后在Activity里面手动调用该View的invalidate()后,一直无法刷新onDraw() 上网搜了一下,有两种解决办法: 一 ...

  9. Android进程间通讯之messenger

    这两天在看binder,无意间在文档看到messenger这么个东西,感觉这个东西还挺有意思的,给大家分享一下. 平时一说进程间通讯,大家都会想到AIDL,其实messenger和AIDL作用一样,都 ...

  10. Usaco*Monthly Expense

    Description Farmer John是一个令人惊讶的会计学天才,他已经明白了他可能会花光他的钱,这些钱本来是要维持农场每个月的正常运转的.他已经计算了他以后N(1<=N<=100 ...