Inventor 动画功能
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Inventor攻略之利用 Inventor 动画功能
1 前言
在机械设计中,三维动画技术可对设备、管路、阀门、基础等进行真实模拟,使机械产品之间的相互关系很容易描绘出来。以动画形式显示各产品零部件之间的相互运动,既能全景浏览又可局部详察,从而使人们快捷、直观、准确地了解和把握设计方案。更为重要的是,可以在工程建设之前看到“建成实物”,提前发现设计不足并及时改进,从而提高设计效率和质量。在设计投标时,三维动画用于方案介绍,可供人们评价,快速轻松地演示产品的工作情况,运动时的外观以及它的操作方法,提高设计产品的竞争力。
Autodesk Inventor 提供了若干工具、模块来帮助用户实现各种动画功能,主要有以下四部分:
·驱动约束
·装配分解
·Inventor Studio
·运动仿真
本次话题只涉及以上的“驱动约束”和“装配分解”两个主题,并结合应用例子来介绍Autodesk Inventor动画制作过程中的一些重要功能和应用技巧。
“Inventor Studio”与“运动仿真”这两个模块将安排在后续的话题中再进行探讨。
2 约束驱动
2.1 基本概念与思想
Inventor具有非常强大的装配功能,其零部件运动模拟通常也是基于装配约束的。Inventor的装配模型中每添加一个装配约束,系统内部就会自动地为这个约束赋予一个变量以指定被约束零部件相互之间偏移的距离。通过一定范围的步骤或距离驱动这个约束变量,就能模拟机械运动。在此基础上,利用“接触识别器”、“碰撞检测”等工具即可开展对完全和部分约束的系统的运动研究。
本次话题将结合实际案例讨论以下几个功能点:
·多个动作驱动
·变速控制
·约束驱动与接触识别器
·约束驱动与柔性
·形变零件
2.2 功能点
案例一:多个动作驱动
我们知道Inventor的装配模型中每添加一个装配约束,系统内部就会自动赋予一个变量,而这个变量可以用Inventor的内部函数与其它变量建立关系,并在驱动约束主变量时实现联动,这就为一次驱动多个动作提供了可能。
下面我们就通过机器人工作简易流程为例,来探讨如何用Inventor的内部函数实现多个动作的同时驱动。相关模型见“Inventor动画模型\多个动作驱动”文件夹。
运动要求:如图1-1所示,需要实现机器人在工作台上把物品从高处搬运到低处
实现过程:
1) 给工作台与机器人底座添加三个配合约束,使机器人固定在工作台上
图1-1 机器人及工作平台
2) 给转台与底座之间添加角度约束,以控制转台相对于底座的转动
3) 给机器人大臂与转台之间添加角度约束,以实现大臂相对于转台的摆动
4) 给机器人小臂支架与大臂之间添加角度约束,以实现小臂支架相对于大臂的摆动
5) 给小臂和转台添加转动约束,以实现小臂随转台转动而发生的相对转动
6) 接下来要将各个独立的动作整合到一起,需要对各个装配约束变量进行关联。在装配工具面板中选择参数按钮“”,在参数设置对话框中进行设置,如图1-2所示:
图1-2 参数设置
7) 我们选转台与底座之间的约束作为主动变量,而机器人其他构件之间的装配约束变量用函数或表达式的形式与主动变量相关联。在大臂驱动的等式项中添加“max(-主驱动*1ul;-50deg)”,在小臂支架驱动等式项中也添加“max(-主驱动*1ul;-50deg)”,在机器人位移的等式项中添加“主驱动
/1deg*8.5mm+260mm”,如图1-3所示:
图1-3 参数设置
注释:max(-主驱动*1ul;-50deg)是一个求极值的函数,这是为了符合实际运动而给它定义了一个运动的极限位置。“主驱动/1deg*8.5mm+260mm”是为了将量纲deg转换成mm,以确保量纲的正确性。
8) 在装配环境浏览器中选择主驱动的约束,在右键下拉菜单中选择“驱动约束”,然后在“驱动约束”对话框中设置合适的终止值,点按钮,如图1-4所示,这时我们可以看到机器人工作时多个动作同时被驱动了
图1-4 驱动约束
这样,我们在装配环境中实现了一次同时驱动多个动作的操作。同样,在装配环境中也可以实现动作驱动的先后顺序,道理和前面的一样,也是利用函数进行关联。
案例二:变速控制
机械的变速运动主要分为三个阶段:加速运动、匀速运动和减速运动。驱动普通的装配约束只能实现零件之间的匀速运动;而利用Inventor提供的VBA功能,能方便地模拟机械的加速和减速运动。
要实现零件之间的变速运动我们需要添加一个约束,把这个约束作为变量,我们将另一约束与这个变量建立一种平方关系,就能实现加速,减速运动;在匀速阶段中用线性关系实现匀速运动。
下面以一个简单发动机为例,实现其从加速、保持匀速、到减速的一个过程。模型见“Inventor动画模型\变速控制”文件夹。
实现过程:
1) 打开文件“发动机.iam”,添加一个新零件“主驱动.ipt”作为隐藏零件
2) 在“油缸”和“主驱动”之间添加角度驱动约束作为“主驱动”
3) 在VBA中加入如下代码:
Public Function Speed(x As Double) As Double
‘将弧度值转换成角度值
x = x * 180 / (4 * Atn(1))
‘加速阶段(0~180)
If x <= 180 * 1 Then
Speed = x * x / 6
‘匀速阶段(180~360)
ElseIf 180 * 1 < x And x <= 180 * 2 Then
Speed = x * 60
‘减速阶段(360~540)
ElseIf 180 * 2 <= x And x < 180 * 3 Then
Speed = -(x - 180 * 3) * (x - 180 * 3) / 6
End If
End Function
其中,第三行代码,x = x * 180 / (4 * Atn(1)) 是把“主驱动”弧度值转换成角度值,以方便我们设置变速运动的范围。因为Inventor在参数传递中,传递的是角度的弧度值。
4) 在加速阶段(0~180)中,通过与变量约束“主驱动”的值建立平方递增关系Speed = x * x / 6表示加速运动。在表达式中,调整系数‘6’改变零件加速运动的加速度
5) 在匀速阶段(180~360)中,通过与变量约束建立简单的线性关系Speed = x * 60表示匀速运动。调整系数‘60’使零件从加速运动到匀速运动的过渡更平缓
6) 在减速阶段(360~540)中,通过与变量约束建立平方递减关系Speed = -(x - 180 * 3) * (x - 180 * 3) / 6表示减速运动。系数与加速运动的系数保持一致
7) 在参数对话框中将“曲轴转动”约束与变量约束“主驱动”建立等式“VBA:xx1 (x)*1deg”,参见图1-5