• How to do a batch job in CUBIT
    • 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’)