首页/文章/ 详情

HyperWork 2024 -基于Python语言的二次开发-背景与案例演示

3月前浏览2501

Hello,好久没写基础性的文章了,最近老是在整活和摸鱼之前反复横跳,现在回归正常,我们来讲讲24版本的hyperwork二次开发语言。


在23版本发布会时,方老师就讲到开始支持Python了,但那时候功能有限,放开的API很少,没有去研究。目前24版本的出来了,大部分API都有对应的接口,可以开始进一步学习了,目前24版本的并没正式发布,网上找都都是属于测试版,存在部分bug,尝鲜可以,还是不建议应用到工作中。


Hyperworks的二次开发最初是基于Tcl语言,这是一种脚本语言,以其简洁和易用性著称。然而,随着Python语言的普及和其在科学计算、数据分析以及机器学习等领域的强大功能,Hyperworks逐渐引入了Python作为其二次开发的新语言选择。



Python的引入为用户提供了更多的灵活性和强大的库支持,使得复杂的开发需求,任务得以更加高效地完成。因此,将Hyperworks的二次开发从Tcl语言转换到Python语言不仅是技术趋势,也是用户需求的体现。通过Python编程相较于Tcl会更有趣,以前的tcl语言对应的API同样也是支持,通过hw.evalTcl调用,采用混合编程即可。


hw.evalTcl("*clearmarkall 1")


本系列文章旨在帮助用户了解和掌握Python语言在Hyperworks二次开发中的应用。我们将从基础介绍开始,逐步讲解Tcl和Python的语法差异,并提供丰富的转换示例和实战案例。通过系统的学习,希望各位能够灵活运用Python进行Hyperworks的二次开发,实现仿真流程的自动化。


以下是准备的一些目录,有需要再更改了

  •   背景介绍

  •   Tcl语言基础回顾

  •   Tcl与Python的语法差异

  •   常见API的Tcl到Python转换示例

  •   Python在HyperWork二次开发中的基础应用

  •    Hyperworks的插件集成方法

  •   使用Python进行Hyperworks脚本编写的实战案例


  • ..............


通过本系列文章的学习,希望大家能掌握如何使用Python进行Hyperworks的二次开发,从而提升工作效率和仿真效果。希望大家在学习过程中,能够积极实践,深入理解Python的强大功能,为仿真工程的高效开展提供有力支持。

不清楚怎么运行交互选择的API一直转圈圈,所以需要先将节点放入set中







import hmimport hm.entities as ent
session = hm.Session()all_models = session.get_all_models()model =  hm.Model(sorted(all_models, key=lambda x: int(x.split("_")[1]))[-1])col_elem = hm.CollectionByInteractiveSelection(model, ent.Node)



具体的内容还得得去看帮助文章,里面有更详细的资料,如果是将帮助文档的资料拿来写又觉得没必要。最好的学习资料就是帮助文档。


来源:TodayCAEer
ACT二次开发UGpython
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-08-14
最近编辑:3月前
TodayCAEer
本科 签名征集中
获赞 18粉丝 30文章 252课程 0
点赞
收藏
作者推荐

HyperWork 2024 -二次开发 - Python 的基础应用-厚度分布图

这篇文章按照最开始的顺序,应该是当tcl语言基础回顾发完后再发的,但是还是应该先展示下有趣的内容。思来想去,不知道该写什么题材的内容,最后决定还是写它。关注了的小伙伴可能对这张图片比较熟悉。这是前段时间在写ANSA基础教程时,讲到第三方模块Matplotlib的使用,生成了一张图片——模型的厚度分布图。当时ANSA是保存了图片,再利用guitk模块显示的图表。ANSA二次开发_Python基础-基于matplotlib的模型厚度分布图JinTian,公众号:TodayCAEerANSA二次开发_Python基础-基于matplotlib的模型厚度分布图那为什么现在又拿这张图片来写呢?这是因为两者的载体不一样了。这次是在HyperWork中实现的。相较于ANSA,HyperWork的显示是直接支持QT的,所以可以跳出窗口实现自由缩放加Matplotlib所提供的功能,文章中介绍Matplotlib功能的代码同样可以放在HyperWork中显示。HyperWorks2024版本带来了更多的新功能和改进,特别是在二次开发的Python脚本支持方面,能够基于更多Python模块进行复杂的仿真分析和设计优化,功能开发。这是图表显示的功能代码max_value=max(data)num_bins=int(np.ceil(max_value/0.5))counts,bins=np.histogram(data,bins=np.arange(0,max_value+0.5,0.5))#生成颜色列表colors=cm.rainbow(np.linspace(0,1,len(counts)))#生成条形图plt.bar(bins[:-1],counts,width=0.5,align='edge',color=colors)#plt.bar(bins[:-1],counts,width=0.5,align='edge')plt.xlabel('Thickness')plt.ylabel('Count')plt.xticks(bins)plt.show()在数据处理和分析方面,Python拥有丰富的数据处理库,如NumPy、Pandas等,可以方便地处理仿真结果数据,进行统计分析和数据可视化。在第三方模块集成方面,Python能够与许多第三方模块集成,如Matplotlib用于绘图、SciPy用于科学计算等。这使得在HyperWorks中实现复杂的数据处理和可视化变得更加容易。接下来就是优势所在了HyperWorks2024的模块配置非常完整,这一点对于内网用户来说尤为方便。上述所列举的几个模块是可以直接导入,避免下载和安装所需的包。这不仅提高了工作效率,也减少了在内网环境中因网络限制而带来的困扰。HyperWorks2024结合Python脚本的应用,使得仿真和优化工作变得更加高效和灵活。功能实现很简单,只需要提取PSHELL的厚度即可,用上方提供的代码略微完善下就可以了。当然还有其他办法,第一次尝试付费阅读,需要完整源码的朋友,可选择付费查看哦,文件不大,付费前请斟酌哦。来源:TodayCAEer

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈