我在Abaqus gui中有一个python脚本。当我试图运行这个脚本时,出现了错误:VisError: No xy data was extracted using the provided options。
python脚本片段是:
session.viewports['Viewport: 1'].setValues(displayedObject=o3)
session.viewports['Viewport: 1'].makeCurrent()
a = mdb.models['Model-1'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
session.mdbData.summary()
session.viewports['Viewport: 1'].setValues(
displayedObject=session.odbs[os.getcwd() + '/' + 'Hotforging1.odb'])
session.viewports['Viewport: 1'].assemblyDisplay.setValues(
adaptiveMeshConstraints=OFF)
session.linkedViewportCommands.setValues(_highlightLinkedViewports=False)
odb = session.odbs[os.getcwd() + '/' + 'Hotforging1.odb']
session.xyDataListFromField(odb=odb, outputPosition=INTEGRATION_POINT,
variable=(('HFL', INTEGRATION_POINT),
('LE', INTEGRATION_POINT),
('PE', INTEGRATION_POINT),
('S', INTEGRATION_POINT),),
elementPick=(('HBEAM-1', 4, ('[#0:15 #800 #0:3 #40000000 #900000 ]',)),), )我知道问题在于xyDataListFromField函数,但我不知道如何解决它。
发布于 2021-12-19 11:13:15
xyDataListFromField方法的元素输入是错误的。我想,输入'[#0:15 #800 #0:3 #40000000 #900000 ]',您一定是从getSequenceFromMask方法中得到的。此方法的输入是内部的,因此不能在代码中使用它。
无论如何,首先,我没有找到这个方法的elementPick选项。但是,您可以使用的一些替代选项是:elementSets和elementLabels。
这是我从Abaqus脚本参考指南获得的信息:
elementSets
指定元素集的字符串序列或指定单个元素集的字符串。elementLabels
指定模型中每个部件实例的元素标签的表达式序列。每个部件实例元素表达式都是指定部件实例名称和元素表达式序列的字符串序列;例如,(('partInstance1',(1,'7','3:15;3'),), ('partInstance2','8'),)).。
元素表达式可以是以下任何一种:
·指定单个元素标签的Int;例如,1.
指定单个元素标签的字符串;例如,'7'.指定元素标签序列的字符串;例如,'3:5'和'3:15:3'。
我认为,elementSets选项很容易使用,这里只需要提供元素集名称。
https://stackoverflow.com/questions/70398551
复制相似问题