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的强大功能,为仿真工程的高效开展提供有力支持。
import hm
import 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)
具体的内容还得得去看帮助文章,里面有更详细的资料,如果是将帮助文档的资料拿来写又觉得没必要。最好的学习资料就是帮助文档。