rebar_set_command=[]
for i in rebar_instances:
rebar_set_command.append('m.rootAssembly.instances[\''+i+'\'].faces.getByBoundingBox(0,0,0,X,Y,Z')
a='+'.join(rebar_set_command)
m.rootAssembly.Set(faces=a, name='A')
但是,这无法完成,因为我认为faces=a中的值a包含引号
如果没有开头和结尾引号,如何调用此Abaqus命令的字符串?谢谢
问题是
'm.rootAssembly.instances[\''+i+'\'].faces.getByBoundingBox(0,0,0,X,Y,Z'
给你一个字符串。它不是Python表达式。您可能想查看一些Python教程,以了解表达式、变量和基本类型(如字符串)的介绍在本例中,您需要将字符串中的内容作为实际表达式运行,以获取返回的面序列,并从中构建面数组。更复杂的是,当您调用} object for Abaqus to be satisfied.
getByBoundingBox
时,Abaqus返回自己的内部类型Sequence
。这种类型很难处理,因为您无法创建空类型(至少我不知道)。因此,动态地为集合构建面列表需要一些额外的注意。在下面的代码中,我获得每个钢筋实例的面序列,然后将每个面添加到我自己的faces
列表中。最后,为了创建集合,Abaqus对faces
参数的类型很挑剔We need to create a ^{相关问题 更多 >
编程相关推荐