canvasObjects;在Abaqus/CAE中找到PartInstance,需要tuple

2024-09-29 21:46:53 发布

您现在位置:Python中文网/ 问答频道 /正文

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

然后我想将所选的PartInstance导出到一个.obj文件,但是当我尝试时,abaqus显示一个错误。你知道吗

这是我的选择按钮的一个示例:

        # 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,应为tuple


Tags: thename插件obj错误button按钮fixed
1条回答
网友
1楼 · 发布于 2024-09-29 21:46:53

This answer会帮你的。在调用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对象,但即使将参数更正为元组,您仍然可能会遇到问题。如果是这样,请确保元组的项是正确的画布对象。你知道吗

相关问题 更多 >

    热门问题