QQ登录

只需一步,快速开始

快捷登录

登录 或者 注册 请先

UG爱好者

查看: 2898|回复: 6
打印 上一主题 下一主题

[原创] 13板鲁班锁Millenium的运动仿真解析之:数据采集

[复制链接]

大校

Rank: 8Rank: 8

115

主题

257

帖子

1万

积分
跳转到指定楼层
楼主
发表于 2019-1-13 10:59:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 muoubear* 于 2019-1-13 11:10 编辑

本次13板鲁班锁建模仿真的思路和步骤分了3篇文字进行解析,截止今天已经全部写完,文章分享到论坛图片部分都需要重新上传,我将按顺序将图文发布出来,欢迎大家留言交流。




今天的文字给大家讲一下我做这个13板仿真的思路和步骤,做这种拼板的运动仿真,首先要做的工作是对板锁拼合的数据进行采集,数据的采集需要借助4个小软件:

  • 刺果(BurrTools),用该软件加载解算好的13板文件,刺果解算的结果是运动仿真的原始数据采集的源头。此软件鲁班锁群的朋友比较熟悉,本人对该软件的认知也有限,无法做详尽的解说,感兴趣的朋友可以去百度贴吧,鲁班锁板块,查找相关内容了解。

  • ScreenToGif,gif制作的小软件,利用其录像功能,通过快照模式按解算步骤,对刺果软件的解算动画进行截屏,分别从前视图,俯视图,左视图三个方向截图,统计13板在X,Y,Z三个方向上每一步的运动数据。

  • 按键精灵,之所以要用按键精灵,因为通过ScreenToGif的快照方式录屏,都是重复性的动作,用按键精灵,配合屏幕键盘,可以自由设定录屏的帧数。

  • Excel,对三视图采集的数据做原始的记录,并通过excel强大的函数功能,组合出仿真需要的每一步的step函数。



做完以上数据的采集工作,就可以建模,并进行运动仿真了,做这个仿真,对数据的采集占了很大的一部分工作量,只有数据的采集做到百分百的准确无误,仿真出来的板锁才不会有丝毫差错。本篇也主要讲数据采集部分,UG的建模和仿真部分放在下一篇公众号文中再进行讲解。


上面所述主要讲了这些软件在数据采集中的作用,接下来我会对用到的每一种软件具体需要做些什么,有哪些步骤做一个讲解。

  • 刺果(BurrTools):

    打开刺果软件,加载13板解算文件,并切换到解算选项卡,如下面图1,图2所示。

    图1 解法1(1063)解算选项卡

    图2 解法2(146)解算选项卡


    • 需要说明的是每一种解法对应一个解算文件,需要单独加载,数据的采集也是一样,同样需要两份数据。

      图2中红色框选的位置为13板锁 解法2的拆解步骤值,解算步骤值(146)下面显示的数据(0.00)为动画演示拆解的当前值,这个值的后面,即图示红色箭头所指的滑动块可以左右移动,鼠标拖动,或者先点选该滑动块,再按下键盘的左右方向键,就可以动态的演示拼合或者拆解动画效果。按一次方向右键,步进0.02,按压50次方向右键,板锁拆解完成一步,快照截屏的时候需要用到这个滑动块和键盘的方向键。

      图2右侧的区域为13板锁的显示区域,可以按下鼠标左键拖动,调整板锁的空间显示方位,本次仿真需要的数据采集,采用了工程三视图的方式,分别选择左视图,俯视图和主视图三种空间显示方位进行快照截图,先将模型调整到左视图的显示状态,为下面的软件截图做好准备。

    • ScreenToGif

      打开ScreenToGif软件,如图3所示,点选录像机功能,点击齿轮图标进入选项设定,勾选启用快照模式,如图4红色框选所示。

      图3 ScreenToGif启动界面

      图4 启用快照模式录像


      • 启用快照模式后,点击确认按钮,回到快照捕捉模式的窗口,设置好扑捉窗口的大小,并将窗口移到刺果的13板显示区域,做好快照截图的准备。

      • 按键精灵

        按键精灵本文不做过多讲解,本案例脚本用到的也是比较基础的操作,只需用到一个嵌套的循环,鼠标左键的点击和快捷键F7的按键模拟,有一定编程水平的朋友可以丰富一下脚本内容,更加智能的完成需要的截图工作。

        启动按键精灵,编写脚本(解法1)如下:

        图5 按键精灵截屏脚本

        脚本中的F7键是软件ScreenToGif快照模式的快捷键,按一次F7就会捕捉一张截图,延时100毫秒,后进行一个50步的小循环,50步的小循环模拟的是按压实体键盘上面的方向右键,之所以会用到鼠标点击,是因为要用到虚拟键盘,此处的点击,模拟的是按压虚拟键盘上面的方向右键,按键精灵自带的按压方向右键功能,实际运行脚本并没有起作用,才用虚拟键盘也是权宜之计。

        脚本完成一个循环,板锁刚好完成一个动作,截一次图,如此周而复始,直到完成所有步数(1063)的截图。


        脚本文件完成后,切换到调试模式,在按下F10启动之前,需要打开虚拟键盘,先将刺果的小滑动块激活,并使其位于开始的位置,再将鼠标光标放在虚拟键盘的右方向键上面,如图6所示,完成后上面两步操作后,就可以按下F10,启动脚本程序,脚本程序按设定内容快速有序进行的截图操作,脚本循环结束后,我们就得到了1063张指定区域帧的截图组,点击停止按钮,ScreenToGif软件跳回到编辑器模式,如图7所示。

        图6 激活小滑块,鼠标光标放置在右箭头上

        图7 ScreenToGif的编辑器


        • 这1063张截图即为刺果软件提供给我们的原始数据,接下来就需要进行逐帧的对比,观察前后两三张图片上板锁零件的变化情况,从而判断A,B,C,D这4个板子沿着Y轴移动的单元变化情况,以数据的形式记录到Excel中。

        • Excel

          打开Excel,建立下图8形式的表格,基本上ABCD板都是在Y方向上移动,EFGH板在X方向上移动,IJKLM板在Z方向上面移动,图示表格中AX,BX表示A板,B板在X方向上移动,其他双字母同理,Excel每一行代表一步,每一步某一个板在某个方向上移动了多少,就在对应的单元格中进行记录,板子移动方向和刺果坐标轴方向相同为正值,相反为负值,为了纠错,第0步行作为数据记录纠错功能行,即整列数据求和,记录过程中,如果某行数据记录错误,可以及时发现,在数据记录的列都后面,再建立等数量的列单元格一一对应,这样方便查阅某一步各个板子的状态值,也具有一定的纠错功能,如图9所示,采用的是对应列数据进行累加。

          Excel单元格颜色采用条件格式方式填充,每一列的颜色和刺果对应板子的颜色相同,方便记录数据的采集。


        图8 数据的记录

        图9 对应列数据进行累加,查阅中间步骤板子状态值

        做完左视图这些截图的数据记录后,基本上完成了ABCD板Y方向的数据记录,再次返回到刺果,将模型调整成俯视图,重复第4部分的快照截图操作,并进行逐帧的图像对比,对EFGH板的移动数据进行记录,记录在Excel对应的单元格中,最后再进行主视图方向的截图操作,就可以完成IJKLM板的移动数据采集,中间有些步骤好几个板子会同时沿着某个方向移动,可能需要结合刺果找出对应步,进行单独的数据采集验证。


        完成Excel的原始数据记录后,就可以利用Excel强大的函数功能,进行step函数的合成工作,依然是建立与前面数据记录等列的单元格,每一个单元格代表每一步某一个板子的运动情况的step函数,从前面的数据记录可以看出,每一步基本上只有一列有数据,其他列都为空,所以在合成step函数的时候,利用Excel的条件函数,对于空值单元格,step函数对应的单元格同样为空值显示,这样做可以减少不必要的step函数。建立的列单元格如图10所示。

        图10 对应单元格step函数的合成

        图11 原始数据采集及处理

        从图11可以看出整张表格被分为3大部分,第一部分为原始数据记录区,第二部分为板锁每一步的状态值显示区,第三部分为板锁移动原始数据的step函数合成区,做板锁拼合仿真的时候,就需要用到第三部分的数据,如果需要将板锁每一步的状态值也做仿真,就需要将第二部分的数据也合成为step函数,本次案例没有做这部分。

        有了板锁拼合的仿真函数后,就可以做出板锁拼合的运动仿真,如果做成动图进行演示,中间某一步如何让别人知道是第多少步?这里就需要做一个指示器一样的东西,本案例采用了7段数显码的原理,解法1的1064步显示出来,需要4个7段数显,做指示器仿真的时候,每一个数字对应一个7段数显码,也就是每一位数字要仿真出来,就需要7个对应的连杆,7个对应的滑动副和7个对应的step驱动函数,4位数字就需要28个对应的连杆,滑动副和step驱动函数,要完成这些step函数的编制同样需要借助Excel强大的函数功能,先对7段数显部分进行编码,如图12所示,再对要显示的4位数进行编码,如图13所示,最后再将要显示的数字进行step函数合成出来,如图14所示。

        图12 7段数显数字0到9编码

        图13 指示器4位数显示编码

        图14 指示器4位数显示的step函数合成


16DD5A69-E85A-475C-8B0F-F30A50118EED.png (412.21 KB, 下载次数: 43)

16DD5A69-E85A-475C-8B0F-F30A50118EED.png

评分

参与人数 1G币 +20 元宝 +2 收起 理由
3D世界网-零 + 20 + 2 原创加分!

查看全部评分

版权声明  
本人声明此帖为本人原创帖,未经允许,不得转载!

有奖推广贴子: 

工厂一线拧螺丝10余年,工作经验仅限于此,喜欢玩运动仿真,how-it-works是我的微信公众号,欢迎大家关注。
回复

使用道具 举报

大校

Rank: 8Rank: 8

115

主题

257

帖子

1万

积分
沙发
 楼主| 发表于 2019-1-13 11:11:46 | 只看该作者

本次案例指示器的数字显示采用的是倒序,用ScreenToGif做动图的时候可以将截图反转,进行倒序显示,这样出来的就是拼合的动图仿真演示了。

上面关于Excel数据的处理也都用的最基本的Excel函数操作,主要用到了条件函数,字符合成函数,对于Excel函数有一定了解的朋友,不难理解函数的编排原理,函数的编写就不在这里赘述了,也希望以上文字能给做类似运动仿真的朋友起到抛砖引玉的作用。

本篇主要讲得是做13板锁运动仿真前的数据采集及处理介绍,下一篇文章,我将解析本次13板锁的建模和仿真的思路,感兴趣的朋友可以将文章分享出去,让更多的朋友关注一下。


PS:上一篇文章对于该13板锁的来源忘记提了,本篇补充上,原设计源自于Donald Osselaer,关于该锁解法1的原文链接见文末的网址链接,该网站还有很多其他类型的鲁班锁,都是大师们智慧的结晶。


http://puzzlewillbeplayed.com/13BoardBurr/Millenium/solution.html


工厂一线拧螺丝10余年,工作经验仅限于此,喜欢玩运动仿真,how-it-works是我的微信公众号,欢迎大家关注。
回复 支持 反对

使用道具 举报

少校

Rank: 6Rank: 6

3

主题

250

帖子

8090

积分
板凳
发表于 2019-1-13 11:24:22 | 只看该作者
赞赞赞赞赞赞赞
回复 支持 反对

使用道具 举报

大校

Rank: 8Rank: 8

25

主题

1093

帖子

1万

积分
地板
发表于 2019-1-13 13:15:13 | 只看该作者
作者不仅给我们展现了鲁班锁的复杂性(类似魔方的复杂性),而且煞费苦心,运用多种软件来展现解锁动画,这种精神值得我们崇敬!这种高水准的帖子,是非常罕见的!是非常难得的!非常感谢作者的高水平帖子!
回复 支持 反对

使用道具 举报

上等兵

Rank: 1

0

主题

24

帖子

176

积分
5#
发表于 2019-1-13 16:28:21 | 只看该作者
这个真得值的赞,匠人精神!!!
回复 支持 反对

使用道具 举报

少尉

Rank: 5Rank: 5

31

主题

784

帖子

2245

积分
7#
发表于 2020-7-20 16:07:55 | 只看该作者
感谢楼主分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

 
 
QQ:1359218528
工作时间:
9:00-17:00
 
微信公众号
手机APP
机械社区
微信小程序

手机版|UG爱好者论坛 ( 京ICP备10217105号-2 )    论坛管理员QQ:1359218528

本站信息均由会员发表,不代表本网站立场,如侵犯了您的权利请联系管理员,邮箱:1359218528@qq.com  

Powered by UG爱好者 X3.2  © 2001-2014 Comsenz Inc. GMT+8, 2024-5-25 22:28

返回顶部