画布对象;找到 PartInstance,期待 Abaqus/CAE 中的元组
canvasObjects; found PartInstance, expecting tuple in Abaqus/CAE
我正在开发一个 Abaqus/CAE 插件,在这个插件中我使用的是 gui 工具包,我有一个使用 PickStep 的按钮,单击该按钮我可以 select 视口中的一个 PartInstance。
然后我想将 selected PartInstance 导出到 .obj 文件,但是当我尝试它时,abaqus 显示错误。
这是我的 PICK BUTTON 示例:
# PICK BUTTON 1
pickHf = FXHorizontalFrame(p=col2, opts=0, x=0, y=0, w=0, h=0, pl=0, pr=0, pt=0, pb=0, hs=DEFAULT_SPACING,
vs=DEFAULT_SPACING)
# Note: Set the selector to indicate that this widget should not be
# colored differently from its parent when the 'Color layout managers'
# button is checked in the RSG Dialog Builder dialog.
pickHf.setSelector(99)
label1 = FXLabel(p=pickHf, text='' + ' (None)', ic=None, opts=LAYOUT_CENTER_Y | JUSTIFY_LEFT)
pickHandler1 = DBPickHandler(form, form.uper, 'Select a 3D, discrete and dependent meshed instance', INSTANCES,
1, label1)
icon = afxGetIcon('select', AFX_ICON_SMALL)
FXButton(p=pickHf, text='\tPick Items in Viewport', ic=icon, tgt=pickHandler1, sel=AFXMode.ID_ACTIVATE,
opts=BUTTON_NORMAL | LAYOUT_CENTER_Y, x=0, y=0, w=0, h=0, pl=2, pr=2, pt=1, pb=1)
我将值保存在 ObjectKeyword 中:
self.uper = AFXObjectKeyword(self.cmd, 'uper', True, pickedDefault)
这就是我将 PartInstance 导出到 .obj 的方式:
print 'Uper - ' + uper[0].name
f.write('Uper - '+uper[0].name+'\n')
session.writeOBJFile(fileName='C:/temp/Uper.obj', canvasObjects=(uper[0]))
显示和错误,我也试过这个:
print 'Fixed - ' + fixed[0].name
f.write(fixed[0].name+'\n')
fixedobj = open('Fixed.obj', 'w')
pickle.dump(fixed[0], fixedobj)
fixedobj.close()
但这也行不通。
我收到这个错误:
canvasObjects;找到 PartInstance,期待元组
会帮助你。在调用 session.writeOBJFile
时,您正在尝试为 canvasObjects
参数创建一个单元素元组。简单地将项目包装在括号中不会实现这一点。您需要添加一个逗号使其成为一个元组:
session.writeOBJFile(fileName='C:/temp/Uper.obj', canvasObjects=(uper[0],))
Abaqus 文档是这样说的 canvasObjects
:
canvasObjects
A sequence of canvas objects to export.
我不确定 PartInstance
是否被视为 canvas 对象,但即使将参数更正为元组,您仍然可能遇到问题。如果是这样,请确保元组的项目是正确的 canvas 个对象。
我正在开发一个 Abaqus/CAE 插件,在这个插件中我使用的是 gui 工具包,我有一个使用 PickStep 的按钮,单击该按钮我可以 select 视口中的一个 PartInstance。
然后我想将 selected PartInstance 导出到 .obj 文件,但是当我尝试它时,abaqus 显示错误。
这是我的 PICK BUTTON 示例:
# PICK BUTTON 1
pickHf = FXHorizontalFrame(p=col2, opts=0, x=0, y=0, w=0, h=0, pl=0, pr=0, pt=0, pb=0, hs=DEFAULT_SPACING,
vs=DEFAULT_SPACING)
# Note: Set the selector to indicate that this widget should not be
# colored differently from its parent when the 'Color layout managers'
# button is checked in the RSG Dialog Builder dialog.
pickHf.setSelector(99)
label1 = FXLabel(p=pickHf, text='' + ' (None)', ic=None, opts=LAYOUT_CENTER_Y | JUSTIFY_LEFT)
pickHandler1 = DBPickHandler(form, form.uper, 'Select a 3D, discrete and dependent meshed instance', INSTANCES,
1, label1)
icon = afxGetIcon('select', AFX_ICON_SMALL)
FXButton(p=pickHf, text='\tPick Items in Viewport', ic=icon, tgt=pickHandler1, sel=AFXMode.ID_ACTIVATE,
opts=BUTTON_NORMAL | LAYOUT_CENTER_Y, x=0, y=0, w=0, h=0, pl=2, pr=2, pt=1, pb=1)
我将值保存在 ObjectKeyword 中:
self.uper = AFXObjectKeyword(self.cmd, 'uper', True, pickedDefault)
这就是我将 PartInstance 导出到 .obj 的方式:
print 'Uper - ' + uper[0].name
f.write('Uper - '+uper[0].name+'\n')
session.writeOBJFile(fileName='C:/temp/Uper.obj', canvasObjects=(uper[0]))
显示和错误,我也试过这个:
print 'Fixed - ' + fixed[0].name
f.write(fixed[0].name+'\n')
fixedobj = open('Fixed.obj', 'w')
pickle.dump(fixed[0], fixedobj)
fixedobj.close()
但这也行不通。
我收到这个错误:
canvasObjects;找到 PartInstance,期待元组
session.writeOBJFile
时,您正在尝试为 canvasObjects
参数创建一个单元素元组。简单地将项目包装在括号中不会实现这一点。您需要添加一个逗号使其成为一个元组:
session.writeOBJFile(fileName='C:/temp/Uper.obj', canvasObjects=(uper[0],))
Abaqus 文档是这样说的 canvasObjects
:
canvasObjects
A sequence of canvas objects to export.
我不确定 PartInstance
是否被视为 canvas 对象,但即使将参数更正为元组,您仍然可能遇到问题。如果是这样,请确保元组的项目是正确的 canvas 个对象。