建模部分主要分为两部分大场景,一个是控制开关和真空感应炉的模型,一个是仪表显示器的设计模型。
控制开关和真空感应炉的整体模型如图 1.1所示。
感应炉的炉体部分。炉壁是内外双层的结构,外围由4个实心支柱支撑,并且要加固支撑并且在底部流出空间,以便其他导管以及控制线路的接通。同时锅炉的前后要制作出一个对称的孔洞,左边的空洞设计制作的是一个加料坩埚和此坩埚的旋转控制杆,这个控制装备是需要手动操作的。右边的孔洞是设计制作抽真空管道以及抽真空马达的,在这两个设备上,还要添加一些控制开关,以及一些相关的设施。其中开关有6号的压力释放开关,7号的真空抽取开关,和8号的排气开关,如图1.3所示。
控制开关部分。控制开关大部分都单独放出来,设计一个控制台,它起到一个连接和中转的作用。1号开关连接的是感应炉底部,它起到的作用是整个感应炉的加热,在真空状态下对炉料加热熔化。2号和4号开关起到的作用是降温水流的循环,2号注水,4号排水,水注入炉壁内部空间,防止高温的情况下对仪器造成不必要的损伤,最后还能起到冷却模具的作用。3号开关是仪表显示器连接控制,在感应炉操作的过程中需要打开它,并且要时刻注意着仪表上数字的显示变化。5号开关则是真空压力泵的控制开关,加料之后拧紧炉盖后要先进行抽真空,才能继续后面的操作。如图1.4所示,是干锅炉的基本模型,只有在里面加料后,固定好旋杆,才能进行后面的操作。
图 1.4 图 1.5
另外一个大场景模型是仪表显示器。如图1.5所示,一共要设计6个表盘。其中上面一排都是温度表,分别是:炉内温度显示表、炉壁温度显示表、循环水温度显示表。下面的前三排红绿提示灯分别对应上方的温度显示表,当温度在正常范围时绿灯会亮,当温度超过正常范围时,红色灯会不停地闪烁并发出报警声。下面一排的表从第一个到第三个分别是炉内压强表、炉壁内部水压表、时间表。当炉内压强不为0时,第四排的红色指示灯将一直亮着,但不会发出声音,直到炉内压强变为0,绿色指示灯变亮,同时发出“哔”的一声。当炉内的水压正常时,绿色指示灯将会亮起,直到水注满炉壁,水压升高到一定程度,红色指示灯会亮起,同时发出“嘀~嘀~嘀~”的警报声,直到关闭注水阀,报警声会停止。
1.1.3 实现思路及方法
建模部分主要使用3dmax来完成。初步构想使用3Dmax的可编辑多边形的方式完成大部分几何体的建模,然后使用样条线挤出的方式制作其他细节模型部分,仪表显示器和炉盖炉壁等设备精细度要求中等。重点在于仪表盘、阀门以及旋转坩埚的模型制作,由于仪表盘需要显示加压、加热和注水的量并且需要在交互中实现表盘指针的变动动画。所以这部分打算使用左右摆动指针作为显示标准,通过改变高度动画实现生产过程的动态效果。至于阀门开启时间的控制初步考虑通过时间对应百分比的方式实现,例如加热条预设到80%则加热阀门60秒后关闭,温度到75%时再次打开加热阀门,依此循环,直到生产过程结束。
Unity负责实现生产系统的简单交互操作,在控制面板手动点击生产步骤,每一个生产过程都可以单独播放,然后通过动画展示整个生产过程。Unity是由Unity Technologies开发的一个让玩家轻松创造和建设例如三文视频游戏、建筑可视化、实时三文动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity制作动画及互动部分的初步构想是在3Dmax制作好整个动画过程之后,导入Unity中,使用切割工具在需要互动控制动画持续时间的关键帧节点上进行切割,通过C#代码实现手动输入数值百分比与动画时间的相互转换,通过数值*0.1=阀门打开时间的公式来实现从抽真空、注水、加温到成模的整个过程,由于动画在导入unity时以进行了切割工作,所以只需要在切割点处动画暂停相应秒数,中间使用粒子插件填充粒子流动效果即可。其他部分如抽真空过程,注水过程,加温过程由于不需要停顿及人机交互,只需要在仪表中显示数值即可,即只需要将在3Dmax中制作好的动画完整播放即可。Unity制作过程中使用到NGUI插件,NGUI是严格遵循KISS原则并用C#编写的Unity(适用于专业版和免费版)插件,提供强大的UI系统和事件通知框架。其代码简洁,多数类少于200行代码。可以很容易地扩展Unity的功能或调节已有功能。NGUI的使用方式与Unity的使用方式一样。使用Widget Tool可快速创建模板化的控件,或者从基本组件创建你自己的控件。可以按照你的意愿拷贝/粘贴,把你的窗口保存为prefabs。所有一切只需简单地点击操作即可完成。当需要编写代码让控件移动时,可以选择简单的例子代码,可以把你的控件转变为按钮、输入框、基于事件改变颜色、播放声音、触发动画等等。最后在Unity场景控制中还用到了C#代码编写,C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。 真空感应炉生产过程Unity3D演示系统设计(3):http://www.751com.cn/jisuanji/lunwen_22289.html