在abaqus频繁做python二次开发的朋友,大多数凭借编程的基础和abaqus自动生成的脚本,是能够“玩转”abaqus python脚本的,但是那些经过反复琢磨的“长长的”脚本往往会变成珍藏的“宝贝”,很难在不同的项目间重复使用。有时,一些非常管用的“代码片段”会单独保存,以便再次用到的时候快速找到,然后“复制粘贴”。其实项目越做越多,你的代码在“成长”,更适合用“渐进式”的开发方式来组织代码。
AbaqusCAE自带的各种功能模块是很好的学习榜样,它们分门别类的放在C:\SIMULIA\CAE\2019\win_b64\code\python2.7\lib目录里,一句import随用随取。
这是“渐进式开发”第一招:
在C:\SIMULIA\CAE\2019\win_b64\code\python2.7\lib目录下创建一个用英文字符命名的文件夹,并在文件夹里加一个空文件__init__.py。往后你做python二次开发的代码尽管往这里放,这个文件夹将成为你专属的“开发包”。
其他炫酷的功能和效果都在这个基础上实现,比如用代码仓库来对你的“开发包”做版本控制,你可以慢慢升级自己的包。比如,你换一台电脑做开发,只要pull你的“开发包”,就能接着开发,做了更新只要push到你的代码仓库就好了。
如果你带了一个团队,那大家可以方便的公用这个开发包,集体的智慧也可以通过这个专属“开发包”,不断凝聚,不断升级。
abaqus自动生成脚本的功能在很多时候成了“代码生成器”,但是带来的问题也是很明显的:首先是冗余的问题。变量命名的冗余,python函数传递参数的冗余,甚至代码重复。可以说自动生成的代码在教你一种很差劲的编程习惯。其次,自动生成的代码附带了非常多对视口操作的命令,而且操作的顺序对代码质量影响很大,你在界面重复的操作都会一一记录。最后,自动生成的代码是顺序执行的,你要实现很多循环操作或判断操作时还得手动改造。
abaqus自动生成脚本的功能更适合成为你查询abaqus python命令的助手。帮你快速定位到某个命令,看到参数传递的示例。
abaqus自动生成的脚本是个反面教材,你应该用“函数”、“模块”来分门别类的组织这些代码。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删