コマンドマクロとスクリプト

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

コマンドマクロの記述

コマンドマクロは、コマンドラインでコマンドをタイプするのと同じように書くことができます。

特殊な文字

マクロでの意味

(スペース)

マクロ中のスペース文字はEnterを押すのと同じ働きをします。

スペースを含む名前(またはテキスト文字列)をスクリプト化する場合は、コマンドシーケンスが壊れないように、名前を二重引用符で囲む必要があります。

例えば:

_-SelName "Table 01"

_-SelName Table 01

*
(アスタリスク)

Enterを押して再度実行しなくてもコマンドが自動的に繰り返されます。

!
(感嘆符)

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

マクロの先頭にある感嘆符(!)は、前のコマンドをキャンセルします。他の場所にある場合は、マクロがキャンセルされます。感嘆符はマクロの最後に使用することもできます。

-
(ハイフン / ダッシュ)

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

基本的にすべてのコマンドは、コマンドラインでマクロにできます(デフォルトでダイアログボックスを表示するコマンドも含む)。ダイアログボックスまたはウィンドウを表示せず、コマンドラインオプションを使うには、接頭辞としてコマンドの前にハイフン(-)を付けます。いくつかのコマンド(例えば、DevLoft)はコマンドラインでしか使用できないオプションを持ちます。

_
(下線)

英語のコマンドやオプションを実行します。

Rhinoは多くの言語にローカライズされています。コマンドやオプションの翻訳はそれぞれの言語で異なります。マクロをワールドワイドで機能させるには、すべてのコマンドとオプションの前に下線を付けて英語でマクロを作成することをお勧めします。

例えば:

Cerchio 3Punti 0,0,0 1,1,0 0,3,0

下のマクロは、イタリア語バージョンのRhinoでのみ動作します。

 

_Circle _3Point 0,0,0 1,1,0 0,3,0

このマクロはすべての言語バージョンのRhinoで動作します。

'
(アポストロフィー)

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

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

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

\
(バックスラッシュ)

ツールバーボタンのマクロの最後の文字が「\」の場合、マクロは最後にEnterが押されない状態で実行されます。

例えば:

「5\」というマクロでツールバーボタンを作成します。ボタンをクリックすると、コマンドラインに5が入力され、次の入力を待ちます。この機能を使用すると、画面上でテンキーの機能を持つツールバーを作成することが可能です。

~
(チルダ)

コマンドオプションを省略します。(コマンドのフィードバックがすっきりします。)オプションは通常通り動作します。

;

(セミコロン)

コメントです。

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

例えば:

; 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

::
(ダブルコロン)

レイヤの入れ子(ネスト)をレイヤ名の間のダブルコロン("::")で表すことができます。-LayerコマンドでLayer 01の下に新しいレイヤを入れ子にするには次のようなマクロを作成してください:

! _-Layer New "Layer 01:: New Layer" Enter

#
(ハッシュマーク)

続いて記述されるコマンドのヒストリの記録をオンにします。

例えば: #ArcBlend

%
(パーセント)

続いて記述されるコマンドのヒストリの記録をオフにします。

例えば: %ArcBlend

!&

(感嘆符と + アンド)

ヒストリのロックを一時的に無効にします。

例: !&_Delete!&_Join

円を作成する

このマクロは中心が5,5、半径が10の円を作成します。

! _-Circle 5,5 10

各エントリ間のスペースは、手入力でコマンドをタイプする際にEnterキーを押す位置と同じです。

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

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

! _SelNone _Move

点を通る曲線を作成する

このマクロは、3つの点を作成、それらすべてを選択後、それらの点を通るポリラインを作成します。

! _SelAll _Points _Pause _Pause _Pause _Enter _Invert _CurveThroughPt _EnterEnd

スクリプトの動作:

! _SelAll

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

_Points

Pointsコマンドを実行します。

_Pause

_Pause

_Pause

3点の位置をピックさせます。

_Enter

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

_Invert

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

_CurveThroughPt

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

_EnterEnd

コマンドを完了します。

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

! -_Rebuild _Pause _Points=10 _Degree=3 _Enter

曲線を選択し、このマクロを実行します。すべてのオプションはマクロによって設定されます。

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

  1. このヘルプトピックからマクロを選択します。
  2. Ctrl + Cを押してクリップボードにコピーします。
  3. Rhinoコマンドプロンプトをクリックし、Ctrl + Vを押してマクロをペーストします。
特殊なコマンドのスクリプトを作成する

Pause

マクロの実行を一旦停止してユーザー入力を待ちます。

例:

! _Circle _Pause 50

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

MultiPause

Join、Polyline、FilletEdgeなどで複数の選択の間スクリプトを停止します。

Enter

マクロの中でEnterを押す役割をします。

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

EnterEnd

コマンドを完了します。

SetRedrawOff

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

SetRedrawOn

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

NoEcho

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

Echo

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

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

MacroEditor

ツールバー メニュー

ツール

ウィンドウ

パネル > マクロエディタ

MacroEditorコマンドは、マクロ作成とテストのための編集ウィンドウを開きます。

マクロエディタパネル

コンテナのオプション

操作手順

  1. マクロ編集ウィンドウにコマンドやオプションをタイプします。

  2. ボタンをクリックしてマクロをテストします。

ツールバー

実行

マクロ全体、またはマクロのハイライトされた部分を実行します。

削除

編集ボックスをクリアします。

コンテクストメニュー

カット

選択したテキストをクリップボードにコピーし、テキストを削除します。

コピー

選択したものをクリップボードにコピーします。

ペースト

クリップボードに保存されているテキストをカーソル位置に挿入します。

ReadCommandFile

ツールバー メニュー

ツール

ツール

コマンド >

ファイルから読み込み

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

操作手順

メモ

テキストファイルを次のようにタイプして作成した後、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

など

Echo

ツールバー メニュー

ツールバーにはありません。

メニューにはありません。

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

この機能をオフにするには、NoEchoコマンドを使用します。

NoEcho

ツールバー メニュー

ツールバーにはありません。

メニューにはありません。

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

マクロを正しく動作させるためには、NoEchoや_NoEchoがマクロの一番最初の言葉である必要があります。感嘆符を含むすべては、1つのスペースを置いて、続ける必要があります。

Enter

ツールバー メニュー

ツールバーにはありません。

メニューにはありません。

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

このスクリプトは3つのピックされた点によって作業平面を設定します。

'_CPlane _3Point

_Pause _Pause _Pause _Enter

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

EnterEnd

ツールバー メニュー

ツールバーにはありません。

メニューにはありません。

EnterEndコマンドは、マクロやツールバーボタンのプログラミングでEnterキーを押してコマンド文字列を完了することを意味します。

EnterEndは、例えばOptionsまたはDocumentPropertiesのコマンドオプションを使用する際に、Enterを何度か繰り返してコマンドを終了しなくても、コマンドから「抜け出す」ことができます。例えば:

! _-DocumentProperties _Mesh _Custom _MaxEdgeSrf .01

は、コマンドを終了するのに少なくとも2つか3つのEnterが必要です。EnterEndを使用すると、この手間がありません。

! _-DocumentProperties _Mesh _Custom _MaxEdgeSrf .01 _EnterEnd

Close

ツールバー

メニュー

ツールバーにはありません。

メニューにはありません。

Closeコマンドは、スクリプトでRhinoのモデルを閉じるのに使用できます。

  • このコマンドには、閉じるファイルへのパスが必要です。それ以外の場合は何も行いません。

Pythonスクリプトの例:

import Rhino

import scriptcontext as sc

Rhino.RhinoApp.RunScript("Close "+sc.doc.Path+" Enter", False)

Exit

ツールバー

メニュー

ショートカット

ツールバーにはありません。

Rhino

Rhinocerosを終了

Ctrl (CMD) + Q

Exitコマンドは、現在のRhinoのセッションを閉じます。

Pause

ツールバー メニュー

ツールバーにはありません。

メニューにはありません。

Pauseコマンドは、マクロの実行を一旦停止してユーザー入力を待ちます。

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

! _Circle _Pause 50

MultiPause

ツールバー メニュー

ツールバーにはありません。

メニューにはありません。

MultiPauseコマンドは、マクロの実行を一旦停止してユーザー入力を待ちます。

このマクロは、結合する複数のオブジェクトの入力を促します。

! _Join _MultiPause

Run

Runコマンドは、Rhinoの中から他のアプリケーションを実行します。

操作手順

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

SetRedrawOff

ツールバー メニュー

ビュー

メニューにはありません。

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

再描画をオンにするには

SetRedrawOn

ツールバー メニュー

ビュー

メニューにはありません。

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

再描画をオフにするには

Rhino特有のスクリプトについてはこちらをご覧ください: http://wiki.mcneel.com/rhino/basicmacros.

RunPythonScript

ツールバー メニュー

ツールバーにはありません。

ツール

PythonScript >

Run

RunPythonScriptコマンドは、Pythonのスクリプトを実行します。

オンラインのRhino.Pythonプログラマーのための参考資料に関してはこちらをご覧ください: http://developer.rhino3d.com/guides/rhinopython/

-RunPythonScript

オプション

ResetEngine

Pythonエンジンを再初期化させます。これは、複数のファイルに渡るPythonスクリプトを書く/テストする時のみ便利です。

EditPythonScript

ツールバー メニュー

ツール

ツール

PythonScript >

編集

EditPythonScriptコマンドは、Pythonスクリプトを編集します。

Rhino.Python特有のスクリプトについてはhttp://wiki.mcneel.com/developer/pythonをご覧ください。

 

 

 

Rhino 8 for Mac © 2010-2024 Robert McNeel & Associates. 29-4-2024