Skip to main content

CAE file format converter (Femap neutral, I-DEAS UNV, ATLAS, ...)

Project description

EMS File Format Converter

このリポジトリは、CAE向けメッシュ/ポストデータの簡易コンバータです。サイエンスソリューションズ社(Science Solutions International Laboratory, Inc.; SSIL)の電磁界解析ソフトウェア「EMSolution」で用いるATLASテキストファイルフォーマット(.atl)、I‑DEAS Universal file format(.unv)、Femap Neutral file format(.neu)の読み書きに対応し、IDや物性番号などのメタデータのラウンドトリップ保存を重視しています。

特長

  • 対応フォーマット: ATLAS(メッシュ・ポスト)、UNV(メッシュ・ポスト)、Femap NEU(メッシュ・ポスト)
  • メタデータ保持: Node ID、Element ID、物性番号(iprop)を可能な限り保持
  • CLI: 単一のCLIから変換・ポスト入出力が可能
  • ユニバーサルパッケージ: OS依存のネイティブ拡張を含まない pure Python パッケージ
  • テスト/CI: pytest 完備、GitHub Actionsで ubuntu-latest / windows-latest の手動CI実行に対応
  • PyPI公開: GitHub Actionsから手動でPyPI公開可能

インストール

事前にPython 3.10以上が必要です。

PyPI からインストールできます。

pip install ems-file-format-converter

Releaseに添付したwhl(Wheel)ファイルからのインストール、またはローカルビルドも可能です。

# 例: ダウンロードしたWHLをインストール
pip install --force-reinstall path\to\ems_file_format_converter-0.1.0-py3-none-any.whl

# ソースからビルドしてWHL作成 → インストール
python -m build
pip install --force-reinstall dist/ems_file_format_converter-0.1.0-py3-none-any.whl

使い方(CLI)

メッシュ変換(入力は拡張子で自動判別、出力形式は拡張子で判別):

ems-file-format-converter mesh_sample.atl out.unv
ems-file-format-converter sample_mesh.unv out.atl

形式を明示的に指定する場合:

ems-file-format-converter mesh_sample.dat out.unv --informat atl --outformat unv

ポストデータの読み書き(モード指定: components|scalar|vector|vector+scalar):

ems-file-format-converter --post-in post_sample.atl --post-out rt_post.atl --post-mode components

--post-mode の意味:

  • components(デフォルト): すべての成分(component1..N)をそのまま出力(部分的に切り捨てない)
  • scalar: component1 のみ出力
  • vector: component1..3 を出力(不足分は 0)
  • vector+scalar: component1..4 を出力(不足分は 0)

対応拡張子:

  • ATLAS: .atl
  • UNV: .unv
  • Femap Neutral: .neu

Python API(例)

from ems_file_format_converter import atlas
mesh = atlas.read_mesh("sample/mesh_sample.atl")
atlas.write_mesh("out.atl", mesh)

steps = atlas.read_post("sample/post_sample.atl")
atlas.write_post("out_post.atl", steps, mode="components")

UNVやFemap NEUも同様に ems_file_format_converter.unv / ems_file_format_converter.femap のモジュールを利用できます。

テスト

pytest -q

GitHub Actions ワークフロー

GitHub Actions の CI and Publish ワークフローは手動実行専用です。pushpull_request では起動しません。

  • GitHub の Actions タブから CI and Publish を選び、Run workflow を実行します。
  • 通常のCI確認では publish_to_pypifalse にします。
  • この場合、ubuntu-latestwindows-latest の両方でテストと python -m build によるビルド確認を行います。
  • 本パッケージはユニバーサルな pure Python パッケージのため、OSごとに別配布物を作るのではなく、互換性確認のために複数OSで検証しています。
  • 配布物(sdistpy3-none-any wheel)はUbuntu上で1回だけ生成し、twine check を実行します。

PyPI 公開

PyPI公開も同じワークフローから手動で行います。

  • あらかじめ v0.5.1 のような v*.*.* 形式のGitタグを作成しておきます。
  • Run workflow 実行時は通常どおりデフォルトブランチから起動します。
  • publish_to_pypitrue にし、release_tagv0.5.1 のようなタグ名を入力して実行します。
  • ワークフローはそのタグをチェックアウトしてビルドし、ビルド済み配布物をPyPIへ公開します。
  • 公開にはPyPI側で GitHub Actions Trusted Publishing の設定が必要です。

ライセンス

MITライセンスです。LICENSE を参照してください。

英語版README

英語版は README_en.md を参照してください。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ems_file_format_converter-0.5.1.tar.gz (28.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ems_file_format_converter-0.5.1-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

Details for the file ems_file_format_converter-0.5.1.tar.gz.

File metadata

File hashes

Hashes for ems_file_format_converter-0.5.1.tar.gz
Algorithm Hash digest
SHA256 18e6fd5638f0d9a9dbb9681e26a406349a9a3468d7d8929b0a0065d7ea07117b
MD5 1fe831e2ac041c8e868374505b1b0ca6
BLAKE2b-256 7eae5be6075c96694de08ca665a28232a774e12029ba91e38555d20bd2849cd2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ems_file_format_converter-0.5.1.tar.gz:

Publisher: cli.yml on EMSolution-SSIL/ems_file_format_converter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ems_file_format_converter-0.5.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ems_file_format_converter-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f0376f34942307cb8156ec0ff64e3217b47414ce1d839e13a5066f080f25c393
MD5 111cc1cfe804a7328e7230508cea2bba
BLAKE2b-256 bad79f36736fd6de9b30511a1e3c74429b707ec0a11867c156ed21e57d68678f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ems_file_format_converter-0.5.1-py3-none-any.whl:

Publisher: cli.yml on EMSolution-SSIL/ems_file_format_converter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page