"マシンビジョン検査システムのステップアンドリピート動作をプログラムする方法であって、前記マシンビジョン検査システムは、撮像部と、前記撮像部の視野FOV内に1つまたは複数のワークピースを保持するステージと、制御部と、グラフィカルユーザインタフェースGUIとを含み、前記方法は、前記マシンビジョン検査システムを操作して、ワークピース特徴の第1の構成に対して実行すべき検査動作セットを定義することと、前記GUIを操作して、ステップアンドリピートダイアログボックスを表示することであって、前記ステップアンドリピートダイアログボックスは、前記ワークピース特徴の第1の構成の対応するインスタンスに対して前記検査動作セットを実行するためのデフォルトステップアンドリピートロケーションセットを定義する第1の複数のパラメータを含むことと、前記GUIを操作して、表示された前記ステップアンドリピートダイアログボックスにおいて前記第1の複数のパラメータを定義して、前記デフォルトステップアンドリピートロケーションセットを定義し、それにより、前記定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現を前記GUI内に表示することと、前記GUIを操作して、前記デフォルトステップアンドリピートロケーションセットのサブセットである検査ステップアンドリピートロケーションセットを定義することと、前記検査ステップアンドリピートロケーションセットを、前記ワークピース特徴の第1の構成の複数のインスタンスの検査に使用すべきパートプログラムに記録することとを含み、前記GUIを操作して、前記検査ステップアンドリピートロケーションセットを定義することは、前記GUIに表示された定義された前記デフォルトステップアンドリピートロケーションセットの前記メンバの図的表現において、除外すべき少なくとも1つのメンバを示すことと、前記検査ステップアンドリピートロケーションセットを、前記デフォルトステップアンドリピートロケーションセットから、前記示された除外すべき少なくとも1つのメンバを除外したものとして定義し、それにより、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの図的表現を前記GUIに表示することとをさらに含む、方法。定義された前記検査ステップアンドリピートロケーションセットの前記メンバの前記図的表現において、除外すべき少なくとも1つの追加のメンバを示すことと、前記少なくとも1つの追加の除外メンバを除外して、前記検査ステップアンドリピートロケーションセットを定義し、それにより、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの図的表現を前記GUIに表示することとをさらに含む、請求項1に記載の方法。除外するメンバを示すことは、定義された前記デフォルトステップアンドロケーションセットの前記メンバの前記図的表現において、カーソルを除外すべき前記メンバの近傍に位置決めすることと、前記マシンビジョン検査システムの入力装置を操作して、除外するメンバを選択することとを含む、請求項1に記載の方法。定義された前記検査ステップアンドリピートロケーションセットの前記メンバの前記図的表現を表示することは、前記デフォルトステップアンドリピートロケーションセットの前記メンバの前記図的表現の上書きおよび変更のうちの少なくとも一方を行い、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの前記図的表現を提供する、請求項1に記載の方法。前記検査ステップアンドリピートロケーションセットは、除外すべきメンバの指示に応答して自動的に変更され、その図的表現が自動的に表示される、請求項1に記載の方法。定義された前記デフォルトステップアンドリピートロケーションセットの前記図的表現は、表示された前記ステップアンドリピートダイアログボックスにおいて前記第1の複数のパラメータ内に含まれるパラメータ値の入力に応答して、自動的に変更され表示される、請求項1に記載の方法。表示された前記ステップアンドリピートダイアログボックス内の前記第1の複数のパラメータは、ステップアンドリピートロケーションのブロック内にデカルト座標ステップアンドリピートオフセット値dXibおよびdYibを含むと共に、そのブロック内のメンバ数を示す第1の反復数、ブロックを繰り返すデカルト座標ステップアンドリピートオフセット値dXbbおよびdYbb、ならびにブロック数を示す第2の反復数を含み、定義された前記デフォルトステップアンドリピートロケーションセットの前記図的表現は、dXib、dYibb、dXbb、dYbb、前記第1の反復数、および前記第2の反復数に入力された値に応答する、請求項6に記載の方法。表示された前記ステップアンドリピートダイアログボックス内の前記第1の複数のパラメータは、円柱座標ステップアンドリピート離間値dRおよびdAならびにメンバ数を示す反復数を含み、定義された前記デフォルトステップアンドリピートロケーションセットの前記図的表現は、dR、dA、および反復数に入力された値に応答する、請求項6に記載の方法。前記デフォルトステップアンドリピートロケーションセットの前記メンバおよび前記検査ステップアンドリピートロケーションセットの前記メンバは、図的表示内の個々のウィジェットで表され、前記除外されたメンバは、変更されたウィジェットおよび空のスペースのうちの一方で表される、請求項1に記載の方法。ワークピース特徴の第1の構成に対して実行すべき前記検査動作セットは、前記デフォルトステップアンドリピートロケーションセットの生成に使用された基準ロケーションに対応して実行される動作により定義され、前記基準ロケーションのウィジェットは、前記図的表示内で一意のウィジェット外観を有する、請求項9に記載の方法。定義された前記検査ステップアンドリピートロケーションセットの前記メンバの前記図的表現内にメンバとして再び追加する少なくとも1つの除外メンバを示すことと、前記再び追加されたメンバを含むように前記検査ステップアンドリピートロケーションセットを定義し、それにより、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの図的表現を前記GUI内に表示することとをさらに含む、請求項1に記載の方法。メンバとして再び追加する除外メンバを示すことは、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの前記図的表現において、カーソルを前記除外メンバの近傍に位置決めすることと、前記マシンビジョン検査システムの入力装置を操作して、前記除外メンバロケーションを選択し、それにより、前記除外メンバロケーションを再び追加することとを含む、請求項11に記載の方法。前記ダイアログボックスは、前記検査ステップアンドリピートロケーションセットが、単一のワークピース上のワークピース特徴の前記第1の構成の複数のインスタンスを検査するように構成されるか、それとも対応する複数の同様のワークピース上のワークピース特徴の前記第1の構成の複数のインスタンスを検査するように構成されるかを定義するインジケータを含む、請求項1に記載の方法。前記デフォルトステップアンドリピートロケーションセットの前記メンバおよび前記検査ステップアンドリピートロケーションセットの前記メンバは、前記ダイアログボックスの境界内に提示される、請求項1に記載の方法。前記ダイアログボックスは、現在定義され表示されている前記検査ステップアンドリピートロケーションセットを許容するボタンを含み、前記方法は、ユーザが前記ボタンをアクティブ化することをさらに含み、前記検査ステップアンドリピートロケーションセットを前記パートプログラムに記録するステップは、前記ユーザが前記ボタンをアクティブ化することの後に行われる、請求項1に記載の方法。前記GUIは、学習モード動作セットが、前記記録された検査ステップアンドリピートロケーションセットに対応する前記定義された検査動作セットを実際に繰り返して、実際のステップアンドリピート検査結果を生成することを含むか、それとも、学習モード動作セットが定義された前記検査動作セットを実際に繰り返さずに、記録された前記検査ステップアンドリピートロケーションセットでの定義された前記検査動作セットの繰り返しに対応するデータシミュレーションを行い、シミュレートされたステップアンドリピート検査結果を生成することを含むかを支配するセレクタを含む第2のダイアログボックスをさらに含み、前記方法は、前記セレクタのうち、実際のステップアンドリピート検査結果を生成し記憶する一方のセレクタを選択すること、または前記セレクタのうち、シミュレートされたステップアンドリピート検査結果を生成し記憶する他方のセレクタを選択することをさらに含む、請求項1に記載の方法。撮像部と、前記撮像部の視野FOV内に1つまたは複数のワークピースを保持するステージと、制御部と、グラフィカルユーザインタフェースGUIとを含むマシンビジョン検査システムであって、前記制御部は、前記GUIにより、ユーザが、前記GUIを操作して、ワークピース特徴の第1の構成に対して実行すべき検査動作セットを定義することと、前記GUIを操作して、ステップアンドリピートダイアログボックスを表示することであって、前記ステップアンドリピートダイアログボックスは、前記ワークピース特徴の第1の構成の対応するインスタンスに対して前記検査動作セットを実行するためのデフォルトステップアンドリピートロケーションセットを定義する第1の複数のパラメータを含むことと、前記GUIを操作して、表示された前記ステップアンドリピートダイアログボックスにおいて前記第1の複数のパラメータを定義して、前記デフォルトステップアンドリピートロケーションセットを定義し、それにより、前記定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現を前記GUI内に表示することと、前記GUIを操作して、前記デフォルトステップアンドリピートロケーションセットのサブセットである検査ステップアンドリピートロケーションセットを定義することと、前記検査ステップアンドリピートロケーションセットを、前記ワークピース特徴の第1の構成の複数のインスタンスの検査に使用すべきパートプログラムに記録することとを含むステップを実行できるようにするコンピュータ実行可能プログラムを含み、前記GUIを操作して、前記検査ステップアンドリピートロケーションセットを定義することは、前記GUIに表示された定義された前記デフォルトステップアンドリピートロケーションセットの前記メンバの図的表現において、除外すべき少なくとも1つのメンバを示すことと、前記検査ステップアンドリピートロケーションセットを、前記デフォルトステップアンドリピートロケーションセットから、前記示された除外すべき少なくとも1つのメンバを除外したものとして定義し、それにより、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの図的表現を前記GUIに表示することとをさらに含む、システム。前記GUIは、前記除外すべきメンバの指示に応答して、前記検査ステップアンドリピートロケーションセットが自動的に変更され、その図的表現が前記GUI内に表示されるように構成される、請求項17に記載のシステム。前記GUIは、表示されている前記ステップアンドリピートダイアログボックスでの前記第1の複数のパラメータ内に含まれるパラメータ値の入力に応答して、定義された前記デフォルトステップアンドリピートロケーションセットの前記図的表現が、前記GUI内で自動的に変更されて表示されるように構成される、請求項17に記載のシステム。前記GUIは、前記ダイアログボックスは、現在定義され表示されている前記検査ステップアンドリピートロケーションセットを許容するボタンを含み、前記ボタンのアクティブ化により、前記検査ステップアンドリピートロケーションセットのパートプログラムへの記録が開始されるように構成される、請求項17に記載のシステム。ステップアンドリピートプログラミングに現在利用可能な特徴およびグラフィカルユーザインタフェースGUIコントロールは限られている。特に、ステップアンドリピート動作および関連する動作パラメータを学習モード中または手動モード中にセットアップするために利用可能な代替手段は限られている。したがって、既存の代替手段は不十分な場合があり、いくつかのワークピースと併せて効率的に使用するように容易に構成可能ではない場合がある。さらに、ステップアンドリピート動作の既存のユーザインタフェースは、特に直観的ではなく、ユーザによる習得や記憶を難しくする。これらおよび他の欠陥を解消して、精密マシンビジョン検査システムのより効率的、直観的、かつ柔軟な使用およびプログラミングを可能にするステップアンドリピートユーザインタフェース機能に対する必要性が存在する。この概要は、詳細な説明において以下にさらに説明される概念のうち選択されたものを簡略化された形態で紹介するために提供される。この概要は、特許請求される主要な特徴を識別することを意図されず、特許請求される主旨の範囲を決定するものとして使用されることも意図されない。本発明のいくつかの例示的な実施形態によれば、マシンビジョン検査システムのステップアンドリピート動作をプログラミングする方法が提供される。マシンビジョン検査システムは、撮像部と、1つまたは複数のワークピース検査対象を撮像部の視野FOV内に保持するステージと、制御部と、グラフィカルユーザインタフェースGUIとを含む。この方法は一般に、マシンビジョン検査システムの操作者ユーザにより実行されるべき5つのステップを含む。第1に、ユーザは、マシンビジョン検査システムを操作して、ワークピース特徴の第1の構成に対して実行すべき検査動作セットを定義する。第2に、ユーザは、GUIを操作して、ステップアンドリピートダイアログボックスを表示させる。ステップアンドリピートダイアログボックスは、定義された検査動作セットをワークピース特徴の第1の構成の対応するインスタンスに対して実行し得るデフォルトステップアンドリピートロケーションセットを定義する第1の複数のパラメータを含む。第3に、ユーザはGUIを操作して、表示されたステップアンドリピートダイアログボックス内で第1の複数のパラメータを定義して、デフォルトステップアンドリピートロケーションセットを定義し、それにより、定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現がGUIに表示される。第4に、ユーザはGUIを操作して、定義されたデフォルトステップアンドリピートロケーションセットのサブセットである検査ステップアンドリピートロケーションセットを定義する。検査ステップアンドリピートロケーションは、定義された検査動作セットを実際に実行すべき場所である。検査ステップアンドリピートロケーションセットを定義するために、ユーザはまず、例えば、マウス等の適した入力装置を使用して、定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現内の除外すべき少なくとも1つのメンバを示す。次に、ユーザは、検査ステップアンドリピートロケーションセットを、デフォルトステップアンドリピートロケーションセットから、示された少なくとも1つのメンバを除外したものとして定義し、それにより、定義された検査ステップアンドリピートロケーションセットのメンバの図的表現がGUI内に表示される。第5に、ユーザは、定義された検査ステップアンドリピートロケーションセットを、ワークピース特徴の第1の構成の複数のインスタンスの検査に使用されるパートプログラムに記録する。本発明のさらなる態様によれば、上述した方法の実行に適したマシンビジョン検査システムも提供される。様々な例示的な実施形態による本発明は、ユーザがマシンビジョン検査システムにおいてステップアンドリピートループ動作を容易にプログラムし使用できるようにする効率的、直観的、かつ柔軟なGUI特徴を提供する。本発明の上記態様及び付随する多くの利点は、添付図面と併せて解釈される以下の詳細な説明を参照することにより、よりよく理解されるため、より容易に理解されるであろう。図1は、本発明により使用可能な例示的な1つのマシンビジョン検査システム10のブロック図である。マシンビジョン検査システム10は、制御コンピュータシステム14とデータおよび制御信号を交換するために動作可能に接続されたビジョン測定機械12を含む。制御コンピュータシステム14はさらに、モニタまたはディスプレイ16、プリンタ18、ジョイスティック22、キーボード24、およびマウス26とデータおよび制御信号を交換するために動作可能に接続される。モニタまたはディスプレイ16は、マシンビジョン検査システム10の動作の制御および/またはプログラムに適したユーザインタフェースを表示し得る。ビジョン測定機械12は、可動式ワークピースステージ32と、ズームレンズまたは交換レンズを含み得る光学撮像システム34とを含む。ズームレンズまたは交換レンズは一般に、光学撮像システム34により提供されるイメージに様々な倍率を提供する。マシンビジョン検査システム10は一般に、上述したビジョンシステムのQUICKVISION登録商標シリーズおよびQVPAK登録商標ソフトウェアおよび同様の先端技術の市販されている精密マシンビジョン検査システムと同等である。マシンビジョン検査システム10は、本願と同じ譲受人に譲渡され、2008年12月23日に出願された米国特許第7,454,053号、同第7,324,682号、および米国特許出願第12/343,383号、2009年10月29日に出願された米国特許出願第12/608,943号にも説明されている。本明細書において開示される改良されたステップアンドリピートユーザインタフェース機能ならびに関連する方法および動作は、図1に示されるような汎用精密マシンビジョン検査システムのより効率的、直観的、かつ柔軟な使用およびプログラムを特に初心者または頻繁に使用しないユーザに提供することができる。図2は、本発明によるマシンビジョン検査システム100の制御システム部120およびビジョン構成要素部200のブロック図である。より詳細に後述するように、制御システム部120は、ビジョン構成要素部200を制御するために利用される。ビジョン構成要素部200は、光学アセンブリ205と、光源220、230、および240と、中央透透明部212を有するワークピースステージ210とを含む。ワークピースステージ210は、ワークピース20を位置決めし得るステージの表面に略平行する平面にあるX軸およびY軸に沿って制御可能なように移動可能である。光学アセンブリ205は、カメラシステム260、交換対物レンズ250を含み、レンズ286および288を有するターレットレンズアセンブリ280を含み得る。ターレットレンズアセンブリに代えて、固定された、または手動で交換可能な倍率変更レンズまたはズームレンズ構成等が含まれてもよい。光学アセンブリ205は、さらに後述するように、制御可能なモータ294を使用することにより、X軸およびY軸に略直交するZ軸に沿って制御可能なように移動可能である。マシンビジョン検査システム100を使用して撮像すべきワークピース20または複数のワークピース20を保持したトレイもしくは取り付け具は、ワークピースステージ210上に配置される。ワークピースステージ210は、交換対物レンズ250がワークピース20上のロケーション間および/または複数のワークピース20間で移動するように、光学アセンブリ205に相対移動するように制御することができる。ステージ照明220、同軸照明230、および表面照明240のうちの1つまたは複数が、ソース光222、232、または242をそれぞれ発して、1つまたは複数のワークピース20を照明し得る。ソース光は、ワークピース光255として反射または伝達され、ワークピース255は、交換対物レンズ250およびターレットレンズアセンブリ280を透過し、カメラシステム260に集められる。カメラシステム260により取り込まれたワークピース20のイメージは、信号線262を介して制御システム部120に出力される。光源220、230、および240は、信号線またはバス221、231、および241をそれぞれ通して制御システム部120に接続し得る。イメージの倍率を変更するには、制御システム部120は、信号線またはバス281を通してターレットレンズアセンブリ280を軸284に沿って回転させ、ターレットレンズを選択し得る。例示的な様々な実施形態では、光学アセンブリ205は、アクチュエータ、接続ケーブル等を駆動する制御可能なモータ294を使用して、ワークピースステージ210に対して垂直なZ軸方向において移動可能であり、それにより、光学アセンブリ205をZ軸に沿って移動させて、カメラシステム260により取り込まれるワークピース20のイメージの焦点を変更させる。本明細書において使用される用語Z軸は、光学アセンブリ205により取得されるイメージに合焦させるために使用されることを意図された軸を指す。制御可能なモータ294は、使用される場合、信号線296を介して入/出力インタフェース130に接続される。図2に示されるように、例示的な様々な実施形態では、制御システム部120は、コントローラ125と、入/出力インタフェース130と、メモリ140と、ワークピースプログラム生成実行器170と、電源部190とを含む。これら各構成要素ならびに後述する追加の構成要素は、1つまたは複数のデータ/制御バスおよび/またはアプリケーションプログラミングインタフェースにより、あるいは各種要素間の直接接続により相互接続し得る。本発明による様々な実施形態では、ワークピースプログラム生成実行器170はステップアンドリピートループ生成部172を含み、ステップアンドリピートループ生成部172は、さらに詳細に後述するように、ステップアンドリピート動作および関連するプログラミングに関する様々な動作およびユーザインタフェースの特徴を提供またはアクティブ化する。ステップアンドリピートループ生成部172に対して代替の構成も可能である。例えば、いくつかの実施形態では、ワークピースプログラム生成実行器170およびステップアンドリピートループ生成部172を統合してもよく、かつ/または区別不可能にしてもよい。より一般には、本発明は、マシンビジョン検査システム100と併せて動作可能であり、ユーザインタフェース機能、関連するプログラミング、および本明細書に開示される他の動作を提供する、現在既知であるか、または後に開発される任意の形態で実施し得る。入/出力インタフェース130は、撮像制御インタフェース131、移動制御インタフェース132、照明制御インタフェース133、およびレンズ制御インタフェース134を含む。移動制御インタフェース132は、位置制御要素132aおよび速度/加速度制御要素132bを含み得る。しかし、例示的な様々な実施形態では、そのような要素を統合してもよく、かつ/または区別不可能にしてもよいことを理解されたい。照明制御インタフェース133は、例えば、該当する場合、マシンビジョン検査システム100の様々な対応する光源の選択、電力、オン/オフスイッチ、およびストローブパルスタイミングを制御する照明制御要素133a~133nを含む。メモリ140は、イメージファイルメモリ部141と、1つまたは複数のパートプログラム等を含み得るワークピースプログラムメモリ部142と、ビデオツール部143とを含む。ビデオツール部143は、GUI、対応する各ツールのイメージ処理動作等を決定するツール部143aおよび他の同様のツール部~143mを含む。ビデオツール部143は、ビデオツール部143内に含まれる様々なビデオツールにおいて動作可能な様々なROIを定義する自動、半自動、および/または手動の動作をサポートする関心領域生成器143xも含む。一般に、メモリ部140は、ワークピース20のイメージを取り込むまたは取得するためにビジョンシステム構成要素部200を動作させるのに使用可能なデータを記憶し、ワークピース20の取得イメージが所望のイメージ特徴を有するようにさせる。メモリ部140は、検査結果データも記憶し得、マシンビジョン検査システム100を動作させて、手動または自動的に様々な検査および測定動作例えば、部分的にビデオツールとして実装されるを取得イメージに対して実行させ、入/出力インタフェース130を通して結果を出力させるのに使用可能なデータをさらに記憶し得る。メモリ部140は、入/出力インタフェース130を通して操作可能なグラフィカルユーザインタフェースを定義するデータも含み得る。ステージ照明220、同軸照明230、および表面照明240の信号線またはバス221、231、および241のそれぞれはすべて、入/出力インタフェース130に接続される。カメラシステム260からの信号線262および制御可能なモータ294からの信号線296は、入/出力インタフェース130に接続される。イメージデータの搬送に加えて、信号線262は、イメージ取得を開始する信号をコントローラ125から搬送し得る。1つまたは複数の表示装置136例えば、図1のディスプレイ16および1つまたは複数の入力装置138シリーズおよび関連するQVPAK登録商標ソフトウェア等の市販のマシンビジョン検査システムに含まれている。図3は、ユーザがデカルト座標においてステップアンドリピートロケーションを定義することができるステップアンドリピートダイアログボックス300を形成するGUI特徴を示す、表示装置136例えば、図1のディスプレイ16の画面ショットサンプルである。ステップアンドリピートダイアログボックス300は一般に、4つのサブボックス:図的表示サブボックス301、ブロック定義サブボックス302あるいは、内部ループ定義サブボックス302とも呼ばれる、ブロック反復定義サブボックス303あるいは、外部ループ定義サブボックス303とも呼ばれる、および除外範囲定義DefineExcludedRangeサブボックス304を含む。ステップアンドリピートダイアログボックス300の図示の例は、これらサブボックスを含むが、本発明はこの特定の構成に限定されず、任意の数または構成のサブボックスが、本発明のステップアンドリピートダイアログボックスを形成することが可能である。以下の説明では、ウィジェットと当該ウィジェットが表されるロケーションとの間に1対1の対応性があるため、同じ参照番号をウィジェットまたは対応するロケーションのどちらか一方に使用した場合例えば、ウィジェット31X、ロケーション31Xにおいて、特定の説明がより容易に解釈される。同様に付番されたウィジェットとウィジェットが表されるロケーションとのいかなる区別も、説明または文脈に基づいて明確である。ディスプレイサブボックス301は、検査すべき同様の構成の各ワークピース特徴のロケーション31X例えば、310a、311cを図示する。ワークピース特徴の構成のインスタンスのロケーション31Xは、図示の実施形態では、ドット形のウィジェット31Xとして表される。特定のステップで検査すべきワークピースの構成は、例えば、単一の特徴等の比較的単純な形態から様々なワークピース特徴の複雑な組み合わせ等の比較的複雑な形態まで、様々な形態をとり得る。ドット形ウィジェット31Xが単に、ステップアンドリピートプログラミングのために検査すべきワークピース特徴の構成の相対的なロケーションを他の構成に対して象徴的に表すために使用されており、ロケーションでのウィジェット形状が必ずしも、そのロケーションで検査すべきワークピース特徴の実際の構成を表すわけではないことを理解されたい。ステップアンドリピートプログラミングにおいて、ワークピース特徴の構成の検査が、異なるロケーションでの複数のインスタンス、例えば、図示の実施形態では、第1のブロック内の5つのロケーション310a~310eで繰り返される。図示の実施形態では、5つのロケーション310a~310eでの構成のインスタンスは、ブロック定義サブボックス302においてインスタンス反復パラメータセットをユーザが入力することにより定義できる内部ブロックib反復ループに対応すると見なされ得る。図3に示される実施形態では、ステップアンドリピートロケーションのブロック例えば、310a~310eを定義するインスタンス反復パラメータは、ブロックのインスタンスまたはメンバ同士のX軸に沿ったオフセットデルタ値dXib、Y軸に沿ったオフセット値dYib、およびZ軸に沿ったオフセット値dZibを含み、これらオフセット値はすべて基準ロケーションロケーション310aから開始される。ユーザは、ブロック内で繰り返されるべきインスタンスまたはメンバの数を数値で定義することもできるブロック内反復RepeatsinBlock。図示の例では、ユーザは、X軸およびY軸の両方に沿ったオフセット値を1と指定し、反復値を5に指定しており、それにより、5つのドット形ウィジェットがそれぞれ、図的表示サブボックス301内の5つのロケーション310a~310eに出現する。非ゼロ値がdZibとして入力された場合、インスタンスのロケーションは、これがディスプレイサブボックス301内に表示されないにもかかわらず、X軸およびY軸の両方に直交するZ軸に沿ってオフセットするようにプログラムされる。本発明の例示的な様々な実施形態によれば、ユーザが数値をブロック定義サブボックス302内に入力すると、自動的にウィジェットが図的表示サブボックス301内の対応するロケーション例えば、310a~310eに表示される。ユーザが、ブロック定義サブボックス302内に入力された値を変更した場合、ウィジェットの表示は、新しく指定された値に対応するように自動的に変更される。ブロック反復定義サブボックス303により、ユーザは、ブロック反復パラメータセットを定義することができ、これは、ステップアンドリピートプログラミング動作の外部反復ループを定義することと見なすことができる。しかし、本明細書では内部反復ループおよび外部反復ループの名称が、1つの可能な基本的なプログラミング手法を示唆するために使用されるが、他のプログラミング手法も可能なことを理解されたい。さらに、検査動作の実際の実行は、内部ループおよび外部ループ等に従って制約された検査パスを辿る必要はなく、効率的な任意のパスを辿ってよい。したがって、本明細書において使用される名称は単なる例示であり、限定ではない。図3に示される実施形態では、ブロック反復パラメータは、X軸に沿ったブロック毎のオフセット値dXbb、Y軸に沿ったブロック毎のオフセット値dYbb、およびZ軸に沿ったブロック毎のオフセット値dZbbならびに反復すべきブロック数反復ブロックBlockRepeatsを含む。図示の例では、ユーザは、X軸に沿ったブロック毎のオフセット値を2と指定し、Y軸に沿ったブロック毎のオフセット値を0.5と指定し、ブロック反復値を2と指定している。したがって、第1のブロックのロケーション310a~310eにおける5つのウィジェットのそれぞれがまず、ロケーション311a~311eにおいて繰り返され、例えば、ロケーション311aは、ロケーション310aに対してX軸に沿って2、Y軸に沿って0.5だけオフセットされている。ブロック定義サブボックス302と同様に、本発明の例示的な様々な実施形態によれば、ユーザがブロック反復定義サブボックス303内に数値を入力し編集すると、自動的にウィジェットが図的表示サブボックス301内の対応するロケーション311a~311eに表示される。例示的な様々な実施形態では、ワークピース特徴の構成の各インスタンスに対して実行すべき検査動作セットは、図3のロケーション310a等の基準ロケーションにおける構成の参照インスタンスに対して実行される動作により定義される。換言すれば、ステップアンドリピートプログラミングにおいて、基準ロケーションで実行された動作と同じ動作を、複数のロケーションにおいて繰り返される構成の複数のインスタンスに対して繰り返すことができる。本発明の例示的な様々な実施形態によれば、基準ロケーション図3の310aは、ユーザが基準ロケーションを容易に識別できるように、他のロケーションとは図的に区別されて例えば、異なる色で示すことができる。ユーザは、ループ名ボックス305において、定義されたステップアンドリピートロケーションセットの名称を決定することができる。ユーザは、定義されたステップアンドリピートロケーションが複数のワークピースに対応するか、それとも単一のワークピース内の複数のロケーションに対応するかを指定することもできる。特に、ステップアンドリピート動作を、1つのワークピース上の構成と別のワークピース上の構成との間で繰り返すべきである場合、ユーザはピース毎にリピートボタン312を選択し得る。ステップアンドリピート動作を同じワークピース上の複数の構成に対して繰り返すべき場合、ユーザは、1個のピースに対してリピートボタン314を選択し得る。上記説明では、ユーザが、複数の規則正しく配置されたステップアンドリピートロケーション、すなわち、検査すべき構成の複数のインスタンスがそれぞれ配置される規則正しいロケーション配列をどのようにして容易かつ直観的に定義し視覚的に確認することができるかを説明した。上述したインスタンス反復パラメータおよびブロック反復パラメータにより最初に定義される、そのような規則正しいステップアンドリピートロケーション配列は、本明細書では、デフォルトステップアンドリピートロケーションと呼ばれる。本発明の例示的な様々な実施形態によれば、その後、ユーザは任意に、個別にデフォルトステップアンドリピートロケーションを編集し得る。例えば、ユーザは、1つまたは複数のインスタンスまたはロケーションを、定義されたデフォルトステップアンドリピートロケーションセットから除外したい場合がある。図3を参照して、例えば、ユーザは、セットからロケーション311eにおけるインスタンスを除外したい場合がある。本発明の一実施形態によれば、ユーザは、マウス26等の適した入力装置を使用して、除外すべきロケーション311eを選択し得る。例えば、ユーザは、マウス26のカーソルをロケーション311eの近傍に位置決めし、クリックすることにより選択を行い得る。本発明の例示的な様々な実施形態によれば、構成のインスタンスまたはロケーションが除外される場合、除外ロケーションの図的表現は、図的表示サブボックス301内で変更され得る。一例では、除外ロケーションは単に消失し、空のスペースとして示され得る。あるいは、図示の例に見られるように、除外ロケーションを、Xが付いた円等の変更されたウィジェットで示し得る他のドット形ウィジェットと比較して。本発明のさらなる実施形態によれば、ユーザは、例えば、再びマウス26を使用して除外ロケーションをクリックすることにより、除外ロケーションを復帰させ得る。すると、復帰したロケーションの図的表現は、元の形態、例えば、ドット形ウィジェットに戻る。ロケーションのうちのいくつかの除外または復帰を含め、検査ステップアンドリピートロケーションの図的表現を表示することは、元のデフォルトステップアンドリピートロケーションの図的表現を上書きするか、または変更することにより行うことができる。したがって、ユーザは、単一のステップアンドリピートダイアログボックス300の境界内のブロック定義サブボックス302およびブロック反復定義サブボックス303内に含まれるパラメータに基づいて元々定義されたデフォルトステップアンドリピートロケーションセットの個々のインスタンスまたはメンバを図的に編集例えば、除外、復帰等し得る。ユーザは、除外範囲定義DefineExcludedRangeサブボックス304がステップアンドリピートダイアログボックス300内に含まれる場合、そのサブボックス304を使用することにより、定義されたデフォルトステップアンドリピートロケーションセットの編集をすることもできる。特に、除外範囲定義サブボックス304が含まれる場合、ユーザは、From:[X,Y]およびTo:[X,Y]320に関して、デフォルトステップアンドリピートロケーションから除外すべき構成インスタンスのロケーションの範囲または複数のロケーションの範囲を数値またはテキストで定義し得る。例えば、ユーザは、From:[4,3.5]To:[6,4.5]内のロケーションを除外すべきであることを指定し得る。X=4~6かつY=3.5~4.5内のロケーションは、図示の実施形態では、ロケーション310e4,4、311d5,3.5、および311e6,4.5を含むため、これら3つのロケーションは除外されることになる。次に、除外ロケーションのデカルト座標を除外範囲定義サブボックス302内の除外ロケーションリストExcludedLocationList324内に列挙し得る。除外すべきロケーションの範囲が完全に定義されると、ユーザは、除外範囲定義サブボックス302内のOKボタン322を選択する。除外範囲定義サブボックス302は、大きなデフォルトロケーションブロック、例えば、ボールグリッドアレイの中心にある除外すべき複数のロケーション等を除外するために特に有用であり得る。様々な実施形態では、除外範囲定義サブボックス304への入力が完了すると、その入力は図的表示サブボックス301において即座に反映される。同様に、図的表示サブボックス301での図的編集も、除外範囲定義サブボックス304において即座に反映し得る。上述したように、様々な図的表現および編集特徴を様々なテキストに基づく定義および編集特徴と対話的に組み合わせたステップアンドリピートダイアログボックスが、特に直観的なユーザインタフェースを提供することを理解されたい。さらに、実際の検査ロケーションへの図的表現視野内または図面上で見ることができるのおおよその幾何学的類似性により、ユーザは、不規則なステップアンドリピートパターンであっても、プログラムされた構成が意図に適うことを素早く確認できるため、初心者または熟練したユーザのいずれも、極めて容易に自信を持って、そのようなダイアログボックスを使用することができる。ユーザがデフォルトステップアンドリピートロケーションを編集した後に得られるステップアンドリピートロケーションの最終セットは、本明細書では、検査ステップアンドリピートロケーションと呼ばれる。上述したように、本発明は、ユーザが、規則正しい配列のデフォルトステップアンドリピートロケーションのみならず、検査ステップアンドリピートロケーションの規則的または不規則的なセットも定義できるようにするいくつかの直観的で柔軟なGUI特徴を提供する。検査ステップアンドリピートロケーションが完全に定義されると、ユーザは、OKボタン330を選択して、現在定義され表示されている検査ステップアンドリピートロケーションセットを許容し得る。他方、ユーザは、これまでに実行されたあらゆるステップアンドリピートロケーション定義をキャンセルしたい場合、キャンセルCANCELボタン332を選択し得る。本発明の例示的な様々な実施形態では、OKボタン330を選択すると、定義された検査ステップアンドリピートロケーションセットは、ワークピース特徴の構成の複数のインスタンスの検査に使用すべきパートプログラムに自動的に記憶される。図4は、ユーザがステップアンドリピートロケーションを円柱座標において定義することができるステップアンドリピートダイアログボックス400を形成するGUI特徴を示す、表示装置136例えば、図1のディスプレイ16の画面ショットサンプルである。ステップアンドリピートダイアログボックス400は、図的表示サブボックス401および関連付けられたグラフィックスボックスが図3にないにも拘わらず、反復定義サブボックス402と呼ばれる場合もある反復パラメータセット402を含む。大方の場合、ステップアンドリピートダイアログボックス400の構造および動作は、図3のダイアログボックス300と同様であり、それに基づいて理解することができる。したがって、大きな相違のみについてここで説明する。簡潔にするために、ステップアンドリピートダイアログボックス400は、ワークピース特徴の構成のデフォルトロケーションの回転配列を定義するために入れ子ループ手法図3を参照して上述したを使用しない。しかし、図3と同様に、ステップアンドリピートダイアログボックス400の構成は、本発明による単なる一例であり、本発明は図4に示されるものに限定されない。図的表示サブボックス401は、4つのロケーション410~413にそれぞれ配置された4つのウィジェットまたはドット41Xを示す。ロケーション410は、図4の円柱座標における基準ロケーションであり、基準ロケーション310と同様に、その他のロケーション411~413とは図的に異なる様式で表現することができる。ユーザは、反復定義サブボックス402を使用して、ロケーション411~13を定義する反復パラメータを定義することにより、デフォルトステップアンドリピートロケーションセットを定義し得る。ユーザは、基準ロケーション410に相対する中心オフセットXcおよびYcに数値を入力することにより、円形または渦巻き形すなわち螺旋形配置のステップアンドリピートデフォルトロケーションの中心を定義する。図示の例では、ユーザは、ステップアンドリピート回転の公称中心オフセットXc,、Ycを-1.5,0と設定している。ユーザは、半径dRのオフセットデルタ値、角度dAのオフセット値、Z軸に沿ったオフセット値dZ、および構成が繰り返されるインスタンス数も定義する。図示の例では、ユーザは、dA=90°および反復数を4と指定している。したがって、基準ロケーション410A=0°から開始して、検査すべき構成のデフォルトロケーションはそれぞれ、-1.5,0における相対中心Xc,Ycを中心として、ロケーションA=90°、180°、および270°において3回繰り返される。示されていないが、非ゼロ値がdRとして入力される場合、構成のインスタンスは一般に渦巻きパターン増大または低減する半径を有するで繰り返されることになり、非ゼロ値がdZに入力される場合、インスタンスは、X軸およびY軸の両方に直交するZ軸に沿ってずれる螺旋状に繰り返される。前と同様に、ユーザは、定義されたステップアンドリピートロケーションセットをループ名ボックス405において名称決定し得る。ユーザは、上述したように、定義されたステップアンドリピートロケーションが複数のワークピースに対応するかピース毎にリピートボタン412を使用する、それとも単一のワークピース内の複数のロケーションに対応するか1個のピースに対してリピートボタン414を使用するを指定し得る。これも前と同様に、本発明の例示的な様々な実施形態によれば、ユーザは、定義されたデフォルトステップアンドリピートロケーションをステップアンドリピートダイアログボックス400において編集または変更し得る。特に、図3に示される実施形態と同様に、ユーザは、マウス26等の入力装置を使用して、図的表示サブボックス401において、検査すべきステップアンドリピートロケーションの最終セットから除外すべき1つまたは複数のデフォルトステップアンドリピートロケーションを選択し得るすなわち、検査ステップアンドリピートロケーション。これもまた前と同様に、ユーザは、例えば、マウス26を使用して除外されたロケーションを選択することにより、除外されたロケーションを容易に復帰させ得る。示されていないが、図3に示されるように、適した除外範囲定義サブボックスをステップアンドリピートダイアログボックス400に使用して、ユーザが数値またはテキストで、ステップアンドリピートロケーションの最終検査セットから除外すべきデフォルトステップアンドリピートロケーションの範囲を定義できるようにし得る。検査ステップアンドリピートロケーションが完全に定義されると、ユーザはOKボタン430を選択し得る。一方、ユーザは、これまでに実行されたあらゆるステップアンドリピートロケーション定義をキャンセルしたい場合、キャンセルボタン432を選択し得る。ステップアンドリピートダイアログボックス400内に含まれる対話的な図的特徴およびテキストに基づく特徴の組み合わせの利点は、図3に示される実施形態に関して上述した利点と同様である。図5は、上述したように、デカルト座標または円柱座標のいずれかでデフォルトおよび検査ステップアンドリピートロケーションを定義する際に使用されるセットアップパラメータ要素の例示的な一編成を概略的に示す図である。ステップアンドリピートモードプログラムまたはサブルーチン500は、デカルトCartesianモード要素501および円柱Cylindricalモード要素502を含む。デカルトモード要素501は、図3を参照して上述したように、ステップアンドリピートロケーションを定義するために使用される様々なパラメータおよび特徴を含む。図3において上述したものと同じまたは同様の要素は、同じ番号で参照される。特に、これら要素は、ループ名LoopNameパラメータ305、ブロック定義サブボックス302において使用される様々なパラメータリピートRepeats、dXib、dYib、dZib、反復定義サブボックス303において使用される様々なパラメータリピートRepeats、dXbb、dYbb、dZbbならびにピース毎にリピートRepeatPiecetoPiece選択ボタン312および1個のピースに対してリピートRepeatonPiece選択ボタン314を含む。デカルトモード要素501内には、包含ロケーション要素510、基準ロケーションReferenceLocation要素512、および除外ロケーションExcludedLocation要素514等の図的表示サブボックス301内で検査ステップアンドリピートロケーションを定義するために使用される様々な要素も含まれる。包含ロケーションIncludedLocation要素510により、ユーザは、デフォルトステップアンドロケーションが実際に検査すべき検査ステップアンドロケーションであることを指定または確認することができる。本発明の大半の用途では、基準ロケーションは、包含ロケーションのうちの1つ、すなわち、検査ステップアンドリピートロケーションのうちの1つであり、基準ロケーションパラメータ512は、基準ロケーションを残りの検査ステップアンドリピートロケーションと異なる様式で図的に表示させるためにさらに使用され得る。除外ロケーションExcludedLocation要素514により、ユーザは、デフォルトステップアンドリピートロケーションのうちの1つまたは複数を除外することができ、それにより、これら除外されたロケーションは検査ステップアンドリピートロケーションの最終セットの部分を形成しない。上述したように、ステップアンドリピートダイアログボックス300のGUI特徴により、ユーザは、例えば、包含または除外すべきロケーション上にカーソルを配置してクリックすることにより、包含ロケーションおよび除外するロケーションを容易に変更して、デフォルトステップアンドリピートロケーションのうちの任意のロケーションを直観的に確認、除外、または復帰させて、検査ステップアンドリピートロケーションの最終セットを定義することができる。円柱モード要素502も同様に、図4を参照して上述したように、ステップアンドリピートロケーションを定義するために使用される様々なパラメータおよび特徴を含む。図4において上述したものと同じまたは同様の要素は、同じ番号で参照される。特に、これら要素は、ループ名パラメータ405、反復定義サブボックス402に使用される様々なパラメータリピート、dR、dA、dZ、Xc、Yc、ピース毎にリピート選択ボタン412、および1個のピースに対してリピート選択ボタン414を含む。円柱モード要素502は、基準ロケーション要素512および除外するロケーション要素510を含む包含ロケーション要素510等の、図的表示サブボックス401内で検査ステップアンドリピートロケーションを定義するために使用される様々な要素も含む。上述のように、包含ロケーション要素510により、ユーザは、デフォルトステップアンドリピートロケーションが実際に検査すべき検査ステップアンドリピートロケーションであることを指定または確認することができる。除外ロケーション要素514により、ユーザは、デフォルトステップアンドリピートロケーションのうちの1つまたは複数を除外することができ、それにより、それら除外されたロケオーションは、検査ステップアンドリピートロケーションの最終セットの部分を形成しない。図6は、本発明の例示的な実施形態による、図1のマシンビジョン検査システムの、ステップアンドリピートロケーションを定義することを含む、ステップアンドリピート動作をプログラムする方法を示すフローチャートである。ステップ610において、図1のシステム10または図2のシステム100等のマシンビジョン検査システムが提供され、動作する。システムは、撮像部34と、可動式ステージ32と、制御部14または図2の制御システム部120と、図3および図4に示されるようなグラフィカルユーザインタフェースGUIとを含み、ワークピース特徴の第1の構成に対して実行すべき検査セットを定義する。なお、可動式ステージ32は、撮像部34の視野FOV内に1つまたは複数のワークピースを保持するものであり、一般には、1つまたは複数のワークピースを保持する載置台と、この載置台を移動させる機能とを有し、載置台を移動させて該載置台上の1つまたは複数のワークピースの任意の部位を撮像部34の視野FOVに入れる。ステップ612において、GUIが操作されて、図3および図4に示されるダイアログボックス等のステップアンドリピートダイアログボックスが表示される。ステップアンドリピートダイアログボックスは、ワークピース特徴の第1の構成の対応するインスタンスに対して検査動作セットを実行するデフォルトステップアンドリピートロケーションセットを定義する第1の複数のパラメータ例えば、ブロック定義サブボックス302、ブロック反復定義サブボックス303、および反復定義サブボックス402内のパラメータを含む。ステップ614において、GUIを操作して、表示されたステップアンドリピートダイアログボックス内で第1の複数のパラメータを定義して、デフォルトステップアンドリピートロケーションセットを定義する。換言すれば、第1の複数のパラメータは、デフォルトステップアンドリピートロケーションを定義すると、そこに第1の構成のインスタンスが現れ、検査動作セットを受けるように設定される。ステップ616において、定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現がGUI内に表示される。ステップ618において、GUIを操作して、デフォルトステップアンドリピートロケーションセットのサブセットである検査ステップアンドリピートロケーションセットを定義する。特に、ユーザは、GUI内に表示された、定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現から除外すべき少なくとも1つのメンバを示す。上述したように、ユーザの指示は、マウス26のカーソル等の適した入力装置を除外すべきメンバの近傍または上に配置することに基づき得る。すると、検査ステップアンドリピートロケーションセットが、デフォルトステップアンドリピートロケーションセットから指示された少なくとも1つの除外メンバを除いたものとして定義され、それにより、定義された検査ステップアンドリピートロケーションセットのメンバの図的表現をGUI内に表示する。ステップ620において、検査ステップアンドリピートロケーションセットが、ワークピース特徴の第1の構成の複数のインスタンスの検査に使用すべきパートプログラム内に記録される。例えば、上のステップ618において定義された検査ステップアンドリピートロケーションセットは、各検査ステップアンドリピートロケーションにおいて第1の構成に対して実行すべき検査動作セットと共に、パートプログラム内に記録される。図7は、本発明の一実施形態による、検査ステップアンドリピートロケーションの各セットに対して実行すべき検査動作の定義に関連付けられたいくつかの特徴を示す、図1のマシンビジョン検査システム10の表示の画面ショットサンプル700である。図示の例では、マシンビジョン検査システム10は学習モードで動作しており、画面ショット700の上部付近のツールバーから、プログラムProgramというプルダウンメニュー702が選択されている。さらに、プログラムのプルダウンメニュー702内で、学習Learnモードへのチェックマークは、学習モードがアクティブモードであることを示し、ステップアンドリピートStepandRepeatプログラミングモードセレクタ704がアクティブ化されている。可動式ステージ32は、ウィンドウ715に示されるX、Y、Z座標により示される位置に移動しており、FOV内でのワークピース特徴例えば、プリント回路基板の円形の穴の構成710の1つまたは複数のインスタンスの撮像撮像部34を使用するおよび検査をサポートする。FOVのイメージならびに検査動作のプログラムに使用されるあらゆるビデオツールは一般に、ワークピース表示ウィンドウ712内に提供される。ワークピース特徴の構成710は、上述したように、基準ロケーションに対応し得る。ユーザは、上述したように、エッジ/境界検出ビデオツール等の様々なビデオツールを使用することにより、ワークピース特徴の構成710に対して実行すべき検査動作セットを定義し得る。学習モード中、または学習モードを終了する際、構成710に対して定義された検査動作セットは、各ステップアンドリピートロケーションにあるワークピース特徴の同様の構成の複数のインスタンスを検査するために使用すべきパートプログラムに記録される。なおも図7を参照すると、画面ショット700は、図的表示サブボックス301、ブロック定義サブボックス302、およびブロック反復定義サブボックス303を含む、図3のステップアンドリピートダイアログボックス300と同様のステップアンドリピートダイアログボックス720をさらに含む。詳細に上述したように、ユーザは、ステップアンドリピートダイアログボックス720を使用して、構成710に定義された検査動作セットが構成710に対応するさらなるインスタンスに対して実行されるようなデフォルトステップアンドリピートロケーションならびに検査ステップアンドリピートロケーションを定義することができる。構成710は、図3および図4を参照して説明した基準ロケーション310aと同様の基準ロケーションとして定義することができ、デフォルトステップアンドリピートロケーションセットを生成するための参照点として使用することができる。本発明の例示的な様々な実施形態では、ステップアンドリピートプログラミングモードセレクタ704が、その特定のインスタンスで実行される検査動作およびワークピース特徴710のその特定の構成のロケーションを定義することに関連してアクティブ化されているため、構成710を基準ロケーションとして定義し得る。ステップアンドリピートプログラミングモードセレクタ704のアクティブ化により、ステップアンドリピートダイアログボックス720の表示を開始し得る。次に、検査ステップアンドリピートロケーションが、ステップアンドリピートダイアログボックス720を使用して定義され、ワークピース特徴の第1の構成の複数のインスタンスの検査に使用すべきパートプログラムに記録され図6のステップ620、基準ロケーションでの構成710に対して元々定義されていた検査動作セットがパートプログラムに記録されて、定義された検査ステップアンドリピートロケーションのそれぞれで繰り返し実行される。検査動作セットおよび検査ステップアンドリピートロケーションセットが定義される順序が、様々な実施形態において可変であり得ることに留意されたい。いくつかの実施形態では、ユーザは、まず、ステップアンドリピートダイアログボックス720を使用して検査ステップアンドリピートロケーションを定義し、その後、基準ロケーションでの構成710のインスタンスに対して実行すべき検査動作セットを定義し得る。他の実施形態では、ユーザは、まず、構成710に対して実行すべき検査動作セットを定義し、その後、ステップアンドリピートダイアログボックス720内の基準ロケーションに基づいて検査ステップアンドリピートロケーションを定義し得る。図8は、本発明の一実施形態により、各検査ステップアンドリピートロケーションで学習モード中に実行すべき検査動作を定義し検証することを含むステップアンドリピート動作をプログラムする方法を示すフローチャートである。ステップ810において、ユーザは、例えば、図7に示されるプログラムProgramプルダウンメニュー702内のステップアンドリピートStepandRepeat704を選択することにより、ステップアンドリピートStepandRepeat動作定義を選択する。ステップ820において、ステップアンドリピートダイアログボックス720が表示される。ステップ830において、ユーザは、ステップアンドリピートダイアログボックス720内でデフォルトステップアンドリピートロケーションおよび検査ステップアンドリピートロケーションを定義し、検査ステップアンドリピートロケーションを受け入れた後、ステップアンドリピートダイアログボックス720を閉じ得る。ステップ840において、ユーザは、例えば、様々なビデオツールを使用して、ステップアンドリピートダイアログボックス720内で定義された検査ステップアンドリピートロケーションに含まれる基準ロケーションにおける第1の構成に対する検査動作セットを定義する。ステップ850において、ユーザは、例えば、OKボタン図示せずを選択することにより、基準ロケーションに関連付けられたワークピース特徴の構成710に対する検査動作の定義の終了を示す。ステップ860において、ユーザは、シミュレートされたステップアンドリピート検査結果を生成することおよび実際のステップアンドリピート検査結果を生成することのうちの一方を選択する。このために、一実施形態では、ユーザが上述したように基準ロケーションに関連付けられた検査動作の定義の終了を示した後、図9に示されるダイアログボックスをマシンビジョン検査システムの表示装置136に自動的に表示し得る。図9に示されるようなダイアログボックスは、ユーザにこれら2つのオプションのうちの一方を選択するように促し得る。特に、学習モード中に、実行すべき検査動作セットならびにすべての検査ステップアンドリピートロケーションが完全に定義されると、シミュレートされたステップアンドリピート検査結果の生成および実際のステップアンドリピート検査結果の生成のいずれか一方を選択するようにユーザを促し得る。この選択を行った後、ユーザはOKボタンまたはキャンセルボタンを選択して、選択を確定する。学習モード中、ユーザがワークピースプログラムの部分すなわち、パートプログラムであるべきステップアンドリピートプログラムを定義し終えた場合、通常、ユーザは、新たに定義されたステップアンドリピートプログラムを実際に実行して、操作性および性能を確かめることを希望する。しかし、検査すべき反復インスタンス数が比較的多い場合によっては、ユーザは、時間のかかる実際の測定/検査を回避して、時間を節減するためにプログラムを実際に実行することを見合わせて、単にプログラムの実行をシミュレートすることを希望することがある。実際またはシミュレートされたステップアンドリピート検査結果を生成する動作については、図10を参照して詳細に説明する。ステップ870において、上のステップ860において行われたユーザ選択に基づいて、実際またはシミュレートされたステップアンドリピート検査結果が生成される。この時点で、ステップアンドリピートプログラミングの定義ならびにその実際またはシミュレートされた実行は完了する。したがって、ユーザは、次の学習モード動作例えば、他のワークピース特徴に対する追加の検査ステップの定義またはステップアンドリピート検査結果の特別な解析等の実行に進む。図10は、本発明の例示的な実施形態により、図9のダイアログボックス内で行われたユーザ選択に応答しての、シミュレートまたは実際のステップアンドリピート検査結果の生成に関連付けられた処理を示すフローチャートである。ステップ910において、ユーザがシミュレートされたステップアンドリピート検査結果の生成を選択したか否かが判断される。選択していないいいえ場合、ステップ912において、定義されたステップアンドリピート動作が、マシンビジョン検査システム100上で実際に実行される。特に、ステップ914において、マシンビジョン検査システム100は、検査ステップアンドリピートロケーションシリーズ内の次の検査ステップアンドリピートロケーションに設定される。最初、これはシリーズ内の最初のステップアンドリピートロケーションである。ステップ916において、検査動作に関連付けられた特徴ラベルがインクリメントされる。ステップ918において、検査動作が現在のステップアンドリピートロケーションで実際に実行され、実際の検査結果すなわち、検査データおよび測定値が記憶される。ステップ920において、検査ステップアンドリピートロケーションがまだ存在するか否かが判断される。存在する場合、ステップ914に戻り、マシンビジョン検査システム100は、ステップアンドリピートロケーションシリーズ内の次の検査ステップアンドリピートロケーションに設定され、ステップ920において、検査ステップアンドリピートロケーションがもう存在しないと判断されるまで、ステップ916~920が繰り返される。ステップ910に戻り、ユーザがシミュレートされたステップアンドリピート検査結果を選択したはいと判断される場合、ステップ922において、検査動作に関連付けられた特徴ラベルは、まるでマシンビジョン検査システム100が次のステップアンドリピートロケーションに設定されたかのように実際には設定されないがインクリメントされる。ステップ924において、シミュレートされた検査結果すなわち、シミュレートされた検査データおよび測定値が生成され、記憶される。シミュレートされた検査結果は、例えば、基準ロケーション検査データ例えば、基準ロケーションで得られた測定値を想起し、現在シミュレートされたステップアンドリピートロケーションに蓄積されたステップアンドリピート位置インクリメントに基づいて基準ロケーション検査データを変換することにより得られる結果を含み得、次に、この結果は、現在シミュレートされているステップアンドリピートロケーションに関連付けられて記憶される。ステップ926において、検査ステップアンドリピートロケーションがまだ存在するか否かが判断される。存在する場合、ステップ922に戻り、検査動作に関連付けられた特徴ラベルが再び、まるでマシンビジョン検査システム100が次のステップアンドリピートロケーションに設定されたかのように実際には設定されないがインクリメントされ、ステップ924および926が、ステップ926において検査ステップアンドリピートロケーションがもうないと判断されるまで繰り返される。次に、ステップ928において、マシンビジョン検査システム100は実際に、ステップアンドリピートロケーションシリーズ内の最後の検査ステップアンドリピートロケーションに位置決めされ、さらなるプログラミング動作に対する準備ができる。シミュレーション検査結果を生成する一価値は、生成されるダミーの座標および測定検査結果を次に、後のプログラミング動作に使用可能なことである例えば、ダミー座標と最後に測定された測定特徴とのさらなる検査ディメンション等を生成するために。上述したように、本発明の例示的な様々な実施形態は、ユーザがマシンビジョン検査システムにおいてステップアンドリピートループ動作を容易にプログラムし使用することができる効率的、直観的、かつ柔軟なGUI特徴を提供する。本発明の例示的な好ましい様々な実施形態を図示し説明したが、本発明の主旨および範囲から逸脱せずに様々な変更を行い得ることが理解されよう。"