Moldex3D Studio API機能を体験

コアテックシステム技術サポート部シニアエンジニア・蕭乃仁

Moldex3D Studio APIの概要

API(Application Programming Interface)は、例えばレストランのホールスタッフ(給仕係)が客の注文を厨房に伝えるようなもので、リクエスト(Request)とレスポンス(Response)を伝達する役割を果たしています。Moldex3D Studio APIは、COM(Component Object Model)の技術を利用し、APIを定義して提供しています。COMオブジェクトは、C#、Pythonなど、さまざまなプログラミング言語を利用して取得できます。外部プログラムがStudioアプリケーションのCOMオブジェクトを取得すると、Studio APIを呼び出して操作を行えます。

Moldex3D Studio APIは、各機能の操作をパラメータ化してつなぎ合わせ、自動化および標準化の設計フローに組み入れます。このレポートでは、充填時間を利用して行う充填圧力の最適化を例として取り上げ、UI上でクリックを繰り返して操作していた機能を1回のクリックで実行できるようにするための解析ツールを紹介しています。


図1 レストランのホールスタッフのようにリクエストとレスポンスを伝達する役割を果たすAPI

セクション1 – Moldex3D Studio 2023 APIはプログラムのインストールが必要

APIツールを使用してMoldex3D Studioの機能を操作するためには、次のプログラムをインストールする必要があります。

  • Moldex3D Studio 2023
  • Python(範例およびヘルプで使用。習熟後はほかの対応するプログラミング言語も使用可)
  • Visual Studio code(コードエディタのインストールを推奨)

インストール方法につきましては、セクション3の参考サイトも併せてご確認ください。Moldex3D Studio APIの使用法を効率的に習得するため、このレポートで使用するデータをこちらからダウンロードしてください。なおデータの内容は次のとおりです。

  • 参考用の初期解析Runに使用するモデリングデータ(パート、ランナーモデルおよび材料ファイル)
  • このレポートで使用する解析作業パス
  • このレポートで使用するAPIコード
  • 上記範例の概要(Readme_EN/CH)

図2 範例データ

セクション2 – 範例(最小射出圧力の指定)

範例にあるPython_Codeフォルダの中から、Find Minimum Injection Pressure.pyを起動させます。このレポートにおいて例示するシチュエーションは次のとおりです。

  • Moldex3D IMプロジェクトにおいて、製品に関するプロセス条件およびその他の解析設定の設定が完了しています。(範例データフォルダ内のOriginal_Input_Data)
  • ただし、特定のレンジにおいて充填時間の調整(5~10秒)を行う場合は、VP切替位置の射出圧力を確認します。(範例データフォルダ内のWorking _Folder)
  • その中から射出圧力の値が一番小さいものを特定し、最適化後の充填時間の参考とします。(速すぎるとせん断応力が過大になり、遅すぎると溶融樹脂が冷却されます)

python code.py(下の画像の「Run python file」)を実行し、それぞれの異なるAPI機能を自動的に順番に呼び出して下記の作業を完成させ、目標を達成します。


図3 pythonのAPIを実行
  • Studio APIを呼び出した後、Original_Input_Dataに定義した参考モデルデータを読み取ります。
  • API_Working_Folder内に新しいプロジェクトを作成し、読み取ったデータを利用してRun1を作成し、パートおよびランナーのモデルを作成します。
  • サーフェス・ソリッドメッシュの生成、材料ファイルのインポートおよびデフォルトの成形条件の設定を行ってから、その充填時間(=0.5s)を指定します。
  • 同一プロジェクトにおいてRun2~9の解析Runにコピーし、充填時間を異なる数値(~10 sec)に変更します。
  • 10組の充填時間が異なるRun(図3)が作成されると、直接コンピューティングマネージャーに引き渡して解析を行います。
  • すべてのランの解析が完了すると、API_Working_Folder内にログファイルを作成し、VP切替位置において必要な射出圧力を各Runごとに読み取り、すべてのRunの中で必要な射出圧力が一番小さいRunを特定します(図4)

以上でコード内のすべてのAPI機能の実行が完了します。ログファイルを開くと、パラメータと結果をRunごとに確認でき、一番小さいVP切替圧力に対応する最適な充填時間設定を取得できます。

図4 充填時間が異なるRunを順番に作成してから引き渡し・解析を行い、ログファイルで結果を読み取る

セクション3 – マニュアル設定および運用するAPI機能の比較:

下記(1)-(10)までの作業をAPIを用いて実行:

(1)プロジェクトを作成してCADを新しいRunにインポート
(2)メッシュモデルを作成
(3)材料ファイルをインポート
(4)成形条件を設定して充填時間を0.5 secに調整
(5)Runをコピーして充填時間を変更
(6)作業(5)を8回繰り返す。
(7)プロジェクトをコンピューティングマネージャーに引き渡す。
(8)解析終了まで待機
(9)充填圧力の結果をRunごとに読み取る
(10)データとして整理し、最適設定を特定

APIスクリプトを作成することで、これらすべての作業をワンクリックで行えます。

作業が1回限りのものであるならば、Studioを利用してGUI上で手作業で行ったほうが素早く手軽に実行できるかもしれません。しかし、Simulation Driven Designの標準化フローにおいて、作業が大量に繰り返し行われる場合、変数設定および実行に多くの時間が必要になるため、APIを利用した自動化機能は必要不可欠になります。

注:Moldex3D 2023以降、新たにScript Wizardの機能に対応し、ユーザーが設けたAPI機能をStudio UIに取り込めるようになりました。この機能は全てのAPI機能に対応しているわけではありませんが、今後Moldex3Dにおいて一層興味深い機能がリリースされることをご期待ください。

参考 – pythonコードの自作

以上は一例です。APIコードを自作してインストールされる場合の手法につきましては、次のウェブサイトをご参照ください。

http://support.moldex3d.com/2023/api/index.html
https://www.python.org/
https://visualstudio.microsoft.com/


TAGS: 

Test drive Moldex3D

Join the thousands of companies using Moldex3D

Talk to Sales

Schedule a product demo with our sales team