首页/文章/ 详情

仿真自动化开发心得

3年前浏览1259

以下文章来源于CAEer ,作者团长


大家好,我是团长,一个爱写Code的CAEer。

最近发现一个让自己很受挫的事情。

图片

团长日常的工作之一是做车门刚度仿真计算。2018年,为了能简化自己的工作(想多偷偷懒),特地花了3个月,加班加点,基于ANSA软件进行二次开发,做了个自动建模的插件。这个插件,其实就是把重复性的操作用代码来代替,然后整理好先后顺序,用一个个按钮来调用不同功能的代码,进而辅助建模,提高工作效率。

写完后,意外发现还挺好用,推荐给其他几个做刚度计算的同事,都觉得挺好,然后我就屁颠屁颠地去申请了个软件著作权,觉得自己“车门刚度小王子”的称号实在是实至名归,一度飘飘然,甚至还骚情地吟了首诗发朋友圈。

写字楼里写字间,写字间里程序员;
程序人员写程序,又拿程序换酒钱。
酒醒只在网上坐,酒醉还来网下眠;
酒醉酒醒日复日,网上网下年复年。
但愿老死电脑间,不愿鞠躬老板前;
奔驰宝马贵者趣,公交自行程序员。
别人笑我忒疯癫,我笑自己命太贱;
不见满街漂亮妹,哪个归得程序员?

图片


到此,其实一切都刚刚好,直至后来,2020年,想要攀附“人工智能”高枝,欲实现“一键式自动化建模”。

所想其实也非常简单,既然此前已经写了很多建模过程中的操作代码,那为何不把所有的操作都写出来,点一个启动键,所有的代码都运行一遍,剩下的就是等待整个模型搭建完毕呢?

想好就开始干,先整理好框架,写一个GUI界面,对整个建模过程进行分步,划分不同模块需要实现的不同的功能,剩下的就是一个一个功能代码写出来去填空,这一个一个的功能都变成了GUI界面上的一个个按钮、输入框、或者选择栏。最后综合起来,拿几个现成的例子测试代码,继而更新代码,不断迭代。

图片


也遇到了很多问题。

比如如何自动实现位移约束和力值加载?这涉及到自动定位,不能手动去点了,最简单的方法是通过提前设置的名称去识别,但这个太“不智能”了,我甚至想通过机器学习的方法来进行图像识别来找到位置,但实在是太复杂了,最后我折中选择了“直线逼近法”和“特殊筛选法”大致实现了自己的目的。

也比如如何能做多个选择?我希望这个代码能用来进行前门的建模,也能进行后门的建模,那自然有很多的不同在。所以在代码运行起来后,还得做选择题,那就是判断咯,你可能说,多写几个if语句不就行了?可是if语句判断的条件在哪儿呢?我还得在一键启动前就提示用户多做几个选择题,你这个是前门还是后门,你希望一键运行所有代码,还是有所选择性的运行哪几个?定位算法你想用“直线逼近法”还是“特殊筛选法”?等等。

。。。

加班常有之,天昏地暗,头昏脑胀。那段时间,纯粹是自己的一点热情,想做点事情,虽然累,但看着一个个功能被自己写出来,总是有很多成就感在其中,竟然给坚持了下来,等经过两个案例的测试,竟然都成功了。

图片


真的成功了吗?

最近又开始搭建车门刚度模型了,2021年,等我再打开以前的小插件,竟发现不好用,因为竟然到处都是“八阿哥”,主要原因是门的结构和此前有非常大的不同,完全在我意料之外,导致软件中的很多算法都发生错误,这个时候,我竟然发现,第一版的辅助建模插件竟是无比好用。

自动化的条件实在是苛刻,任意一点的变动都可能导致一键式插件变成一键式垃圾,当然,这跟我这个插件的冗余性做得不好有关,所考虑的特殊性较少有关。我甚至发现,就算是在某些案例中能实现一键式自动化,但这个应用范围非常小,所以叫“车门刚度自动化建模软件”实在是太抬举它了,它应该叫“大众典型旋转车门常规线性刚度工况建模软件”,因为它处理不了斯柯达和奥迪的门,也处理不了滑动门、处理不了无框门、处理不了非常规的工况,更处理不了非线性模型。。。小小的一个门刚度,竟然还有这么多门道,你们大概想不到吧?

图片


这么说来,此路实在是难走,“一键式”近乎破产。除了能拿来炫酷地展示下效果,于实际工程其实并无多大作用。反而是,某些非常“小”的功能,比较有实用性,因为人具有比较大的自由度,遇到问题能自主选择解决方案,这也就是为什么我反倒觉得第一版好用的原因。

能解决实际工程问题的工具才是好工具,拿来展示的大都是“吹牛逼”。

本文完。


仿真体系理论科普其他软件
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-04-19
最近编辑:3年前
江丙云
博士 | 仿真专家 C9博士,5本CAE专著
获赞 718粉丝 5334文章 238课程 17
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈