- 积分
- 0
- 注册时间
- 2009-2-13
- 仿真币
-
- 最后登录
- 1970-1-1
|
因为在property中的section步中需要用到之前定义的material,所以需要在sectionDB中设置一个AFXCombobox,下拉框内容为之前输入的material名称,但是当我编写gui时,出现一个问题,到某一行后无论写任何东西,编译的时候都显示出错,请教高手到底是什么错误,程序如下:
from abaqusGui import *
###########################################################################
# Class definition
###########################################################################
class SectionDB(AFXDataDialog):
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[
ID_MATERIAL,
] = range(AFXDataDialog.ID_LAST, AFXDataDialog.ID_LAST+1)
def __init__(self, form):
self.form = form
# Construct the base class.
#
AFXDataDialog.__init__(self, form, 'Create Section', self.OK|self.CANCEL)
FXMAPFUNC(self, SEL_COMMAND, self.ID_MATERIAL, SectionDB.onMaterialsChanged)
hf = FXHorizontalFrame(self, LAYOUT_FILL_X, 0,0,0,0, 0,0,0,0)
gb = FXGroupBox(hf, 'Parameters', LAYOUT_FILL_Y|FRAME_GROOVE)
va = AFXVerticalAligner(gb)
AFXTextField(va, 12, 'Name:', form.nameKw, 0)
AFXTextField(va, 12, 'Radius:', form.radiusKw, 0)
AFXTextField(va, 12, 'Thickness:', form.thicknessKw, 0)
comboBox = AFXComboBox(va, 0,3, 'Material:')
self.onMaterialsChanged(self.ID_MATERIAL, self, self)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def onMaterialsChanged(self, sender, sel, ptr):
from kernelAccess import mdb
mats=mdb.models['Model-1'].materials.keys()
if len(mats)>0:
for materialName in materialsel:
comboBox.appendItem(materialName)
就是写到上面mats=mdb.models['Model-1'].materials.keys()这一行的下一行时,无论写什么东西,在abaqus命令行运行时都显示有syntaxError:invalid syntax,请大牛帮忙解决下 |
|