Rhinoでスクリプトを作成する

すべてのRhinoのコマンドはコマンドスクリプトで使用することができます。 コマンドスクリプトは、コマンドプロンプトでコマンドをタイプして、ショートカットキー
コマンドエイリアス
を使用して、ReadCommandFile
コマンドから、そしてPaste
コマンドを使用してRhinoのコマンドストリームで実行できます。

コマンドスクリプトの書き方

コマンドスクリプトは、コマンドラインでコマンドをタイプするのと同じように書くことができます。 文字と文字の間にあるスペースや新規の行(改行)は、コマンドラインでEnter

を押すのと同じ働きをします。

特殊な文字

文字

スクリプトでの意味

!
(感嘆符)

1つ前のコマンドをキャンセルします。

感嘆符(!)やスクリプトの始めにあるスペースは、その前に実行されたどのコマンドもキャンセルします。 他の場所にある場合は、スクリプトがキャンセルされます。 感嘆符はスクリプトの最後に使用することもできます。

_
(下線)

英語のコマンド名を使ってコマンドを実行します。

Rhinoは多くの言語にローカライズされています。 日本語のバージョンでは、プロンプト、コマンドオプション、ダイアログボックス、メニューなどが翻訳されています。英語、日本語以外の言語バージョンでは、コマンドも翻訳されています。 そのため、英語、日本語以外の言語バージョンでは英語のコマンドをそのまま使うことはできません。

英語で書かれたスクリプトをRhinoの言語バージョンに関わらずすべてのコンピュータ上で実行できるようにするには、スクリプトは強制的にRhinoがすべてのコマンドを英語のコマンド名で認識するようにしなければなりません。

例:Rhino 3.0の英語バージョンでは、次のスクリプトを実行することができます。

Circle 3Point 0,0,0 1,1,0 0,3,0

しかし、フランス語バージョンのRhino 3.0では、このスクリプトは動作しません。 代わりに、次のスクリプトのどちらかを使う必要があります。

Cercle 3Point 0,0,0 1,1,0 0,3,0
_Circle _3Point 0,0,0 1,1,0 0,3,0

スクリプトが確実に別の言語バージョンで動作するようにするには、スクリプトを英語で書き、すべてのコマンド名とオプションの前に_を付けます。

-
(ハイフン)

ダイアログボックスを表示しません。

すべてのコマンドは、コマンドラインでスクリプト化することができるようになりました(デフォルトでダイアログボックスを表示するコマンドも含む)。 ダイアログボックスまたはウィンドウを表示せず、コマンドラインオプションを使うには、接頭辞としてコマンドの前にハイフン(-)を付けます。


(アポストロフィー)

次のコマンドは、ネストすることが可能なコマンドです。

ビューと作業平面操作およびオブジェクトスナップはネストできます。 ジオメトリ作成コマンドはネストできません。

一時オブジェクトスナップ
やサブオブジェクトのピックフィルタは、自動的にネストでき、アポストロフィーは必要ありません。

\
(バックスラッシュ)

ツールバースクリプトの最初の文字が”!”でなく、最後が” \”で終わっていれば、Enterキーを押さなくてもでコマンドライン上でスクリプトが動きます。これでより多くの情報を追加できます。  

これは数値、小数点、角度(”<45″など)をボタンに表示して、画面上に”テンキー”を作成するのに便利です。

;

(セミコロン)

コメント

セミコロン(;)で始まる行はスクリプトの一部ではありませんが、スクリプトの説明などをコメントとして記入することができます。

例えば:

; This is a test macro
_Circle 0,0,0 15
_Line 0,0,0 pause ;15,0,0
; Line 0,0,0 0,15,0
_Line 0,0,0 -15,0,0

円を作成する

このスクリプトは中心が5,5、半径が10の円を作成します。

! _-Circle 5,5 10

各エントリ間のスペースは、手入力でコマンドをタイプする際にEnter

キーを押す位置と同じです。

オブジェクトの選択を解除し、Moveコマンドを開始する

このスクリプトは、選択されているオブジェクトがある場合それを解除してから、Move
コマンドを実行します。

! SelNone Move

テキストファイルの点を通る曲線を作成する

テキストファイルのリストから複数の点を作成、それらすべてを選択後、それらの点を通るポリラインを作成します。

スクリプトの動作:

! _SelAll

前のコマンドすべてをキャンセルし、現在モデル内にあるすべてのオブジェクトを選択します。

_Points

次にリストされているそれぞれの座標(x,y)に点オブジェクトを作成します。

_Enter

Enter

を押すことを意味し、点の作成を終了します。

_Invert

選択を反転します。 スクリプトの最初にシーン中のすべての表示オブジェクトが選択されていたので、Invertコマンド実行後には選択が反転され、新しく作成された点オブジェクトだけが選択されます。

_CurveThroughPt

点オブジェクトを通るポリラインを作成します。

ダイアログボックスを回避する

! -_Helix _pause _-pause _Turns=8.2 _ReverseTwist=Yes

軸の始点と終点の入力を促すプロンプトが表示されます。 他のオプション(回転数と回転を反転)はスクリプトで設定されます。 Helix
コマンドでは、これらのオプションはダイアログボックスを使って設定されます。

これらのスクリプトを試してみよう

  1. このヘルプトピックからスクリプトを選択します。

  2. Ctrl

    + Cを押してクリップボードにコピーします。

  3. Rhinoコマンドプロンプトをクリックし、Ctrl

    + Vスクリプトをペーストします。

特殊なコマンドのスクリプトを作成する

Pause

スクリプトの実行を一旦停止してユーザー入力を待ちます。

例:

! _Circle _Pause 50

このスクリプトは、点の入力を待ち、その点を中心とする半径50の円を作成します。

Enter

Enterキーを押すことを意味します。

手で操作する時はEnter

キーを押すと1つ前のコマンドが繰り返されますが、このコマンドにはその働きはありません。

SetRedrawOff

スクリプトを実行する時、画面が再描画されない、また作業平面やカメラが変更されないようにします。

SetRedrawOn

画面の再描画がSetRedrawOffコマンドでオフになっている際、このコマンドで再描画をオンにします。

NoEcho

スクリプトのコマンドをコマンドヒストリウィンドウに表示する機能をオフにします。

Echo

スクリプトのコマンドをコマンドヒストリウィンドウに表示する機能をオンにします。

メモ

  • スクリプトになんとタイプしてよいか分からない場合は、コマンドにハイフンを付けたバージョンを実行します。 コマンドのシーケンスをハイライトしてからコピーし、スクリプトテキストにペーストします。

MacroEditor

スクリプト作成とテストのための編集ウィンドウを開きます。

操作方法:

  • マクロ編集ウィンドウにコマンドをタイプします。

  • テストを行うには、実行をクリックします。

  • マクロを削除するには、削除をクリックします。

メモ

  • テキストの一部を選択し、実行をクリックすると、マクロの選択された部分だけが実行されます。

  • 右クリックすると、コンテクストメニューが表示され、すべて選択、コピー、ペースト、削除、実行等を行うことができます。

Rhinoceros MacroEditor スクリプト

ユーティリティ > マクロエディタを開く

Rhinoceros Menu2 スクリプト

ツール > コマンド > マクロエディタ

Rhinoceros Gray Book Open スクリプト 関連トピック…

ReadCommandFile

テキストファイルからコマンドスクリプトを読んで実行します。

操作方法:

  • コマンドファイルを読み込みダイアログボックスで、読み込むファイルを選択します。

  • ファイルの内容がコマンドラインにコピーされ、コピーされた内容は手作業でコマンドを入力した時と同じように解釈されます。

メモ

  • テキストファイル作成時、コマンドを実行するためにEnter
    キーを押す操作を記述するにはEnter

    コマンドを使ってください。

  • ある特定のファイルを頻繁に読み込むことがある場合、ReadCommandFileをファイル名と一緒にツールバーに割り当てておくことをお勧めします。 例えば:

  • -readcommandfile myfile.txt

    ボタンをクリックしてファイルを読み込みます。 ファイル名を省略すると、ダイアログボックスが表示されます。 リストからファイルを選択することができます。

  • ファイル名にスペースが含まれる場合、引用符でそれを囲んでください。 例えば:

  • -readcommandfile “my file.txt”

テキストファイルを次のようにタイプして作成した後、ReadCommandFileコマンドを実行します。このテキストファイルの内容は、複数の曲線を一度に作成するものです。

! _interpcrv
23,5,0
23.2,5,0
23.7,5.2,1
_enter
_interpcrv
26.1,4.9,1.1
26.8,4.9,1.0
27.1,4.8,0.9
_enter

など

Rhinoceros ReadCommandFile スクリプト

ツール > コマンドファイルを読み込み

Rhinoceros Menu2 スクリプト

ツール > コマンド > ファイルから読み込み

Rhinoceros Gray Book Open スクリプト 関連トピック…

Pause

スクリプトの実行を一旦停止してユーザー入力を待ちます。

例:

このスクリプトは、点の入力を待ち、その点を中心とする半径50の円を作成します。

! _Circle _Pause 50

Rhinoceros  ABlankButton スクリプト

なし

Rhinoceros Menu2 スクリプト

なし

Rhinoceros Gray Book Open スクリプト 関連トピック…

Enter

スクリプトやツールバーボタンのプログラミングでEnterキーを押すことを意味します。

このスクリプトはz軸によって作業平面を設定します。

‘_CPlane _3点

_Pause _Pause _Enter

メモ

  • Enterコマンドは、Enter

    キーを押した時のように1つ前のコマンドを繰り返すことはしません。

Rhinoceros  ABlankButton スクリプト

なし

Rhinoceros Menu2 スクリプト

なし

Rhinoceros Gray Book Open スクリプト 関連トピック…

Echo

スクリプトのコマンドをコマンドヒストリウィンドウに表示する機能をオンにします。

Rhinoceros  ABlankButton スクリプト

なし

Rhinoceros Menu2 スクリプト

なし

Rhinoceros Gray Book Open スクリプト 関連トピック…

NoEcho

スクリプトのコマンドをコマンドヒストリウィンドウに表示する機能をオフにします。

Rhinoceros  ABlankButton スクリプト

なし

Rhinoceros Menu2 スクリプト

なし

Rhinoceros Gray Book Open スクリプト 関連トピック…

SetRedrawOn

スクリプトを実行中に、画面の再描画や作業平面やカメラの変更を可能にします。

メモ

  • 画面の再描画がSetRedrawOff

    コマンドでオフになっている際、このコマンドで再描画をオンにします。

Rhinoceros setredrawon スクリプト

ビュー > 再描画オンに設定(右クリック)

Rhinoceros Menu2 スクリプト

なし

Rhinoceros Gray Book Open スクリプト 関連トピック…

SetRedrawOff

スクリプトを実行中に、画面の再描画や作業平面やカメラの変更を不可能にします。

メモ

  • 再描画をオンにするにはSetRedrawOn

    コマンドを使用します。

Rhinoceros SetRedrawOff スクリプト

ビュー > 再描画オフに設定

Rhinoceros Menu2 スクリプト

なし

Rhinoceros Gray Book Open スクリプト 関連トピック…

Cancel

現在のコマンドをキャンセルし、オブジェクトの選択を解除します。

Rhinoceros Cancel スクリプト

メイン1 > キャンセル

Rhinoceros Menu2 スクリプト

なし

Rhinoceros key 008 スクリプト

キーボードショートカット: Esc

Rhinoceros Gray Book Open スクリプト 関連トピック…

Exit

現在のRhinoのセッションを閉じます。

Rhinoceros  ABlankButton スクリプト

なし

Rhinoceros Menu2 スクリプト

なし

Rhinoceros Gray Book Open スクリプト 関連トピック…

Run

Rhinoのから他のアプリケーションを実行します。

操作方法:

  • 実行するファイルの名前とパスをタイプします。

Rhinoceros  ABlankButton スクリプト

なし

Rhinoceros Menu2 スクリプト

なし

Rhinoceros Gray Book Open スクリプト 関連トピック…

SetUserText

オブジェクトにテキスト情報を付加します。

情報はWindowsのレジストリを使用する時のように、キー/値に保管されます。

情報を取り出すには、GetUserText
コマンドを使用します。 この情報は、.NETプラグインやVisualBasicスクリプトを使用しても付加できます。

この情報は、.NETプラグインやVisualBasicで簡単にアクセスできます。

Text key = Weight

Text = Kilograms

操作方法:

  1. オブジェクトを選択

    します。

  2. テキストキーをタイプします。

  3. テキストをタイプします。

オプション

アタッチ先

ジオメトリ

オブジェクトジオメトリにテキスト情報を付加します。

情報がジオメトリに密接な関係がある場合にジオメトリにアタッチします。 例えば、円の半径はジオメトリにアタッチするべきです。円が制御点編集されNURBS曲線に変更された場合、情報が無効になるからです。

属性

オブジェクトの属性にテキスト情報を付加します。

情報がハイレベルの属性情報(色など)の場合、オブジェクトの属性にアタッチされるべきです。 オブジェクトが制御点編集、トリム、コピーなどされても、属性情報は維持されます。

Rhinoceros  ABlankButton スクリプト

なし

Rhinoceros Menu2 スクリプト

なし

Rhinoceros Gray Book Open スクリプト 関連トピック…

GetUserText

SetUserText
コマンドを使用してアタッチされたテキスト情報を取り出します。 この情報は、.NETプラグインやVisualBasicスクリプトを使用しても取り出せます。

操作方法:

  1. オブジェクトを選択

    します。

  2. テキストキーをタイプします。すべてのキーの場合は、Enter

    キーを押します。

Rhinoceros  ABlankButton スクリプト

なし

Rhinoceros Menu2 スクリプト

なし

Rhinoceros Gray Book Open スクリプト 関連トピック…

 

スクリプト