Design Automation API でコアエンジンの動作を定義する Activity では、コア エンジンをどう起動するか、起動後にどのドキュメントを開くか、どのスクリプトを実行するかなどを、コマンドライン("commandLine" 属性)を使用して指定することになります。ご参考まで、API ドキュメントの このセクションで、Activity について詳しく説明しています。
次の例は、一般的な "commandLine" 属性値です。コアエンジンにパスを渡していることに注意してください。次に、起動時にロードするドキュメント(ファイル)、AppBundle、実行するスクリプト文字列を渡しています。
$(engine.path)\InventorCoreConsole.exe /i $(args[InventorDoc].path) /al $(appbundles[SomeApp].path) /s $(settings[script].path)
このように、Design Automation API を利用する Forge アプリの実際の処理は、コアエンジンにドキュメント - 3D モデル、または 2D 図面などのデザイン ファイルへのパス(args[].path)と、App Bundle へのパス(appbundles[].path)の値を提供するところから始まることになります。
パスの値には、スペースやその他の文字が含まれる可能性があり、潜在的に、期待しない文字列がコマンドラインが渡される可能性が懸念されています。 そこで、そのようなシナリオを回避するために、コマンドラインに渡す文字列には、ダブルクォーテーション(””)を使って値を渡すことが推奨されています。
今まで、コマンドラインへのパスの指定にダブルクォーテーション(””)は必須ではありませんでしたが、10月1日から、ドキュメントのパス指定(args[].path)と、 App Bundle のパス指定(appbundles[].path)には、ダブルクォーテーション(””)で囲んで値を渡すことが必須となります。
先の例に適用すると、次のようになります。
$(engine.path)\InventorCoreConsole.exe /i "$(args[InventorDoc].path)" /al "$(appbundles[SomeApp].path)" /s $(settings[script].path)
Learn Forge チュートリアル(英語)の Activity セクション も参考にしてみてください。
By Toshiaki Isezaki
コメント