Python 血管对象;在Abaqus/CAE中找到PartInstance,应为元组

Python 血管对象;在Abaqus/CAE中找到PartInstance,应为元组,python,abaqus,Python,Abaqus,我正在开发一个Abaqus/CAE插件,在这个插件中我使用gui工具包,我有一个使用PickStep的按钮,单击该按钮我可以在视口中选择一个PartInstance 然后,我想将所选PartInstance导出到.obj文件,但尝试时,abaqus显示错误 这是“我的拾取”按钮的一个示例: 拾取按钮1 pickHf=FXHorizontalFramep=col2,opts=0,x=0,y=0,w=0,h=0,pl=0,pr=0,pt=0,pb=0,hs=DEFAULT_间距, vs=默认的_间距

我正在开发一个Abaqus/CAE插件,在这个插件中我使用gui工具包,我有一个使用PickStep的按钮,单击该按钮我可以在视口中选择一个PartInstance

然后,我想将所选PartInstance导出到.obj文件,但尝试时,abaqus显示错误

这是“我的拾取”按钮的一个示例:

拾取按钮1 pickHf=FXHorizontalFramep=col2,opts=0,x=0,y=0,w=0,h=0,pl=0,pr=0,pt=0,pb=0,hs=DEFAULT_间距, vs=默认的_间距 注意:设置选择器以指示此小部件不应 使用“颜色布局管理器”时,颜色与其父级不同 按钮在RSG对话框生成器对话框中被选中。 pickHf.SetSelector 99 label1=FXLabelp=pickHf,text=+'None',ic=None,opts=LAYOUT_CENTER_Y|JUSTIFY_LEFT pickHandler1=DBPickHandlerform,form.uper,“选择一个三维、离散和相关的网格实例”,实例, 1,标签1 icon=afxGetIcon'select',AFX_icon_SMALL FXButtonp=pickHf,text='\t单击视口中的项目',ic=icon,tgt=pickHandler1,sel=AFXMode.ID\u激活, 选项=按钮正常布局中心Y,x=0,Y=0,w=0,h=0,pl=2,pr=2,pt=1,pb=1 我将值保存在ObjectKeyword中:

self.uper=AFXObjectKeywordself.cmd,“uper”,True,pickedDefault 这是我将PartInstance导出到.obj的方式:

打印“Uper-”+Uper[0]。名称 f、 写入'Uper-'+Uper[0]。名称+'\n' session.writeObjFileFileFileName='C:/temp/Uper.obj',canvasObjects=Uper[0] 显示错误,我还尝试了以下方法:

打印“固定-”+固定[0]。名称 f、 writefixed[0]。名称+'\n' fixedbj=open'Fixed.obj','w' pickle.dumpfixed[0],fixedobj 修好了 但这也不起作用

我得到这个错误: 血管对象;已找到PartInstance,希望元组将对您有所帮助。在调用session.writeOBJFile时,您正在尝试为canvasObjects参数创建一个单元素元组。简单地将项目用括号括起来无法实现这一点。您需要添加逗号使其成为元组:

session.writeOBJFile(fileName='C:/temp/Uper.obj', canvasObjects=(uper[0],))
Abaqus文档对canvasObjects进行了如下描述:

血管对象

要导出的画布对象序列


我不确定PartInstance是否被视为canvas对象,但即使将参数更正为元组,也可能存在问题。如果是这样,请确保元组中的项是正确的画布对象。

您是否使用Abaqus PDE进行插件开发?我只是喜欢古玩,因为我自己也在从事类似的工作。