)
{ if(changeSring=="输出轴")
{
set_translation1=(EventInSFVec3f)mydGear .getEventIn("set_translation");
try {for(int i=0;i<3;i++)
{temp3 [i]=(float)(sb1[i].getValue());}
set_translation1.setValue(temp3);
}catch(Exception ex){ex.printStackTrace();}
}}
elseif(e.getAdjustable()==sb2[0]||e.getAdjustable()==sb2[1]||e.getAdjustable()==sb
2[2]||e.getAdjustable()= =sb2[3])
{if(changeSring=="输出轴")
{set_rotation1=(EventInSFRotation)mydGear .getEventIn("set_rotation");
try{for(int i=0;i< 4;i++)
{
temp4 [i]=(float)(sb1[i].getValue());}
set_rotation1.setValue(temp4);}
catch(Exception ex){ex.printStackTrace();}
}}} 2 减速器的虚拟装配应用 2.1 减速器的层次等级关联模型 装配的层次关系 装配体是由具有层次关系的零部件组成的,在装配次序上体现为由零件组装成部件,再参与上层的装配[6]。单级齿轮减速器零部件的层次关系如图2 所示。
图2 组件模型 2.2 减速器的虚拟装配过程2.2.1输入输出轴的装配
从减速器输出轴开始装配工作。(1)首先完成输出轴与键的装配。装配环境中调入输出轴与键。通过系统控制面板上的滚动条的调整,以键的移动来完成,输出轴与键装配。(2)调入大齿轮,通过控制面板的调整完成装配。(3)进行套筒的装配。(4)进行两个轴承的装配。到此为止,已完成输出轴的装配,如图3。用同样的方法可以完成输入轴的装配。
图3 完成输出轴装配
2.2.2箱体的装配
(1)先进行底座装配和输入轴装配。
(2)最后完成箱盖、端盖、连接件的装配。装配好的减速器如图4所示。
图4 减速器装配体
到此为止,完成单级减速器的整个装配过程,在虚拟环境中实现了装配仿真过程。 2.3 数据输出在整个装配过程中,Applet 面板控制碰撞,显示控件同步显示装配过程中的零件的坐标信息、装配零件与基础零件间的碰撞信息;装配顺序控件实时显示实际装配过程中零部件的顺序,如图5。
图5 虚拟装配数据输出
3.结论
本文利用 VRML 构建三维虚拟装配环境,为设计者提供可以进行交互操作的平台环境,并以 Cortona 浏览器插件可视化显示;利用 Java 的抽象窗口工具(AWT)设计了平台操作控制界面,并利用 VRML 的 EAI 接口与 Java 的结合即允许内嵌于同一 Web 页中的 Java Applet 对象与虚拟装配环境中的相互通讯,实现零件的异地调入、装配过程中随时调整装配零部件的位姿状态以及数据输出等平台功能。
随着网络技术的广泛应用,该设计方法实现了设计信息的跨平台异地交流,对减少设计失误,实现面向制造、面向装配的设计均有重要的意义。
参考文献
[1] 张金钊,张金锐,等.VRML编程实训教程[M].清华大学出版社,北京交通大学出版社,2008.
[2] 张武军,田海,等.VRML 虚拟现实技术基础与实践教程[M].冶金工业出版社,2008.
[3] 吴奇,吴俊,过晓明.基于网络的虚拟制造技术[J].机械工程师.2002,(1): 20-23.
[4] 胡茶根,王晓军,赵刚,等.基于VRML-Java的机械产品虚拟装配技术的研究[J].煤矿机械,2007,28 (7):84-86.
[5] 李冉,蔡正林.结合VRML 和Java 建立动态场景[J]电脑与信息技术.2005,13(1):33-35.
[6] 郑太雄.虚拟装配理论与方法研究[D].重庆:重庆大学博士学位论文.2003:16-17.