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 ThenSpeed = x * x / 6‘匀速阶段(180~360)ElseIf 180 * 1 < x And x <= 180 * 2 ThenSpeed = x * 60‘减速阶段(360~540)ElseIf 180 * 2 <= x And x < 180 * 3 ThenSpeed = -(x - 180 * 3) * (x - 180 * 3) / 6End IfEnd 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-58) 最后驱动“主驱动”约束,发动机将变速转动。
结果参见“发动机_变速.iam”案例三:约束驱动与接触识别器接触集合也是一种装配约束,许多机械装置的运动方式是由一个零件移动并接触到另一个零件,于是第二个零件(即欠约束的这个零件)随之运动,或者移动零件接触到另一个固定的零件时将停止移动。
使用接触识别器便可以实现这个功能。
通过驱动具有这类约束的部件,Inventor动画能模拟更为复杂的机械运动。
为了模拟机械“接触随动”的现象,Inventor提供了相应的“接触识别器”工具。
如果激活了这个工具,则在移动零部件或驱动约束时,Inventor会隔离接触集合中的选定零部件,使零部件按照预期的方式进行机械运动。
下面以电影放映机中的外槽轮机构为例进行讲解具体的实现方式。
实现过程:1) 打开装配文件(槽轮机构.IAM)。
从模型浏览器中察看该装配存在的所有约束,可以看出槽轮和拨盘两个零件之间并没有添加任何装配约束2) 下拉菜单中的“工具(T)”→“激活接触识别器” 设置成有效,使“接触识别器”激活图1-6激活接触识别器3) 再在浏览器中选定有关零件或子装配(槽轮.IPT、拨盘.IPT),之后在右键菜单中将“接触集合(S)”选项设置成有效图1-7 “接触集合”设置4) 最后在模型浏览器中的拨盘零件下找到约束“转动驱动”,然后右键“转动驱动” ?驱动约束,驱动拨盘转动图1-8 驱动约束可以看到,槽轮两轮在接触处产生了“接触随动、脱离静止”的结果。
拨盘作连续回转运动,开有5个等分的径向槽的槽轮被拨盘的圆柱销推动作间歇运动。
当拨盘上的圆柱销进入径向槽之前,槽轮上的内凹锁止弧被拨盘上的外凸圆弧锁住,槽轮静止不动。
点评:间隙机构、钟表擒纵轮都属于这一类,这是Inventor装配功能的改进,也是对工程条件表达的进一步支持。
对于一些比较复杂的情况,也能正确得到动作模拟。
但是,可能是因为算法的原因,对于“内、外侧面接触”的情况,例如链条目前还不能正确处理。
这个功能在二维或二维半的情况下能表现较好,但在纯三维环境还不行。
案例四:约束驱动与柔性很多时候,有动作的子装配(例如油缸、气缸…)常在同一个机器的总装中被多次使用。
在机构动作模拟中,这种同一子装配有多个引用,且多个引用可能有不相同的动作。
仅使用自适应设置,不能满足这种同样的子装配在总装的不同位置下有不同动作的使用。
柔性部件就是解决这种需求的。
要设置柔性部件,可在相应子部件上单击鼠标右键,选择“柔性”,之后作出装配约束。
这样,同一个子装配,在总装配中可以使用多次,并且各自的动作可以不同。
下面以挖掘机模型为例进行说明。
实现过程:1) 打开装配模型(挖掘机-1.iam),我们可以看到该装配中已经存在两个未加约束的油缸子装配引用图1-9 挖掘机模型2) 在浏览器中选中油缸的两个引用,右键并将“柔性”设置成有效图1-10 “柔性”设置3) 添加装配约束,将两个油缸装配到总装上,结果应如图1-11所示图1-11装配约束完成4) 在模型浏览器中选中“爪角度”约束进行驱动。
可以看到,当一个油缸引用有动作时,并不影响另一个的状态图1-12 驱动约束对选定的柔性部件,也能通过相同的方法将柔性部件改变成非柔性部件。
不过要注意,上面将油缸子装配设置成柔性,只是因为在这个装配中会有两个以上的位置引用这个子装配,而它们各自的动作结果并不相同。
如果将这样条件下的油缸由“柔性”改成“非柔性”会报告错误提示(参见图1-13),而且这样做完全不符合正常的思维逻辑,驱动时也将发生错误。
图1-13 错误提示点评:“柔性”是Inventor R9开始添加的功能。
但是焊接件和零部件阵列的结果子装配将被限制,而不能设成柔性。
案例五:形变零件在实际工作中,往往需要观看一些物体的变形情况(如轧制过程中钢坯的变形、挤压成型等)。
在Autodesk Inventor中,通过装配约束所能实现的不仅是机构的刚体运动,也能够模拟物体的变形情况。