マリオネット・スクリプト解説講座

第6回「メニューコマンドを作成する」

ArchitectLandmarkSpotlightDesigner

この記事は【2020年8月25日】に公開されたもので、2年以上経過しています。
記事の内容が古くなっていたり、新機能の追加・機能の改善が図られていることがあります。

マリオネットでオリジナルのメニューコマンドを作成する方法をご紹介します。

マリオネットコマンドは、マリオネットで作成したプログラム(ラッパーノード)をメニューコマンド化する機能です。
マリオネットコマンドに登録することで、他のメニューコマンドと同じような使い勝手でプログラムを実行することができます。

6-1. マリオネットコマンドの登録手順

1. マリオネットでプログラムを作成します。

2. プログラムを右クリックしてコンテキストメニューを開きます

3. 「マリオネットネットワークをラップする…」を選択してラッパーノードに変換します

4. ラッパーノードを右クリックしてコンテキストメニューを開きます

5. 「メニューコマンドに変換…」を選択してマリオネットコマンドに変換します

6. 任意のメニューコマンド名を入力します

7. メニューバー > ツール > マリオネットコマンド を開くと先ほど登録したプログラムが表示されます

8. コマンドを選択して実行します

マリオネットコマンドは、一度登録すれば別のファイルでも実行することができます。また、実行の際に「図面上にノードを配置して選択状態にする」手間がありません。これらの特徴から、ファイルの設定や図形の変換など何度も実行するようなプログラムで真価を発揮します。


6-2. サンプルプログラム

クラス設定の一括編集

すべてのクラスの線の太さを一括で設定するコマンドを作ります。

  すべてのクラスを一つずつ順番に取得する

  1. 「Get Class Count」でクラスが全部でいくつあるのかを調べます。
  2. 「Series」にクラスの数を入力してクラスの番号を作ります。「Series」は始まりの番号・ステップ・カウント数を指定して数列を作るノードです。始まりの数は整数値(int)で「1」を入力します。
  3. 「Get Class List」で番号に応じたクラス名を取得します。

  取得したクラスに対して線の太さを設定する

  1. 「Set Line Weight」にクラスと太さを入力します。

  太さの値をコマンドを実行した時に入力できるようする

  1. 「Real Dialog」ノードは実数値を入力するダイアログを表示します。「Real Dialog」のオブジェクト情報パレットに入力させる値の説明を設定します。ここでは「線の太さ」とします。
  2. デフォルト値を入力することで、ダイアログが開いた時最初にフィールドに入る数値を設定できます。「Real」ノードを使って「20」を入力します。

  作成したプログラムをマリオネットコマンドに登録します

  1. 作成したプログラムをラッピングします。
  2. 「線の太さ一括設定」と名前をつけてマリオネットコマンドに登録します。
  3. マリオネットコマンドに登録された「線の太さ一括設定」を実行します。
  4. 一括設定されたことをオーガナイザで確認してください。


パス図形を手すりに変換する

パスとなる多角形から、手すり状の3Dパス図形を作成するプログラムを作成します。今回のポイントとして「パスとなる多角形はコマンド実行時に選択する」という仕様にします。

  選択状態の図形を取得する

  1. 「Objs by Crit」は「図形選択マクロ」のように条件を設定して、合致する図形を取得するノードです。
  2. 「Objs by Crit」のオブジェクト情報パレットから「Criteria configuration…」ボタンを押して条件設定ダイアログを開きます。
  3. 左のプルダウンで「選択の有無が」、中央のプルダウンで「選択されている」を選択してOKボタンでダイアログを閉じます。

  手すりの断面を作成する

  1. 手すりの断面は円とします。円を作成する「Circle」ノードを配置します。
  2. 「Circle」に円の中心座標(0,0)と円の半径を入力します。
  3. 円の半径は、コマンド実行時に入力するようにしましょう。「Real Dialog」ノードに説明文「断面の半径」を設定して、デフォルト値は15mmを入れます

  3Dパス図形に変換する

  1. 3Dパス図形を作成する「Path Extrude」ノードを配置します。
  2. パスの多角形と断面の円を入力します。

  作成したプログラムをマリオネットコマンドに登録します

  1. 作成したプログラムをラッピングします。
  2. 「手すりに変換」と名前をつけてマリオネットコマンドに登録します。

  選択した多角形に対してコマンドを実行してみましょう

  1. 図面上に多角形を作図して、選択状態にします。
  2. マリオネットコマンドに登録された「手すりに変換」を実行します。
  3. 選択した多角形が手すりに変換されました。

この機能を利用できる製品

Architect

Vectorworks Architect

建築設計や内装、ディスプレイデザインに対応した先進的なBIM・インテリア設計支援機能、拡張機能、さらには豊富な建築向けのデータライブラリを搭載した建築/内装業界向け製品
詳細情報 購入ページ

Landmark

Vectorworks Landmark

地形モデルや多彩な植栽、灌水設備計画等に対応するランドスケープデザイン機能、さらには豊富な造園向けのデータライブラリを搭載した都市計画/造園業界向け製品
詳細情報 購入ページ

Spotlight

Vectorworks Spotlight

ステージプランニングやライティング計画に対応した先進的な舞台照明計画支援機能、さらには各種メーカー製のトラスや照明機材、音響機器等の豊富なデータライブラリを搭載したエンタテインメント業界向け製品
詳細情報 購入ページ

Designer

Vectorworks Design Suite

専門分野別(建築設計/ディスプレイデザイン、ランドスケープデザイン、ステージデザイン&スポットライトプランニング)の設計支援機能、拡張機能、さらには豊富なデータライブラリを搭載した最上位の製品
詳細情報 購入ページ