私はABAQUSモデルを作成し、ジョブを実行するためのPythonスクリプトを持っています。ABAQUSのPythonスクリプト
は、私は、変数
インデックスの上にループを作成したい= 1:1:4、
4種類のモデルを作成し、各モデルのための4つのジョブを実行します。
モデルは次の行に「モデル1」インスタンスの名前は次のとおりです。ループを作成するには
##-----------------------------------------------------------------------
mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=sqrlen)
##-----------------------------------------------------------------------
次のように、私は、文字列を作成します。
##-----------------------------------------------------------------------
index='1'
modelname='\''+'Model' + index+ '\''
# Square Part is created
mdb.models[modelname].ConstrainedSketch(name='__profile__', sheetSize=sqrlen)
##-------------------------------------------------------------------------
私が実行すると、 ABAQUS内のスクリプト、それはModel1'asは、以下の「言ってエラーを与える:
##-------------------------------------------------------------------------
File "d:/abaqus_working_directory/scripting_example/simulation/scripting_loop.py", line 22, in <module>
mdb.models[modelname].ConstrainedSketch(name='__profile__', sheetSize=sqrlen) #### sqrlen
KeyError: 'Model1'
Exit from main file [Kernel]: d:/abaqus_working_directory/scripting_example/simulation/scripting_loop.py
##-------------------------------------------------------------------------
私はVALUの文字列のモデル名を(使用したいですPythonスクリプトで 'Model-1'を書くのではなく、
mdb.models['Model-1'].ConstrainedSketch(name=....)
mdb.models[modelname].ConstrainedSketch(name=...)
と呼ばれています。
ご協力いただきありがとうございます。
よろしくお願いいたします。 私。
ありがとうございます。 Modelnameは、 'Square'、 'Trapezium-Model'などのようなものにすることができます。基本的な質問は、ModelNameという文字列をコーディングして、Pythonが読むことができるようにする方法です。mdb.model [modelname] .Constrained ~~~。等mdb.model ['Square']。制限された~~~ – gama
@gamaあなたはポイントを逃したと思います。あなたの名前は「何か」にすることはできません。存在する名前でなければならず、必要に応じてハイフンを含めて正しく綴る必要があります。 – agentp