-
How to do a batch job in CUBIT
- cubit, python, windows
- cubit, python, windows
Windowsで、CUBITのバッチジョブを行なうには、以下のsample.batのようにコマンドを記述してください。
この例では、CUBITは、batch_pythonscript.pyに記述した内容を読み込みバッチモードでグラフィックをオフにした状態で実行されます。
このbatch_pythonscript.pyは、ファイルを読み込み,情報を出力するプロセスを最後に行いたいのであれば,添付のスクリプトのような
簡単な処理を記述します。
sample.bat |
“C:\Program Files\Coreform Cubit 2021.5\bin\coreform_cubit.com” -batch -noecho -nographics -nojournal -information off batch_pythonscript.py > nul |
batch_pythonscript.py |
#!python import cubit cubit.cmd(‘brick x 10 ‘)
with open(“info.csv”,”w”) as f: vertex_id_list = cubit.get_entities(“vertex”) for index, id in enumerate(vertex_id_list): if index is 0: f.write(‘Vertex ID,x,y,z\n’) vc=cubit.vertex(id).coordinates() f.write(‘{0},{1},{2},{3}\n’.format(id,vc[0], vc[1],vc[2])) curve_id_list = cubit.get_entities(“curve”) for index, id in enumerate(curve_id_list): if index is 0: f.write(‘Curve ID,length,Vertex 1,Vertex 2\n’) length = cubit.get_curve_length(id) vertex_ids = cubit.get_relatives(“curve”, id, “vertex”) f.write(‘{0},{1},{2},{3}\n’.format(id,length, vertex_ids[0],vertex_ids[1]))
vertex_id_list = cubit.get_entities(“vertex”) for index, id in enumerate(vertex_id_list): if index is 0: print (‘Vertex ID\tx\ty\tz’) vc=cubit.vertex(id).coordinates() print (‘{0}\t{1}\t{2}\t{3}’.format(id,vc[0], vc[1],vc[2]))
curve_id_list = cubit.get_entities(“curve”) for index, id in enumerate(curve_id_list): if index is 0: print (‘Curve ID\tlength\tVertex 1\tVertex 2’) length = cubit.get_curve_length(id) vertex_ids = cubit.get_relatives(“curve”, id, “vertex”) print (‘{0}\t{1}\t{2}\t{3}’.format(id,length, vertex_ids[0],vertex_ids[1]))
cubit.cmd(‘save as “info.cub” overwrite’) |