首页/文章/ 详情

谈谈关于仿真中二次开发的感想

6月前浏览10890
关于仿真软件的二次开发,自己也是经历了四年的磨砺,在这个过程中有不少的感悟,就拿出来和大家分享一下,同时也是对自己的一种审视。
我并非计算机类专业,对于编程语言了解并不深入,就跟大多数力学专业学生一样普普通通,只是在偶然情况下才皮毛地学习了点编程语言的应用。
最主要的原因是我这个人很懒,尤其是动手这块,每天坐在工位上反复用鼠标点击那些功能按钮让我感到十分无趣、乏味,不像是刚开始学习东西那会儿富有热情,即使再繁琐也会去做。这种时候脑子里就会想,要是能够解放下双手该多好,自己也可以轻松一点。  
每天面对着好多重复的操作指令,自己就像一个无情的操作机器,很多时候就像驴拉磨一样,脑子很少动,双手操作的能冒烟。总会想这样枯燥且没营养的日子什么时候能有所改善,再这么下去什么鼠标手、腱鞘炎、颈椎病这些办公室疾病就会早早发生在我身上了,每每想到这些就觉得自己的使用寿命好短暂,苦恼便会环绕每一天  
可能也正是这样的环境反复折磨自己,终于有天受不了自己还有做这么多大量重复、繁琐的操作后,为了能彻底解决这种矛盾才开始了对二次开发的学习和探索。  
在学校时我几乎没怎么接触过编程,曾经考过C语言,但那并没有多少知识在心中留下,俗称过眼不过脑。既然没基础,那就买点书来看,网上搜集资料来学习,每天下班后就回去学习,周末也是,很少去交际,就这样过着两点一线的生活。虽然娱乐少了很多,错过了跟朋友的欢乐,但如今回想起那段时间依旧是充实的且富有热情的。
看过很多资料后,每种编程语言几乎都差别不大,覆盖面很广,工具也是五花八门,然而对于我所面对的问题似乎不需要用到那么多。在开始学习的时候,就很盲目地把大部分内容都学习了遍,走了不少弯路。
就比如在Hypermesh中要解决一个像检查重复的东西,那我们只要把对象的条件尽可能罗列出来当做约束条件即可对其他对象进行筛选,符合条件的就去除。如果只是满足基本需求,这样一个问题涉及到很多语言工具吗?是不是只需要懂if和else就基本能做到了呢?当然还有其他的词条也能替代,像switch、while。
到这并不能代表其他工具不重要,如果是功能比较多的情况就需要去学习proc、namespace让整个程序内容更加容易看清,逻辑清晰。
这也仅仅是说了tcl语言的事情,Hypermesh的二次开发重要内容便是其自身自带的词条。需要对载荷步操作就需要对loadcols、loadsteps等相关有一定了解,当中涉及到ID号,颜色编号,关联信息,卡片激活等,都需要心中有数。
在有限的精力和时间里我们很难像学生时候那样宽大泛的去学一种东西,只能遇到一个问题解决一个问题,需要更具针对性。在日常工作中没有用到morph却要花很大精力去学习,这就是纯粹浪费时间,与其花这些时间搞收效甚微的事,不如在产品功能上多下点功夫,什么都想要,最终什么也不精。
这是学习的方面,还有更为重要的是对于一些问题的理解,什么样的情况适合使用二次开发,什么样的问题怎么二次开发。盲目把所有事情都用二次开发来解决只会徒增很多不必要的工作成本,某些问题只是少数发生事件,那就只需要人工处理就好,某些开发难度很高也不需要花费过多精力。毕竟我们非专业二次开发人员,自己实现的程序仅仅是为了帮助我们提高工作效率,每个项目都有期限,再分拨时间给到编程那我们的压力有多大?
学习二次开发很容易陷入一种自我满足的境地,却不自知。曾经我以为写了不少代码可以自动完成某些功能是一种很大的成就,殊不知二次开发仅仅是一个工具,属实浪费了很多时间,好多程序也只是用过几次。后来才幡然大悟,我们作为计算分析人员重点是在于分析,而非使用工具,如果我们只是个软件操作的工具人,换个手脚更灵活的新员工也能胜任软件操作,能让自己不可替代的、有价值的是分析问题和解决问题的能力。
二次开发这事只是我们工作上锦上添花的事,谨慎主次不分。有富余的时间和精力可以多学习,毕竟技多不压身,没有时间和精力也不必去强求,做好自己的分析工作才是重中之重。
最后,是我个人对于二次开发的一种狭隘理解,把一个完整的二次开发当做是成品的话,tcl语言只是骨架,hm自带的词条是血肉,而自己对功能的理解才是真正的灵魂

来源:CAEer
OptiStructHyperMeshAbaqusSTEPS二次开发ADS理论
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-05-10
最近编辑:6月前
团长
硕士 | 白车身结构设... 专注ANSA使用技巧-微信公众号『C...
获赞 114粉丝 948文章 136课程 6
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈