以下の例では、スクリプトの作成方法、インストール内の保存場所、実行方法を示します。この例は、次の 3 つのスクリプトで構成されます。
注記:
重要:Package & Display Designer でスクリプトを実行するには、インストール内のホスティングフォルダを参照する必要があります(図)。そのため、スクリプトとスクリプトボタンの画像がある場所を、スクリプト内に記述することが重要です。スクリプトの場所を参照する方法については、以下の例で説明します。
//Init() がある場合、これは CAD システムの起動時に実行される関数です。これで必要な UI 要素(ボタンやツールバー)をセットアップします。
function Init()
{
// UI に[スクリプト]タブを追加し、さらに ITabItem のインスタンスを返します。
var d = AutoAppUI.TabControlBar.AddCustomTab("Scripts");
// 追加した ITabItem にボタンを追加し、さらに IAutoCustomButton のインスタンスを返します。
// "JScript" は実行するスクリプトの言語です。
// "SampleScript" はスクリプトのネームスペースです。このパラメータは、..\Scripts\JScript\ の下のフォルダ名と、かならず一致していなければなりません。
// この例では、スクリプトは .\Scripts\JScript\SampleScript\startup.js にあり、
// この「ネームスペース」に基づいています。スクリプトエンジンは、実装スクリプト matchexport.js と sendreport.js を探します。
// "BatchExport" は実行する関数名です。
// "./Big/Export.png" は、ボタン画像のファイル名です。
// "Batch export" はボタンのツールチップです。
// "Execute batch-export to multiple formats"(batch-export を複数のフォーマットで実行)は、マウスをボタンに合わせた時に、ボタンの左下端に表示される文章です。
var c = d.AddMacrosButton("JScript", "SampleScript", "BatchExport", "./Big/Export.png", "Batch export", "Execute batch-export to multiple formats");
var c = d.AddMacrosButton("JScript", "SampleScript", "SendPrintReport", "./Big/Report.png", "Send form to mail", "Generate a print-report and send it to an e-mail");
}
使用するアイコン画像に関する注記:スクリプトのコードは、ボタンのアイコン画像への参照を含みます(上記スクリプトコードの var c を参照)。このアイコンは、使用するアイコンのテーマに合わせてデザインされています。Package Designer には、Big(大)と Small(小)という 2 種類のアイコンのテーマがあります。アイコンのテーマを変更する場合は、それぞれのボタンアイコンへのパスをかならず変更してください。
function BatchExport() {
// 以下のスクリプトでは、現在の図面を指定されたパスに指定されたファイル形式でエクスポートします。
AutoDrawing.ExportToFormat("c:\\EngViewWork7\\Test.pdf", "pdf");
AutoDrawing.ExportToFormat("c:\\EngViewWork7\\Test.dxf", "dxf");
AutoDrawing.ExportToFormat("c:\\EngViewWork7\\Test.cff", "cf2");
}
function SendPrintReport()
// IPrintDrawingBuilder インターフェイスのインスタンスを作成
// システム内での印刷図面(デザインフレーム)の操作に使用
var builder = AutoProject.MakePrintDrawingBuilder();
// 印刷図面の作成に使用するテンプレートをロード。テンプレートが保存されている Settings フォルダで名前を検索します。
builder.LoadTemplate("A3 Landscape OneUp.evf");
// ロードされたテンプレートで OneUp1 プレースホルダーを検索し、プロパティをセットアップ
var placeholder1=builder.ItemByName("OneUp1");
// プレースホルダー OneUp1 で測定ラインをオンに
placeholder1.ShowML=true;
// 設定されたテンプレートから印刷図面を構築
builder.Apply();
// 生成された印刷図面を PDF でエクスポート
builder.PrintDrw.ExportToFormat("c:/EngViewWork7/DesignFrame.pdf", "pdf");
// このようにして別のアプリケーションにある COM インターフェイスのインスタンスを取得
// この例では最後に E メールを送信するので Outlook を使用注:これは一般的な方法です。
var outlookApp = new ActiveXObject("Outlook.Application");
var theMailItem = outlookApp.CreateItem(0);
theMailItem.to = "baba@gmail.com";
theMailItem.Subject = "SUBJECT HERE";
theMailItem.Body = "BODY";
theMailItem.Attachments.add("c:/EngViewWork7/Test.cff");//the path to the file to attach.
theMailItem.display();
}
参照するディレクトリにスクリプトを保存します(サンプルファイルでは、SampleScript となっています)。
[登録]ダイアログボックスが表示されます。
重要:使用しているライセンス(ネットワークまたはローカル保護)でこれらのモジュールを使用できない場合は、support@engview.com までご連絡ください。
スクリプトを使用するためにプログラムの再起動が必要であるというメッセージが表示されます。
プログラムを再起動すると、スクリプトファイルがロードされます。スクリプトのアイコンが、別のスクリプトツールバーに表示されます。