MODO 機能紹介・チップスサイト このサイトでは、MODOの基本機能やチップスをご紹介していきます。

キットの作り方 ~フォーム編集でインターフェイスを作る~

ではいよいよインターフェイスの作成です。今回のサンプルでは、インターフェイス上で文字列を入力させるフィールドを用意し、適用というラベルがついているボタンをクリックすればスクリプトが実行されて、入力した文字列を表示するダイアログが出るという流れです。インターフェイスはフォーム編集から作りましょう。

システム」メニュー > 「フォーム編集」を開き、グループに新たにグループを作ります。

kit_form_group

必ずしも作らなくてもよいのですが、これからキットを複数作る場合には、それらをひとまとめにしておく場所を作っておくと便利です。ここでは MJG という名称のグループを作ります。

kit_form_form

作った当初は中身は空っぽです。(新規フォーム) でフォームを新たに作ります。ここでは mjg_sample01 とします。

これが今回のサンプルのインターフェイスです。ここに文字列入力用のフィールドと、スクリプト実行用のボタンとを作ります。まずはスクリプト実行用のボタンを作りましょう。(新規コントロール) ポップアップから「コマンドの追加」メニューを選択します。ここでスクリプトを呼び出しますが、インデックスファイルでスクリプトへのエイリアスを以下のように設定しました:

<hash type="ScriptAlias" key="mjg_sample01">scripts/mjg_sample01.py</hash>

このエイリアスにより実際のスクリプトファイルまでのパスを mjg_sample01 というキーで表していますので、指定するコマンドは @mjg_sample01 となります。あとはボタンのラベルを「適用」としておきましょう。

kit_form_form02

ここまで設定できたら、右上にある「フォームをプレビュー」ボタンをクリックします。そうすると、この状態でのフォームが開きます。フォーム上には「適用」というラベルのボタンが一つあるだけですが、このボタンをクリックしてみましょう。そうすると、スクリプトが動作するのが確認できるはずです。

kit_form_form03

ではもう一つ、「適用」ボタンの上に、文字列を入力するフィールドを作りましょう。先程と同様に、(新規コントロール) > 「コマンドの追加」から以下のコマンド名を入力したら OK ボタンをクリックします:

user.value mjg_sample01.text01 ?

kit_form_form04

user.value というのは、ユーザーからの値という意味です。user.value の後に、インターフェイス上で入力した値を格納する変数を指定し ? をつければ、ユーザーから値を取得するコマンドの完成です。今回は変数としてわかりやすいように、mjg_sample01.text01 としていますが、この変数についてはあとで設定ファイルの中で定義するようにします。

作成したコマンドをドラッグ・アンド・ドロップで「適用」ボタンの上へと持ってきて、ラベルに「文字列入力」と入れておきます。

kit_form_form05

これでインターフェイス自体は完成です。プレビューしてみると、以下のようなインターフェイスが出てきます:

kit_form_form06

ただしこの時点では、どんな文字列を入力して適用ボタンを押したとしても、スクリプトには全く反映されません。入力した値をスクリプト側で受け取る用意ができていないからです。入力した値を保存しておくための変数は、設定ファイルの中で定義し、その定義した変数をスクリプトの中でも使うようにします。では次にこのフォームを保存し、編集していきます。

< インデックスファイルを作る コンフィグファイルを編集する >
2018年2月15日