首页 > 范文大全 > 正文

基于JAVA3D的核电站三维模型在线浏览系统的研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于JAVA3D的核电站三维模型在线浏览系统的研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:核电作为清洁能源,是未来能源发展的必然趋势。目前,核电设计方基本都采用了三维设计工具完成核电站的三维布置工作。在模型浏览方面,由于此类设计软件较为昂贵,其UI界面针对的群体是设计人员,工程公司、施工方、制造方、业主等相关方则不易使用,所以其一般使用软件开发商提供的三维模型浏览软件进行数字模型浏览。但这种方法存在软件不能完全满足企业个性化需求,以及软件升级服务限制、软件版权费用、客户端安装文件庞大等一系列问题。因此,急需一款可以进行Web方式进行模型浏览的轻量化引擎来解决上述问题。

关键词:三维设计;三维引擎;可视化;Java3D

中图分类号:TP391.9 文献标识码:A 文章编号:1007-9416(2017)03-0103-01

1 研究背景及意义

从二十世纪五十年代开始,人类就正式开始了和平利用核能。作为世界上第一个商业运行的美国希平港核电站,其于1957年开始正式并网发电。当前,对于核电站设计,设计方基本都采用了三维设计工具完成核电站的三维布置工作。目前市面上的此类主流设计工具主要有Intergraph公司的SmartPlant 3D/PDS,AVEVA公司的PDMS等产品。这些系统采用以三维模型为对象的可视化协同设计技术和以数据库为核心的集成化设计技术,使各专业设计人员可按照自动化和标准化的工作流程设计工具在本地或异地开展工作,并可共享企业各类技术资源,从而缩短工程建设周期,提高质量,降低投资。

以Intergraph公司的PDS产品为例,该系统提供了一种清晰描述工厂和空间设计的手段,实现包括建筑、结构、设备、管道、通风、支吊架、电气、仪表等各专业领域的智能三维设计,能生成工厂三维数字化设计模型,并可进行二三维数字化校验,三维数字化碰撞检查、漫游及生成设计图纸、报表、设备材料清单;具有强大的数据库支持能力,可对项目的数据进行存储、管理和再处理;具备完善、方便和适宜于处理核工程等复杂项目的设计能力,能进一步提高设计工作效率和减少设计过程的差错,从根本上实现三维数字化实体模型设计应用能力,实现较高水平的设计自动化。为了最大化的利用核电站的三维模型,需要一种载体进行模型的浏览,当然,使用设计软件可以浏览这些三维模型,但是这些设计软件较为昂贵,另外其UI界面针对的群体是设计人员,工程公司、施工方、制造方、业主等相关人员则不易使用。当前,大多数的做法是利用软件商提供的浏览软件进行模型浏览,例如鹰图公司开发的SmartPlant Review软件、Autodesk公司开发的Navisworks等软件。但是,这些商业软件不能完全满足企业个性化的要求,并且都需要安装较大的客户端,但随着互联网技术的发展,用户有直接使用Web方式进行模型浏览的轻量化实际需求。因此,研究开发一种基于Web的轻量化模型在线浏览系统,实现核电三维模型的在线浏览显得尤为迫切。

2 系统设计

2.1 需求分析

核电站三维模型在线浏览系统至少需要实现以下三个功能模块,即模型处理模块、人机交互模块以及Web集成模块。(1)模型处理模块实现模型格式的自动转换,模型载入时的初始化。(2)人机交互模块包含场景操作和模型操作,场景操作主要针对的是整个三维场景的旋转、平移、缩放以及场景的居中显示。模型操作主要包含模型选择,以及在此基础上的针对选择模型距离测量、属性查询和居中显示等。(3)Web集成模块主要实现系统与Web集成时的运行参数配置、接收由Web传输的模型显示信息,显示指定的三维模型。在用户执行属性查询等操作时,需要根据用户操作更新页面信息。

2.2 总体方案

java3d是 Java 语言在三维图形领域的扩展, Java3D 有纯粹的面向对象结构。其数据结构采用的是 Scene Graphs Structure(场景图),就是一些具有方向性的不对称图形组成的树状结构。场景图中线和线的交汇点称为节点(Node),节点之间的线表示各个实例之间的关系。Virtual Universe 是根节点,每一个场景图的 Virtual Universe 是唯一的。在 Virtual Universe 下面是 Locale 节点,每一个 Locale 可以拥有多个 BranchGroup 节点。所有三维形体的位置信息(TransformGroup Nodes)都建立在 BranchGroup 节点之上。TransformGroup Node 用来设定 Shape3D 在 Virtual Universe 中的位置。Shape3D Node 是三维图形节点,代表三维世界中的每个形体。位于场景图最下层的是两个叶子节点:三维体的外观(Appearance)和几何信息(Geometry),这两个节点定义了一个三维体的显示效果。

结合Java3D的场景特点,设计本系统场景结构。整个三维场景有一个根节点BranchGroup,在该节点下包含了针对整个三维场景进行位姿变换的节点TransformGroup。在根节点里面还添加了三个对整个场景进行位姿变换的行为类:Rotate(旋转)、Translate(平移)、Zoom(缩放)。这三个行为类的操作对象都是针对场景位姿变换节点。同时,在根节点下还包含了一个鼠标选择行为,用于选择模型。

模型加载至Java3D之后成为一个BranchGroup,该节点下方的每一级TransformGroup对应于下级子节点相对于上级节点的一次三维空间坐标变换。在处于叶节点的TransformGroup中包含了代表该形体几何信息的Shape3D节点,每一个Shape3D节点都有外形轮廓节点Geometry和外观属性节点Appearance组成。

2.3 模型理、载入及初始化

由PDS等建模工具生成的模型并不能直接被Java3D读取,需要转换成OBJ或VRML等格式。VRML具有与Java3D相似的场景结构,数据可读性较好。本文采用VRML作为模型格式。同时,对于转换后的VRML模型必须对其数据格式进行规范,以便Java3D程序可以读取模型的唯一标识码。

Java3D通过VrmlLoader来加载VRML模型。每个VRML模型在加载到Java3D的场景中时,相应的VRML节点也会转换成Java3D的节点。为了实现交互性,并最大限度的降低内存消耗,提高渲染性能,在VRML节点加载成为Java3D的live节点之前必须对相应转换成的Java3D节点做出若干设置。

3 Web集成

为了以Web的方式实现核电三维模型的在线浏览,需要将本系统嵌入在JavaEE的JSP页面中。用户通过相应JSP页面来显示本系统。系统在开发时以Java Applet的形式实现,并且在JSP页面初始化时,将所需要显示的模型以参数的形式传输给本系统,本系统通过TCP/IP协议将模型从模型文件服务器缓存至客户机,进而加载渲染。从而简单、直观地查看模型的设计数据,并可基本实现商用浏览引擎的基本操作功能。此外,该系统还可应用于碰撞模型的查看,便于用户快速定位碰撞点,从而快速修改设计。

4 结语

核电站三维模型在线浏览系统实现了核电设计三维模型以Web的方式在线浏览,可应用于模型浏览、属性查询、测量,二三维模型比对,碰撞模型浏览等,满足了相关人员的模型浏览需求,提高了工作效率,节省了企业相关经费。

参考文献

[1]张杰.JAVA3D交互式三维图形编程[M].北京:人民邮电出版社,1999.

[2]胡小强.虚拟现实技术与应用[M].北京:高等教育出版社,2004,106-120.

[3]高新瑞.Java 3D与计算机三维动态图形网络编程设计[M].北京:清华大学出版社,2014,205-433.