如何在命令中定义循环?
How can I define a loop in a command?
我正在通过 python 为 ABAQUS 软件编写代码,我需要在我的代码部分中编写以下代码。
a1.InstanceFromBooleanMerge(name='agg', instances=(a1.instances['Part-1-1'],
a1.instances['Part-2-1'], ), keepIntersections=ON,
originalInstances=DELETE, domain=GEOMETRY)
在上述代码中,Part的数量会有所不同,我不知道在运行代码之前我有多少部分。
所以,例如,如果我有 3 个部分,我该如何调整我的代码?在这种情况下,代码必须与以下相同;
a1.InstanceFromBooleanMerge(name='agg', instances=(a1.instances['Part-1-1'],
a1.instances['Part-2-1'], a1.instances['Part-3-1'],),
keepIntersections=ON, originalInstances=DELETE, domain=GEOMETRY)
如您所见,这是一个命令,我不知道如何在命令中定义这样的 For
循环???
您可以使用列表理解来构建列表"within"方法调用:
a1.InstanceFromBooleanMerge(
name='agg',
instances=tuple([a1.instances["Part-%s-1" % i] for i in range(1,4)]),
keepIntersections=ON,
originalInstances=DELETE,
domain=GEOMETRY)
其中 4 是您得到的矩阵的长度加 1,例如range(1, len(matrix)+1)
另一种方法是在方法调用之外构建元组:
instances = tuple([a1.instances["Part-%s-1" % i] for i in range(1,4)])
a1.InstanceFromBooleanMerge(
name='agg',
instances=instances,
keepIntersections=ON,
originalInstances=DELETE,
domain=GEOMETRY)
我正在通过 python 为 ABAQUS 软件编写代码,我需要在我的代码部分中编写以下代码。
a1.InstanceFromBooleanMerge(name='agg', instances=(a1.instances['Part-1-1'],
a1.instances['Part-2-1'], ), keepIntersections=ON,
originalInstances=DELETE, domain=GEOMETRY)
在上述代码中,Part的数量会有所不同,我不知道在运行代码之前我有多少部分。
所以,例如,如果我有 3 个部分,我该如何调整我的代码?在这种情况下,代码必须与以下相同;
a1.InstanceFromBooleanMerge(name='agg', instances=(a1.instances['Part-1-1'],
a1.instances['Part-2-1'], a1.instances['Part-3-1'],),
keepIntersections=ON, originalInstances=DELETE, domain=GEOMETRY)
如您所见,这是一个命令,我不知道如何在命令中定义这样的 For
循环???
您可以使用列表理解来构建列表"within"方法调用:
a1.InstanceFromBooleanMerge(
name='agg',
instances=tuple([a1.instances["Part-%s-1" % i] for i in range(1,4)]),
keepIntersections=ON,
originalInstances=DELETE,
domain=GEOMETRY)
其中 4 是您得到的矩阵的长度加 1,例如range(1, len(matrix)+1)
另一种方法是在方法调用之外构建元组:
instances = tuple([a1.instances["Part-%s-1" % i] for i in range(1,4)])
a1.InstanceFromBooleanMerge(
name='agg',
instances=instances,
keepIntersections=ON,
originalInstances=DELETE,
domain=GEOMETRY)