机械装备虚拟现实设计及实例分析 课件 第4章 装备虚拟装配关键技术_第1页
机械装备虚拟现实设计及实例分析 课件 第4章 装备虚拟装配关键技术_第2页
机械装备虚拟现实设计及实例分析 课件 第4章 装备虚拟装配关键技术_第3页
机械装备虚拟现实设计及实例分析 课件 第4章 装备虚拟装配关键技术_第4页
机械装备虚拟现实设计及实例分析 课件 第4章 装备虚拟装配关键技术_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章装备虚拟装配关键技术战略性新兴领域教材建设团队-重型高端装备制造目录CONTENTS4.1

Transform组件4.1.1基本属性介绍4.1.2数学相关概念4.1.3运动方式与控制方法4.2装配模型操控技术4.3虚拟装配演示4.4自动约束定位技术第4章装备虚拟装配关键技术4.1Transform组件战略性新兴领域教材建设团队-重型高端装备制造1装配路径工艺规划碰撞检测第4章装备虚拟装配关键技术4.1Transform组件战略性新兴领域教材建设团队-重型高端装备制造2牵引部传动牵引部整体截割部传动第4章装备虚拟装配关键技术4.1.1基本属性介绍战略性新兴领域教材建设团队-重型高端装备制造3(1)位置Position组件(2)旋转Rotation组件(3)比例Scale组件虚拟产品真实产品Unity3d部分界面第4章装备虚拟装配关键技术4.1.1基本属性介绍战略性新兴领域教材建设团队-重型高端装备制造4(1)Position(x,y,z)//示例代码transform.position=newVector3(l.0.0)//将游戏对象的位置设置为(1.0,0)第4章装备虚拟装配关键技术4.1.1基本属性介绍战略性新兴领域教材建设团队-重型高端装备制造5(2)Rotation//示例代码transform.rotation=Quaternion.Euler(0,0,90)//将游戏对象绕Z轴旋转90°第4章装备虚拟装配关键技术4.1.1基本属性介绍战略性新兴领域教材建设团队-重型高端装备制造6(3)Scale//示例代码transform.localScale=newVector3(2,2,2);//将游戏对象放大为原来的两倍第4章装备虚拟装配关键技术4.1.2数学相关概念战略性新兴领域教材建设团队-重型高端装备制造7

四元数:作为有序对,可以表示为以下形式:s为实数,V为三维空间中的向量

将v用i,

j,

k表示:

Unity中的表示方法:Vector3(0,0,0)Unity中的表示方法:Quaternion(0,0,0,1)第4章装备虚拟装配关键技术4.1.3运动方式与控制方法战略性新兴领域教材建设团队-重型高端装备制造8(1)移动(1)直接修改Transform组件的position属性://将物体移动到目标位置transform.position=targetPosition;(2)使用Translate函数://在世界坐标系中平滑地移动物体到目标位置transform.Translate(targetPosition-transform.position,Space.World);//在局部坐标系中平滑地移动物体到目标位置transform.Translate(targetPosition-transform.localPosition,Space.Self);第4章装备虚拟装配关键技术4.1.3运动方式与控制方法战略性新兴领域教材建设团队-重型高端装备制造9(2)旋转(1)直接修改Transform组件的rotation属性://将物体旋转到目标角度transform.rotation=Quaternion.Euler(targetEulerAngles);(2)使用Rotate函数://在世界坐标系中平滑地旋转物体到目标角度transform.Rotate(Vector3.up,targetAngle,Space.World);//在局部坐标系中平滑地旋转物体到目标角度transform.Rotate(Vector3.forward,targetAngle,Space.Self);第4章装备虚拟装配关键技术4.1.3运动方式与控制方法战略性新兴领域教材建设团队-重型高端装备制造10(3)缩放(1)直接修改Transform组件的Scale属性://将物体缩放到目标大小transform.localScale=targetScale;(2)使用Scale函数://在世界坐标系中平滑地缩放物体到目标大小transform.localScale=Vector3.Lerp(transform.localScale,targetScale,Time.deltaTime);//在局部坐标系中平滑地缩放物体到目标大小transform.localScale=Vector3.Lerp(transform.localScale,targetScale,Time.deltaTime);目录CONTENTS4.1Transform组件4.2装配模型操控技术4.2.1基本操作方法4.2.2模型路径记录与回放4.3虚拟装配演示4.4自动约束定位技术第4章装备虚拟装配关键技术4.2.1基本操作方法战略性新兴领域教材建设团队-重型高端装备制造11平移以选择、平移、旋转等操作实现模型的组装和调整装配效率精度可操作性选择旋转第4章装备虚拟装配关键技术4.2.1基本操作方法战略性新兴领域教材建设团队-重型高端装备制造12点击高亮框选高亮命令输入高亮选择移动修改删除&&交互反馈碰撞检测第4章装备虚拟装配关键技术4.2.1基本操作方法战略性新兴领域教材建设团队-重型高端装备制造13

//鼠标左键点击时触发if(Input.GetMouseButtonDown(0)){//射线从鼠标当前位置发射Rayray=Camera.main.ScreenPointToRay(Input.mousePosition);RaycastHithit;//检测射线是否与物体发生碰撞if(Physics.Raycast(ray,outhit)){//如果物体被点击,获取该物体的Renderer组件objectRenderer=hit.transform.GetComponent<Renderer>();if(objectRenderer!=null){//保存物体的原始颜色originalColor=objectRenderer.material.color;//改变物体的颜色为高亮颜色objectRenderer.material.color=highlightColor;}}}点击高亮右键点击选中,左键取消第4章装备虚拟装配关键技术4.2.1基本操作方法战略性新兴领域教材建设团队-重型高端装备制造14

//鼠标左键按下时开始框选if(Input.GetMouseButtonDown(0)){isSelecting=true;startMousePosition=Input.mousePosition;//记录起始鼠标位置}//鼠标左键释放时结束框选if(Input.GetMouseButtonUp(0)){isSelecting=false;//计算框选区域RectselectionRect=GetSelectionRect(startMousePosition,Input.mousePosition);SelectObjectsInArea(selectionRect);}

//检查物体是否在框选区域内if(selectionRect.Contains(screenPos)){selectedObjects.Add(renderer);renderer.material.color=highlightColor;//高亮显示选中的物体}框选高亮右键点击拖动,松开完成框选第4章装备虚拟装配关键技术4.2.1基本操作方法战略性新兴领域教材建设团队-重型高端装备制造15

//当按下回车键时,执行查找并高亮物体的操作if(Input.GetKeyDown(KeyCode.Return)){HighlightObject(objectNameInput.text);//获取输入的物体名称}

voidHighlightObject(stringobjectName){

//查找场景中的物体GameObjecttargetObject=GameObject.Find(objectName);if(targetObject!=null){//如果物体存在,获取物体的Renderer组件selectedObjectRenderer=targetObject.GetComponent<Renderer>();if(selectedObjectRenderer!=null){originalColor=selectedObjectRenderer.material.color;//设置物体的颜色为高亮颜色selectedObjectRenderer.material.color=highlightColor;}}}命令输入高亮输入模型名称,回车执行高亮第4章装备虚拟装配关键技术4.2.1基本操作方法战略性新兴领域教材建设团队-重型高端装备制造16鼠标拖动键盘输入碰撞检测局部坐标系03世界坐标系02鼠标坐标系(屏幕坐标系)01第4章装备虚拟装配关键技术4.2.1基本操作方法战略性新兴领域教材建设团队-重型高端装备制造17

voidOnMouseDown(){//获取物体的Z坐标zCoordinate=mainCamera.WorldToScreenPoint(transform.position).z;//计算鼠标与物体的偏移量offset=transform.position-GetMouseWorldPosition();}

voidOnMouseDrag(){//在拖拽过程中更新物体的位置Vector3currentMousePosition=GetMouseWorldPosition()+offset;transform.position=newVector3(currentMousePosition.x,currentMousePosition.y,transform.position.z);

}Vector3GetMouseWorldPosition(){//将鼠标的位置从屏幕坐标转换为世界坐标Vector3mouseScreenPosition=Input.mousePosition;mouseScreenPosition.z=zCoordinate;//保持物体的Z坐标不变returnmainCamera.ScreenToWorldPoint(mouseScreenPosition);}鼠标拖动点击选中并拖动,松手结束第4章装备虚拟装配关键技术4.2.1基本操作方法战略性新兴领域教材建设团队-重型高端装备制造18

voidUpdate(){//获取键盘输入并根据输入值移动物体floatmoveX=Input.GetAxis("Horizontal");//获取左右方向键(A/D或

左/右箭头)floatmoveY=Input.GetAxis("Vertical");//获取上下方向键(W/S或

上/下箭头)Vector3moveDirection=newVector3(moveX,moveY,0)*moveSpeed*Time.deltaTime;transform.Translate(moveDirection);//根据计算的移动方向移动物体}键盘键入↑↓←→或WASD控制第4章装备虚拟装配关键技术4.2.1基本操作方法战略性新兴领域教材建设团队-重型高端装备制造19按钮旋转绕XYZ轴正反向旋转预置角度+-XYZ旋转轴的选择15°旋转角度碰撞检测滑动条控制第4章装备虚拟装配关键技术4.2.2模型路径记录与回放战略性新兴领域教材建设团队-重型高端装备制造20截割轨迹显示(绿色线)数据采集路径储存路径构建路径回放逐帧记录物体的位置和角度变化创建路径存储容器,例如表格、数组将储存的路径数据进行构建和展示使物体按原始轨迹重新运动第4章装备虚拟装配关键技术4.2.2模型路径记录与回放战略性新兴领域教材建设团队-重型高端装备制造21数据采集路径储存路径构建路径回放按下S键开始记录路径,控制物体移动创建路径存储容器,D:/path/PathData.csv将储存的路径数据进行构建和展示使物体按原始轨迹重新运动目录CONTENTS4.1Transform组件4.2装配模型操控技术4.3虚拟装配演示4.3.1装配序列与路径规划4.3.2动画演示4.4自动约束定位技术第4章装备虚拟装配关键技术4.3.1装配序列与路径规划战略性新兴领域教材建设团队-重型高端装备制造22煤机装备的装配工艺规划包括装配序列规划和装配路径规划。装配序列规划主要研究产品的装配顺序及其几何可行性,找到满足几何、工艺条件的装配顺序,并逐步将产品装配起来。装配路径规划主要研究产品装配时的路径问题,要求每个零件按照某一装配轨迹运动到目标位置,避免和其他零件发生干涉,且装配路径应尽量缩短。虚拟拆卸法装配规划主要是按顺序选择零部件及其拆卸方向,计算机将选择的零部件沿拆卸方向按给定步长作细化处理,并逐步进行空间位置变换,依次将各零部件拆卸出来装配序列和路径规划装配体拆装顺序虚拟拆卸法装配规划第4章装备虚拟装配关键技术4.3.1装配序列与路径规划战略性新兴领域教材建设团队-重型高端装备制造23破碎部调高油缸一般是按标号顺序,由活塞连杆0到组件6逐步进行装配。破碎部调高油缸装配序列该部分主要由一行星减速装置组成,其装配时也应按一般行星减速装置装配方法进行装配。破碎部齿轮部分装配初步规划第4章装备虚拟装配关键技术4.3.1装配序列与路径规划战略性新兴领域教材建设团队-重型高端装备制造24对破碎部整体进行装配序列初步研究,并在虚拟场景中对其进行布局,如图所示。该部分主要有调高油缸、破碎摇臂、破碎护板、齿轮部分、破碎滚筒等部分组成,在实际装配时,有多种装配序列可选,但其中应保证破碎滚筒、装配齿轮与破碎护板的先后装配顺序,否则不能成功装配。破碎部整体装配初步规划第4章装备虚拟装配关键技术4.3.1装配序列与路径规划战略性新兴领域教材建设团队-重型高端装备制造25对于标号为0的活塞连杆和活塞,必须要首先安装标号为1的缸筒,然后再安装标号为2的缸座。截割部调高油缸装配初步规划首先需要对截一轴到截五轴分别进行装配,然后将截割滚筒中的行星减速装置与截五轴进行连接,完成整个传动齿轮的装配。截割部传动齿轮装配初步规划第4章装备虚拟装配关键技术4.3.1装配序列与路径规划战略性新兴领域教材建设团队-重型高端装备制造26采煤机截割部整体装配没有固定的装配序列可言,实际中应结合其在采煤机的位置进一步讨论研究。截割部整体装配初步规划第4章装备虚拟装配关键技术4.3.1装配序列与路径规划战略性新兴领域教材建设团队-重型高端装备制造27外牵引的装配比较简单,但需要注意的是必须在齿轮装配完成后才能够进行端盖的装配。外牵引装配初步规划从图中可以看出,该部分的装配是按两条轴线进行的,在装配时除了需要注意每条轴线方向两端部件的进出顺序,还要避免两条轴线上进出的部件发生干涉。内牵引齿轮一部分装配初步规划第4章装备虚拟装配关键技术4.3.1装配序列与路径规划战略性新兴领域教材建设团队-重型高端装备制造28从图中可以看出,该部分的装配是按两条轴线进行的,在装配时除了需要注意每条轴线方向两端部件的进出顺序,还要避免两条轴线上进出的部件发生干涉。内牵引齿轮二部分装配初步规划该部分的装配与内牵引齿轮一部分类似,是以一条轴线进行装配,只需注意该轴线方向上两端部件的进出顺序即可。内牵引齿轮一部分装配初步规划第4章装备虚拟装配关键技术4.3.1装配序列与路径规划战略性新兴领域教材建设团队-重型高端装备制造29从图中可以看出,外牵引是与内牵引的齿轮一部分连接的,三个齿轮部分相接组成内牵引。牵引部装配初步规划第4章装备虚拟装配关键技术4.3.2动画演示战略性新兴领域教材建设团队-重型高端装备制造30建模动画制作渲染建模软件虚拟现实环境第4章装备虚拟装配关键技术4.3.2动画演示战略性新兴领域教材建设团队-重型高端装备制造31创建相机:调节显示框和模型的位置和大小设置关键帧:存储零件状态第4章装备虚拟装配关键技术4.3.2动画演示战略性新兴领域教材建设团队-重型高端装备制造32导入3dsMax初始图装配位置规划,记录并标记零件位置3dsMax动画制作界面制作装配和拆卸动画对每个模型的图形编辑器之轨迹视图进行调整图中线条即为发生错误时间运动的模型的速度图,最初其为一条曲线,说明该模型从初始时间即进行加速运动,为了保证其在规定时间帧数上才开始运动,如中间图在该帧数上添加一个关键点,再将该关键点之前的曲线拖拽成直线,使其变成和初始状态一样匀速运动,也就是静止状态,从关键点之后再开始加速运动。目录CONTENTS4.1Transform组件4.2

装配模型操控技术4.3虚拟装配演示4.4自动定位约束技术第4章装备虚拟装配关键技术4.4自动定位约束技术战略性新兴领域教材建设团队-重型高端装备制造33传统软件(UG/Pro-E)的装配约束基于点、线、面。导入虚拟场景后约束丢失,难以精确定位。用户依赖视觉判断,易产生装配间隙。传统装配约束的局限性用户拖拽模型到目标附近计算当前位置与目标的距离若距离<阈值,自动吸附到目标位置自动定位约束技术流程第4章装备虚拟装配关键技术4.4自动定位约束技术战略性新兴领域教材建设团队-重型高端装备制造34环境设置与模型导入脚本编写脚本挂载与参数设置测试与优化场景优化12345自动定位约束实现流程第4章装备虚拟装配关键技术4.4自动定位约束技术——环境设置与模型导入

战略性新兴领域教材建设团队-重型高端装备制造35导入/创建模型

碰撞体Collider设置Rigidbody配置//在拖动过程中,通过射线检测获取鼠标位置,并更新模型的位置。if(isDragging){Rayray=Camera.main.ScreenPointToRay(Input.mousePosition);RaycastHithit;if(Physics.Raycast(ray,outhit)){transform.position=hit.point+offset;}}voidSnapToTarget(){floatdistance=Vector3.Distance(transform.position,target.position);if(distance<snapDistance){

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论