第8回 Autdoesk Simulation Moldflow ライブヘルプ 効率化への第⼀歩、APIツールの知識 © 2014 Autodesk Moldflow “ライブ ヘルプ”セッションの目的 Web会議システムによる、気軽に参加いただく1時間のサポートセッション テクニカルサポート 電話サポート Webメールサポート FAQサイト フォーラム 開発部門へ製品不具合 をレポート ユーザ様固有の問題を迅 速に解決 © 2014 Autodesk ライブ ヘルプ 1. ASUGを通じて、多くのユーザ様 を直接ヘルプできる 2. 直接フィードバックを頂くことが できる(Q&Aセッション) 3. テクニカルサポートから積極的な 情報発信ができる 4. セッションの録画を全ユーザ様へ 公開 忙しくてセミナー、トレーニングに出張 が難しいユーザ様にもお勧めです! まずはじめに プロセス設定で複数の⼊⼒値を1つ1つ⼊⼒したとき、 未⼊⼒・誤⼊⼒をした経験はありませんか? 複数の異なる形状のモデルを同⼀条件で解析したとき、 同じ設定⼊⼒が毎回⾯倒に思ったことはありませんか? もし、APIについてまったく知らないようでしたら、 ここで紹介するAPIの基礎的な知識で誤⼊⼒の防⽌、 操作時間の短縮、または社内基準の共有ができるかもしれません。 © 2014 Autodesk 本日のトピック アプリケーション プログラミング インターフェース(API) APIの概要 APIの制限 APIの基礎知識 APIツールの活用 コマンドライン マクロ記録と再生 マクロを活⽤した短縮作業の例 お役⽴ちAPIのオープンソースを紹介! 本日のQ&A © 2014 Autodesk 本日のトピック アプリケーション プログラミング インターフェース(API) APIの概要 APIの制限 APIの基礎知識 APIツールの活用 コマンドライン マクロ記録と再生 マクロを活⽤した短縮作業の例 お役⽴ちAPIのオープンソースを紹介! 本日のQ&A © 2014 Autodesk APIってなに? API - Application Programming Interface (アプリケーション プログラミング インターフェース) Object Linking and Embedding (OLE) プログラミング インターフェース 外部のアプリケーションソフトで作成した情報をMoldflowに適用したり、 外部のアプリケーションソフトの機能をあたかもMoldflowの機能 であるかのように提供 例えば 例えば 一連の操作を自動化 より自由な設定、設計 表計算ソフト スクリプト © 2014 Autodesk APIってなに? API - Application Programming Interface (アプリケーション プログラミング インターフェース) 実⾏する命令を順番に記述 プログラムの記述には、プログラム言語(開発言語) を使用 このままでは難易度が⾼く⼿間がかかる OSやミドルウェアに予め備わっているコマンドのパッケージを利用 “シンプルにプログラミングできるように設定されたインターフェース” © 2014 Autodesk もっとわかりやすく・・ 作業は パズル のようなものです 様々な形のパズルから必要なパズルを探してきて ルール通りにパズルの ピース をつなげる作業が プログラミング、APIコマンドの作成です 利⽤する前にまずは何を⾏いたいか目的を明確にする必要がある © 2014 Autodesk APIの範囲は広くて深い シンプルなマクロ 外部ソフトとの インテグレーション ・ ・ ・ ⾼度なプログラミングや カスタマイズ © 2014 Autodesk 今回の目的と範囲 まずは比較的浅い部分 基礎的な理解や、 簡単な自動化ができる この範囲でどのように業務に役⽴つの? 例えば マクロ機能で簡単な繰り返し作業を自動化 誤⼊⼒の防止、操作時間の短縮 © 2014 Autodesk 本日のトピック アプリケーション プログラミング インターフェース(API) APIの概要 APIの制限 APIの基礎知識 APIツールの活用 コマンドライン マクロ記録と再生 マクロを活⽤した短縮作業の例 お役⽴ちAPIのオープンソースを紹介! 本日のQ&A © 2014 Autodesk MoldflowのAPIの制限 APIでサポートされていない機能 APIでサポートされている機能の範囲 http://help.autodesk.com/view/MFIA/2015/JPN/?url=http://hel p.autodesk.com/cloudhelp/2015/JPN/MoldflowInsight/files/GUI D-A24F6631-8018-4941-889C-A5262187FDD9.htm © 2014 Autodesk + ※詳細はヘルプを参照 マクロ記録では サポートされていない機能 APIのプロダクトサポートへのお問い合わせについて API のサポートは Advanced (アドバンス契約) 以上のみ サポート対象外 受託でのプログラミングやカスタマイズのレベル 例: 「こういう機能をAPIでできますか?」 受託でのコードデバッキングのレベル 例: 問題やデータが簡略化されていないものからの問題抽出 関数やプログラミング手法の説明やトレーニングのレベル © 2014 Autodesk APIのプロダクトサポートへのお問い合わせについて サポート対象 関数やクラス(定義)のレベルまで問題点が絞り込まれている 現象が再現できる最小限の具体的なサンプルデータ (スプリプト) が添付されている 望ましいお問い合わせの⽅法(例) ご質問内容 マクロで溶融密度をテキストで出⼒しようとすると、溶融密度に相当する MaterialData.FieldValues(1000) の オブジェクトがない旨のエラーとなります。(固体密度 MaterialData.FieldValues(1001) は問題なく出⼒できます。) こちらはソフトウェアの不具合でしょうか? 回避方法はありますか? 再現手順 1. Syerngy で任意のモデルを開きます 。 2. 添付の 中の GetDensity.vbs マクロをリボンUIの [ツール] タブ、[マクロの再生] から実⾏します。 一つ目に表⽰される数値は固体密度です。 (問題なし) その後溶融密度の出⼒時に以下のWindows Script Hostエラーが出⼒されます。(こちらが問題) エラー: © 2014 Autodesk オブジェクトがありません。:'MaterialData.FieldValues(...)' 本日のトピック アプリケーション プログラミング インターフェース(API) APIの概要 APIの制限 APIの基礎知識 APIツールの活用 コマンドライン マクロ記録と再生 マクロを活⽤した短縮作業の例 お役⽴ちAPIのオープンソースを紹介! 本日のQ&A © 2014 Autodesk APIの基礎知識 外部ソフトの操作 Moldflow 内の操作 エクセル ノートパッド等 マクロ記録 マクロ再生 コマンドライン こちらの詳細は後でご説明します © 2014 Autodesk VBScript APIの基礎知識 VB(Visual Basic)スクリプト Visual Basic言語のようなWindows のスクリプト言語 拡張子は.VBS Moldflowの「マクロ記録」のデフォルト言語 VBスクリプトは、MoldflowのAPIと通信するための 最も効率的で習得しやすい⾔語の一つ © 2014 Autodesk APIの基礎知識 API リファレンス(参照) プログラミングの例や クラス(定義)が記載 ※英語のみ © 2014 Autodesk APIの基礎知識 Tcode リファレンス(参照) © 2014 Autodesk Moldflowの特定のソルバー、 プロセス設定、モデリングに対応した ID番号を記載 APIの基礎知識 Tcode リファレンス(参照) 例:保圧(保圧VS時間)プロファイルの⼊⼒ プロファイルの⼊⼒値 対応するID番号(tcode) © 2014 Autodesk VBスクリプトの練習 1. ノートパッドを開く 2. 以下のコードをノートパッドに⼊⼒し、livehelp1.vbsとして保存 として保存 3. VBSファイルをダブルクリックで実⾏ Answer = MsgBox(“LiveHelp OK/キャンセル テスト",1,"MsgBox テスト") If Answer = 1 then MsgBox "OKを押しました" If Answer = 2 then MsgBox "キャンセルを押しました" VBスクリプトに関してはオンライン上に 多くのリファレンスがあり、学習しやすい! © 2014 Autodesk 本日のトピック アプリケーション プログラミング インターフェース(API) APIの概要 APIの制限 APIの基礎知識 APIツールの活用 コマンドライン マクロ記録と再生 マクロを活⽤した短縮作業の例 お役⽴ちAPIのオープンソースを紹介! 本日のQ&A © 2014 Autodesk コマンドライン APIを使った作業スタート向けで 比較的簡単な方法 コマンドから一般的なタスクを実⾏ 特定のタスクや一連のタスクを 実⾏するためのマクロを実⾏ コマンドラインは1インターフェス (Synergy)でのみ使用可能 ※2つ目に開いたSynergyでは 使用できません © 2014 Autodesk 代表的なデフォルトコマンド(バージョン 2015) ALIGN CALC DELN DELP DM DR DT EDTN FLATNESS FOR HCP HELP PAUSE PO MA MERGE © 2014 Autodesk 2つのノードで定義された線に沿ってノードを整列 ファイルや存在している結果を元にデータを使って結果生成 指定したノードを削除 指定したノードを削除 表示を拡大(もしくは縮小) 表示の回転 表示の移動 別の位置へノードを移動 選択したノードの反り後の平⾯度を計算 指定した要素、またはすべての要素の向きを反転 ファイルまたはプリンターへアクティブな画面ウィンドを印刷 すべてのコマンドのヘルプを起動 指定した秒数で一時停止 現存しているノード番号の次の番号でノードを作成 デフォルト設定でモデルをメッシュ 指定したノード上に選択したノードをマージ コマンドラインの実⾏ ※動画を参照して下さい © 2014 Autodesk コマンドヘルプ コマンドラインに「help コマンド名」を 記入することで、デフォルトコマンドの Description(説明), Syntax, Parameters, Notes(注記) を表示 SyntaxとParametersって? © 2014 Autodesk 例 help po を実⾏ ※英語のみ Syntaxと Parameters Syntaxはコマンドの構文規則です。 もし[]の記載があったら、その中の項目の⼊⼒は任意です。 例えば、 help [<command>] であればhelpのみでも実⾏可能 Parametersはコマンドの⼊⼒値です。 例えば、poコマンドのParametersは <X>,<Y>,<Z> これはグローバル座標(x,y,z)上のノード座標値を記入 © 2014 Autodesk もう⼀度 po のコマンドヘルプを確認 Description: 現存しているノード番号の次の番号で ノードを作成 SYNTAX: Po <X> [<Y>[<Z>]] (この⼊⼒は任意) PARAMETERS: <X> <Y> <Z> グローバル座標系のノード座標を記入 Notes : 指定していない座標は0とされる © 2014 Autodesk poコマンドの実⾏ ※動画を参照して下さい © 2014 Autodesk 本日のトピック アプリケーション プログラミング インターフェース(API) APIの概要 APIの制限 APIの基礎知識 APIツールの活用 コマンドライン マクロ記録と再生 マクロを活⽤した短縮作業の例 お役⽴ちAPIのオープンソースを紹介! 本日のQ&A © 2014 Autodesk マクロ記録 Moldflow内でユーザーの操作を記録 マクロも1インターフェス(Synergy) でのみ使用可能 マクロはVBSファイルとして保存できる 記録を停止 マクロはプロジェクトファイル ¥commandsフォルダに入れることで コマンドラインでアクセスできる ※すべてを記録できるわけではないことに注意! © 2014 Autodesk マクロ再生 マクロが実⾏される! VBSファイル(*.vbs)を選択し、開く 「マクロの割り当て」で複数のマクロを 速やかにアクセスができる(最大10種) © 2014 Autodesk プログラミングのワークフロー スクリプトで何をしたいかを決定 スクリプトの概要を取得するためにマクロの記録を活用 テキストエディタ(ワードパッドなど)を使ってマクロを編集 APIリファレンス、Tcodeリファレンスから編集箇所や構文を参照 他のスクリプトやサンプルを部分的に流⽤ マクロをcommandsフォルダに移動し、バグが無いかをテスト © 2014 Autodesk 補足:デバッキング (1) (2) (3) (4) (5) (6) (7) Set Synergy = CreateObject ("synergy.Synergy") Set Viewer = Synergy.Viewer() Set Plot = Viewer.GetActivePlot( ' ---- Check whether plot is active If Plot Is Nothing Then 閉じカッコの記載漏れ . . . . . . ※サポートではデバッキングは⾏いません © 2014 Autodesk 本日のトピック アプリケーション プログラミング インターフェース(API) APIの概要 APIの制限 APIの基礎知識 APIツールの活用 コマンドライン マクロ記録と再生 マクロを活⽤した短縮作業の例 お役⽴ちAPIのオープンソースを紹介! 本日のQ&A © 2014 Autodesk マクロを使った中間結果出⼒の「指定時間での書き込み」の⼊⼒ 非常に細かいアニメーションフレームや 特定の時間ステップ数がほしい場合、 中間結果の「指定時間での書き込み」の 編集が必要になる しかし・・ 非常に細かな間隔で時間ステップを 書き込むのは時間がかかる マクロと表計算ソフトを使って⼊⼒時間の短縮 © 2014 Autodesk マクロを使った中間結果出⼒の「指定時間での書き込み」の⼊⼒ 1. 数ステップ(s)を書き込むマクロを記録 ①マクロ記録を開始 ③その後「記録停止」、 VBSファイルを保存 © 2014 Autodesk プロセス設定>アドバンスオプション> ソルバーパラメータの編集>指定時間で の書き込み>時間の編集 ②0.01と0.02を ⼊⼒し、「OK」 マクロを使った中間結果出⼒の「指定時間での書き込み」の⼊⼒ 2. VBSファイルを確認 保存したファイルをノートパッドで開き、 “DVec.AddDouble” ラインを確認 © 2014 Autodesk マクロを使った中間結果出⼒の「指定時間での書き込み」の⼊⼒ 3. 表計算ソフトで一定時間間隔のリストを作成 “DVec.AddDouble”を追加 © 2014 Autodesk マクロを使った「指定時間での書き込み」中間結果の⼊⼒ 4. VBSファイルをノートパッドで編集 表計算ソフトで作成したリストをコピー&ペースト © 2014 Autodesk マクロを使った中間結果出⼒の「指定時間での書き込み」の⼊⼒ 5. マクロの「再生」 保存したVBSファイルを再生 © 2014 Autodesk 本日のトピック アプリケーション プログラミング インターフェース(API) APIの概要 APIの制限 APIの基礎知識 APIツールの活用 コマンドライン マクロ記録と再生 マクロを活⽤した短縮作業の例 お役⽴ちAPIのオープンソースを紹介! 本日のQ&A © 2014 Autodesk Moldflow API オープンソースを紹介 その1 Moldflowヘルプに「APIの例」としてサンプルが記載 http://help.autodesk.com/view/MFIA/2015/JPN/?url=http://help.autodesk.com/cloudhelp/2015/JPN/Mo ldflowInsight/files/GUID-5BD9BA33-873E-4527-BBDB-3DD16FF64C90.htm © 2014 Autodesk Moldflow API オープンソースを紹介 例:カスタマイズされたアスペクト⽐ メッシュ品質をグラフィカルに表示 Communicatorでメッシュ品質を共有 © 2014 Autodesk Moldflow API オープンソースを紹介 その2 公式のMoldflowブログでAPIを紹介 http://autodesk.typepad.com/beyondmoldflowinsight/ サイト内検索で APIかMacroで検索 ※英語のサイトです © 2014 Autodesk Moldflow API オープンソースを紹介 例:3D [XYプロットのプローブ]:新規スタディで比較のために プロットを再編成させる方法 [XYプロットのプローブ] 成形品表面を選択し、 その肉厚方向の分布をプロット として表示 肉厚方向 ノードや要素を選択するのではなく、表面の位置を自由選択 複数スタディの比較でプロット位置を合わせることが難しい © 2014 Autodesk Moldflow API オープンソースを紹介 スタディA(3Dメッシュ) XYプロットのプローブ結果を使用 新しいスタディB(3Dメッシュ) 設計変更、メッシュ変更モデル 1.スタディAでXYプロットのプローブ結果を作成 2.成形品表面を選択せずに、 XYプロットのプローブ結果を非表示 3.マクロ記録を実⾏ 4. XYプロットのプローブを再び表示し、成形品表面を選択 5. 記録停止、vbsファイルを保存 6. スタディBを開き、 XYプロットのプローブ結果を作成 7. マクロ再生 成形品表面を選択する作業のみマクロを作成 ※両スタディにおけるXYプロットのプローブの結果名前が同じである必要があります。 © 2014 Autodesk 本日のトピック アプリケーション プログラミング インターフェース(API) APIの概要 APIの制限 APIの基礎知識 APIツールの活用 コマンドライン マクロ記録と再生 マクロを活⽤した短縮作業の例 お役⽴ちAPIのオープンソースを紹介! 本日のQ&A © 2014 Autodesk © 2014 Autodesk © 2014 Autodesk, Inc. All rights reserved.
© Copyright 2024 ExpyDoc