【问题标题】:How to get instance name in Abaqus Python?如何在 Abaqus Python 中获取实例名称?
【发布时间】:2021-12-28 03:00:12
【问题描述】:

我对 Abaqus 脚本还很陌生,现在我正在尝试创建 Abaqus 宏来优化模拟板簧组件的工作流程,因为某些组件有时可能有多达 40 个需要根据其重命名的零件位置(叶子 1、叶子 2、消音器 1 等)。但是,问题是 Abaqus 在导入零件时给出的默认名称(Part-1、Part-2 等)的数字后缀并不总是对应于零件在装配体中的位置,因此当前的工作流程是在装配中选择零件的实例,查看它们的位置,然后相应地更改零件的名称。这是一项非常重复且乏味的工作,需要大量点击。

所以我设法制作了一个宏来重命名提示用户输入的部分,但我似乎找不到任何代码或方法来获取所选实例的名称。我翻遍了 Abaqus 脚本指南,但也一无所获。

也许这里有人有任何想法? 任何帮助表示赞赏!

【问题讨论】:

    标签: python macros abaqus


    【解决方案1】:

    我不记得是否可以通过简单地更改其相应属性来更改功能名称,因此重命名的方法很长:

    m = mdb.models['My-Model']
    a = m.rootAssembly
    
    for part_inst in a.instances:
        # Actual name
        old_name = part_inst.name
        
        # Here you add your code to somehow highlight the part instance and
        # to ask the user for an appropriate name
        # <...>
        
        # Rename the instance
        a.instances.changeKey(
            fromName=old_name, toName=new_name
        )
    

    Here you can find a corresponding documentation entry.


    编辑

    要突出显示实例,您可以:

    1. 使用for part_inst in a.instances循环实例(如上所示);
    2. 使用 Abaqus python 库的highlight()/unhighlight() 方法。

    【讨论】:

    • 您好,感谢您的回答,但我已经获得了更改实例名称的代码。但是,当前的工作流程是用户必须先输入旧名称然后输入新名称,并且为 40 个部分执行此操作并不完全实用,这就是为什么我想尽可能获取所选实例的名称。
    • 嗨,我已经编辑了答案
    猜你喜欢
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多