Comets.Inc

Performer ofDiffractGUI2012の機能についてSim3D_Max のパラメータ振り LOOP 計算も可能に

A.V.Cazan
2012/10/18

Performer of DiffractGUI2012

1

The Performer
この章では、Performer- 環境について説明され、実行スクリプトを制御し、設定する方法を示し、PerformerView について説明します。

General Description
Performer は DiffractGUI のプログラマブルインターフェイス部分です。その主な目的は、ユーザーが実行間 command.dat への制御された変更に合わせて、いくつかの Diffract ランを伴う複雑なシミュレーションをセットアップし、実行できるようにすることです。さらに、それは数学的なルーチンのセット、それ故にそれは任意の形状のビーム分布やマスクファイルを生成するために使用することができます（Mask-Editor に似ている）、それは一般的な計算ルーチンを実行するために使用することができますを提供しています。
Performer のためのもう一つの可能なアプリケーションは、Diffract によって生成されたデータの分析です。行列とプロットが作成され、DiffractGUI 内で可視化することができる。
Graph-View ペインが Performer スクリプトを使用して生成された XY-曲線を視覚化するために使用することができます。
command.dat が DiffractGUI にロードされると、PerformerView は、次のいずれかの方法で開くことができます：" Performer "リボンカテゴリタブをクリックします:" Performer "のアイコンの "Windows"カテゴリのクリックで:

この時、Performer 解釈エンジンが初期化され、PerformerView が表示され、次のように絵に示される。.
表示アップ最初は、Performer は、拡張子„.performer“を持っている任意のファイルの現在のディレクトリと検索を探ります。
正確に 1 つが見つかった場合、このファイルは自動的に他の方法で空の "new.perfomer"が使用され、PerformerView にロードされます。
それは、各ワーキング directory に 1 つだけ Performer タイプのファイルを保持することが実用的である。

Performer of DiffractGUI2012

2

Command Library と Performer Editor：PerformerView は 2 つのウィンドウが含まれています。

The Command Library Window
Command Library は、使用可能なすべてのコマンドの大規模なコレクションです。これは、コマンドが単にドラッグアンドドロップすることによって、現在のシーケンスに挿入することができるソースとして機能します。
情報は 3 つの部分に分類されています。:


SYSTEM_COMMANDS このアイテムは、使用可能なすべてのオペレーティングシステ
ムに影響を与えるコマンド、DIFFRACT または current command.dat が含まれています:

Performer of DiffractGUI20123

BASE_COMMANDS この項目では、Performer エンジンに統合されているすべてのコマンドが含まれています。彼らはまた、このマニュアルの別のセクションで説明されるいくつかのサブグループに分類されます。



RUN_EXAMPLES 実行例は、すべての内部データから初期化されている他の項目とは対照的に、外部ファイルからロードされる唯一の部分です。Performer エンジンの初期化中に、DiffractGUI は DiffractGUI がインストールされているディレクトリに
run_examples.xml という名前のファイルを探しています。見つかった場合は、このファイルの内容は RUN_EXAMPLES 項目に挿入されます。実際には、このファイルは便利なルーチンのコレクションを格納するためのものです。配達時には、それは手続
きや様々な状況のための例のセットを与えるだろうが、それは将来のシーケンスス
クリプトを書くときに便利かもしれません新しいルーチンを追加することによって、ユーザーが変更できます。

Performer of DiffractGUI2012

4

The Performer Editor Window
このウィンドウには、現在のシーケンスのスクリプトが含まれています。このスクリプトを編集したり、様々な方法で変更することができます。ほとんどの操作は、単にドラッグして、
Command Library Window からドロップすることによって行うことができる。

エディタは 2 つのカラムで構築されている:-

左の列は、Performer のシーケンススクリプトを構築コマンド名が含まれています。
名の順番は、Command Library Window からコピーされていなければならないことを意味する有効な名前でなければなりません。このような理由から、それは Command
Library からドラッグ＆ドロップ操作によってのみ変更することができ、名前はキーボードから直接変更することはできません。

-

右の列は、対応するコマンド項目に添付されている値を含んでいます。コマンドが値を必要としない場合、この列は、通常、任意のテキスト、いくつかの発言が含まれているか、それは空のままにすることができます。この列は、キーボードから文字を入力して編集する必要があります。

コマンドは、項目のツリーとしてその固有の親子関係で表示されます。

Performer of DiffractGUI2012

5

Creating a New Sequence Script
新しいシーケンススクリプトは„New Sequence“-command によって生成することができます:

注意：これは、プロンプトなしで既存のスクリプトシーケンスを空にします

Saving Sequence Script to File
シーケンス·スクリプトは拡張子.performer を持つ XML 形式のテキストファイルに格納されます。Performer Editor Window のコンテンツは、Save Sequence を使用したファイルまたは
Save As コマンドとして保存することができます：

Performer of DiffractGUI2012

6Loading Sequence Script from File
With the Load Sequence command, Load Sequence command を使用して、任意のは、以前に保存された.performer-files は Performer Editor Window にロードすることができます：

Editing a Sequence Script
編集操作は、2 つのカテゴリに付与することができる:

挿入コマンドまたはコマンドの順序を変更する操作
コマンドの値を変更する操作

第二には、キーボードからの入力を必要としているときに最初のカテゴリは、唯一のドラッ
グ·アンド·ドロップするか、カット、コピー、ペーストの操作によって行うことができます.

Inserting Commands
Editor ウィンドウに、新しいコマンドを挿入するには、単にドラッグして、Command Libraryからドロップ:… keep left mouse buttonpressed, move mouse here,
then release button.

Performer of DiffractGUI2012

Click on the command andhold left mouse buttonpressed ….

7これは、コマンド項目自体だけでなく、また挿入されることを指定するだけでなく、それに含まれる子孫（子、子どもたちがなど）のすべてが挿入される。この方法では、それは 1 つのドラッグアンドドロップ操作で任意の複雑なプログラムやサブルーチンを挿入するのは非常に簡単です。特に Command Library の RUN_EXAMPLES 項目はこのようなルーチンの便利なソースにすることができます。
キーボード·キーがドロップ操作中に押されていない場合は、その後、ドロップされたアイ
テムは、マウスボタンがリリースされている項目の（immediate following SIBLING）として挿入されます。
Ctrl キーがドロップ操作中に押さホールドであれば、ドロップされたアイテムは、マウスボ
タンがリリースされている項目の first CHILD として挿入されます。
マウスがリリースされましたどのターゲット項目がない場合は、ドロップされたアイテムは、（それが階層の最上位レベルの上に座って、目に見える parents を持っていない項目のリス
トです）ルートアイテムリストに追加されます。
ドラッグアンドドロップは Command Library から Performer Editor だけでなく動作しますが、それは Performer Editor 内の項目をコピーするために使用することもできます。ドラッグされたアイテムは、常にそれが非常に簡単なコマンドを複製し、コマンドの階層構造とプログ
ラムの構造を変更することができ（移動されることはありません！）コピーされます。しかし、それ故に無効な階層やコマンドを生成することも可能になり、この機能を使用するときに注意しなければならない。

Deleting Commands
コマンドを削除するには、最初のものはコマンド項目を選択する必要がありますその後、リ
ボン上の„Cut“-command を選択する:

Performer of DiffractGUI2012

8この時、選択された項目は、シーケンスリストから削除され、クリップボードに配置されます。これは、誤って行ったカットを復元するために二度目のチャンスを提供します。（ペーストのコマンドを使用して）アイテムは、そのすべての Tree（構成するコマンドなど）と一緒に除去される。

Copy and Paste
クリップボードにコマンドをコピーするには、最初にリボン上の „Copy“-command を選択して、コマンドの項目を選択する必要があります。:

この時、選択された項目のみ Performer Editor でペーストするために受け入れられている特殊な形式で、そのすべての子孫と一緒に、クリップボードに配置されます。
コピーコマンドは、コピー＆ペーストしても、ドラッグ＆ドロップだけでなく Performer
Editor Window にコマンドを取得することが可能になる Command Library のどの項目に対しても動作します。
前述したように、使用されるクリップボード形式 PerformerView 独自のものであり、他のプ
ログラムによって受け入れられません。しかしながら、必要に応じて、それは、テキストとして選択されたアイテム（XML スタイルまたはプレーン）をコピーすることが可能である。
XML テキストとしてコピーするには、いずれかのコピーコマンドがクリックされたときに、
Ctrl キー押しを保持しながらプレーンテキストとしてコピーします。 もう１つは、Ctrl とShift キーを両方押しながらキーを押す必要があります。
Performer Editor にクリップボードの内容を貼り付けるには、Paste コマンドを使用する必要があります:
Performer of DiffractGUI2012

9paste 機能を使用するときに、いくつかのことが考慮されるべきである:
paste は Performer Editor window にのみ使用ではなく、Command Library を用いることができます。これは、ドロップアクションと似た働きです:
ペーストが呼び出されたときにキーボードのキーが押されていない場合は、クリップボードのアイテムはマウスカーソルの下にあることによって起こる項目の（immediately following
SIBLING）として挿入されます。ペーストが呼び出されたときに Ctrl キーが押された場合は、クリップボードのアイテムはマウスカーソルの下にあることによって起こる項目の最初の子として挿入されます。アイテムがマウスカーソルの下にない場合、クリップボードのアイテ
ムはルートアイテムリストの first CHILD として追加されます。

Editing Command Values
コマンドに取り付けられた値を編集するには、最初にそれをクリックしなければなりません:

これは、任意のキーボードの文字を受け入れる編集ボックスを開きます:

Performer of DiffractGUI2012

10

変更を完了するためには、どこでも編集ボックスの外側をいくつかの他の場所をクリックする必要があります。リターンキーを押すとエディットボックスを終了しませんのでご注意く
ださい。また、エディットボックスに任意のテキストを受け付けますが、この時点では構文チェックはありません。特定のケースでは、どこかの入力制限されたセット（"Yes"または"No"のように）は、コンボボックスは、すべての可能な入力オプションを提供し、エディットボックスの代わりに表示されることが認められている。

Running the Sequence Script
Start Sequence command は、現在 Performer Editor に含まれるシーケンスと Performer エンジンを起動します:Performer of DiffractGUI2012

11出力ペインには Performer エンジンのメインのテキスト出力である„Performer“という名前のタブを含んでいます。必要はありませんが、上の図に示すように、様々なプリントアウトに従い、このタブが表示されるようにすると便利です。
起動時に、シーケンス·スクリプトは常にこのようにしてシーケンスの後続の実行速度を大幅に向上させ、最初の構文チェックを実行し、いくつかの内部データ構造に変換しますプリ
コンパイラ、最初に渡されます。
開発中や学習時や大きな配列のデバッグのため、トレースシーケンス·オプションを使用することができる:

このオプションを有効にすると、Performer エンジンは連続して、現在実行中のコマンドを選択します。最後に実行した項目は、おそらくさらなる調査のためのヒントを与えて、選択された表示されますので、実行時エラーが発生した場合に特に便利です。それは、このオプションはかなりシーケンススクリプトの実行が遅くなりますことを、指摘することが重要であり、従ってそれは慎重に使用する必要があります。

Stopping the Sequence Script
速度上の理由から、シーケンス·スクリプトの実行は、ユーザがシーケンスが終了または一時停止し、他の入力は受け付けませんされるまで待つ必要があることを意味し、ブロックしています。この操作モードは、キーボードの Esc キーを押すことによって中断することができます。特定のコマンドは、待機時間の大きい方の期間（例えば、その計算を完了するために DIFFRACT を待つ）が必要です。これらの待機期間中に、DiffractGUI は、通常のユーザの入力と停止シーケンスコマンドの中止に使用することができますを受け入れます。
.

The Run Examples
Command Library の RUN_EXAMPLES 項目に含まれている実行例では、任意の、生成されたユーザ、プロシージャまたはコードスニペットの便利なプールを構築します。さらに、それは新しいコードを追加したり、それらから廃止された部分を除去することが容易に可能である。
それは実行例は Command Library の初期化中に"run_examples.xml"という名前の単一のファイ
ルからロードされていることを、すでに述べた。このファイルには、必要に応じて、他の出演者のファイルと同じように戻して保存するように修正された Performer Editor に負荷することができます。
エディタにファイルをロードするためには、Load Sequence command を使用し、Ctrl キー押しを保持しなければなりません：
Performer of DiffractGUI2012

12この時に、„run_examples.xml“は Performer Editor（最終的には他の既存のシーケンスを置き換える）に表示されます：:

必要に応じて、シーケンスは、変更できるようになりました。通常、ここでの意味になる以
前にテストし、コピーされた項目のペーストが、その他の変更については何の制限もありません。完了したら、ファイルを„Save Sequence“で戻って保存する必要があり、さらにそれが„Save As“コマンドを使用して、別の名前でコピーを保存しておくと便利かもしれません。
Command Library の次の初期化時に run_examples.xml の変更内容は、Command Library には表示されます。これは、閉じることによって強制することができ、PerformerView を再度開くことができます。

Expressions
文字列式と算術式は、次のセクションで説明されます：performer エンジンによって受け入れられた式の 2 種類があります。

String Expressions

Performer of DiffractGUI201213

ストリング式は値としてファイル名や変数名を必要とし、特にこれらのコマンド（PRINT ま
たは MESSAGE_BOX など）の値としてテキストを必要とするほとんどのコマンドに使用することができます。単純な文字列式はただの英文字（空白も含む！）のシーケンスである。数値はでシーケンスに含めることができます${ arithmetic_expression : format_specifier }$シーケンス。'arithmetic_expression から：format_specifier が存在する場合、それは、コロン
で‚:‘区切られている必要があり、オプションですが、テキスト変数は、同じように、""に包含それらの名前を指定することによって、文字列式に埋め込むことができます“textvariable_name”％nn の nn は 2 桁の HexNumber が（01 から ff まで）は次のとおりです。非表現できる文字
は、改行やキャリッジリターンのように、次の文を挿入することができます。たとえば、新
しい行のコマンドは%0a を使用して、任意の場所に導入することができる。

次のスクリプトシーケンスは、様々な書式指定子の効果を示す必要があります。
BLOCK Format examples
VARIABLE xx = 1234.5678e33
VARIABLE ii = 123456789
PRINT unformatted float value ${ xx }$PRINT Format I ${ xx:I }$PRINT Format I16 ${ xx:I16 }$PRINT Format f ${ xx:f }$PRINT Format f3 ${ xx:f3 }$PRINT Format F4 ${ xx:F4 }$PRINT Format e2 ${ xx:e2 }$PRINT Format E2 ${ xx:E2 }$PRINT Format X4 ${ xx:X4 }$PRINT unformatted integer value ${ ii }$PRINT formatted integer value ${ ii:I }$PRINT Format X4 ${ ii:X4 }$PRINT Format X8 ${ ii:X8 }$PRINT Format x4 ${ ii:x4 }$PRINT Format B8 ${ ii:B8 }$PRINT Format B16 ${ ii:B16 }$実行されると、スクリプトは次のような出力を生成します:
unformatted float value 1.23457e+036
Format I -2147483648
Format I16 -2147483648
Format f 1234567800000000000000000000000000000.000000
Format f3 1.234
Format F4 1.2345
Format e2 1.2345678e+036
Format E2 1.2345678E+036
Format X4 80000000
Performer of DiffractGUI2012

14

unformatted integer value 1.23457e+008
formatted integer value 123456789
Format X4 75BCD15
Format X8 75BCD15
Format x4 75bcd15
Format B8 00010101
Format B16 1100110100010101

Arithmetic Expressions
算術式は数値が必要とされているほとんどの場所で使用することができます。構文は、すべての基本的な操作（加算、減算、乗算、除算）と入れ子の括弧の無制限のレベルをサポートしています。これは、整数と浮動小数点数（整数番号は 0b00011011 のように、0xABCD とのような、またはプレフィクス、‚0b‘でバイナリで、プレフィックス、‚0x‘で 16 進数で指定することができます）を認識します。またそれは Performer のシーケンススクリプト内で宣言された変数、またはプロットの行列を受け入れます。以下の関数は（これらの機能は、このマニュアルの別の場所で詳細に記載されている）を使用することができる：
引数なし: rand
1 引数: abs acos acosh asin asinh atan atanh ceil circle comb cos cosh dcos dsin dtan erf erfc exp
factln factorial floor gamma J0 J1 J2 J3 J4 J5 J6 J7 J8 J9 Jinc ln lngamma log not rect sgn sin sinc sinh
sqrt tan tanh triangle Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9
2 引数: and atan atan180 beta bincoe chebyshev dist hermite Jn laguerre legendre max min mod
or pow xor Yn
3 引数: cond laguerre ZernJ ZernR
4 引数: ZernNM
これらの標準的な操作と、他のほとんどのプログラミング言語で見つけることができる機能に加え、Performer エンジンは、次に説明するいくつかの有用な特定の構成要素を、理解しています。

1. 割り当て。.
式解析プログラムは、式の中で代入を受け付ける。したがって varname=expression のような式で簡単に変数の値を設定することが可能である。割り当ては、例のように、一度先頭にするだけでなく、式の内部の任意の場所に表示することができます。たとえば、
Performer of DiffractGUI2012

15

var1=var2=var3=123 のように複数の代入が可能であり、指定された値（ここでは 123）に指定されたすべての変数（この例 VAR1、VAR2 と VAR3）を設定します。任意の割り当ての結果が割り当てられた値です。たとえば、式 var1=(var2=5)*10 に var2 に 5 var1 に 50（5×10）に設定される。それは var1=var2=5*10（括弧なし）両方の変数 var1 と var2 を 50 に設定することに留意されたい。
2 Matrices.
row index と column index で指定された Matrix cell values,として扱うことができる
matrix_name[ row_expression, column_expression ]例えば, var1=matrix1[3,4]は、行= 3 とマトリックス matrix1 の列= 4 で見つかった値を VAR1 に設定します。表現 matrix1[3,4]= 1234= 41234 に行= 3 と列にある要素を設定します。
行とは、与えられた行列の列の NUMER は、プロパティ·オペレーター、‚@‘を使って見つけることができる:
matrix_name@rows matrix matrix_name OD 行数を指定します
matrix_name@cols matrix matrix_name OD カラムの数を指定します
これらのプロパティは、任意の通常の変数として任意の式で使用することができます
しかし、これらのプロパティは読み取り専用アウトすることができますことを何卒ご了承下さい。代入でそれらを変更しようとすると（matrix_name@rows = 33 など）は効果がありません。行列のサイズを変更するには、RESIZE_MATRIX コマンドを使用してください。.
利便性のために、完全な行列は以下のような構文で与えられた値で満たすことができる
matrix_name = expression
ここで expression は、任意の算術式を指定できます。 割り当てのこの特別な種類をカスケード接続すべきではないことに注意してください。つまり、matrix1=matrix2=expression のよ
うな表現は避けるべきである。
おまけ機能としては、右側の式の中で、次の変数を使用することができます:
I or ROW: the current matrix row
J or COL: the current matrix column
X or Y: the current coordinates
R: the current distance to the center of the matrix
PHI: the angle to the x-axis
ここではそれが使用される座標系は行列、x と y の範囲は-1 から 1 に行くの中央に配置されていることを言及すべきである。 （Y= -1 は、行 0 であり、x= -1 は列 0 になっている）
いくつかの例:
mat1=0mat1 のすべての要素を zero 設定します
mat1 = rand() （0 と 1 の間の）ランダム値で行列 mat1 を埋めます
mat1 = circle(R/0.5) 半径 R<0.5 の 1 内のすべての matrix cells を埋めます、他は 0 に設定されます
mat1 = exp(x*x+y*y) ガウス形の値を使用して完全な行列を埋めます
Performer of DiffractGUI2012

16

mat1 = circle(R)* exp(x*x+y*y) R> 1 のとき 0 に切り詰めガウス形の値を使用して完全な行列を記入します。

3. Plots
The type performer scripts で使用される型“plot”は、実際には座標軸で飾られた行列です。
このように、その内部の値は行列に記載された方法に似てアクセスすることができます。
構文は次のとおりです。:
plot_name[ row_expression , column_expression ]添付された行列の値にアクセスすると
plot_name@rows 添付された行列の行数を指定します
plot_name@cols 添付された行列の列数を指定します
行列とは対照的に、これらの特性はまた、添付の行列が新しい値にサイズ変更された場合には、プロットに変更することができます。
さらに、プロットは performer scripts 内で読み出しや設定ができますいくつかの新しいプロ
パティを持っている:
plot_name@xmin
plot_name@xmax
plot_name@ymin
plot_name@ymax
plot_name@nviron
plot_name@wavelength
デフォルトでは、rows と cols は 0、xmin と ymin は-1、xmax と ymax は 1、nviron は 1 とwavelength は現在の command.dat に指定された波長に設定されています。

4. Values from COMMAND.DAT
算術式の中では、現在の command.dat に含まれる DIFFRACT コマンドの個々のパラメータは、次の簡単な構文で使用されるか、または変更することができます:
command_name@parameter_namecommand_name は Beam_Source_1 よ う に 、 有 効 な 名 前 を 指 定 す る 必 要 が あ り 、parameter_name は RA または NMAX のように、数値パラメータを識別する必要があります。
指定されたパラメータは、通常の変数のような任意の式で使用することができますが注意が必要です、
しかし、数値以外のパラメータを指定します（タイプのような）。
この場合、結果は未定義になります（ほとんどの場合、それらはゼロと評価されます。）また、1 つはレイヤーやアクションの数のように、いくつか序数サイズを指定するパラメータを記述しないでください。
パラメータの長さがあるなら、値が常に返されるか、またはミリメートル（DIFFRACT コマン
ドの単位が異なっていても）が期待されている。
Performer of DiffractGUI2012

17

DIFFRACT コ マ ン ド の 波 長 お よ び 入 射 屈 折 率 は 、 事 前 に 定 義 さ れ た パ ラ メ ー タ は 、WAVELENGTH と NVIRON でアクセスすることができます
command_name@WAVELENGTH
command_name@NVIRONDIFFRACT コマンドタイプにかかわらず、波長がミリメートルで常に表示されます。
DIFFRACT コマンドの名前と所望のパラメータの名前の両方が Edit DIFFRACT Parameters dialog
box から決定することができる。:

Place mouse over thedesired parameter field
and wait ….

…until a tooltip appears.

より便利に、コマンド名とそのパラメータのサブセットは、メインウィンドウのキャプショ
ンバーやステータスバーに表示され、Workbench-View のコマンドのアイコンの上にマウスカーソルが移動されたときに表示されます。:

NOTE:
DIFFRACT コマンドパラメータを使用する場合は、DiffractGUI が自動的に作成したその名前に序数インデックスを割り当てることにより、コマンドが命名されています。
これは command.dat が変更されたときに、付属のインデックスの変更は必ずしもコマンドは
command.dat に表示されている物理的な順序を反映していないことを意味します。
たとえば、2 つのビームを含んで command.dat で始まる名前は次のようになります。
Performer of DiffractGUI201218

Beam_Source_1
Beam_Source_2

第 3 のビームが Beam1 Beam2 との間に挿入されている場合、名前は次のようになります。
Beam_Source_1
Beam_Source_3
Beam_Source_2
command.dat を閉じて、それを再読み込みした後、名前は次のようになります。:
Beam_Source_1
Beam_Source_2
Beam_Source_3
performer のスクリプトを作成するときにこの動作は、考慮されるべきである。一つはコマンドの挿入または削除後 command.dat を閉じて再ロードすることによってこの種のインデッ
クスシャッフルを避けることができます。.

5. Text variables (Character arrays)
テキスト変数の個々の文字は、次のように算術式内で使用することができます
textvariable_name[index_expression]とで設定
textvariable_name[index_expression]=some value
それらは、0 から 255 の間の任意の値に設定できます。内部テキスト変数がゼロで終わる文
字列として格納されているので、0 の値を設定するとその位置でテキスト変数を切り捨てます。.

Example of expressions
次のスクリプト例では、様々な可能性を理解するのに役立つものです:
BLOCK Using Arithmetic Expressions With Variables, Matrices, Plots and changing COMMAND.DATVARIABLE v1=rand()*1000
VARIABLE v2= ( v1==v1 )PRINT variable v1 has ${ v1 }$ and variable v2 has value ${ v2 }$MATRIX matrix1
ROWS 12COLUMNS 16
INITIALIZE rand()*1000
PRINT
PRINT Readout matrix properties and values
PRINT matrix1 has ${ matrix1@rows }$ rows
PRINT matrix1 has ${ matrix1@cols }$ columns
PRINT matrix1 has ${ matrix1@cols*matrix1@rows }$ values
PRINT matrix1[ 3 , 4 ] has value ${ matrix1[3,4] }$PRINT
PRINT Set a matrix cell
SET matrix1[3,4]=123456
PRINT matrix1[ 3 , 4 ] has now value ${ matrix1[3,4] }$Performer of DiffractGUI2012

19

PRINT
PRINT Set the complete matrix to same value
SET matrix1=3456
PRINT whole matrix has now value ${ matrix1[3,4] }$PRINT
PRINT Using plots in expressions:
PLOT plot1
EXTENTXMIN -1
XMAX 1YMIN -1
YMAX 1WAVELENGTH WAVELENGTH
NVIRON NVIRONUNIT UNIT
PRINT plot1 has ${ plot1@rows }$ rows
PRINT plot1 has ${ plot1@cols }$ columns
PRINT Attaching a matrix to plot
LOAD_PLOT_DATA plot1
FROM_MATRIX matrix1
PRINT plot1 has ${ plot1@rows }$ rows
PRINT plot1 has ${ plot1@cols }$ columns
PRINT plot1[ 3 , 4 ] has value ${ plot1[3,4] }$PRINT plot1 has X-Range [ ${ plot1@xmin }$ ... ${ plot1@xmax }$ ]PRINT plot1 has Y-Range [ ${ plot1@ymin }$ ... ${ plot1@ymax }$ ]PRINT
PRINT Reading values from the COMMAND.DAT (LENGTHS are returned always in millimeters!)
PRINT Radius of aperture of BeamSource_1 is ${ Beam_Source_1@RA }$ mm
PRINT this is ${ Beam_Source_1@RA / Beam_Source_1@WAVELENGTH }$ waves !
PRINT
PRINT Setting values in the COMMAND.DAT (LENGTHS always in millimeters!)
PRINT PLEASE BE CAREFUL WITH THIS KIND OF ASSIGNMENTS !
SET Beam_Source_1@RA = 1000 * Beam_Source_1@WAVELENGTH
PRINT Radius of aperture of BeamSource_1 have been set to ${ Beam_Source_1@RA }$ mm
PRINT this is ${ Beam_Source_1@RA / Beam_Source_1@WAVELENGTH }$ waves !
PRINT The NVIRON of Beam_Source_1 is ${ Beam_Source_1@NVIRON }$スクリプトは次のようないくつかの出力を生成する必要があります:
variable v1 has 998.108 and variable v2 has value 1
Readout matrix properties and values
matrix1 has 12 rows
matrix1 has 16 columns
matrix1 has 192 values
matrix1[ 3 , 4 ] has value 44.6486
Set a matrix cellmatrix1[ 3 , 4 ] has now value 123456
Set the complete matrix to same value
whole matrix has now value 3456
Using plots in expressions:plot1 has 0 rows
plot1 has 0 columns
Attaching a matrix to plot
plot1 has 12 rows
plot1 has 16 columns
plot1[ 3 , 4 ] has value 3456
plot1 has X-Range [ -1 ... 1 ]plot1 has Y-Range [ -1 ... 1 ]Reading values from the COMMAND.DAT (LENGTHS are returned always in millimeters!)

Performer of DiffractGUI2012

20

Radius of aperture of BeamSource_1 is 30 mm
this is 47393.4 waves !
Settings values in the COMMAND.DAT (LENGTHS always in millimeters!)
PLEASE BE CAREFUL WITH THIS KIND OF ASSIGNMENTS !
Radius of aperture of BeamSource_1 have been set to 0.633 mm
this is 1000 waves !
The NVIRON of Beam_Source_1 is 1

Performer of DiffractGUI2012

21

Internal Global Variables
次の内部変数は、任意の算術式の中で使用することができます。これらは自動的に定義されており、明示的な宣言が必要ありません。その値は performer エンジンによって内部的に設定されており、彼らは唯一の読み出し、決して設定されなければならない。
WAVELENGTH はミリメートルの入射波長である。これは指定されたドキュメントの波長と同じであることに注意してください。DIFFRACT コマンドに固有の波長が必要とされている場合
は、GET_COMMAND_PARAMETERS performer コマンドを使用します（このドキュメントで後述参照）を使用します。

LAST_RETURN_VALUE 最後に実行された RETURN コマンドで指定された値です。
EOF はファイルの終わりに現在の入力ファイルに到達した場合は s が 1 に設定され、それ以外の場合は、値 0 になります。

Performer of DiffractGUI2012

22