Python スクリプトの使用

2019年1月26日

はじめに

Python スクリプトの使用について。

使用バージョン

Salome-Meca 2018.0.1 (Salome 8.5.0)

Python スクリプトの使用

Salome は Python で操作することができる (マニュアルにサンプルあり)。画面下のコンソールで実行できる。

ボックスを作ってみる。新しいドキュメントを作り、Geometry モジュールを起動して、以下のように入力する。

from salome.geom import geomBuilder
geompy = geomBuilder.New(salome.myStudy)

gg = salome.ImportComponentGUI('GEOM')

box = geompy.MakeBoxDXDYDZ(1., 1., 1.)
id_box = geompy.addToStudy(box, 'Box')

gg.createAndDisplayGO(id_box)
gg.setDisplayMode(id_box, 2)

メッシュを作ってみる。Mesh モジュールを起動して、以下のように入力する。

from salome.smesh import smeshBuilder
smesh = smeshBuilder.New(salome.myStudy)

mesh = smesh.Mesh(box, 'Mesh')

algo1D = mesh.Segment()
algo1D.NumberOfSegments(10)

algo2D = mesh.Quadrangle()

algo3D = mesh.Hexahedron()

mesh.Compute()

ファイルにして読み込ませることもできる。以下のようなファイル box.py を作る。

import salome
from salome.geom import geomBuilder
from salome.smesh import smeshBuilder

salome.salome_init()

study = salome.myStudy

geompy = geomBuilder.New(study)
smesh = smeshBuilder.New(study)

box = geompy.MakeBoxDXDYDZ(1., 1., 1.)
id_box = geompy.addToStudy(box, 'Box')

mesh = smesh.Mesh(box, 'Mesh')

algo1D = mesh.Segment()
algo1D.NumberOfSegments(10)

algo2D = mesh.Quadrangle()

algo3D = mesh.Hexahedron()

mesh.Compute()
mesh.ExportUNV('box.unv')

salome.myStudyManager.SaveAs('box.hdf', study, False)

study.Close()

新しいドキュメントを作り、メニュー [File]-[Load Script...] で上のファイルを開く。ボックスのメッシュが作られたあと、UNV ファイルが出力され、最後にデータが保存される。

Python スクリプトの自動生成

[File]-[Dump Study...] でスタディの Python スクリプトを書き出すことができる。

GUI なしでのスクリプトの実行

GUI なしでスクリプトを実行することもできる。

サーバーを起動する。

$ salome -t

スクリプトを実行する。

$ salome shell box.py

サーバーの停止する。

$ salome killall

古い