VRML 是 Internet 上基于 WWW 的虚拟现实建模语言,被称为第二代网络语言,用来描述三维物体及其运动行为,具有三维性、交互性、分布式集成性和逼真性等特点[1-5],随着网络技术和计算机硬件设施的飞速发展,虚拟现实技术将成为网络多媒体发展的主流技术,广泛应用于军事、建筑、娱乐、教育和工业产品制造等方面[6-8]。利用虚拟现实技术创建装配环境,人与环境互相交流,可以模拟真实的装配过程,通过信息反馈,还可以从中获得有关装配的一些启示,从而熟悉整台设备结构以及装配关系。
虚拟现实应用于装配设计,不同于影视作品
虚拟现实,它的建模要求严格的尺寸、形状和装配关系。VRML 也可以构建对象的三维模型。但是,通过VRML 对工业产品进行建模往往是费力不讨好,很难达到满意效果。因此,为了将工业产品更好地应用在虚拟现实世界中,有必要研究工业产品虚拟现实的实现手段。UG NX 软件是融合了 CAD/CAE/CAM 一体化的高端软件,为机械设计、模具设计以及电路设计提供一整套的设计、分析和制造方案,包括特征造型、曲面造型、实体造型在内的多种造型方法,同时提供了自顶向下和自底向上的装配设计方法。UG NX 软件提供了 VRML 软件的接口。
因此,首先可以通过 UG NX 完成工业产品造型和装配的静态模型,然后利用 VRML 语言,完成动态装配、零件信息的提取和观察视角的变化。本文以虎钳为例说明上述过程和技巧。
1 虎钳装配体静态模型的建立
虎钳静态装配模型在 UG NX 软件中完成。首先,在 UG NX 软件中逐个建立零件虎钳模型,包括底座、固定钳口板、活动钳口、活动钳口板、方口螺母、螺杆、螺钉、螺母和沉头螺钉等。然后,将所有零件按照组件装配,最后装配成完整的虎钳体,如图 1 所示。
接下来,将 UG NX 的 prt 格式的文件导出为VRML V2.0 版的 wrl 格式文件,然后在 VRML文件编辑器 VrmlPad 中读入 wrl 文件(其中VrmlPad 软件可以从 https://www.86vr.com 上下载),再对此对象进行场景渲染或者动画制作等。但是,对于比较复杂的装配文件,如果将装配的prt 文件作为整体导出为 wrl 格式,会导致在虚拟现实编辑软件中文件过大,带来对组件和零件的操作不方便等一系列麻烦。一般的处理方法是:在 UG NX 软件中的装配状态下,每次导出一个零件,其余零件隐藏掉,这样重复操作至导出每一个零件;然后建立一个新的 wrl 格式文件,利用 inline 命令将所有零件的 wrl 文件联系起来。此时,不用做调整,就可以保证各个零件的相对位置的正确性,图 2 为 inline 命令和转换后虎钳装配体的虚拟现实文件,文中采用的 VRML 浏览 器 为Cortona Control , 其 特 点 是 应 用 于Windows 操作系统,操作简单,渲染效果比较好。


2 虎钳虚拟装配的实现
虎钳的虚拟装配包括路径规划、动画设置和拆装逻辑控制等方面的内容。2.1 VRML 动画实现的原理VRML 通过时间传感器(TimeSensor)和插补器(Interpolator)以及路由(ROUTE)语句来实现关键动画[2]。基本过程为时间传感器给出控制动画效果的时钟,这个时钟包括动画的开始时间、停止时间、时间间隔和是否循环等参数,此
时钟信息输出到插补器节点,插补器节点定义了关键点和关键数值,VRML 根据插补器节点的设置进行关键点外区域的线性插值,完成匀变速动画过程。如果需要变速动画过程或者复杂动画过程,需要结合脚本语言Javascript 来实现:时间传感器的输出可以控制插补器和 Javascript 的输入,而插补器和 Javascript 的输出又可以控制零件的移动和旋转等动作。
2.2 虎钳虚拟现实装配的关键技术
2.2.1 虚拟装配路径规划
进行装配路径规划首先要符合装配体的真实装配顺序。另外,还要避免装配过程中零组件的干涉。对于虎钳,可以将活动钳口、活动钳口板、两个紧固螺钉视为一个组件,命名为“组件1”,先行装配,装配顺序为:活动钳口板→活动钳口,螺钉→活动钳口板与活动钳口;底座、两个紧固螺钉和固定钳口板也可以视为一个组件,命名为“组件 2”,装配顺序为:固定钳口板→底座,螺钉→固定钳口板与底座。完成两个组件的装配之后,再装配其他零件,装配顺序为:组件1→组件 2;方口螺母→组件 1 与组件 2;螺杆→方口螺母与组件 2;螺母→螺杆与组件 2;沉头螺钉→组件 1 与方口螺母,拆卸过程顺序相反。在规划路径时,可以让底座固定不动,其他零件按照相对于底座的拆卸方向运动,后装配的零件运动的距离大于先装配的零件运动距离,图 3 为虎钳所有零件的动画路由,图4为虎钳装配动画。



2.2.2 逻辑控制
为了实现实时交互的虎钳拆装过程,在此利用 Script 节点的 ismove 变量来控制,ismove 变量输出为 Bmove,则为拆卸过程,ismove 变量输出为 Bback,则为装配过程,下面的语句为控制螺杆拆装的过程,其中 pathluogan1 为螺杆拆卸路径,pathluogan2 为螺杆安装路径,clock1 和clock2 为控制拆和装的时间传感器。




2.2.4 视点控制
为了从不同角度观察虎钳的装配情况,可以利用 Viewpoint 节点实现观察视角的变化[8]。以
下是针对虎钳的视角变化语句:
DEF VP Viewpoint{ Position 0 25 17
Orientation 1 0 0 -0.93}
DEF TS TimeSesor{loop TRUE cycleInterval
25}
ROUTE TS. fraction_changed TO
VP. set_fieldOfView
3 结 论
利用 VRML、Javascript 技术与 UG NX 的协同设计,能够很好地完成具有交互功能的工业产品的虚拟装配过程,由此形成的虚拟现实文件小,便于网络传输,此项技术有着广阔的应用前景。
参 考 文 献
[1] 汪志达, 叶 伟. VRML 虚拟现实网页设计[M]. 北
京: 清华大学出版社, 2006. 12-16.
[2] 汪兴谦. VRML 与 Java 编程实例讲解[M]. 北京: 中
国水利水电出版社, 2001. 1-23.
[3] 阳化冰, 刘忠丽, 刘忠轩, 等. 虚拟现实构造语言
VRML[M]. 北京: 北京航空航天大学出版社, 2000.
23-27.
[4] 黄文丽, 卢碧红, 杨志刚, 等. VRML 语言入门与应
用[M]. 北京: 中国铁道出版社, 2003. 10-19.
[5] 王 炎. 虚拟现实建模语言 VRML[J]. 计算机科学,
1999, 26(12): 38-42.
[6] 孙济州, 王义豹. VRML 虚拟现实建模语言[M]. 天
津: 天津大学出版社, 1998. 34-50.
[7] 陈 健. 虚拟现实技术的现状与展望[J]. 天津纺织
工学院学报, 1998, 17(2): 25-28.
[8] 刘 怡. 虚拟现实VRML程序设计[M]. 天津: 南开
大学出版社, 2007. 2-29.




