Flexsim高级培训1演示文稿.ppt

  1. 1、本文档共86页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 三、运 动 学 1、动画创建器 2、运动学 * * 动画创建器允许用户为模型中的Flexsim实体创建和保存自定义的动画。 在Flexsim中,动画由关键帧组成。 要创建或者编辑动画,双击任意实体从而打开它的属性窗口,单击常规选项卡,点击视景/动画后面的编辑按钮,将会打开动画创建器。 动画创建器运行用户编辑现存动画,创建新动画并且预览动画。 1、动画创建器 * * * * 创建一个新动画的步骤: 1)打开动画创建器,添加一个新的动画。 2)时间线归0,分别确定运动部件的初始位置,在初始位置上添加关键帧。 3)移动时间线,分别调整运动部件到相应位置,在该位置上添加关键帧。 4)重复步骤3,添加完所有的动画,关闭动画创建器。 5)在需要使用新动画时使用命令startanimation。 * * 案例 一 * * 运动学功能用来使一个实体同时执行多个运动操作,每个运动都有各自的加速度、减速度、开始速度、结束速度以及最大速度属性。 对任何实体进行系统之外的动画自定义 包括行走和旋转 需要创建一个用于储存和更新动作的节点 单个运动节点可以添加多个动作 2、运 动 学 * * 第一步:设置空节点的引用,可以是一个label或者变量。注意:有些实体本身就有这样的空节点(如convey:convkinematic节点) 第二步:调用initkinematics命令,初始化运动数据,保存类似起始位置和实体转角等所需要完成的动作的数据。 实现步骤 * * 第三,初始化运动后,就可以用addkinematic命令给出实体后继的行进/旋转操作,例如: KINEMATIC_TRAVEL/KINEMATIC_ROTATE 第四,调用updatekinematics 命令来在运动执行动作过程中刷新视图,此命令计算实体当前的位置和转角。 * * 1、一般在customer draw触发器,调用updatekinematics函数,为了防止实体位置被死锁,一般加一个条件语句(if(time()0.1)); 2、在每个addkinematic后面(特别是消息触发器)加一个updatekinematics,防止模型运行太快, customer draw触发器触发的频率跟不上。 注意事项 * * 3、必须为initkinematics命令传递一个空节点的引用作为第一个参数,它指定了在哪里存储运动信息,或者是否从已经存储了运动信息的地方获取信息。此节点必须是没有被其它地方使用的节点,运动学功能才能够存储需要的信息。对于建模人员,此节点很可能是一个标签。运动初始化后,节点将会显示文本“do not touch(请勿接触)”。在运动学操作正在进行中时,不能在树或表视图中点击此节点,否则运动数据将可能混乱。 * 相关命令 initkinematics( kinematicnode, object ) 初始化运动学,在开启动画的触发触发器中使用 deactivatekinematics(kinematicnode ) 清除运动学节点的信息,在OnReset重置触发器中使用 addkinematic( kinematicnode, num x, num y, num z, num targetspeed, num acc, num dec, num startspeed, num endspeed, num starttime, int type ) 定义运动学动画,在开启运动学动画的事件代码中使用 updatekinematics( kinematicnode, object ) 更新运动学节点信息,用于Custom Draw trigger 和OnMessage Trigger (在相同的事件开始动画时发送消息来更新运动学) KINEMATIC_TRAVEL:定义x/y/z方向的移动 KINEMATIC_ROTATE: 定义旋转动画 * * Initkinematics 命令是可重载的,所以可以根据情况用两个不同的参数集调用initkinematics命令: void initkinematics(treenode datanode, treenode object [, int managerotation, int localcoords] ) 此参数集假设用户需要移动一个实体,例如运输机。第一个参数,仍是运动数据的空节点,可能是标签、属性或者变量。第二个参数是将要执行移动的实体。此命令将保存此实体的初始位置和转角。 * *

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档