简体   繁体   English

在 Python 中为 Abaqus 中的多个实例创建一个 for 循环

[英]Creating a for loop in Python for multiple instances in Abaqus

I am new to coding in Python for Abaqus, and I am trying to create a for loop, where I can create X number of instances based on a part, I have made.我是 Abaqus 的 Python 编码新手,我正在尝试创建一个 for 循环,在其中我可以根据我制作的零件创建 X 个实例。 Furthermore, I would like to update the naming of the X instances.此外,我想更新 X 实例的命名。

Currently, when I manually create four instances based on the part CenMid, the code looks like this目前,当我基于零件 CenMid 手动创建四个实例时,代码如下所示

mdb.models[panelName].rootAssembly.Instance(dependent=ON, name='CenMid-1', 
    part=mdb.models[panelName].parts['CenMid'])
mdb.models[panelName].rootAssembly.Instance(dependent=ON, name='CenMid-2', 
    part=mdb.models[panelName].parts['CenMid'])
mdb.models[panelName].rootAssembly.Instance(dependent=ON, name='CenMid-3', 
    part=mdb.models[panelName].parts['CenMid'])
mdb.models[panelName].rootAssembly.Instance(dependent=ON, name='CenMid-4', 
    part=mdb.models[panelName].parts['CenMid']) 

This is the code, I would like to transform to a loop, so that I simply can choose X instances and X instances will be created with the respective name, instead of this "hard coding" solution.这是代码,我想转换成一个循环,这样我就可以简单地选择 X 实例,并且 X 实例将使用各自的名称创建,而不是这种“硬编码”解决方案。

Thank you in advance!先感谢您!

You can either use a for loop with range und adjust the names accordingly or use the names from a list of either by for loop created names or, userdefined names.您可以使用带范围的 for 循环并相应地调整名称,也可以使用由 for 循环创建的名称或用户定义的名称列表中的名称。

Here is a for loop approach这是一个for循环方法

pt_name = 'CenMid'
r_A = mdb.models[panelName].rootAssembly # root assembly
inst_basename = 'CenMid-'
inst_numbers = 5 # number of created instances plus 1

for inst_num in range(1,inst_numbers):
    i_name = inst_basename + str(inst_num) # instance name
    
    r_A.Instance(dependent=ON, name=i_name, 
    part=mdb.models[panelName].parts[pt_name])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM