(57)【要約】  図形選択装置（１０１）は、線で表現されたセグメントが組み合わされて構成された選択元の図形の図面データを入力する図面データ入力部（１）と、選択の目的となる目的図形が有するセグメントの条件であるセグメント条件を記憶するセグメント条件記憶部（４）と、目的図形の形状の条件である図形条件を記憶する図形条件記憶部（３）と、選択元の図形に基づいて、セグメント条件および図形条件を満たす目的図形の候補を生成する目的図形候補生成部（７）とを備える。
2018003206.tif 000002
【特許請求の範囲】
【請求項１】
線で表現されたセグメントが組み合わされて構成された選択元の図形の図面データを入力する図面データ入力部と、
選択の目的となる目的図形が有するセグメントの条件であるセグメント条件を記憶するセグメント条件記憶部と、
前記目的図形の形状の条件である図形条件を記憶する図形条件記憶部と、
前記選択元の図形に基づいて、前記セグメント条件および前記図形条件を満たす目的図形の候補を生成する目的図形候補生成部と、
を備えることを特徴とする図形選択装置。
【請求項２】
前記目的図形候補生成部は、
前記選択元の図形が前記セグメント条件を満たしているか否かの第１の判定結果と、前記選択元の図形が前記図形条件を満たしているか否かの第２の判定結果と、に基づいて、前記セグメント条件記憶部に記憶された全てのセグメント条件と、前記図形条件記憶部に記憶された全ての図形条件と、を満たした目的図形の候補を生成する、
ことを特徴とする請求項１に記載の図形選択装置。
【請求項３】
前記目的図形候補生成部は、
前記選択元の図形からセグメントを抽出し、
抽出したセグメントのうち前記セグメント条件を満たすセグメントを用いて図形を生成し、
生成した図形のうち前記図形条件を満たすものを前記目的図形の候補とする、
ことを特徴とする請求項１に記載の図形選択装置。
【請求項４】
前記目的図形候補生成部が抽出したセグメントが前記セグメント条件を満たすか否かの判定を行ない、判定結果を前記目的図形候補生成部に送るセグメント条件判定部をさらに備える、
ことを特徴とする請求項３に記載の図形選択装置。
【請求項５】
前記目的図形候補生成部が生成した図形が前記図形条件を満たすか否かの判定を行ない、判定結果を前記目的図形候補生成部に送る図形条件判定部をさらに備えることを特徴とする請求項３に記載の図形選択装置。
【請求項６】
作業者からの指示に従って、前記目的図形の候補の中から前記目的図形を選択する目的図形選択部をさらに備える、
ことを特徴とする請求項１から５の何れか１つに記載の図形選択装置。
【請求項７】
作業者からの指示に従って、前記図形条件または前記セグメント条件を編集する条件編集部をさらに備える、
ことを特徴とする請求項１から６の何れか１つに記載の図形選択装置。
【請求項８】
前記条件編集部は、前記作業者によって前記図面データに含まれる情報が指定されると、指定された情報に基づいて、前記図形条件または前記セグメント条件を編集する、
ことを特徴とする請求項７に記載の図形選択装置。
【請求項９】
前記目的図形候補生成部が生成した前記目的図形の候補に基づいて、前記セグメント条件または前記図形条件に対して、新たな条件の追加、設定済みの条件の削除または設定済みの条件のパラメータ変更を行う条件自動更新部をさらに備える、
ことを特徴とする請求項１から８の何れか１つに記載の図形選択装置。
【請求項１０】
前記目的図形の候補を確認する目的図形候補確認部をさらに備え、
前記目的図形候補生成部は、前記目的図形の候補の数が複数であった場合に、前記選択元の図形、前記セグメント条件、前記図形条件、または作業者からの指示によって設定された条件に基づいて、生成する前記目的図形の候補または前記作業者に求める操作を変化させる、
ことを特徴とする請求項１から９の何れか１つに記載の図形選択装置。
【請求項１１】
前記図形条件は、図形が２つの閉ループで構成され、かつ、一方の閉ループが他方の閉ループを包含しているという条件である、
ことを特徴とする請求項１から１０の何れか１つに記載の図形選択装置。
【請求項１２】
前記図形条件は、ポケット加工個所の形状に対応する条件である、
ことを特徴とする請求項１から１０の何れか１つに記載の図形選択装置。
【請求項１３】
前記図形条件は、穴のない旋削部品の外形形状に対応する条件である、
ことを特徴とする請求項１から１０の何れか１つに記載の図形選択装置。
【請求項１４】
前記図形条件は、穴のある旋削部品の外形形状に対応する条件である、
ことを特徴とする請求項１から１０の何れか１つに記載の図形選択装置。
【請求項１５】
前記図形条件は、溝加工のパターン形状に対応する条件である、
ことを特徴とする請求項１から１０の何れか１つに記載の図形選択装置。
【請求項１６】
前記図形条件は、穴加工のパターン形状に対応する条件である、
ことを特徴とする請求項１から１０の何れか１つに記載の図形選択装置。
【請求項１７】
前記図形条件は、１本の連続したパス形状に対応する条件である、
ことを特徴とする請求項１から１０の何れか１つに記載の図形選択装置。
【請求項１８】
前記図形条件は、幾何学的な条件で定義できる形状に対応する条件である、
ことを特徴とする請求項１から１０の何れか１つに記載の図形選択装置。
【請求項１９】
線で表現されたセグメントが組み合わされて構成された選択元の図形の図面データを入力する図面データ入力ステップと、
選択の目的となる目的図形が有するセグメントの条件であるセグメント条件を設定するセグメント条件設定ステップと、
前記目的図形の形状の条件である図形条件を設定する図形条件設定ステップと、
前記選択元の図形に基づいて、前記セグメント条件および前記図形条件を満たす目的図形の候補を生成する目的図形候補生成ステップと、
を含むことを特徴とする図形選択方法。
【請求項２０】
線で表現されたセグメントが組み合わされて構成された選択元の図形の図面データを入力する図面データ入力ステップと、
選択の目的となる目的図形が有するセグメントの条件であるセグメント条件を設定するセグメント条件設定ステップと、
前記目的図形の形状の条件である図形条件を設定する図形条件設定ステップと、
前記選択元の図形に基づいて、前記セグメント条件および前記図形条件を満たす目的図形の候補を生成する目的図形候補生成ステップと、
をコンピュータに実行させることを特徴とする図形選択プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の図形要素から図形を選択する図形選択装置、図形選択方法および図形選択プログラムに関する。
【背景技術】
【０００２】
図形を選択するための従来の装置は、線分または円弧などの線で表現されたセグメントの集合である図面データから、目的の領域または目的の経路に対応する図形を抽出している。このような従来の装置の１つである特許文献１に記載の図形選択装置は、指定された図形要素に接する図形要素を検索し、さらに検索された図形要素に接する図形要素を検索している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３６２８８９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の技術である特許文献１では、セグメント数が多い場合には、検索回数が多くなり、検索回数が増えると作業者による図形の指定回数も増える。このため、特許文献１では、セグメント数が多い場合には、作業者による操作回数が多くなるという問題があった。【０００５】
本発明は、上記に鑑みてなされたものであって、少ない操作回数で図面データから図面を選択させることができる図形選択装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明の図形選択装置は、線で表現されたセグメントが組み合わされて構成された選択元の図形の図面データを入力する図面データ入力部を備える。また、本発明の図形選択装置は、選択の目的となる目的図形が有するセグメントの条件であるセグメント条件を記憶するセグメント条件記憶部と、前記目的図形の形状の条件である図形条件を記憶する図形条件記憶部と、を備える。また、本発明の図形選択装置は、前記選択元の図形に基づいて、前記セグメント条件および前記図形条件を満たす目的図形の候補を生成する目的図形候補生成部を備える。
【発明の効果】
【０００７】
本発明によれば、少ない操作回数で図面データから図面を選択させることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る図形選択装置の構成を示すブロック図
【図２】実施の形態１に係る図形選択装置の動作処理手順を示すフローチャート
【図３】図形条件のセグメント数を説明するための図
【図４】図形条件のコンポーネント数を説明するための図
【図５】閉ループ判定の処理手順を示すフローチャート
【図６】連続線判定の処理手順を示すフローチャート
【図７】鏡像対称性判定の処理手順を示すフローチャート
【図８】回転角の第１の例を示す図
【図９】回転角の第２の例を示す図
【図１０】回転角の第３の例を示す図
【図１１】回転対称性判定の処理手順を示すフローチャート
【図１２】並進ベクトルの第１の計算方法を説明するための図
【図１３】並進ベクトルの第２の計算方法を説明するための図
【図１４】並進対称性判定の処理手順を示すフローチャート
【図１５】線分のセグメントに対する角度を示す図
【図１６】円弧のセグメントに対する角度を示す図
【図１７】実施の形態２において図形選択装置に入力される図面の一例を示す図
【図１８】図１７に示した図面に対応する部品を斜めから見た図
【図１９】図１７の図面に対して作業者が目的とする加工箇所を示す図
【図２０】図１７の図面に対して作業者が目的とする輪郭図形を示す図
【図２１】図１７の図面に対して作業者が選択候補を除外する目的で指定した特定のセグメントを示す図
【図２２】実施の形態３において図形選択装置に入力される図面の一例を示す図
【図２３】図２２に示した図面に対応する部品を斜めから見た図
【図２４】図２２の図面に対して作業者が指定した点を示す図
【図２５】図２２の図面に対して作業者が目的とする輪郭図形を示す図
【図２６】内回り閉図形の図形条件を満たす他の図形の第１例を示す図
【図２７】内回り閉図形の図形条件を満たす他の図形の第２例を示す図
【図２８】実施の形態４において図形選択装置に入力される図面データの一例を示す図
【図２９】実施の形態４に係る図形候補判定処理を説明するための図
【図３０】実施の形態５において図形選択装置に入力される図面の一例を示す図
【図３１】実施の形態５に係る図形候補判定処理を説明するための図
【図３２】実施の形態６において図形選択装置に入力される図面の一例を示す図
【図３３】図３２の図面に対して作業者が目的とする目的図形を示す図
【図３４】図３２の図面に対して作業者が指定した図面領域を示す図
【図３５】図３２の図面に対して目的図形の候補から除外されるセグメントを示す図
【図３６】実施の形態７において図形選択装置に入力される図面の一例を示す図
【図３７】実施の形態７に係る図形候補判定処理を説明するための図
【図３８】実施の形態８において図形選択装置に入力される図面の一例を示す図
【図３９】図３８に示した図面に対応する部品を斜めから見た図
【図４０】図３８の図面に対して作業者が目的とするパスを示す図
【図４１】図３８の図面に対して作業者が指定した線分を示す図
【図４２】図３８の図面に対して作業者が指定した円弧および線分を示す図
【図４３】実施の形態９において図形選択装置に入力される図面の一例を示す図
【図４４】図４３で示した図面データの構成を説明するための図
【図４５】実施の形態９に係る図形候補判定処理を説明するための図
【図４６】実施の形態１０に係る図形選択装置の構成を示すブロック図
【図４７】実施の形態１０に係る図形選択装置の動作処理手順を示すフローチャート
【図４８】実施の形態１０において図形選択装置に入力される図面の一例を示す図
【図４９】実施の形態１０に係る図形選択装置で選択される図形の一例を示す図
【図５０】実施の形態１０に係る図形選択装置に対して作業者が指定する点およびセグメントの一例を示す図
【図５１】実施の形態１０に係る図形選択装置が自動的に追加する第１の条件を説明するための図
【図５２】実施の形態１０に係る図形選択装置が自動的に追加する第２の条件を説明するための図
【図５３】実施の形態１，１０の図形選択装置が備える構成要素が処理回路であることを示す図
【図５４】実施の形態１，１０の図形選択装置が備える制御回路の構成例を示す図
【発明を実施するための形態】
【０００９】
以下に、本発明の実施の形態に係る図形選択装置、図形選択方法および図形選択プログラムを図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
【００１０】
実施の形態１．
図１は、実施の形態１に係る図形選択装置の構成を示すブロック図である。図形選択装置１０１は、図面データから選択候補となる図形を生成するコンピュータである。図形選択装置１０１が生成する図形は、設計システム、製造システムまたは制御システムでの図形編集に用いられる。設計システムの一例は、ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）である。また、製造システムの一例は、ＣＡＭ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）システムである。また、制御システムの一例は、ＮＣ（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）の自動プログラミングシステムである。なお、図形選択装置１０１が生成した図形は、ＮＣプログラムの生成に用いられてもよい。
【００１１】
図形選択装置１０１は、表示装置２１および入力装置２２に接続されている。表示装置２１は、図面データで示される物体の形状を表示する。入力装置２２は、図形選択装置１０１への指示を受付けて図形選択装置１０１に入力する。表示装置２１の一例は、液晶モニタであり、入力装置２２の一例は、マウスである。
【００１２】
図形選択装置１０１は、図面データ入力部１、図面データ記憶部２、図形条件記憶部３およびセグメント条件記憶部４を備えている。また、図形選択装置１０１は、図形条件判定部５、セグメント条件判定部６、目的図形候補生成部７、目的図形候補記憶部８、目的図形選択部９を備えている。また、図形選択装置１０１は、プリセット条件記憶部１１、プリセット条件設定部１２、条件編集部１３、図面情報指定部１４および条件自動更新部３１を備えている。
【００１３】
図面データ入力部１は、図面データを読み込んで図面データ記憶部２に入力する。具体的には、図面データ入力部１は、線で表現されたセグメントが組み合わされて構成された選択元の図形の図面データを図面データ記憶部２に入力する。
【００１４】
図面データ記憶部２は、図面データ入力部１からの図面データを記憶する。本実施の形態の図面データは、加工物または加工工具の形状を表したものである。具体的には、図面データは、図面を構成するセグメントの形状と位置、色または線種といったセグメントの属性情報、ハッチングの範囲およびレイヤ情報である。
【００１５】
なお、図面データは、これらの情報に限られず何れの情報であってもよい。本実施の形態では、セグメントの種類が、線分、円弧または円である場合について説明する。図面データ記憶部２に格納された図面データは、目的図形候補生成部７および図面情報指定部１４によって読み出される。
【００１６】
図形条件記憶部３は、作業者が選択しようとしている目的図形が満たす必要のある条件である図形条件を記憶する。図形条件は、目的図形の形状の条件であり、編集可能な情報である。図形条件は、プリセット条件記憶部１１から読み出されて図形条件記憶部３に格納される。また、図形条件記憶部３内の図形条件は、必要に応じて作業者によって編集される。
【００１７】
図形条件判定部５は、図形条件記憶部３および目的図形候補生成部７に接続されている。図形条件判定部５は、目的図形候補生成部７から目的図形の候補が送られてくると、この目的図形の候補が図形条件記憶部３で記憶されている各図形条件を満たすか否かを判定する。
【００１８】
以下の説明では、目的図形の候補であって、目的図形候補生成部７から図形条件判定部５に送られてくるものを、図形判定候補という。本実施の形態では、図形判定候補が目的図形の第１の候補であり、目的図形候補生成部７が目的図形候補記憶部８に格納する目的図形の候補が目的図形の第２の候補である。換言すると、目的図形の第１の候補のうち、判定結果が合格であったのものが、目的図形の第２の候補である。
【００１９】
図形条件判定部５は、図形判定候補が全ての図形条件を満たす場合には、目的図形候補生成部７に「真」を返す。一方、図形条件判定部５は、図形判定候補が図形条件の何れかを満たさない場合には、目的図形候補生成部７に「偽」を返す。図形条件判定部５が目的図形候補生成部７に返す「真」は、図形判定候補が全ての図形条件を満たすことを示す情報である。また、図形条件判定部５が目的図形候補生成部７に返す「偽」は、図形判定候補が図形条件の何れかを満たさないことを示す情報である。図形条件記憶部３が記憶し、図形条件判定部５が判定する図形条件には複数の種類がある。各図形条件の詳細については後述する。
【００２０】
セグメント条件記憶部４は、作業者が選択しようとしている目的図形を構成する全てのセグメントが満たす必要のある条件であるセグメント条件を記憶する。セグメント条件は、作業者の選択の目的となる目的図形が有するセグメントの条件であり、編集可能な情報である。セグメント条件は、プリセット条件記憶部１１から読み出されてセグメント条件記憶部４に格納される。また、セグメント条件記憶部４内のセグメント条件は、必要に応じて作業者によって編集される。
【００２１】
セグメント条件判定部６は、セグメント条件記憶部４および目的図形候補生成部７に接続されている。セグメント条件判定部６は、目的図形候補生成部７からセグメントが送られてくると、このセグメントがセグメント条件記憶部４で記憶されている各セグメント条件を満たすか否かを判定する。
【００２２】
セグメント条件判定部６は、セグメントが全てのセグメント条件を満たす場合には、目的図形候補生成部７に「真」を返す。一方、セグメント条件判定部６は、セグメントが何れかのセグメント条件を満たさない場合には、目的図形候補生成部７に「偽」を返す。セグメント条件判定部６が目的図形候補生成部７に返す「真」は、セグメントが全てのセグメント条件を満たすことを示す情報である。また、セグメント条件判定部６が目的図形候補生成部７に返す「偽」は、セグメントがセグメント条件の何れかを満たさないことを示す情報である。セグメント条件記憶部４が記憶し、セグメント条件判定部６が判定するセグメント条件には複数の種類がある。各セグメント条件の詳細については後述する。
【００２３】
プリセット条件記憶部１１は、図形選択が開始される前に、予め種々の図形条件および種々のセグメント条件を記憶しておく。プリセット条件記憶部１１が記憶しておく図形条件は、図面データ入力部１が読み込む図面の性質および選択される図形の性質に対応する図形条件を含んでいる。また、プリセット条件記憶部１１が記憶しておくセグメント条件は、図面データ入力部１が読み込む図面の性質および選択される図形の性質に対応するセグメント条件を含んでいる。
【００２４】
プリセット条件設定部１２は、プリセット条件記憶部１１に接続されている。プリセット条件設定部１２は、プリセット条件記憶部１１に格納されている図形条件を読み出して図形条件記憶部３に設定する。また、プリセット条件設定部１２は、プリセット条件記憶部１１に格納されているセグメント条件をセグメント条件記憶部４に設定する。
【００２５】
条件編集部１３は、表示装置２１、入力装置２２、図形条件記憶部３、セグメント条件記憶部４および図面情報指定部１４に接続されている。条件編集部１３は、図形条件記憶部３に設定されている図形条件と、セグメント条件記憶部４に設定されているセグメント条件とを、表示装置２１に表示させる。
【００２６】
また、条件編集部１３は、入力装置２２から入力される作業者の指示に従い、図形条件記憶部３およびセグメント条件記憶部４の内容を書き換える。具体的には、条件編集部１３は、入力装置２２から入力される作業者の指示に従って、図形条件記憶部３内の図形条件を追加または削除する。また、条件編集部１３は、入力装置２２から入力される作業者の指示に従って、セグメント条件記憶部４内のセグメント条件を追加または削除する。また、条件編集部１３は、パラメータが存在する図形条件またはセグメント条件については、入力装置２２から入力される作業者の指示に従って、パラメータを変更してもよい。
【００２７】
図面情報指定部１４は、表示装置２１、入力装置２２、図面データ記憶部２、図形条件記憶部３、セグメント条件記憶部４および条件編集部１３に接続されている。図面情報指定部１４は、入力装置２２から入力される作業者の指示に従い、図面依存条件のパラメータとなる図面の情報を図面データ記憶部２から読み出して条件編集部１３へ送る。本実施の形態における図面依存条件は、パラメータを定義する際に図面データ記憶部２に格納されている図面データが必要となる図形条件またはセグメント条件である。従って、図面依存条件のパラメータは、図形条件またはセグメント条件のパラメータであるとも言える。
【００２８】
図面依存条件のパラメータに直接的に利用される図面の情報は、図面データ記憶部２に格納されているレイヤ名またはセグメント番号である。また、図面情報指定部１４は、図面データ記憶部２に格納されている図面データと座標系とを対応付けることによって図面データ内のセグメントとの間の位置関係を計算できる点または閉図形を、図面依存条件のパラメータに用いてもよい。本実施の形態では、後述する図形条件１６〜１８までと、後述するセグメント条件６，７とが、図面依存条件である。
【００２９】
条件編集部１３は、図面情報指定部１４から送られてくる図面の情報に基づいて、図形条件またはセグメント条件を編集する。条件編集部１３は、作業者が図面依存条件の編集を行う際に、図面情報指定部１４を呼び出す。図面情報指定部１４は、レイヤ指定部１５、点指定部１６、閉図形指定部１７およびセグメント指定部１８を有している。
【００３０】
レイヤ指定部１５は、図面データ記憶部２に格納されているレイヤの情報を表示装置２１に表示させ、作業者が入力装置２２を操作することによって指定したレイヤの名称を条件編集部１３へ送る。
【００３１】
点指定部１６は、図面データ記憶部２に格納されている図面の情報を表示装置２１に表示させ、作業者が入力装置２２を操作することによって指定した点を条件編集部１３へ送る。作業者が指定する点は、図面の座標系で定義された点である。
【００３２】
表示装置２１に図面の情報がグラフィカルに表示される場合、作業者はタッチまたはクリックといった操作によって点を指定する。このとき、図面情報指定部１４は、図面データ記憶部２に格納されているセグメントの端点を、選択しやすい表示方法で表示装置２１に表示させることによって、作業者に容易な操作方法を提供してもよい。この場合、図面情報指定部１４は、選択できることが分かりやすくなるように、セグメントの端点を他の図形要素とは異なる形式で表示する。なお、図面の情報が、セグメントの端点の座標値から成るテキストの形式で表示装置２１に表示される場合には、作業者は、点の座標値を直接数値で入力してもよい。
【００３３】
閉図形指定部１７は、図面データ記憶部２に格納されている図面の情報を表示装置２１に表示させ、作業者が入力装置２２を操作することによって指定した閉図形を条件編集部１３へ送る。作業者が指定する閉図形は、線分または円弧が連続して作図されることで定義される。
【００３４】
表示装置２１に図面の情報がグラフィカルに表示される場合、作業者は各線分または円弧の定義に必要な代表点を、タッチまたはクリックといった操作で指定していくことで、閉図形を定義する。
【００３５】
なお、図面の情報が、セグメントの端点の座標値から成るテキストの形式で表示装置２１に表示される場合には、作業者は、線分または円弧の定義に必要な代表点の座標値を直接数値で入力していくことで、閉図形を定義してもよい。
【００３６】
セグメント指定部１８は、図面データ記憶部２に格納されているセグメントの情報を表示装置２１に表示させる。このとき、セグメント指定部１８は、図形条件記憶部３に設定されている図形条件およびセグメント条件記憶部４に設定されているセグメント条件を参照し、作業者がセグメントを指定しやすくなるように表示方法を調整する。例えば、セグメント指定部１８は、セグメント条件を満たしていないセグメントに対し、セグメントの色を目立たない色に変えて表示させる。作業者は、表示装置２１を見て、入力装置２２を操作し、セグメントを指定する。セグメント指定部１８は、指定されたセグメントのセグメント番号を条件編集部１３へ送る。
【００３７】
なお、図面の情報が、セグメントの端点の座標値およびセグメント番号から成るテキストの形式で表示装置２１に表示される場合には、作業者は、セグメント番号を入力することでセグメントを指定してもよい。
【００３８】
表示装置２１に図面の情報がグラフィカルに表示される場合、セグメント指定部１８で指定可能なセグメントの指定方法は複数ある。セグメント指定部１８で指定可能な指定方法は、以下の第１〜第６の指定方法である。
【００３９】
（第１の指定方法）
第１の指定方法は、クリックまたはタッチによって単一のセグメントを指定する方法である。
【００４０】
（第２の指定方法）
第２の指定方法は、入力装置２２を用いて作図された線分に交差したセグメントを全て指定する方法である。この方法の場合、セグメント指定部１８は、図面データ記憶部２に格納されている全てのセグメントについて、作図された線分と交差するか否かの判定を行う。セグメント指定部１８は、セグメントの種類が線分である場合、線分と線分との交差判定を行い、セグメントの種類が円弧である場合、円弧と線分との交差判定を行う。そして、セグメント指定部１８は、交差していると判定した全てのセグメントを指定されたセグメントとする。
【００４１】
（第３の指定方法）
第３の指定方法は、入力装置２２を用いて作図された線分と交差しなかったセグメントを全て指定する方法である。セグメント指定部１８は、図面データ記憶部２に格納されている全てのセグメントについて、作図された線分と交差するか否かの判定を行う。セグメント指定部１８は、セグメントの種類が線分である場合、線分と線分との交差判定を行い、セグメントの種類が円弧である場合、円弧と線分との交差判定を行う。そして、セグメント指定部１８は、交差していないと判定した全てのセグメントを指定されたセグメントとする。
【００４２】
（第４の指定方法）
第４の指定方法は、入力装置２２を用いて作図された矩形内に有る全てのセグメントを指定する方法である。セグメント指定部１８は、図面データ記憶部２に格納されている全てのセグメントについて、セグメントの全体が矩形内に入っているか否かの判定を行う。そして、セグメント指定部１８は、矩形内に入っていると判定した全てのセグメントを指定されたセグメントとする。
【００４３】
（第５の指定方法）
第５の指定方法は、入力装置２２を用いて作図された矩形内に無い全てのセグメントを指定する方法である。セグメント指定部１８は、図面データ記憶部２に格納されている全てのセグメントについて、セグメントの全体が矩形内に入っているか否かの判定を行う。そして、セグメント指定部１８は、矩形内に入っていないと判定した全てのセグメントを指定されたセグメントとする。
【００４４】
（第６の指定方法）
第６の指定方法は、表示装置２１の表示範囲内に無い全てのセグメントを指定する方法である。例えば、表示範囲が矩形である場合、セグメント指定部１８は、図面データ記憶部２に格納されている全てのセグメントについて、セグメントの全体が表示範囲に対応する矩形内に入っているか否かの判定を行う。そして、セグメント指定部１８は、矩形内に入っていないと判定した全てのセグメントを指定されたセグメントとする。
【００４５】
なお、セグメント指定部１８は、矩形以外にも、点、線、連続した複数の線、マウスで描いた自由曲線、多角形または円に対して、包含関係または交差関係を用いることでセグメントを指定してもよい。
【００４６】
目的図形候補生成部７は、図面データ記憶部２に格納されている全てのセグメントを読み出して、セグメント条件判定部６に順番に送る。セグメント条件判定部６は、セグメント毎に「真」または「偽」を目的図形候補生成部７に返す。
【００４７】
目的図形候補生成部７は、セグメント条件判定部６から送られてくる「真」または「偽」を示す情報に基づいて、図面データ記憶部２に格納されているセグメントの中からセグメント条件を満たすセグメントを抽出する。目的図形候補生成部７は、抽出したセグメントを組み合わせた図形判定候補を複数作成する。目的図形候補生成部７は、作成した目的図形候補を図形条件判定部５に順番に送る。図形条件判定部５は、図形判定候補毎に「真」または「偽」を目的図形候補生成部７に返す。
【００４８】
目的図形候補生成部７は、図形条件判定部５から送られてくる「真」または「偽」を示す情報に基づいて、図形判定候補の中から図形条件を満たす図形判定候補のみを目的図形候補記憶部８に格納する。この目的図形候補記憶部８に格納される図形判定候補が、作業者に提示される目的図形の候補である。
【００４９】
なお、目的図形候補生成部７は、目的図形の候補または図形判定候補を生成する際に、図形条件記憶部３に格納されている図形条件を参照してもよい。この場合、目的図形候補生成部７は、参照した図形条件に基づいて目的図形の候補または図形判定候補を生成してもよいし、図形条件を満たさない目的図形の候補または図形判定候補の生成を除外してもよい。
【００５０】
整理すると、目的図形候補記憶部８に格納する目的図形の候補が各図形条件を満たしていることを保証する方法には２通りの方法がある。１つ目の方法は、目的図形候補生成部７が、図形判定候補の生成時に図形条件を参照し、図形条件を満たすように図形判定候補を生成する方法である。２つ目の方法は、図形条件判定部５が、目的図形候補生成部７で生成された図形判定候補が図形条件を満たすか否かを判定し、図形条件が満たされていないものを排除する方法である。目的図形候補生成部７は、あくまでも図形判定候補のうち全ての図形条件を満たしたもののみを目的図形候補記憶部８に記憶する。このように、１つ目の方法の場合、目的図形の候補が図形条件を満たすか否かを目的図形候補生成部７が判定し、２つ目の方法の場合、目的図形の候補が図形条件を満たすか否かを図形条件判定部５が判定する。
【００５１】
１つ目の方法の場合、目的図形候補生成部７は、図形条件に基づいて図形判定候補を生成し、その後、生成した図形判定候補を構成するセグメントがセグメント条件を満たすか否かの判定に基づいて、目的図形の候補を生成してもよい。換言すると、目的図形候補生成部７は、先に図形条件から図形を生成し、その生成した図形を構成するセグメントについて、セグメント条件判定部６がセグメント条件を満たしているか否かを判定する。そして、目的図形候補生成部７が、生成した図形のうち、図形を構成するすべてのセグメントがセグメント条件を満たす図形のみを目的図形候補記憶部８に記憶してもよい。
【００５２】
例えば、目的とする図形が四角形の場合には、目的図形候補生成部７は、図面にある線分４本の組み合わせについて総当たりで、まず閉ループになっているか、すなわち、線分同士が端点で接続しているかを判定する。そして、セグメント条件判定部６が、４本の線分がセグメント条件を満たしているか否かを判定する。
【００５３】
目的図形選択部９は、目的図形候補記憶部８に格納されている目的図形の候補の情報を表示装置２１に表示させる。目的図形選択部９は、入力装置２２からの作業者の指示に従い、目的図形の候補の中から作業者が意図している目的図形を選択する。目的図形選択部９が選択した目的図形は、図形選択装置１０１内に格納しておいてもよいし、外部装置に出力されてもよい。
【００５４】
条件自動更新部３１は、図形条件記憶部３に格納されている図形条件と、セグメント条件記憶部４に格納されているセグメント条件と、目的図形候補記憶部８に格納されている目的図形の候補を分析する。条件自動更新部３１は、分析結果に基づいて、図形条件記憶部３に格納されている図形条件の追加、削除またはパラメータ変更を行う。また、条件自動更新部３１は、分析結果に基づいて、セグメント条件記憶部４に格納されているセグメント条件の追加、削除またはパラメータ変更を行う。
【００５５】
つぎに、図形選択装置１０１の動作処理手順について説明する。図２は、実施の形態１に係る図形選択装置の動作処理手順を示すフローチャートである。図形選択装置１０１は、動作を開始すると、ステップＳ１０において、前回入力した図面データを再利用するか否かを確認する。図形選択装置１０１は、前回入力した図面データを再利用することを示す再利用指示が入力装置２２から入力されたか否かをチェックしている。再利用指示が無かった場合、すなわち、ステップＳ１０においてＮｏの場合、ステップＳ２０において、図面データ入力部１は、ＣＡＤデータから図面データを読み出して図面データ記憶部２に入力する。ここでのＣＡＤデータの一例は、ＤＸＦ（Ｄｒａｗｉｎｇ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）ファイルである。
【００５６】
図面データ入力部１は、図面データからセグメントを読み込む際には、全てのセグメントに異なるセグメント番号を割り当てる。そして、図面データ入力部１は、セグメント番号とセグメントとを対応付けして、セグメントとともに図面データ記憶部２に入力する。これにより、図面データ記憶部２は、セグメント番号とセグメントとが対応付けされたものを記憶する。
【００５７】
この後、ステップＳ３０では、プリセット条件設定部１２が、予めプリセット条件記憶部１１に格納されているプリセット条件を設定する。具体的には、プリセット条件設定部１２が、予めプリセット条件記憶部１１に格納されている図形条件を図形条件記憶部３に設定する。また、プリセット条件設定部１２が、予めプリセット条件記憶部１１に格納されているセグメント条件をセグメント条件記憶部４に設定する。図形選択装置１０１では、プリセット条件設定部１２が図形条件を図形条件記憶部３に格納することが、図形条件を図形条件記憶部３に設定することに対応している。また、プリセット条件設定部１２がセグメント条件をセグメント条件記憶部４に格納することが、セグメント条件をセグメント条件記憶部４に設定することに対応している。
【００５８】
ステップＳ１０においてＹｅｓの場合、すなわち、再利用指示があった場合、ステップＳ２０の処理が実行されることなく、ステップＳ３０において、プリセット条件設定部１２が、予めプリセット条件記憶部１１に格納されているプリセット条件を設定する。
【００５９】
プリセット条件が設定された後、ステップＳ４０において、作業者が条件の手動設定を行うと、条件編集部１３が、作業者による入力装置２２への指示に従って、図形条件およびセグメント条件の追加、削除または変更を行う。
【００６０】
条件編集部１３は、パラメータを伴わない図形条件を追加する際には、何れの種類の何れの図形条件が追加されたかを示す情報を、図形条件記憶部３に格納する。また、条件編集部１３は、パラメータを伴わないセグメント条件を追加する際には、何れの種類の何れのセグメント条件が追加されたかを示す情報を、セグメント条件記憶部４に格納する。
【００６１】
また、条件編集部１３は、パラメータを伴う図形条件を追加する際には、パラメータの指定を作業者に求め、作業者に指定されたパラメータを、追加された図形条件の種類とともに図形条件記憶部３に格納する。また、条件編集部１３は、パラメータを伴うセグメント条件を追加する際には、パラメータの指定を作業者に求め、作業者に指定されたパラメータを、追加されたセグメント条件の種類とともにセグメント条件記憶部４に格納する。
【００６２】
また、条件編集部１３は、既に設定されている図形条件のパラメータの変更を行う場合には、新たなパラメータの指定を作業者に求め、図形条件記憶部３が記憶しているパラメータを、作業者に指定されたパラメータで書き換える。また、条件編集部１３は、既に設定されているセグメント条件のパラメータの変更を行う場合には、新たなパラメータの指定を作業者に求め、セグメント条件記憶部４が記憶しているパラメータを、作業者に指定されたパラメータで書き換える。
【００６３】
また、条件編集部１３は、図形条件を削除する場合には、削除対象の図形条件を図形条件記憶部３が記憶する図形条件から消去する。また、条件編集部１３は、セグメント条件を削除する場合には、削除対象のセグメント条件をセグメント条件記憶部４が記憶するセグメント条件から消去する。
【００６４】
ステップＳ４０において、作業者が図面依存条件のパラメータを指定する際には、図面情報指定部１４が、作業者の指示に従ってパラメータを指定する。図面情報指定部１４は、各図形条件および各セグメント条件について、パラメータを伴うか否かを判断し、伴う場合にはどのようなパラメータをどのように設定するかを決定する。図面情報指定部１４が図形条件およびセグメント条件の種類毎に行う種々の判断および決定については後述する。
【００６５】
なお、パラメータが異なる場合、作業者は同じ種類の図形条件、または、同じ種類のセグメント条件を、複数設定してもよい。ステップＳ４０においては、条件編集部１３が、図形条件およびセグメント条件を編集するための編集画面を表示装置２１に表示させる。この編集画面において、条件編集部１３は、使用頻度が高いと考えられる条件の編集項目を、スクロール操作または別の画面を開く操作が不要な、すぐに編集できる位置に配置してもよい。また、条件編集部１３は、使用頻度が低いと考えられるその他の条件の編集項目を、スクロール操作または別の画面を開く操作で辿りつける位置に配置してもよい。
【００６６】
また、本実施の形態では、ステップＳ４０において、条件編集部１３が、ステップＳ３０で設定されたプリセット条件に含まれる図形条件、および、セグメント条件を編集できる場合について説明したが、条件編集部１３は、プリセット条件設定部１２が設定した図形条件、および、セグメント条件の変更を禁止し、削除、および、パラメータの変更を、作業者が追加した図形条件、または、セグメント条件に限定してもよい。
【００６７】
作業者が、図形条件またはセグメント条件の編集を完了すると、ステップＳ５０において、目的図形候補生成部７が、目的図形の候補を生成する。具体的には、目的図形候補生成部７は、図面データ記憶部２に格納されている全てのセグメントに対して、１つずつセグメント条件判定部６でセグメント条件を満たすか否かの判定を行なわせる。そして、セグメント条件判定部６からの第１の判定結果である判定結果に基づいて、目的図形候補生成部７が、全セグメントの中からセグメント条件を全て満たしたセグメントだけを抽出する。セグメント条件判定部６において、各セグメント条件がどのように判定されるかの具体例については後述する。目的図形候補生成部７は、セグメントを抽出した後、抽出したセグメントを組み合わせることによって図形を生成する。ここでの図形が、図形判定候補である。
【００６８】
目的図形候補生成部７は、図形判定候補を図形条件判定部５に送り、図形判定候補が図形条件を満たすか否かの判定を図形条件判定部５に行なわせる。目的図形候補生成部７は、図形条件判定部５からの第２の判定結果である判定結果に基づいて、図形条件を全て満たした目的図形の候補のみを目的図形候補記憶部８に格納する。
【００６９】
目的図形候補生成部７は、セグメントの組み合わせを総当たりで行い、全ての組み合わせについて図形条件判定部５が、図形条件を満たすか否かの判定を行う。図形条件判定部５において、各図形条件がどのように判定されるかの具体例については後述する。
【００７０】
図形条件判定部５が、生成された図形判定候補の全てに対して判定処理を終えると、ステップＳ６０において、目的図形選択部９が、目的図形候補記憶部８に格納された目的図形の候補を表示装置２１に表示させる。
【００７１】
この後、ステップＳ７０において、図形選択装置１０１は、目的図形の候補生成をやり直すか否かを判定する。図形選択装置１０１は、目的図形の候補生成をやり直すことを示すやり直し指示が入力装置２２から入力されたか否かをチェックしている。作業者がやり直しを指示する場合には、目的とする図形が目的図形の候補の中に無い場合、または目的図形の候補が多すぎて目的図形を探し出すのが困難である場合が考えられる。
【００７２】
やり直し指示があった場合、すなわち、ステップＳ７０においてＹｅｓの場合、ステップＳ７１において、条件自動更新部３１が、目的図形候補記憶部８に格納されている目的図形の候補の情報に基づいて、図形条件記憶部３およびセグメント条件記憶部４の内容である図形条件またはセグメント条件の自動更新を行う。
【００７３】
具体的には、条件自動更新部３１は、目的図形候補記憶部８内の全ての目的図形の候補に含まれているセグメントを探し、もしあれば、このセグメントのセグメント番号をパラメータに設定した後述の図形条件１６を、図形条件記憶部３に追加する。
【００７４】
また、条件自動更新部３１は、目的図形候補記憶部８内の何れの目的図形の候補にも含まれていないセグメントを探し、もしあれば、このセグメントのセグメント番号をパラメータに設定した後述のセグメント条件７を、セグメント条件記憶部４に追加する。
【００７５】
ステップＳ７１において、条件自動更新部３１が、図形条件またはセグメント条件の自動更新を行った後、図形選択装置１０１は、ステップＳ４０〜Ｓ７０の処理を繰り返す。そして、ステップＳ７０においてＮｏの場合、すなわち、やり直し指示が無かった場合、ステップＳ８０において、目的図形選択部９は、目的図形の選択を行う。具体的には、目的図形選択部９が、入力装置２２から入力される作業者の指示に従って、ステップＳ６０で表示された目的図形の候補の中から、目的図形の選択を行う。その後、図形選択装置１０１は、動作を停止する。
【００７６】
なお、図形選択装置１０１は、他のシステムの一部に用いられてもよい。図形選択装置１０１は、ＣＡＤシステムまたはＣＡＭシステムに組み込まれてもよい。この場合、ステップＳ１０における再利用指示は、作業者からではなく、ＣＡＤシステムまたはＣＡＭシステムから図形選択装置１０１に送られてもよい。また、図面データ記憶部２と図面情報指定部１４は、ＣＡＤシステムまたはＣＡＭシステムに配置されていてもよい。
【００７７】
また、図形選択装置１０１は、ＮＣの自動プログラミング装置の一部に用いられてもよい。この場合、自動プログラミング装置を使ったプログラミングにおいて、作業者が加工の種類を選択すると、自動プログラミング装置内の図形選択装置１０１が、図形の候補を提示する。ここで提示される図形の候補は、作業者によって選択された加工の種類で加工が行われた場合に、加工が適切となる個所の図形である。提示された図形の候補の中から作業者が図形を選択すると、自動プログラミング装置は、選択された図形のデータから加工パスを生成する。
【００７８】
具体例を説明する。作業者が、事前に自動プログラミング装置に対して図面データを読み込ませ原点を設定していたとする。作業者が、複数ある加工の種類の中からポケット加工を選択したとき、自動プログラミング装置内の図形選択装置１０１が、図面に存在する閉領域を目的図形の候補に設定して提示する。提示された候補の１つを作業者が選択すると、自動プログラミング装置は、選択された図形、つまり、閉領域をポケット加工する加工パスを生成する。
【００７９】
このような自動プログラミング装置は、一部に図形選択装置１０１を以下のように備えることで実現可能である。まず、プリセット条件記憶部１１が、加工の種類ごとに異なる複数のプリセット条件を記憶する。各プリセット条件は、各加工の種類で選択される図形に対応するものである。
【００８０】
つぎに、作業者が加工の種類を選択した際に、自動プログラミング装置は、加工の種類に対応したプリセット条件を指定して、図形選択装置１０１を起動させる。そして、図形選択装置１０１において、ステップＳ３０まで実行された際に、プリセット条件設定部１２は、自動プログラミング装置からの指定に従ってプリセット条件を設定する。これにより、図形選択装置１０１は、加工の種類に対して適切な目的図形の候補を提示することができる。従って、作業者は、提示された目的図形の候補の中から目的の図形を選択することによって加工形状を指示することができる。
【００８１】
また、自動プログラミング装置がプリセット条件を指定して図形選択装置１０１を起動した後、図形選択装置１０１は、最初にステップＳ４０の処理となった際にだけ、条件の手動設定をスキップさせてもよい。図形選択装置１０１は、プリセット条件だけで適切に少数の目的図形の候補に絞り込めることができる場合、上述のスキップを行うことで、作業者による操作回数を削減できる。具体的には、自動プログラミング装置は、作業者が加工の種類を選択するだけで、目的図形の候補、つまり、加工個所の候補を表示する。従って、作業者が、加工個所の候補の中の１つを選択するだけで、加工形状の指示を完了させることができるようになる。
【００８２】
なお、本実施の形態に係る図形選択装置１０１は、三次元の図面データに対して用いられてもよいし、二次元の図面データに対して用いられてもよい。線分または円弧といったセグメントは、三次元座標系においても定義可能である。また、セグメント条件は、レイヤに関係するもの以外は、三次元の図面データに対しても、そのまま利用可能である。さらに、図形条件についても、そのまま、もしくは、多少の修正で、三次元の図面データに対しても利用可能なものがある。従って、図形選択装置１０１は、適切なセグメント条件と適切な図形条件を用いることで、三次元の図面データに対しても適用可能である。
【００８３】
つぎに、各図形条件の具体例と、各セグメント条件の具体例について説明する。本実施の形態では、図形選択装置１０１が、図形条件１〜１８の何れかと、セグメント条件１〜７の何れかと、を用いて目的図形の候補を生成する。
【００８４】
（図形条件１）
図形条件１は、判定する図形が指定された属性を持っているという条件である。属性の一例は、ハッチングまたは塗りつぶしの色といった装飾の情報であるが、図形に付与できる属性であれば何れの情報でもよい。図形条件１が用いられる場合、図形条件１のパラメータは、属性の内容である。
【００８５】
条件編集部１３は、ステップＳ４０において、作業者が図形条件１を追加する場合または図形条件１のパラメータを変更する場合に、作業者が指示した属性の内容を図形条件記憶部３に格納する。
【００８６】
そして、図形条件判定部５は、ステップＳ５０において、図形条件１を判定する際に、図面データ記憶部２に格納されている属性のうちの図形に対応するものの中から、判定する図形に付与されているとみなせる属性を全て抽出する。抽出した属性の中に、図形条件記憶部３内に格納されているパラメータである属性と同じものがあれば、図形条件判定部５は、図形条件１は満たされていると判定する。一方、抽出した属性の中に、図形条件記憶部３内に格納されているパラメータである属性と同じものがなければ、図形条件判定部５は、図形条件１は満たされていないと判定する。
【００８７】
（図形条件２）
図形条件２は、判定される図形の面積が指定された範囲内であるという条件である。この図形条件２のパラメータは、判定される図形の面積の最小値および最大値である。条件編集部１３は、ステップＳ４０において、作業者が図形条件２を追加する場合または図形条件２のパラメータを変更する場合に、作業者が指示した面積の最小値および最大値を図形条件記憶部３に格納する。
【００８８】
そして、図形条件判定部５は、ステップＳ５０において、図形条件２を判定する際に、まず、判定する図形の面積を計算する。そして、図形条件判定部５は、計算した面積と、図形条件記憶部３に格納されている面積の最小値および最大値とを比較する。計算した面積が、最小値以上であり且つ最大値以下であれば、図形条件判定部５は、図形条件２は満たされていると判定する。一方、計算した面積が、最小値よりも小さいかまたは最大値よりも大きい場合、図形条件判定部５は、図形条件２は満たされていないと判定する。
【００８９】
（図形条件３）
図形条件３は、判定する図形を構成する全ての円および円弧の半径が同一であるという条件である。この図形条件３は、パラメータを含んでいない。図形条件判定部５は、図形条件３を判定する際に、まず、判定する図形を構成するセグメントの中から円および円弧のみを抽出する。円および円弧の何れもが存在しなかった場合には、図形条件判定部５は、図形条件３は満たされていると判定して処理を終了する。
【００９０】
一方、円および円弧の何れかが存在していた場合には、図形条件判定部５は、半径の比較を行う。半径の比較では、図形条件判定部５が、集めた円および円弧の中から、任意の１つの円または円弧を選択し、選択した円または円弧の半径を調べる。そして、図形条件判定部５は、集めた円および円弧について、これらの全ての半径が、任意で選択した円または円弧の半径と同じであるか否かの判定を行う。集めた円および円弧の全ての半径が任意で選択した円または円弧の半径と同じであれば、図形条件判定部５は、図形条件３は満たされていると判定する。一方、集めた円および円弧の何れかの半径が任意で選択した円または円弧の半径と異なる場合、図形条件判定部５は、図形条件３は満たされていないと判定する。
【００９１】
（図形条件４）
図形条件４は、判定する図形を構成するセグメントの数が指定された範囲内に入っているという条件である。図形条件４のパラメータは、セグメント数の最小値および最大値である。条件編集部１３は、ステップＳ４０において、作業者が図形条件４を追加する場合または図形条件４のパラメータを変更する場合に、作業者が指示したセグメント数の最小値および最大値を図形条件記憶部３に格納する。
【００９２】
そして、図形条件判定部５は、ステップＳ５０において、図形条件４を判定する際に、まず、判定する図形のセグメント数を数える。そして、図形条件判定部５は、数えたセグメント数と、図形条件記憶部３に格納されているセグメント数の最小値および最大値とを比較する。数えたセグメント数が、最小値以上であり且つ最大値以下であれば、図形条件判定部５は、図形条件４は満たされていると判定する。一方、数えたセグメント数が、最小値よりも小さいまたは最大値よりも大きい場合、図形条件判定部５は、図形条件４は満たされていないと判定する。
【００９３】
なお、図形条件判定部５は、判定する図形のセグメント数を数える際に、曲率が一定の同一線上で連続している複数のセグメントを１つのセグメントに数えてもよい。この処理は、作業者が目的としている図形の辺の一部が、別の図形と重なっているような場合に有効である。
【００９４】
図３は、図形条件のセグメント数を説明するための図である。図３は、作業者が目的としている図形の一例を示している。線分Ａ２は、三角形の一辺であり、かつ、四角形の一辺の一部となっている。また、線分Ａ１，Ａ３は、四角形の一辺の一部である。
【００９５】
目的の図形が図３に示す四角形である場合、図形条件判定部５が、同一の直線上に配置された線分Ａ１〜Ａ３をまとめて１つのセグメントに数えると、セグメント数の最小値および最大値が共に４つとなる。この場合、作業者は、セグメント数の最小値および最大値が４つであるという図形条件４を設定しておけばよい。これは四角形の辺の数は４つであるという一般的知識と整合するので、作業者は、パラメータの設定を容易に行うことが可能となる。
【００９６】
（図形条件５）
図形条件５は、判定する図形を構成するコンポーネントの数が指定された範囲に入っているという条件である。本実施の形態におけるコンポーネントは、直接的に、もしくは、間接的に接続しているセグメントの集まりである。本実施の形態において、第１のセグメントと第２のセグメントとが直接的に接続しているということは、第１のセグメントと第２のセグメントとが接していることを意味している。また、本実施の形態において、第１のセグメントと第２のセグメントとが間接的に接続しているということは、第１のセグメントから出発して直接的に接続したセグメントを辿っていくことで第２のセグメントに辿りつけることを意味している。
【００９７】
図４は、図形条件のコンポーネント数を説明するための図である。図４は、作業者が目的としている図形の一例を示している。線分Ｂ１と線分Ｂ２とは、直接的に接続されており、線分Ｂ２と線分Ｂ３とは、直接的に接続されている。そして、線分Ｂ１と線分Ｂ３とは、間接的に接続されている。また、線分Ｂ４は、何れの線分とも接続していない。以上から、図４に示す図形には、線分Ｂ１〜Ｂ３の３つから成るコンポーネントと、線分Ｂ４の１つから成るコンポーネントがあるので、図４に示す図形のコンポーネント数は２となる。
【００９８】
図形条件５のパラメータは、コンポーネント数の最小値および最大値である。条件編集部１３は、ステップＳ４０において、作業者が図形条件５を追加する場合または図形条件５のパラメータを変更する場合、作業者が指示したコンポーネント数の最小値および最大値を図形条件記憶部３に格納する。
【００９９】
そして、図形条件判定部５は、ステップＳ５０において、図形条件５を判定する際に、まず、判定する図形のコンポーネント数を計算する。さらに、図形条件判定部５は、計算したコンポーネント数と、図形条件記憶部３に格納されているコンポーネント数の最小値および最大値とを比較する。計算したコンポーネント数が、最小値以上であり且つ最大値以下であれば、図形条件判定部５は、図形条件５は満たされていると判定する。一方、計算したコンポーネント数が、最小値よりも小さいまたは最大値よりも大きい場合、図形条件判定部５は、図形条件５は満たされていないと判定する。
【０１００】
（図形条件６）
図形条件６は、判定する図形が分岐を持たないという条件である。図形条件判定部５は、判定する図形を構成するセグメントの端点に対して、３つ以上の端点が同一点となっていないかを判定する。この図形条件６は、パラメータを含んでいない。
【０１０１】
図形条件判定部５は、ステップＳ５０において、図形条件６を判定する際に、判定する図形を構成するセグメントにおける全ての端点について、他の端点と同一点であるかを判定する。図形条件判定部５は、他の２つ以上の端点と同一点と判定された端点が１つもなければ、図形条件６は満たされていると判定する。一方、図形条件判定部５は、他の２つ以上の端点と同一点と判定された端点が１つでもあれば、図形条件６は満たされていないと判定する。
【０１０２】
（図形条件７）
図形条件７は、判定する図形が１つまたは複数の閉ループで構成されているという条件である。この図形条件７は、パラメータを含んでいない。図形条件判定部５は、ステップＳ５０において、図形条件７を判定する際に、以下の図５に示すフローチャートに従って動作する。
【０１０３】
図５は、閉ループ判定の処理手順を示すフローチャートである。図形条件判定部５は、図形条件７の判定を開始すると、ステップＳ１００において、判定する図形が分岐を持つか否かを判定する。具体的には、図形条件判定部５は、図形条件６、つまり、分岐を持たないという条件を満たしているかを判定する。
【０１０４】
判定する図形が分岐を持つ場合、すなわち、ステップＳ１００においてＹｅｓの場合、図形条件判定部５は、ステップＳ１９２において、図形条件７は満たされていないと判定する。そして、図形条件判定部５は、図形条件７は満たされていないことを示す判定結果である「偽」を示す情報を、目的図形候補生成部７に返す。そして、図形条件判定部５は、判定処理を終了する。
【０１０５】
一方、判定する図形が分岐を持たない場合、すなわち、ステップＳ１００においてＮｏの場合、図形条件判定部５は、ステップＳ１１０において、判定する図形の中に未判定のセグメントが残っているか否かを判定する。このとき、図形条件判定部５は、訪れていないセグメントを未判定のセグメントとみなす。
【０１０６】
未判定のセグメントが残っている場合、すなわち、ステップＳ１１０においてＹｅｓの場合、図形条件判定部５は、ステップＳ１２０において、未判定である、つまり、未訪問のセグメントの中から任意の未判定のセグメントを選択し、選択したセグメントから始めて、一方向に隣接するセグメントを辿っていく。このとき、図形条件判定部５は、辿った、つまり、訪れたセグメントの記録を残す。そして、図形条件判定部５は、ステップＳ１３０において、辿り始めの元のセグメントに戻ってきたか否かを判定する。
【０１０７】
元のセグメントに戻ってきた場合、すなわち、ステップＳ１３０においてＹｅｓの場合、図形条件判定部５は、ステップＳ１１０〜Ｓ１３０の処理を行う。そして、図形条件判定部５は、ステップＳ１３０においてＮｏの場合、すなわち、元のセグメントに戻ってくることなく、隣接するセグメントが無くなった場合、ステップＳ１９２において、図形条件７は満たされていないと判定する。そして、図形条件判定部５は、図形条件７は満たされていないことを示す判定結果である「偽」を示す情報を、目的図形候補生成部７に返す。そして、図形条件判定部５は、判定処理を終了する。
【０１０８】
一方、ステップＳ１１０においてＮｏの場合、すなわち、未判定のセグメントが残っていない場合、図形条件判定部５は、ステップＳ１９１において、図形条件７は満たされていると判定する。そして、図形条件判定部５は、図形条件７は満たされていることを示す判定結果である「真」を示す情報を、目的図形候補生成部７に返す。そして、図形条件判定部５は、判定処理を終了する。
【０１０９】
（図形条件８）
図形条件８は、判定する図形が分岐を持たず、かつ、閉ループである連続線を持たないという条件である。この図形条件８は、パラメータを含んでいない。図形条件判定部５は、ステップＳ５０において、図形条件８を判定する際に、以下の図６に示すフローチャートに従って動作する。
【０１１０】
図６は、連続線判定の処理手順を示すフローチャートである。図６のフローチャートは、図５のフローチャートと比較して、ステップＳ１３０とステップＳ２３０が異なる。図形条件判定部５は、図形条件８の判定を開始すると、ステップＳ２００において、判定する図形が分岐を持つか否かを判定する。判定する図形が分岐を持つ場合、すなわち、ステップＳ２００においてＹｅｓの場合、図形条件判定部５は、ステップＳ２９２において、図形条件８は満たされていないと判定する。そして、図形条件判定部５は、判定処理を終了する。
【０１１１】
一方、判定する図形が分岐を持たない場合、すなわち、ステップＳ２００においてＮｏの場合、図形条件判定部５は、ステップＳ２１０において、判定する図形の中に未判定のセグメントが残っているか否かを判定する。このとき、図形条件判定部５は、訪れていないセグメントを未判定のセグメントとみなす。
【０１１２】
未判定のセグメントが残っている場合、すなわち、ステップＳ２１０においてＹｅｓの場合、図形条件判定部５は、ステップＳ２２０において、未判定である、つまり、未訪問のセグメントの中から任意の未判定のセグメントを選択し、選択したセグメントから始めて、一方向に隣接するセグメントを辿っていく。このとき、図形条件判定部５は、辿った、つまり、訪れたセグメントの記録を残す。そして、図形条件判定部５は、ステップＳ２３０において、辿り始めの元のセグメントに戻ってきたか否かを判定する。
【０１１３】
元のセグメントに戻ってくることなく、隣接するセグメントが無くなった場合、すなわち、ステップＳ２３０においてＮｏの場合、図形条件判定部５は、ステップＳ２１０〜Ｓ２３０の処理を行う。そして、図形条件判定部５は、ステップＳ２３０においてＹｅｓの場合、すなわち、元のセグメントに戻ってきた場合、ステップＳ２９２において、図形条件８は満たされていないと判定する。そして、図形条件判定部５は、判定処理を終了する。
【０１１４】
一方、ステップＳ２１０においてＮｏの場合、すなわち、未判定のセグメントが残っていない場合、図形条件判定部５は、ステップＳ２９１において、図形条件８は満たされていると判定する。そして、図形条件判定部５は、判定処理を終了する。
【０１１５】
（図形条件９）
図形条件９は、判定する図形が２つの閉ループで構成され、かつ、一方の閉ループが他方の閉ループを包含しているという条件である。この図形条件９は、パラメータを含んでいない。図形条件判定部５は、ステップＳ５０において、図形条件９を判定する際に、まず、図形条件７、つまり、図形が閉ループで構成されているという条件を満たすか否かの判定を行う。
【０１１６】
図形が閉ループで構成されていない場合、図形条件判定部５は、図形条件９は満たされていないと判定し、判定処理を終了する。一方、図形が閉ループで構成されている場合、図形条件判定部５は、図形条件９は満たされると判定し、コンポーネント数の条件判定処理に進む。
【０１１７】
図形条件判定部５は、コンポーネント数の条件である図形条件５に基づいて、コンポーネント数が２つ以上かつ２つ以下であるか否かを判定する。コンポーネント数が２つ以上かつ２つ以下でない場合、図形条件判定部５は、図形条件９は満たされていないと判定し、判定処理を終了する。一方、コンポーネント数が２つ以上かつ２つ以下である場合、図形条件判定部５は、図形条件９は満たされていると判定し、包含関係の確認処理に進む。
【０１１８】
ここまでの判定で、図形条件判定部５は、判定する図形が２つの閉ループから構成されることが分かっている。包含関係の確認処理では、図形条件判定部５は、２つの閉ループについて、一方の閉ループが他方の閉ループを包含しているか否かを判定する。
【０１１９】
図形条件判定部５は、２つの閉ループのうちの何れか一方の閉ループを選び、選んだ閉ループを包含する側の閉ループと仮定し、他方の閉ループを包含される側の閉ループであると仮定する。そして、図形条件判定部５は、包含される側の閉ループの全てのセグメントが、包含する側の閉ループに包含されているか否かを判定する。
【０１２０】
図形条件判定部５は、包含される側の全てのセグメントが包含する側に包含されていれば、図形条件９は満たされていると判定する。一方、図形条件判定部５は、何れかのセグメントが包含する側に包含されていなければ、図形条件判定部５は、包含する側の閉ループと包含される側の閉ループとを入れ替えて、１回目と同様に２回目の包含判定を行う。閉ループを入れ替えて行った２回目の包含判定の結果が、包含される側の全てのセグメントが包含する側に包含されているというものであれば、図形条件判定部５は、図形条件９は満たされていると判定する。一方、図形条件判定部５は、２回目の包含判定の結果が、何れかのセグメントが包含する側に包含されていないというものであれば、図形条件９は満たされていないと判定する。
【０１２１】
（図形条件１０）
図形条件１０は、判定する図形が外回り閉図形であるという条件である。この図形条件１０は、パラメータを含んでいない。外回り閉図形は、複数の隣接した閉図形が複合化されて構成されている全体閉図形において、内側の閉図形を全て含む最も外側の輪郭をとる閉図形である。閉図形が、複数の隣接した閉図形が複合化されて構成されている全体閉図形ではなく単一の閉図形である場合には、この単一の閉図形が、外回り閉図形となる。
【０１２２】
ステップＳ５０において、図形条件判定部５は、図形条件１０を判定する前に、セグメント条件を満たしたセグメントの抽出を行う。そして、図形条件判定部５は、抽出したセグメントの集合から、全ての外回り閉図形を抽出する。図形条件判定部５は、外回り閉図形を抽出する際に、特許第２９４２６８１号公報に開示されている方法において、セグメントを回る向きを見る方法を用いる。なお、図形条件判定部５は、他の方法によって外回り閉図形を抽出してもよい。
【０１２３】
図形条件判定部５は、抽出した外回り閉図形の中から判定する図形と同じ図形を探す。図形条件判定部５は、同じ図形が見つかった場合は、図形条件１０は満たされていると判定し、同じ図形が見つからなかった場合は、図形条件１０は満たされていないと判定する。
【０１２４】
（図形条件１１）
図形条件１１は、判定する図形が内回り閉図形であるという条件である。この図形条件１１は、パラメータを含んでいない。内回り閉図形は、この内側を見た場合に、複数の隣接する閉図形が複合化されていない閉図形である。
【０１２５】
ステップＳ５０において、図形条件判定部５は、図形条件１１を判定する前に、セグメント条件を満たしたセグメントの抽出を行う。そして、図形条件判定部５は、抽出したセグメントの集合から、全ての内回り閉図形を抽出する。図形条件判定部５は、内回り閉図形を抽出する際に、特許第２９４２６８１号公報に開示されている方法において、セグメントを回る向きを見る方法を用いる。特許第２９４２６８１号公報の手法においては、外回り閉図形とはセグメントを回る向きが逆向きの閉図形が、内回り閉図形である。なお、図形条件判定部５は、他の方法によって内回り閉図形を抽出してもよい。
【０１２６】
図形条件判定部５は、抽出した内回り閉図形の中から判定する図形と同じ図形を探す。図形条件判定部５は、同じ図形が見つかる場合は、図形条件１１は満たされていると判定し、同じ図形が見つからない場合は、図形条件１１は満たされていないと判定する。
【０１２７】
（図形条件１２）
図形条件１２は、判定する図形の各セグメントが滑らかに接続しているという条件である。数学的に表現すると、図形条件１２は、判定する図形を表す曲線がｎ回微分可能であるという条件である。ここでのｎは、基準値よりも大きな自然数である。図形条件１２のパラメータは、微分可能回数である。
【０１２８】
条件編集部１３は、図２のステップＳ４０において、作業者が図形条件１２を追加する場合、または図形条件１２のパラメータを変更する場合には、作業者が指示した微分可能回数を図形条件記憶部３に格納する。
【０１２９】
ステップＳ５０において、図形条件判定部５が図形条件１２を判定する際に、図形条件判定部５は、まず、判定する図形を構成する全てのセグメントに対して、図形条件記憶部３に格納されている微分可能回数の微分が可能であるか否かの判定を行う。
【０１３０】
つぎに、図形条件判定部５は、判定する図形を構成する２つのセグメントが接続している全ての接続点について、図形条件記憶部３に格納されている微分可能回数の微分が可能であるか否かの判定を行う。
【０１３１】
全てのセグメントが微分可能であり、かつ、全ての接続点で微分可能である場合、図形条件判定部５は、図形条件１２は満たされていると判定する。一方、何れかのセグメントが微分不可能であるか、または、何れかの接続点で微分不可能である場合、図形条件判定部５は、図形条件１２は満たされていないと判定する。
【０１３２】
図形条件判定部５は、１回の微分が可能であるか否かを判定する際に、判定する図形を構成する全てのセグメントが１回の微分が可能であるか否かと、これらセグメント間の全ての接続点でセグメントの接線ベクトルが合致しているか否かと、を判定する。
【０１３３】
（図形条件１３）
図形条件１３は、判定する図形が鏡像対称性を有しているという条件である。図形条件１３のパラメータは、図形の対称軸であるが、作業者は、図形条件１３のパラメータを設定しなくてもよい。
【０１３４】
ステップＳ４０において、作業者が図形条件１３を追加する場合、または図形条件１３のパラメータを変更する場合、作業者が指示した場合に、条件編集部１３は、図形条件記憶部３に対称軸を格納する。
【０１３５】
作業者が対称軸を指定する場合、本実施の形態では、セグメント指定部１８が、作業者からの指示に従って、図面データ記憶部２に含まれる線分を指定することで対称軸を指定する。なお、図形選択装置１０１は、作業者に直線の定義を数値入力させ、この直線の定義で対称軸を指定してもよい。図形条件判定部５は、ステップＳ５０において、図形条件１３を判定する際に、以下の図７に示すフローチャートに従って動作する。
【０１３６】
図７は、鏡像対称性判定の処理手順を示すフローチャートである。図形条件判定部５は、図形条件１３の判定を開始すると、ステップＳ３００において、図形条件記憶部３が対称軸を記憶しているか否かに基づいて、図形に対称軸が与えられているか否かを判定する。
【０１３７】
図形に対称軸が与えられている場合、すなわち、ステップＳ３００においてＹｅｓの場合、図形条件判定部５は、ステップＳ３５０において、図形条件記憶部３に記憶された対称軸に対して鏡像対称なセグメントが存在するかを判定する。このとき、図形条件判定部５は、判定する図形を構成する全てのセグメントに対して１つずつ鏡像対称か否かの判定を行う。
【０１３８】
鏡像対称な部分の存在を判定する方法の一例は、以下の方法である。まず、図形条件判定部５は、判定中のセグメントを、判定する図形を構成する他の全てのセグメントと順次比較していく。図形条件判定部５は、判定中のセグメントに対して鏡像対称となる部分を記録しておく。図形条件判定部５は、判定中のセグメント以外の他のセグメントとの比較を全て行う。そして、図形条件判定部５は、全ての比較が終わると、判定中のセグメント全体について鏡像対称となるセグメントが記録の中から見つかったか否かを判定する。見つかった場合、図形条件判定部５は、判定中のセグメントには鏡像対称の部分が存在すると判定する。一方、図形条件判定部５は、見つからない部分がある場合、判定中のセグメントには鏡像対称の部分が存在しないと判定する。
【０１３９】
図形条件判定部５は、判定する図形を構成する全てのセグメントに対して、鏡像対称な部分が存在するか否かを判定する。図形条件判定部５は、判定する図形を構成する全てのセグメントに対して鏡像対称な部分が存在していると判定した場合、すなわち、ステップＳ３５０においてＹｅｓの場合、ステップＳ３９１において、鏡像対称性である対極性を持つという判定結果を目的図形候補生成部７に送る。具体的には、図形条件判定部５は、目的図形候補生成部７に対して、図形条件１３は満たされているという判定結果である「真」の情報を送る。そして、図形条件判定部５は、図形が図形条件１３を満たすか否かの判定処理を終了する。
【０１４０】
一方、ステップＳ３５０においてＮｏの場合、すなわち、図形条件判定部５が、判定する図形を構成する何れかのセグメントに対して鏡像対称な部分が存在していないと判定した場合、ステップＳ３９２において、図形条件判定部５は、対極性を持たないという判定結果を目的図形候補生成部７に送る。具体的には、図形条件判定部５は、目的図形候補生成部７に対して、図形条件１３は満たされていないという判定結果である「偽」の情報を送る。そして、図形条件判定部５は、図形が図形条件１３を満たすか否かの判定処理を終了する。
【０１４１】
ステップＳ３００においてＮｏの場合、すなわち、図形に対称軸が与えられていない場合、図形条件判定部５は、ステップＳ３１０において、判定する図形を構成するセグメントを用いて、セグメント対のリストを作成する。具体的には、図形条件判定部５は、判定する図形を構成するセグメントに対し、全てのセグメントの組み合わせを表すために、各組み合わせに対応するセグメント対の全てを含むリストを作成する。
【０１４２】
そして、図形条件判定部５は、ステップＳ３２０において、リストに次のセグメント対が残っているか否かを判定する。リストに次のセグメント対が残っている場合、すなわち、ステップＳ３２０においてＹｅｓの場合、図形条件判定部５は、ステップＳ３３０において、セグメント対から対称軸を計算できたか否かを判定する。
【０１４３】
具体的には、図形条件判定部５は、まず、リストから任意のセグメント対を選ぶ。そして、図形条件判定部５は、選んだセグメント対の２つのセグメントが鏡像対称となる場合の対称軸の計算を試みる。図形条件判定部５は、対称軸を計算できなかった場合、すなわち、対称軸を見つけ出すことができなかった場合、選んだセグメント対をリストから削除する。対称軸を見つけ出すことができない場合の例は、セグメント対の一方が線分であり、他方が円弧である場合である。
【０１４４】
図形条件判定部５は、セグメント対から対称軸を計算できた場合、すなわち、ステップＳ３３０においてＹｅｓの場合、ステップＳ３４０において、計算した対称軸に対して鏡像対称となるセグメントが存在するか否かを判定する。このとき、図形条件判定部５は、計算した対称軸に対して鏡像対称となるセグメントの部分が存在するか否かを、判定する図形を構成する全てのセグメントに対して１つずつ判定する。図形条件判定部５は、ステップＳ３３０で計算した対称軸に対し、ステップＳ３５０と同様の処理によって図形を構成する各セグメントに対して鏡像対称判定を行う。
【０１４５】
図形条件判定部５は、全てのセグメントに対して鏡像対称な部分が存在していると判定した場合、すなわち、ステップＳ３４０においてＹｅｓの場合、ステップＳ３９１において、鏡像対称性である対極性を持つという判定結果を目的図形候補生成部７に送る。そして、図形条件判定部５は、図形が図形条件１３を満たすか否かの判定処理を終了する。
【０１４６】
一方、ステップＳ３４０においてＮｏの場合、すなわち、図形条件判定部５が、何れかのセグメントに対して鏡像対称な部分が存在していないと判定した場合、図形条件判定部５は、ステップＳ３３０で選んだセグメント対をリストから削除する。そして、図形条件判定部５は、ステップＳ３２０の処理に進む。
【０１４７】
ステップＳ３２０においてＮｏの場合、すなわち、リストに次のセグメント対が残っていない場合、図形条件判定部５は、ステップＳ３９２において、対極性を持たないという判定結果を目的図形候補生成部７に送る。そして、図形条件判定部５は、図形が図形条件１３を満たすか否かの判定処理を終了する。
【０１４８】
ステップＳ３２０においてＹｅｓの場合、すなわち、リストに次のセグメント対が残っている場合、図形条件判定部５は、ステップＳ３３０において、セグメント対から対称軸を計算できたか否かを判定する。
【０１４９】
ステップＳ３３０においてＮｏの場合、すなわち、セグメント対から対称軸を計算できなかった場合、図形条件判定部５は、ステップＳ３２０の処理に進む。ステップＳ３３０においてＹｅｓの場合、すなわち、セグメント対から対称軸を計算できた場合、図形条件判定部５は、ステップＳ３４０において、計算した対称軸に対して鏡像対称となるセグメントが存在するか否かを判定する。
【０１５０】
図形選択装置１０１は、ステップＳ３４０の後、ステップＳ３９１において鏡像対称性を持つという判定結果を目的図形候補生成部７に送るか、または、ステップＳ３９２において鏡像対称性を持たないという判定結果を目的図形候補生成部７に送るまで、ステップＳ３２０〜Ｓ３４０の処理を繰り返す。
【０１５１】
（図形条件１４）
図形条件１４は、判定する図形が回転対称性を持っているという条件である。本実施の形態における回転条件は、回転中心、回転角度、および繰り返し回数の３つから成る条件であるとする。図形条件１４のパラメータは、回転条件であるが、このパラメータを設定するか否かは作業者が選ぶことができる。作業者は、パラメータを設定する場合には、回転条件の３つの項目全てを設定しなくてはならない。一方、作業者は、パラメータを設定しない場合は、回転条件の全ての項目を設定しないままにしなくてはならない。作業者は、入力装置２２に回転条件を入力することによって回転条件を設定する。
【０１５２】
作業者が、図２のステップＳ４０において、新たにパラメータを設定する場合、または、既に設定されているパラメータを変更する場合、作業者は、回転条件の３つの項目のうち、繰り返し回数を数値で直接指定する。また、作業者は、回転中心を回転中心の座標値で設定し、回転角度を回転角度の数値で設定する。なお、作業者は、セグメント指定部１８で図面データ記憶部２に含まれるセグメントを２つ指定することで回転中心および回転角度の設定を行ってもよい。条件編集部１３は、作業者が指定した回転条件を図形条件記憶部３に格納する。
【０１５３】
ここで、図８〜図１０を用いて、回転中心および回転角度の計算方法を説明する。図８は、回転角の第１の例を示す図であり、図９は、回転角の第２の例を示す図であり、図１０は、回転角の第３の例を示す図である。
【０１５４】
図形条件判定部５は、回転させると一致する２つのセグメントから、回転中心および回転角度を求めることができる。セグメントが共に線分の場合、線分の端点の対応関係が２通り考えられるので、回転中心は２つ求まるが、回転角度は何れの回転中心でも同じ値となる。この場合、作業者が線分を２つ選んだ後に、図面情報指定部１４は、求まった２つの回転中心を表示装置２１に表示させるので、作業者は何れかの回転中心を選択する。
【０１５５】
図８は、セグメントＳｃ１の端点Ｃ１とセグメントＳｃ２の端点Ｃ３とを対応させ、セグメントＳｃ１の端点Ｃ２とセグメントＳｃ２の端点Ｃ４とを対応させた場合の回転角ＣＯ１を示している。直線ＣＬ５１は、端点Ｃ１および端点Ｃ３の垂直二等分線であり、直線ＣＬ５２は、端点Ｃ２および端点Ｃ４の垂直二等分線である。
【０１５６】
そして、垂直二等分線である直線ＣＬ５１，ＣＬ５２の交点が、回転中心ＣＯ１である。回転角度ＣＲ６１は、この回転中心ＣＯ１から対応する端点へ各々伸ばした線分が成す角度である。図８では、回転中心ＣＯ１から端点Ｃ１，Ｃ３へ伸ばした線分で回転角度ＣＲ６１を示している。
【０１５７】
図９は、セグメントＳｃ３の端点Ｃ２１とセグメントＳｃ４の端点Ｃ２４とを対応させ、セグメントＳｃ３の端点Ｃ２２とセグメントＳｃ４の端点Ｃ２３とを対応させた場合の回転角ＣＯ２を示している。直線ＣＬ５３は、端点Ｃ２１および端点Ｃ２４の垂直二等分線であり、直線ＣＬ５４は、端点Ｃ２２および端点Ｃ２３の垂直二等分線である。
【０１５８】
そして、垂直二等分線である直線ＣＬ５３，ＣＬ５４の交点が、回転中心ＣＯ２である。回転角度ＣＲ６２は、この回転中心ＣＯ２から対応する端点へ各々伸ばした線分が成す角度である。図９では、回転中心ＣＯ２から端点Ｃ２２，Ｃ２３へ伸ばした線分で回転角度ＣＲ６２を示している。
【０１５９】
２つの円弧を平面の中で回転させて一致させるためには、円弧上の任意の点から時計回りに進んで達する円弧の端点同士と、反時計回りに進んで達する円弧の端点同士とを対応させる必要がある。この対応を示したのが、図１０である。
【０１６０】
図１０は、セグメントＳｃ５の端点Ｃ３１とセグメントＳｃ６の端点Ｃ３３とを対応させ、セグメントＳｃ５の端点Ｃ３２とセグメントＳｃ６の端点Ｃ３４とを対応させた場合の回転角ＣＯ３を示している。直線ＣＬ５５は、端点Ｃ３１および端点Ｃ３３の垂直二等分線であり、直線ＣＬ５６は、端点Ｃ３２および端点Ｃ３４の垂直二等分線である。
【０１６１】
そして、垂直二等分線である直線ＣＬ５５，ＣＬ５６の交点が、回転中心ＣＯ３である。回転角度ＣＲ６３は、この回転中心ＣＯ３から対応する端点へ各々伸ばした線分が成す角度である。図１０では、回転中心ＣＯ３から端点Ｃ３１，Ｃ３３へ伸ばした線分で回転角度ＣＲ６３を示している。
【０１６２】
図形条件判定部５は、図２のステップＳ５０において、図形条件１４である回転対称性判定を行う際に、以下の図１１に示すフローチャートに従って動作する。図１１は、回転対称性判定の処理手順を示すフローチャートである。
【０１６３】
図形条件判定部５は、図形条件１４の判定を開始すると、ステップＳ４００において、図形条件記憶部３が回転条件を記憶しているか否かに基づいて、回転条件が設定されているか否かを判定する。
【０１６４】
回転条件が設定されている場合、すなわち、ステップＳ４００においてＹｅｓの場合、図形条件判定部５は、ステップＳ４５０において、回転条件を用いれば、判定する図形に一致する繰り返し部分が存在するか否かを判定する。このとき、図形条件判定部５は、判定する図形を構成するセグメントを組み合わせて繰り返し部分の候補を生成する。そして、図形条件判定部５は、生成した繰り返し部分の候補を、図形条件記憶部３に記憶された回転条件、つまり、回転中心、回転角度、および、繰り返し回数に従って複製する。図形条件判定部５は、複製した繰り返し部分の候補が、判定する図形に一致する図形となるか否かの判定を行う。
【０１６５】
図形条件判定部５は、セグメントの組み合わせを全て生成し、生成したセグメントの各組み合わせについて、回転対称の繰り返し部分であるか否かを判定する。具体的には、図形条件判定部５は、判定する図形を構成するセグメントの組み合わせを、総当たりで行い、全ての組み合わせを生成する。この生成されたセグメントの組み合わせの１つ１つが繰り返し部分の候補となる。次に、図形条件判定部５は、各繰り返し部分の候補を、回転条件に従って複製していき図形を生成する。この図形を複製結果の図形と呼ぶ。図形条件判定部５は、複製結果の図形を得るために、まず、繰り返し部分の候補を回転させずに複製する。次に、図形条件判定部５は、繰り返し部分の候補を、回転中心を中心にして、回転角度だけ反時計回りに回転させ、回転させたものを、前記の複製結果の図形に追加する。
【０１６６】
繰り返し回数が２回であれば、図形条件判定部５は、ここまでで複製結果の図形の完成とする。繰り返し回数が３回以上であれば、図形条件判定部５は、繰り返し部分の候補をさらに回転させ、回転させたものを、前記の複製結果の図形にさらに追加する処理を、繰り返し回数に達するまで繰り返す。図形条件判定部５は、複製結果の図形が出来上がったら、この複製結果の図形を、判定する図形と比較する。図形条件判定部５は、複製結果の図形と判定する図形が一致すれば、複製結果の図形の元となった繰り返し部分の候補は、真の繰り返し部分であったと判定する。図形条件判定部５は、複製結果の図形と判定する図形が一致しなければ、複製結果の図形の元となった繰り返し部分の候補は、真の繰り返し部分ではなかったと判定する。
【０１６７】
ステップＳ４５０においてＹｅｓの場合、すなわち、図形条件記憶部３に記憶された回転条件で、判定する図形に一致する繰り返し部分の候補が１つでも見つかる場合、図形条件判定部５は、ステップＳ４９１において、回転対称性を持つという判定結果を目的図形候補生成部７に送る。具体的には、図形条件判定部５は、目的図形候補生成部７に対して、図形条件１４は満たされているという判定結果である「真」の情報を送る。そして、図形条件判定部５は、図形が図形条件１４を満たすか否かの判定処理を終了する。
【０１６８】
一方、ステップＳ４５０においてＮｏの場合、すなわち、図形条件記憶部３に記憶された回転条件で、判定する図形に一致する繰り返し部分の候補が１つも見つからない場合、図形条件判定部５は、ステップＳ４９２において、回転対称性を持たないという判定結果を目的図形候補生成部７に送る。具体的には、図形条件判定部５は、目的図形候補生成部７に対して、図形条件１４は満たされていないという判定結果である「偽」の情報を送る。そして、図形条件判定部５は、図形が図形条件１４を満たすか否かの判定処理を終了する。
【０１６９】
ステップＳ４００においてＮｏの場合、すなわち、回転条件が設定されてない場合、図形条件判定部５は、ステップＳ４１０において、判定する図形を構成するセグメントを用いて、セグメント対のリストを作成する。具体的には、図形条件判定部５は、判定する図形を構成するセグメントに対し、全てのセグメントの組み合わせを表すために、各組み合わせに対応するセグメント対の全てを含むリストを作成する。
【０１７０】
そして、図形条件判定部５は、ステップＳ４２０において、リストに次のセグメント対が残っているか否かを判定する。リストに次のセグメント対が残っている場合、すなわち、ステップＳ４２０においてＹｅｓの場合、図形条件判定部５は、ステップＳ４３０において、セグメント対から回転中心を計算できたか否かを判定する。
【０１７１】
具体的には、図形条件判定部５は、まず、リストから任意のセグメント対を選ぶ。そして、図形条件判定部５は、選んだセグメント対の２つのセグメントから、図８〜図１０で説明した方法によって回転中心の計算を試みる。図形条件判定部５は、回転中心を計算できなかった場合、すなわち、回転中心を見つけ出すことができなかった場合、選んだセグメント対をリストから削除する。回転中心を見つけ出すことができない場合の例は、セグメント対の一方が線分であり、他方が円弧である場合である。
【０１７２】
図形条件判定部５は、セグメント対から回転中心を計算できた場合、すなわち、ステップＳ４３０においてＹｅｓの場合、図形条件判定部５は、ステップＳ４４０において、回転条件を用いれば、判定する図形に一致する繰り返し部分が存在するか否かを判定する。
【０１７３】
具体的には、図形条件判定部５は、計算した回転中心から回転条件を導出する。そして、図形条件判定部５は、導出した回転条件を用いれば、判定する図形に一致する繰り返し部分が存在するかについて判定を行う。図形条件判定部５は、ステップＳ４３０で計算した回転中心が２つある場合には、一致判定処理を２回繰り返す。
【０１７４】
図形条件判定部５は、まず、ステップＳ４３０で計算した回転中心から任意の１つを選び、図８〜図１０で説明した方法によって回転中心から回転角度を求める。次に、図形条件判定部５は、繰り返し部分を探すため、判定する図形を構成するセグメントの全てを総当たりで組み合わせることによって、繰り返し部分の候補を生成し、各繰り返し部分の候補に対して一致判定を行う。図形条件判定部５は、この時点で、試す回転条件のうち、回転中心および回転角度は決定している。図形条件判定部５は、繰り返し回数については、まずは２回と仮定する。図形条件判定部５は、回転条件と繰り返し部分の候補から複製結果の図形を求める。複製結果の図形の具体的な求め方は、ステップＳ４５０と同様である。
【０１７５】
図形条件判定部５は、複製結果の図形が出来上がったら、この複製結果の図形を、判定する図形と比較する。図形条件判定部５は、複製結果の図形と判定する図形とが一致すれば、複製結果の図形の元となった繰り返し部分の候補は、真の繰り返し部分であり、繰り返し部分が見つかったと判定する。図形条件判定部５は、複製結果の図形と判定する図形とが一致しなかった場合は、判定を保留する。そして、図形条件判定部５は、現在の繰り返し部分の候補に対して繰り返し回数を変えて複製結果の図形を生成するか、または現在の繰り返し部分の候補を却下して次の繰り返し部分の候補の判定へと移るかを決めるために、複製結果の図形のセグメントと判定する図形のセグメントとの対応関係を調べる。
【０１７６】
具体的には、図形条件判定部５は、複製結果の図形を構成する第１のセグメントと、判定する図形を構成する第２のセグメントとの、位置および形状が同じ場合、第１および第２のセグメントは対応しているものと判定する。図形条件判定部５は、第１および第２のセグメントの対応付けを１対１で行い、既に対応付けられているセグメントに対して別のセグメントを対応付けることは行わない。
【０１７７】
図形条件判定部５は、複製結果の図形を構成する全てのセグメントについて対応付けを試みた後に、対応付けのできなかった複製結果の図形のセグメントが残った場合には、現在の繰り返し部分の候補を却下して、次の繰り返し部分の候補の判定へと移る。
【０１７８】
一方、図形条件判定部５は、複製結果の図形を構成する全てのセグメントについて対応付けを試みた後に、対応付けのできなかった複製結果の図形のセグメントが残らなかった場合には、判定する図形のセグメントの中に対応付けられなかったものがあると判定する。この場合、図形条件判定部５は、繰り返し回数を１回増やして３回と仮定し、複製から対応付けまでの処理を繰り返す。
【０１７９】
図形条件判定部５は、繰り返し回数を１回増やすたびに複製結果のセグメントを増加して行く。従って、図形条件判定部５が繰り返し回数を１回ずつ増やしていくと、どこかの回数で、複製結果の図形と判定する図形とが一致する場合がある。この場合、図形条件判定部５は、繰り返し部分が見つかったと判定する。
【０１８０】
一方、図形条件判定部５が繰り返し回数を増やしても、複製結果と判定する図形とが一致しない場合がある。この場合、複製結果の図形を構成するセグメントの中に、判定する図形のセグメントと対応付けられないものが発生するので、図形条件判定部５は、繰り返し部分の候補を却下する。図形条件判定部５は、全ての繰り返し部分の候補を却下した場合には、ステップＳ４３０で選んだセグメント対をリストから削除する。そして、図形条件判定部５は、繰り返し部分が見つからなかったと判定する。
【０１８１】
ステップＳ４４０においてＹｅｓの場合、すなわち、ステップＳ４３０で計算した回転中心を基にした回転条件で、判定する図形に一致する繰り返し部分の候補が１つでも見つかる場合、図形条件判定部５は、ステップＳ４９１において、回転対称性を持つという判定結果を目的図形候補生成部７に送る。そして、図形条件判定部５は、図形が図形条件１４を満たすか否かの判定処理を終了する。
【０１８２】
一方、ステップＳ４４０においてＮｏの場合、すなわち、ステップＳ４３０で計算した回転中心を基にした回転条件で、判定する図形に一致する繰り返し部分の候補が１つも見つからない場合、図形条件判定部５は、ステップＳ４２０の処理へ進む。
【０１８３】
なお、図形選択装置１０１は、作業者が、回転条件の３つの項目のうちの、１項目だけ、もしくは、２項目だけを設定できるようにしてもよい。この場合、図形条件判定部５は、ステップＳ４４０からステップＳ４９１へと進む条件に、直前に複製を行った際の回転条件の３項目のうち作業者によって設定されている項目に対して項目設定値と一致しているという条件を足しておく。これにより、図形条件判定部５は、作業者が部分的に行った設定を満たす形で回転対称性を持つときのみ、図形条件１４が満たされていると判定することとなる。
【０１８４】
ステップＳ４２０においてＮｏの場合、すなわち、リストに次のセグメント対が残っていない場合、図形条件判定部５は、ステップＳ４９２において、回転対称性を持たないという判定結果を目的図形候補生成部７に送る。そして、図形条件判定部５は、図形が図形条件１４を満たすか否かの判定処理を終了する。
【０１８５】
ステップＳ４２０においてＹｅｓの場合、すなわち、リストに次のセグメント対が残っている場合、図形条件判定部５は、ステップＳ４３０において、セグメント対から回転中心を計算できたか否かを判定する。
【０１８６】
ステップＳ４３０においてＮｏの場合、すなわち、セグメント対から回転中心を計算できなかった場合、図形条件判定部５は、ステップＳ４２０の処理へ進む。ステップＳ４３０においてＹｅｓの場合、すなわち、セグメント対から回転軸を計算できた場合、図形条件判定部５は、ステップＳ４４０の処理へ進む。
【０１８７】
図形選択装置１０１は、ステップＳ４４０の後、ステップＳ４９１において回転対称性を持つという判定結果を目的図形候補生成部７に送るか、または、ステップＳ４９２において回転対称性を持たないという判定結果を目的図形候補生成部７に送るまで、ステップＳ４２０〜Ｓ４４０の処理を繰り返す。
【０１８８】
（図形条件１５）
図形条件１５は、判定する図形が並進対称性を持っているという条件である。本実施の形態における並進条件は、並進ベクトルおよび繰り返し回数の２つから成る条件であるとする。図形条件１５のパラメータは、並進条件であるが、このパラメータを設定するか否かは作業者が選ぶことができる。作業者は、パラメータを設定する場合には、並進条件の２つの項目全てを設定しなくてはならない。一方、作業者は、パラメータを設定しない場合は、全ての項目を設定しないままにしなくてはならない。作業者は、入力装置２２に並進条件を入力することによって並進条件を設定する。
【０１８９】
図２のステップＳ４０において、作業者が設定または指定を行う場合、入力装置２２は、作業者からの指示を受付ける。この場合において、作業者が新たにパラメータを設定する場合、または、既に設定されているパラメータを変更する場合、作業者は、並進条件の２つの項目のうち、繰り返し回数を数値で直接指定する。また、作業者は、並進ベクトルの要素値を数値で設定するか、またはセグメント指定部１８で図面データ記憶部２に含まれるセグメントを２つ指定することで並進ベクトルを設定する。
【０１９０】
そして、条件編集部１３は、作業者が指定した並進条件を図形条件記憶部３に格納する。並進させると一致する２つのセグメントからは、図１２または図１３に示すような並進ベクトルを求めることができる。
【０１９１】
ここで、図１２および図１３を用いて、並進ベクトルの計算方法を説明する。２つのセグメントのうちの一方のセグメントの両端点の中点から、他方のセグメントの両端点の中点へ向かうベクトルを、並進ベクトルとする。条件編集部１３または作業者は、並進ベクトルの起点を何れのセグメントの中点にするかを任意に決定する。
【０１９２】
図１２は、並進ベクトルの第１の計算方法を説明するための図であり、図１３は、並進ベクトルの第２の計算方法を説明するための図である。図１２では、２つの線分のセグメントＳｄ１，Ｓｄ２から求められた並進ベクトルＤ１を示している。また、図１３では、２つの円弧のセグメントＳｄ３，Ｓｄ４から求められた並進ベクトルＤ２を示している。図２のステップＳ５０において、図形条件判定部５が図形条件１５を判定する場合、図形条件判定部５は、以下の図１４に示すフローチャートに従って動作する。
【０１９３】
図１４は、並進対称性判定の処理手順を示すフローチャートである。図形条件判定部５は、図形条件１５の判定を開始すると、ステップＳ５００において、図形条件記憶部３に並進条件が記憶されているか否かに基づいて、並進条件が設定されているか否かを判定する。
【０１９４】
並進条件が設定されている場合、すなわち、ステップＳ５００においてＹｅｓの場合、図形条件判定部５は、ステップＳ５５０において、並進条件を用いれば、判定する図形に一致する繰り返し部分が存在するか否かを判定する。このとき、図形条件判定部５は、判定する図形を構成するセグメントを組み合わせて繰り返し部分の候補を生成する。そして、図形条件判定部５は、生成した繰り返し部分の候補を、図形条件記憶部３に記憶された並進条件、つまり、並進ベクトル、および、繰り返し回数に従って複製する。図形条件判定部５は、複製した繰り返し部分の候補が、判定する図形に一致する図形となるか否かの判定を行う。
【０１９５】
図形条件判定部５は、繰り返し部分の候補を生成するためのセグメントの組み合わせを、判定する図形を構成するセグメントの総当たりで行い、全ての組み合わせを生成する。この生成されたセグメントの組み合わせの１つ１つが繰り返し部分の候補となる。次に、図形条件判定部５は、各繰り返し部分の候補を、並進条件に従って複製していき図形を生成する。この図形を複製結果の図形と呼ぶ。
【０１９６】
図形条件判定部５は、複製結果の図形を得るために、まず、繰り返し部分を元の位置のままで複製する。次に、図形条件判定部５は、繰り返し部分を、並進ベクトルの分だけ並進移動させ、並進移動させたものを前記の複製結果の図形に追加する。
【０１９７】
繰り返し回数が２回であれば、図形条件判定部５は、ここまでで複製結果の図形の完成とする。繰り返し回数が３回以上であれば、図形条件判定部５は、繰り返し部分をさらに並進移動させ、並進移動させたものを、前記の複製結果の図形にさらに追加する処理を、繰り返し回数に達するまで繰り返す。図形条件判定部５は、複製結果の図形が出来上がると、この複製結果の図形を、判定する図形と比較する。図形条件判定部５は、複製結果の図形と判定する図形とが一致すれば、複製結果の図形の元となった繰り返し部分の候補は、真の繰り返し部分であったと判定する。図形条件判定部５は、複製結果の図形と判定する図形とが一致しなければ、複製結果の図形の元となった繰り返し部分の候補は、真の繰り返し部分ではなかったと判定する。
【０１９８】
ステップＳ５５０においてＹｅｓの場合、すなわち、図形条件記憶部３に記憶された並進条件で、判定する図形に一致する繰り返し部分の候補が１つでも見つかる場合、図形条件判定部５は、ステップＳ５９１において、並進対称性を持つという判定結果を目的図形候補生成部７に送る。具体的には、図形条件判定部５は、目的図形候補生成部７に対して、図形条件１５は満たされているという判定結果である「真」の情報を送る。そして、図形条件判定部５は、図形が図形条件１５を満たすか否かの判定処理を終了する。
【０１９９】
一方、ステップＳ５５０においてＮｏの場合、すなわち、図形条件記憶部３に記憶された並進条件で、判定する図形に一致する繰り返し部分の候補が１つも見つからない場合、図形条件判定部５は、ステップＳ５９２において、並進対称性を持たないという判定結果を目的図形候補生成部７に送る。具体的には、図形条件判定部５は、目的図形候補生成部７に対して、図形条件１５は満たされていないという判定結果である「偽」の情報を送る。そして、図形条件判定部５は、図形が図形条件１５を満たすか否かの判定処理を終了する。
【０２００】
ステップＳ５００においてＮｏの場合、すなわち、図形に並進条件が与えられていない場合、図形条件判定部５は、ステップＳ５１０において、判定する図形を構成するセグメントを用いて、セグメント対のリストを作成する。具体的には、図形条件判定部５は、判定する図形を構成するセグメントに対し、全てのセグメントの組み合わせを表すために、各組み合わせに対応するセグメント対の全てを含むリストを作成する。
【０２０１】
そして、図形条件判定部５は、ステップＳ５２０において、リストに次のセグメント対が残っているか否かを判定する。リストに次のセグメント対が残っている場合、すなわち、ステップＳ５２０においてＹｅｓの場合、図形条件判定部５は、ステップＳ５３０において、セグメント対から並進ベクトルを計算できたか否かを判定する。
【０２０２】
具体的には、図形条件判定部５は、まず、リストから任意のセグメント対を選ぶ。そして、図形条件判定部５は、選んだセグメント対の２つのセグメントから、図１２および図１３で説明した方法によって並進ベクトルの計算を試みる。図形条件判定部５は、並進ベクトルを計算できなかった場合、すなわち、並進ベクトルを見つけ出すことができなかった場合、選んだセグメント対をリストから削除する。並進ベクトルを見つけ出すことができない場合の例は、セグメント対の一方が線分であり、他方が円弧である場合である。
【０２０３】
図形条件判定部５は、セグメント対から並進ベクトルを計算できた場合、すなわち、ステップＳ５３０においてＹｅｓの場合、図形条件判定部５は、ステップＳ５４０において、並進ベクトルを用いれば、判定する図形に一致する繰り返し部分が存在するか否かを判定する。
【０２０４】
具体的には、図形条件判定部５は、計算した並進ベクトルから並進条件を導出する。そして、図形条件判定部５は、導出した並進条件を用いれば、判定する図形に一致する繰り返し部分が存在するかについて判定を行う。図形条件判定部５は、繰り返し部分を探すため、総当たりで繰り返し部分の候補を生成し、各繰り返し部分の候補に対して一致判定を行う。
【０２０５】
図形条件判定部５は、一致判定を行う際には、ステップＳ５３０で計算した並進ベクトルを用いる。このとき、図形条件判定部５は、繰り返し回数については、まずは２回と仮定する。図形条件判定部５は、並進条件に従って繰り返し部分の候補を複製した結果の図形を求める。複製した結果の図形の具体的な求め方は、ステップＳ５５０と同様である。図形条件判定部５は、複製結果の図形が出来上がると、この複製結果の図形を、判定する図形と比較する。図形条件判定部５は、複製結果の図形と判定する図形が一致すれば、複製結果の図形の元となった繰り返し部分の候補は、真の繰り返し部分であり、繰り返し部分が見つかったと判定する。図形条件判定部５は、複製結果の図形と判定する図形が一致しなかった場合は、判定を保留する。そして、図形条件判定部５は、現在の繰り返し部分の候補に対して繰り返し回数を変えて複製結果の図形を生成するか、または現在の繰り返し部分の候補を却下して次の繰り返し部分の候補の判定へと移るかを決めるために、複製結果の図形のセグメントと判定する図形のセグメントとの対応関係を調べる。
【０２０６】
具体的には、図形条件判定部５は、複製結果の図形を構成する第１のセグメントと、判定する図形を構成する第２のセグメントとの、位置および形状が同じ場合、第１および第２のセグメントは対応しているものと判定する。図形条件判定部５は、第１および第２のセグメントの対応付けを１対１で行い、既に対応付けられているセグメントに対して別のセグメントを対応付けることは行わない。
【０２０７】
図形条件判定部５は、複製結果の図形を構成する全てのセグメントについて対応付けを試みた後に、対応付けのできなかった複製結果の図形のセグメントが残った場合には、現在の繰り返し部分の候補を却下して、次の繰り返し部分の候補の判定へと移る。
【０２０８】
一方、図形条件判定部５は、複製結果の図形を構成する全てのセグメントについて対応付けを試みた後に、対応付けのできなかった複製結果の図形のセグメントが残らなかった場合には、判定する図形のセグメントの中に対応付けられなかったものがあると判定する。この場合、図形条件判定部５は、繰り返し回数を１回増やして３回と仮定し、複製から対応付けまでの処理を繰り返す。
【０２０９】
図形条件判定部５は、繰り返し回数を１回増やすたびに複製結果のセグメントを増加して行く。従って、図形条件判定部５が繰り返し回数を１回ずつ増やしていくと、どこかの回数で、複製結果の図形と判定する図形とが一致する場合がある。この場合、図形条件判定部５は、繰り返し部分が見つかったと判定する。
【０２１０】
一方、図形条件判定部５が繰り返し回数を増やしても、複製結果の図形と判定する図形とが一致しない場合がある。この場合、複製結果の図形を構成するセグメントの中に、判定する図形のセグメントと対応付けられないものが発生するので、図形条件判定部５は、繰り返し部分の候補を却下する。図形条件判定部５は、全ての繰り返し部分の候補を却下した場合には、ステップＳ５３０で選んだセグメント対をリストから削除する。そして、図形条件判定部５は、繰り返し部分が見つからなかったと判定する。
【０２１１】
ステップＳ５４０においてＹｅｓの場合、すなわち、ステップＳ５３０で計算した並進ベクトルを基にした並進条件で、判定する図形に一致する繰り返し部分の候補が１つでも見つかる場合、図形条件判定部５は、ステップＳ５９１において、並進対称性を持つという判定結果を目的図形候補生成部７に送る。そして、図形条件判定部５は、図形が図形条件１５を満たすか否かの判定処理を終了する。
【０２１２】
一方、ステップＳ５４０においてＮｏの場合、すなわち、ステップＳ５３０で計算した並進ベクトルを基にした並進条件で、判定する図形に一致する繰り返し部分の候補が１つも見つからない場合、図形条件判定部５は、ステップＳ５２０の処理へ進む。
【０２１３】
なお、図形選択装置１０１は、作業者が、並進条件の２つの項目のうちの、１項目だけを設定できるようにしてもよい。この場合、図形条件判定部５は、ステップＳ５４０からステップＳ５９１へと進む条件に、直前に複製を行った際の並進条件の２項目のうち作業者によって設定されている項目に対して項目設定値と一致しているという条件を足しておく。これにより、図形条件判定部５は、作業者が部分的に行った設定を満たす形で並進対称性を持つときのみ、図形条件１５が満たされていると判定することとなる。
【０２１４】
ステップＳ５２０においてＮｏの場合、すなわち、リストに次のセグメント対が残っていない場合、図形条件判定部５は、ステップＳ５９２において、並進対称性を持たないという判定結果を目的図形候補生成部７に送る。そして、図形条件判定部５は、図形が図形条件１５を満たすか否かの判定処理を終了する。
【０２１５】
ステップＳ５２０においてＹｅｓの場合、すなわち、リストに次のセグメント対が残っている場合、図形条件判定部５は、ステップＳ５３０において、セグメント対から並進ベクトルを計算できたか否かを判定する。
【０２１６】
ステップＳ５３０においてＮｏの場合、すなわち、セグメント対から並進ベクトルを計算できなかった場合、図形条件判定部５は、ステップＳ５２０の処理へ進む。ステップＳ５３０においてＹｅｓの場合、すなわち、セグメント対から並進ベクトルを計算できた場合、図形条件判定部５は、ステップＳ５４０の処理へ進む。
【０２１７】
図形選択装置１０１は、ステップＳ５４０の後、ステップＳ５９１において並進対称性を持つという判定結果を目的図形候補生成部７に送るか、または、ステップＳ５９２において並進対称性を持たないという判定結果を目的図形候補生成部７に送るまで、ステップＳ５２０〜Ｓ５４０の処理を繰り返す。
【０２１８】
（図形条件１６）
図形条件１６は、判定する図形を構成するセグメントの中に、図面データ記憶部２に記憶されている特定のセグメントが存在しているという条件である。図形条件１６のパラメータは、判定する図形を構成するセグメントの中に存在する必要があるセグメントのセグメント番号のリストである。
【０２１９】
図２のステップＳ４０において、作業者が設定または指定を行う場合、入力装置２２は、作業者からの指示を受付ける。この場合において、作業者が図形条件１６を追加する場合、または図形条件１６のパラメータを変更する場合、作業者が、セグメント指定部１８を用いて１つまたは複数のセグメントを指定する。条件編集部１３は、指定されたセグメントのセグメント番号をリストにして図形条件記憶部３に格納する。
【０２２０】
また、ステップＳ５０において、図形条件判定部５が、図形条件１６を判定する。このとき、図形条件判定部５は、判定を行う図形を構成するセグメントのセグメント番号の中に、図形条件記憶部３で記憶されているリスト内のセグメント番号が全て存在するか否かを確認する。図形条件判定部５は、全てのセグメント番号が存在すれば、図形条件１６は満たされていると判定し、１つのセグメント番号でも存在しないものがあれば、図形条件１６は満たされていないと判定する。
【０２２１】
（図形条件１７）
図形条件１７は、判定する図形と指定点との間の幾何的関係の条件である。図形条件１７のパラメータは、指定点と、幾何的関係の種類と、の２つである。幾何的関係の種類は、判定する図形が指定点を「含む」と、判定する図形が指定点を「含まない」の２種類である。
【０２２２】
図２のステップＳ４０において、作業者が設定または指定を行う場合、入力装置２２は、作業者からの指示を受付ける。この場合において、作業者が図形条件１７を追加する場合、または図形条件１７のパラメータを変更する場合、条件編集部１３は作業者が指定した点と、幾何的関係の種類とを、図形条件記憶部３に格納する。作業者は、点を指定する際には、点指定部１６を用いる。
【０２２３】
また、ステップＳ５０において、図形条件１７を判定する際に、図形条件判定部５は、まず、判定する図形が閉図形であるか否かを判定する。閉図形でない場合、図形条件判定部５は、図形条件１７は満たされていないと判定して処理を終了する。一方、閉図形である場合、図形条件判定部５は、内外関係の判定処理へ進む。
【０２２４】
図形条件判定部５は、この時点で判定する図形が閉図形であることが分かっているので、閉図形と点との内外関係の判定を行うことで、指定点が判定する図形の内側と外側との何れにあるかを判定する。
【０２２５】
図形条件判定部５は、幾何的関係の種類が「含む」の場合、指定点が、判定する図形の内側であれば、図形条件１７は満たされていると判定し、指定点が判定する図形の外側であれば、図形条件１７は満たされていないと判定する。
【０２２６】
また、図形条件判定部５は、幾何的関係の種類が「含まない」の場合、指定点が、判定する図形の外側であれば、図形条件１７は満たされていると判定し、指定点が判定する図形の内側であれば、図形条件１７は満たされていないと判定する。
【０２２７】
（図形条件１８）
図形条件１８は、判定する図形と指定閉図形との間の幾何的関係の条件である。図形条件１８のパラメータは、指定閉図形と、幾何的関係の種類と、の２つである。幾何的関係の種類は、判定する図形と指定閉図形との関係が「交わる」および「交わらない」と、判定する図形が指定閉図形を「包含する」および「包含しない」と、判定する図形が指定閉図形に「包含される」および「包含されない」との合計６種類である。
【０２２８】
条件編集部１３は、図２のステップＳ４０において、作業者が図形条件１８を追加する場合、または図形条件１８のパラメータを変更する場合、作業者が指定した閉図形と、幾何的関係の種類とを、図形条件記憶部３に格納する。作業者は、閉図形を指定する際には、閉図形指定部１７を用いる。
【０２２９】
図形条件判定部５は、図２のステップＳ５０において、図形条件１８を判定する際に、まず、判定する図形が閉図形であるか否かを確認する。閉図形でなかった場合、図形条件判定部５は、図形条件１８は満たされていないと判定し処理を終了する。一方、閉図形であった場合、図形条件判定部５は、図形条件１８は満たされる可能性があると判定し、ブーリアン演算へ進む。図形条件判定部５は、この時点で、判定する図形が閉図形であることが分かっているので、閉図形同士のブーリアン演算を行うことで、図形条件１８を満たすか否かを判定する。
【０２３０】
幾何的関係の種類が、「交わる」または「交わらない」の場合、図形条件判定部５は、図形条件記憶部３に格納された指定閉図形と、判定する図形と、に対してブーリアン演算の積演算を行う。
【０２３１】
そして、幾何的関係の種類が、「交わる」の場合、図形条件判定部５は、演算の結果に残った部分が存在すれば、図形条件１８は満たされていると判定し、演算の結果に残った部分が存在しなければ図形条件１８は満たされていないと判定する。
【０２３２】
また、幾何的関係の種類が、「交わらない」の場合、図形条件判定部５は、演算の結果に残った部分が存在しなければ、図形条件１８は満たされていると判定し、演算の結果に残った部分が存在すれば、図形条件１８は満たされていないと判定する。
【０２３３】
幾何的関係の種類が、「包含する」または「包含しない」の場合、図形条件判定部５は、図形条件記憶部３に格納された指定閉図形から、判定する図形を引くブーリアン演算の差演算を行う。
【０２３４】
そして、幾何的関係の種類が、「包含する」の場合、図形条件判定部５は、演算の結果に残った部分が存在しなければ、図形条件１８は満たされていると判定し、演算の結果に残った部分が存在すれば、図形条件１８は満たされていないと判定する。
【０２３５】
また、幾何的関係の種類が、「包含しない」の場合、図形条件判定部５は、演算の結果に残った部分が存在すれば、図形条件１８は満たされていると判定し、演算の結果に残った部分が存在しなければ、図形条件１８は満たされていないと判定する。
【０２３６】
幾何的関係の種類が、「包含される」または「包含されない」の場合は、図形条件判定部５は、判定する図形から、図形条件記憶部３に格納された指定閉図形を引くブーリアン演算の差演算を行う。
【０２３７】
そして、幾何的関係の種類が、「包含される」の場合、図形条件判定部５は、演算の結果に残った部分が存在しなければ、図形条件１８は満たされていると判定し、演算の結果に残った部分が存在すれば、図形条件１８は満たされていないと判定する。
【０２３８】
また、幾何的関係の種類が、「包含されない」の場合、図形条件判定部５は、演算の結果に残った部分が存在すれば、図形条件１８は満たされていると判定し、演算の結果に残った部分が存在しなければ、図形条件１８は満たされていないと判定する。
【０２３９】
つぎに、各セグメント条件の具体例について説明する。セグメント条件は、作業者が選択しようとしている目的図形を構成する全てのセグメントが満たす必要のある条件である。本実施の形態のセグメント条件は、以下のセグメント条件１〜７である。
【０２４０】
（セグメント条件１）
セグメント条件１は、判定するセグメントが、指定された属性を持っているという条件である。属性の具体例は、色、線種、太さといった装飾の情報であるが、個々のセグメントに付与できる属性であれば何れの情報であってもよい。セグメント条件のパラメータは、属性の内容である。
【０２４１】
条件編集部１３は、ステップＳ４０においてセグメント条件１を追加する場合またはセグメント条件１のパラメータを変更する場合、作業者が指示した属性の内容をセグメント条件記憶部４に格納する。
【０２４２】
セグメント条件判定部６は、ステップＳ５０においてセグメント条件を判定する際に、判定を行うセグメントのセグメント番号に基づいて、図面データ記憶部２からセグメントに付与されている属性を全て抽出する。セグメント条件判定部６は、抽出した属性の中に、セグメント条件記憶部４内に格納されているパラメータである属性と同じものがあれば、セグメント条件１は満たされていると判定する。一方、セグメント条件判定部６は、抽出した属性の中に、セグメント条件記憶部４内に格納されているパラメータである属性と同じものがなければ、セグメント条件１は満たされていないと判定する。
【０２４３】
（セグメント条件２）
セグメント条件２は、判定するセグメントの曲率が指定された曲率の範囲内に入っているという条件である。セグメント条件２のパラメータは、１つ以上の曲率の最小値と最大値との組である。
【０２４４】
条件編集部１３は、ステップＳ４０においてセグメント条件２を追加する場合またはセグメント条件２のパラメータを変更する場合、作業者が指示した曲率の最小値と最大値との組を、１つ以上セグメント条件記憶部４に格納する。
【０２４５】
セグメント条件判定部６は、ステップＳ５０においてセグメント条件を判定する際に、まず、判定を行うセグメントの曲率の値を計算する。セグメント条件判定部６は、セグメントの曲率が連続的に変化するものである場合、曲率の取る範囲を求める。次に、セグメント条件判定部６は、セグメント条件記憶部４に格納されている曲率の組全てに対し、計算した曲率の値、もしくは、曲率の範囲が、組の最小値以上で最大値以下に収まるか否かを判定する。セグメント条件判定部６は、収まる組が１つでも存在すれば、セグメント条件２は満たされていると判定し、収まる組が１つも無ければ、セグメント条件２は満たされていないと判定する。
【０２４６】
作業者が、図２のステップＳ４０において、セグメント条件２に線分または半径ｒの円弧の何れかという指定を追加する場合がある。この場合、直線の曲率は０であり、半径ｒの円弧の曲率は１／ｒであるので、セグメント条件判定部６は、最小値が０で最大値が０の組と、最小値が１／ｒで最大値が１／ｒの組と、の２つの組をセグメント条件記憶部４に格納する。
【０２４７】
（セグメント条件３）
セグメント条件３は、判定するセグメントが線分ならば、線分の長さが指定された範囲内に入っているという条件である。セグメント条件３のパラメータは、１つ以上の長さの最小値と最大値との組である。
【０２４８】
作業者が、図２のステップＳ４０においてセグメント条件３を追加する場合またはセグメント条件３のパラメータを変更する場合、条件編集部１３は、作業者が指示した長さの最小値と最大値との組を１つ以上セグメント条件記憶部４に格納する。
【０２４９】
セグメント条件判定部６は、ステップＳ５０においてセグメント条件３を判定する際に、まず、セグメントが線分であるか否かを判定する。セグメント条件判定部６は、セグメントが線分でなかった場合には、セグメント条件３は満たされていると判定する。一方、セグメント条件判定部６は、セグメントが線分であった場合には、この線分の長さを計算する。そして、セグメント条件判定部６は、計算した長さが、セグメント条件記憶部４に格納されている長さの組全てに対し、これらの組の最小値以上かつ最大値以下に収まるか否かを判定する。セグメント条件判定部６は、収まる組が１つでも存在すれば、セグメント条件３は満たされていると判定し、収まる組が１つも無ければ、セグメント条件３は満たされていないと判定する。
【０２５０】
（セグメント条件４）
セグメント条件４は、判定するセグメントが円弧ならば、この円弧の円弧中心角が指定された範囲内に入っているという条件である。セグメント条件４のパラメータは、１つ以上の中心角の最小値と最大値との組である。
【０２５１】
作業者が、図２のステップＳ４０においてセグメント条件４を追加する場合またはセグメント条件４のパラメータを変更する場合、条件編集部１３は、作業者が指示した中心角の最小値と最大値との組を１つ以上セグメント条件記憶部４に格納する。
【０２５２】
セグメント条件判定部６は、ステップＳ５０においてセグメント条件４を判定する際に、まず、セグメントが一定曲率の曲線であるか否かを判定する。セグメント条件判定部６は、セグメントが一定曲率の曲線でなかった場合には、セグメント条件４は満たされていると判定する。一方、セグメント条件判定部６は、セグメントが一定曲率の曲線であった場合には、この曲線を円弧とみなしたときの中心角を計算する。そして、セグメント条件判定部６は、計算した中心角が、セグメント条件記憶部４に格納されている中心角の組全てに対し、これらの組の最小値以上かつ最大値以下に収まるか否かを判定する。セグメント条件判定部６は、収まる組が１つでも存在すれば、セグメント条件４は満たされていると判定し、収まる組が１つも無ければ、セグメント条件４は満たされていないと判定する。
【０２５３】
（セグメント条件５）
セグメント条件５は、セグメントの両端で接線方向かつ外側に向かうベクトルと、座標系の軸のベクトルとが成す角度が、指定された角度の範囲内に入っているという条件である。セグメント条件５のパラメータは、１つ以上の角度の最小値と最大値との組である。
【０２５４】
作業者が、図２のステップＳ４０においてセグメント条件５を追加する場合またはセグメント条件５のパラメータを変更する場合、条件編集部１３は、作業者が指示した角度の最小値と最大値との組を１つ以上セグメント条件記憶部４に格納する。
【０２５５】
セグメント条件判定部６は、ステップＳ５０においてセグメント条件を判定する際に、まず、判定を行うセグメントの両端で接線方向かつ外側に向かうベクトルを計算する。次に、セグメント条件判定部６は、計算した２つのベクトルの各々について、Ｘ軸正方向のベクトルと成す角度を計算する。このセグメント条件判定部６が計算する角度について図１５および図１６を用いて説明する。
【０２５６】
ここでは、図１５および図１６を用いて、セグメントと座標系との成す角度について説明する。図１５は、線分のセグメントに対する角度を示す図であり、図１６は、円弧のセグメントに対する角度を示す図である。図１５は、線分のセグメントＳｅ１に対してセグメント条件判定部６が計算する角度Ｅ１１，Ｅ１２を示し、図１６は、円弧のセグメントＳｅ２に対してセグメント条件判定部６が計算する角度Ｅ３１，Ｅ３２を示している。
【０２５７】
セグメント条件判定部６は、計算した２つの角度のうちの一方が、セグメント条件記憶部４に格納されている角度の組全てに対し、これらの組の最小値以上かつ最大値以下に収まるか否かを判定する。セグメント条件判定部６は、収まる組が１つでも存在すれば、２つの角度のうちの一方の角度は指定範囲内であると判定する。
【０２５８】
セグメント条件判定部６は、２つの角度のうちの他方についても、２つの角度のうちの一方と同様の判定を行う。セグメント条件判定部６は、２つの角度の両方が指定範囲内であった場合には、セグメント条件５が満たされていると判定し、２つの角度の何れか一方でも指定範囲内でなかった場合には、セグメント条件５が満たされていないと判定する。
【０２５９】
図１５に示す線分のセグメントＳｅ１の場合、セグメント条件判定部６は、セグメントＳｅ１の両端で接線方向かつ外側に向かうベクトルＥ１，Ｅ２を計算する。そして、セグメント条件判定部６は、ベクトルＥ１について、Ｘ軸正方向のベクトルＥ３と成す角度Ｅ１１を計算し、ベクトルＥ２について、Ｘ軸正方向のベクトルＥ３と成す角度Ｅ１２を計算する。セグメント条件判定部６は、計算した角度Ｅ１１，Ｅ１２の両方が指定範囲内であった場合には、セグメント条件５が満たされていると判定する。
【０２６０】
図１６に示す線分のセグメントＳｅ２の場合、セグメント条件判定部６は、セグメントＳｅ２の両端で接線方向かつ外側に向かうベクトルＥ２１，Ｅ２２を計算する。そして、セグメント条件判定部６は、ベクトルＥ２１について、Ｘ軸正方向のベクトルＥ２３と成す角度Ｅ３１を計算し、ベクトルＥ２２について、Ｘ軸正方向のベクトルＥ２３と成す角度Ｅ３２を計算する。セグメント条件判定部６は、計算した角度Ｅ３１，Ｅ３２の両方が指定範囲内であった場合には、セグメント条件５が満たされていると判定する。
【０２６１】
なお、ここでは角度の基準とするベクトルをＸ軸正方向のベクトルに固定する場合について説明したが、図形選択装置１０１は、作業者が、図面の座標系で定義される任意のベクトルをパラメータに設定できるようにしてもよい。
【０２６２】
（セグメント条件６）
セグメント条件６は、指定されているレイヤに判定対象のセグメントが属していないという条件である。セグメント条件６のパラメータは、セグメントが属さないレイヤの名前である。
【０２６３】
作業者は、図２のステップＳ４０においてセグメント条件６を追加する場合またはセグメント条件６のパラメータを変更する場合、レイヤ指定部１５を用いてレイヤを１つ指定する。条件編集部１３は、作業者によって指定されたレイヤの名前をセグメント条件記憶部４に格納する。
【０２６４】
セグメント条件判定部６は、ステップＳ５０においてセグメント条件６を判定する際に、判定を行うセグメントのセグメント番号に基づいて、図面データ記憶部２からセグメントが属するレイヤの名前を取得する。セグメント条件判定部６は、取得したレイヤの名前とセグメント条件記憶部４に記憶されているレイヤの名前とが異なれば、セグメント条件６は満たされていると判定する。一方、セグメント条件判定部６は、取得したレイヤの名前とセグメント条件記憶部４に記憶されているレイヤの名前とが同じであれば、セグメント条件６は満たされていないと判定する。なお、作業者は、セグメントが属さないレイヤを複数指定したい場合には、パラメータが異なる複数のセグメント条件６を設定してもよい。
【０２６５】
（セグメント条件７）
セグメント条件７は、判定するセグメントは図面データ記憶部２に記憶されている特定のセグメントではないという条件である。セグメント条件７のパラメータは、該当してはならないセグメント番号のリストである。
【０２６６】
作業者は、図２のステップＳ４０においてセグメント条件７を追加する場合、またはセグメント条件７のパラメータを変更する場合、セグメント指定部１８を用いて、１つまたは複数のセグメントを指定する。条件編集部１３は、指定されたセグメントのセグメント番号のリストをセグメント条件記憶部４に格納する。
【０２６７】
セグメント条件判定部６は、ステップＳ５０においてセグメント条件７を判定する際に、セグメント条件記憶部４のセグメント番号のリストの中に、判定を行うセグメントのセグメント番号が存在するか否かを確認する。セグメント条件判定部６は、セグメント番号が存在しなければセグメント条件７は満たされていると判定し、セグメント番号が存在すればセグメント条件７は満たされていないと判定する。
【０２６８】
ここで、複数の図形条件および複数のセグメント条件に共通する補足事項について説明する。図形選択装置１０１は、数値計算誤差が問題になる場合には閾値を用いる。図形選択装置１０１は、角度用の閾値および長さ用の閾値のように複数の閾値を用いてもよい。図形選択装置１０１は、図形条件２の面積の最小値および最大値のような、整数でない値によって定義された範囲に入っているか否かの判定を行う場合がある。このような場合、図形選択装置１０１は、最小値を下回ったまたは最大値を上回った場合であっても、この下回った量または上回った量が、面積の閾値の範囲内ならば、範囲内に収まっていると判定してもよい。
【０２６９】
また、図形選択装置１０１は、図形条件３の判定処理における半径の比較においても、比較する２つの半径の差が半径の閾値の範囲内であれば、半径は同じであるとみなしてもよい。また、作業者が、これらの閾値を指定してもよい。
【０２７０】
また、図形選択装置１０１は、閉ループまたはコンポーネント数に関連する条件のように、セグメントとセグメントとの接続が問題になる条件では、セグメントの端点と別のセグメントの端点との位置ずれについて閾値を設けてもよい。この場合、図形選択装置１０１は、閾値内の位置ずれである場合、セグメント同士が接続していると判定してもよい。また、作業者が、これらの閾値を指定してもよい。
【０２７１】
図形選択装置１０１は、パラメータであるセグメント番号を指定する条件を設定する際に、セグメント番号の代わりに、点、線、連続した複数の線、マウスで描いた自由曲線、多角形または円への包含関係または交差関係を用いてもよい。
【０２７２】
また、図形選択装置１０１は、図形条件１８を発展させて、判定する図形と、点、線、連続した複数の線またはマウスで描いた自由曲線のうちの何れか１つと、の包含関係または交差関係を設定できるようにしてもよい。
【０２７３】
以上、説明したように、本実施の形態の図形選択装置１０１は、セグメント条件または図形条件を適切に設定することで、閉ループまたは連続線以外の図形に対しても、少ない操作回数および短い操作時間で選択可能になるという効果がある。
【０２７４】
また、図形選択装置１０１は、セグメント条件と図形条件を適切に設定することで、個別のセグメントの選択操作を減らすことができる。さらに、図形選択装置１０１は、プリセット条件から生成された目的図形の候補の数が少なければ、セグメントの選択またはパラメータの調整を行わせる必要がなくなる。この場合、図形選択装置１０１は、目的図形の候補の中から１つの図形を選ぶという操作だけで、目的の図形を選択することができる。このような操作回数の減少の効果、特にセグメント選択操作の減少の効果は、入力装置２２が、タッチパネルといった細かな操作が難しい装置である場合には、操作時間の短縮および作業者の作業負担の軽減に大きく寄与する。
【０２７５】
なお、図形条件判定部５は、上述した図形条件１〜１８以外の図形条件を用いて図形を判定してもよい。また、セグメント条件判定部６は、上述したセグメント条件１〜７以外のセグメント条件を用いて図形を判定してもよい。
【０２７６】
このように、実施の形態１によれば、図形条件またはセグメント条件に基づいて、目的図形の候補を生成するので、図形選択装置１０１は、従来の閉ループ選択装置および連続線選択装置では選択できない種類の図形を、少ない操作回数で選択できる。また、図形選択装置１０１は、図面に存在するセグメントまたは分岐の数が多い場合でも、入力する図面の性質または選択する図形の性質に合わせた図形条件またはセグメント条件を設定すれば、少ない操作回数で目的の図形を選択できる。
【０２７７】
また、図形選択装置１０１は、種々の図形条件およびセグメント条件を組み合わせることで、種々の図形に対して、少ない操作回数で目的図形の候補を生成できる。さらに、作業者が適宜図形条件またはセグメント条件を柔軟に変更できるので、図形選択装置１０１は、作業者の知見を随時反映させたうえで、操作回数を減らすことができる。
【０２７８】
また、図形選択装置１０１は、図面に対応する図面情報を利用した図形条件またはセグメント条件を追加することによって、表示される目的図形の候補を大幅に減らすことが可能となる。従って、図形選択装置１０１は、選択にかかる操作回数を大幅に減らすことができる。
【０２７９】
また、条件自動更新部３１が、図形条件またはセグメント条件を適切な条件に自動的に更新するので、図形選択装置１０１は、作業者による条件の編集が無い場合であっても、目的図形候補生成部７が更新後の条件で再生成する目的図形の候補を改善することができる。また、図形選択装置１０１は、前回生成された目的図形の候補に基づいて設定できる条件を、自動的に設定するので、作業者による操作回数を減らすことができる。
【０２８０】
実施の形態２．
つぎに、図１、図２、図１７〜図２１を用いてこの発明の実施の形態２について説明する。なお、実施の形態２では、実施の形態１と同様の図形選択装置１０１を用いるので、その構成の説明は省略する。実施の形態２では、プリセット条件記憶部１１が、目的図形に適した図形条件９を格納しておく。そして、図形選択装置１０１が、図形条件９に基づいて、目的図形である閉ループを包含した閉ループの図形候補を生成する。
【０２８１】
本実施の形態では、図形選択装置１０１が、プリセット条件記憶部１１に、図形条件９である閉ループを包含した閉ループを格納しておく。図形選択装置１０１は、この図形条件９を用いることによって、部品となる部材の中に削り残す部分があるポケット加工個所を選択する。
【０２８２】
以下、図１７〜図２１を用いて、ポケット加工個所のような閉ループを包含した閉ループを表す図形を選択する処理について説明する。図１７〜図２１では、ポケット加工される部品を示している。
【０２８３】
図１７は、実施の形態２において図形選択装置に入力される図面の一例を示す図である。図１７に示す図面５１〜５３の図面データは、図２のステップＳ２０において図面データ入力部１に読み込ませる図面データである。
【０２８４】
図面５１は、図面データ入力部１に読み込ませる部品の平面図を示している。図面５２は、図面データ入力部１に読み込ませる部品の正面図を示し、図面５３は、図面データ入力部１に読み込ませる部品の側面図を示している。
【０２８５】
図１８は、図１７に示した図面に対応する部品を斜めから見た図である。図１８では、図面５１〜５３に対応する部品５０の斜視図を示している。図１９〜図２１は、図面５１〜５３に対応する部品５０の平面図を示している。図１９は、図１７の図面に対して作業者が目的とする加工箇所を示す図である。図１９では、斜線部分が、作業者の目的とする加工箇所Ｆ１を示している。図２０は、図１７の図面に対して作業者が目的とする輪郭図形を示す図である。図２０では、太線部分が、加工箇所Ｆ１の輪郭を表す輪郭図形Ｆ２，Ｆ３を示している。この輪郭図形Ｆ２，Ｆ３が、作業者の目的とする図形であるとする。図２１は、図１７の図面に対して作業者が選択候補を除外する目的で指定した特定のセグメントを示す図である。
【０２８６】
作業者が、図２のステップＳ１０において、図面を再利用しないことを選択したとする。この場合、図面データ入力部１は、ステップＳ２０において、ＣＡＤデータから図面データを読み出して図面データ記憶部２に入力する。この後、ステップＳ３０では、プリセット条件設定部１２が、予めプリセット条件記憶部１１に格納されている図形条件９を図形条件記憶部３に設定する。
【０２８７】
そして、作業者が、ステップＳ４０において、条件編集部１３に対して、セグメント条件７を追加したとする。セグメント条件７は、判定するセグメントは図面データ記憶部２に記憶されている特定のセグメントではないという条件である。ここでは、作業者が、セグメント条件７のパラメータ設定の際に、図２１に示した線分Ｆ４を指定した場合について説明する。
【０２８８】
作業者が、ステップＳ４０においてセグメント条件の編集を終えると、目的図形候補生成部７が、ステップＳ５０において、目的図形の候補を生成する。目的図形候補生成部７は、セグメント条件７により、平面図の最も外側の四角形の一辺に相当するセグメントは、目的図形の候補の生成に用いないと判定する。従って、目的図形候補生成部７は、線分Ｆ４を含んだ四角形から閉ループを生成することはない。
【０２８９】
このため、閉ループを含む閉ループは、図２０において、太線で表した輪郭図形Ｆ２，Ｆ３のみとなる。従って、目的図形候補生成部７は、目的図形の候補である輪郭図形Ｆ２，Ｆ３のみを目的図形候補記憶部８に記憶させる。目的図形選択部９は、ステップＳ６０において、目的図形候補記憶部８に記憶された輪郭図形Ｆ２，Ｆ３を表示装置２１に表示させる。
【０２９０】
表示装置２１が目的図形の候補を表示しているので、作業者は、目的図形の候補生成をやり直すかとの問いに対して「いいえ」と回答する。これにより、入力装置２２は、ステップＳ７０において、作業者からの「いいえ」と回答を受付ける。そして、作業者は、目的図形の唯一の候補を選択する。これにより、入力装置２２は、ステップＳ８０において、目的図形の選択指示を受付ける。そして、図形選択装置１０１は、選択処理を終了する。
【０２９１】
このように、実施の形態２によれば、プリセット条件記憶部１１が、目的図形に適した図形条件９を格納しておくので、作業者は、少ない操作回数で、ポケット加工個所のような、閉ループを包含した閉ループを表す図形を選択することができる。
【０２９２】
実施の形態３．
つぎに、図１、図２、図２２〜図２７を用いてこの発明の実施の形態３について説明する。なお、実施の形態３では、実施の形態１と同様の図形選択装置１０１を用いるので、その構成の説明は省略する。実施の形態３では、プリセット条件記憶部１１が、目的図形に適した図形条件５，１１を格納しておく。そして、図形選択装置１０１が、セグメント条件５，１１に基づいて、目的図形である内回り閉図形の候補を生成する。
【０２９３】
本実施の形態では、図形選択装置１０１が、プリセット条件記憶部１１に、図形条件１１である内回り閉図形と、図形条件５であるコンポーネント数とを格納しておく。本実施の形態では、図形選択装置１０１が、プリセット条件記憶部１１に格納されている図形条件５のパラメータであるコンポーネント数の最小値および最大値の両方を「１」に設定する場合について説明する。図形選択装置１０１は、図形条件５，１１を用いることによって、ポケット加工個所を選択する。
【０２９４】
以下、図２２〜図２７を用いて、ポケット加工個所のような内回り閉図形を選択する処理について説明する。図２２〜図２７では、ポケット加工される部品を示している。図２２は、実施の形態３において図形選択装置に入力される図面の一例を示す図である。図２２に示す図面６１の図面データは、図２のステップＳ２０において図面データ入力部１に読み込ませる図面データである。図面６１は、部品の正面図である。
【０２９５】
図２３は、図２２に示した図面に対応する部品を斜めから見た図である。図２３では、図面６１に対応する部品６０を斜めから見た図を示している。図２４〜図２７は、図面６１に対応する部品６０の正面図を示している。図２４は、図２２の図面に対して作業者が指定した点を示す図である。図２５〜図２７は、内回り閉図形の図形条件を満たす図形を示す図である。図２５は、図２２の図面に対して作業者が目的とする輪郭図形を示す図である。図２５では、太線で示した図形が加工個所の輪郭を表す輪郭図形Ｇ２を示している。この輪郭図形Ｇ２が、作業者の目的とする図形であるとする。図２６は、内回り閉図形の図形条件を満たす他の図形の第１例を示す図であり、図２７は、内回り閉図形の図形条件を満たす他の図形の第２例を示す図である。
【０２９６】
作業者が、図２のステップＳ１０において、図面を再利用しないことを選択したとする。この場合、図面データ入力部１は、ステップＳ２０において、ＣＡＤデータから図面データを読み出して図面データ記憶部２に入力する。この後、ステップＳ３０では、プリセット条件設定部１２が、予めプリセット条件記憶部１１に格納されている図形条件５，１１を図形条件記憶部３に設定する。
【０２９７】
そして、作業者が、ステップＳ４０において、条件編集部１３に対して、図形条件１７を追加したとする。図形条件１７は、判定する図形と指定点との間の幾何的関係の条件である。ここでは、作業者が、図形条件１７のパラメータ設定の際に、幾何的関係の種類に「含む」を指定し、さらに図２４に示した点Ｇ１を指定した場合について説明する。
【０２９８】
作業者が、ステップＳ４０においてセグメント条件の編集を終えると、目的図形候補生成部７が、ステップＳ５０において、実施の形態１と同様に、セグメント条件を満たすセグメントの抽出を行う。ここでの目的図形候補生成部７は、目的図形の候補を生成する際に、効率化のため、実施の形態１の方式であるセグメントの組み合わせの総当たりは行わない。代わりに、目的図形候補生成部７は、特許第２９４２６８１号公報に開示されている方法で図形条件１１を満たす図形を全て生成する。そして、目的図形候補生成部７は、生成された各図形を図形条件判定部５で判定し、図形条件記憶部３に記憶されている図形条件１７を満たした図形だけを目的図形候補記憶部８に格納する。
【０２９９】
図２２に示した図面６１の図形要素のうち、図形条件１１を満たす図形、つまり内回り閉図形は、図２５〜図２７の各々において太線で示した輪郭図形Ｇ２，Ｇ３，Ｇ４である。
【０３００】
これらの３つの輪郭図形Ｇ２〜Ｇ４の中で、図形条件１７を満たすのは図２５に示した輪郭図形Ｇ２だけである。また、輪郭図形Ｇ２は、図形条件５も満たす。従って、目的図形候補生成部７は、目的図形の候補である輪郭図形Ｇ２のみを目的図形候補記憶部８に記憶させる。目的図形選択部９は、ステップＳ６０において、目的図形候補記憶部８に記憶されている輪郭図形Ｇ２を選択して表示装置２１に表示させる。
【０３０１】
表示装置２１が目的図形の候補を表示しているので、作業者は、目的図形の候補生成をやり直すかとの問いに対して「いいえ」と回答する。これにより、入力装置２２は、ステップＳ７０において、作業者からの「いいえ」と回答を受付ける。そして、作業者は、目的図形の唯一の候補を選択する。これにより、入力装置２２は、ステップＳ８０において、目的図形の選択指示を受付ける。そして、図形選択装置１０１は、選択処理を終了する。
【０３０２】
このように、実施の形態３によれば、プリセット条件記憶部１１が、目的図形に適した図形条件５，１１を格納しておくので、作業者は、少ない操作回数で、ポケット加工個所のような内回り閉図形を表す図形を選択することができる。
【０３０３】
実施の形態４．
つぎに、図１、図２、図２８および図２９を用いてこの発明の実施の形態４について説明する。なお、実施の形態４では、実施の形態１と同様の図形選択装置１０１を用いるので、その構成の説明は省略する。実施の形態４では、プリセット条件記憶部１１が、目的図形に適した図形条件５，１０，１３を格納しておく。そして、図形選択装置１０１が、図形条件５，１０，１３に基づいて、目的図形である外回り閉図形の候補を生成する。
【０３０４】
本実施の形態では、図形選択装置１０１が、プリセット条件記憶部１１に、図形条件１０である外回り閉図形と、図形条件１３である鏡像対称性と、図形条件５であるコンポーネント数とを格納しておく。本実施の形態では、図形選択装置１０１が、プリセット条件記憶部１１に格納されている図形条件５のパラメータであるコンポーネント数の最小値および最大値の両方を「１」に設定する場合について説明する。図形選択装置１０１は、図形条件５，１０，１３を用いることによって、穴のない旋削部品の外形形状を選択する。
【０３０５】
以下、図２８および図２９を用いて、穴のない旋削部品の外形形状を選択する処理について説明する。図２８は、実施の形態４において図形選択装置に入力される図面データの一例を示す図である。図２９は、実施の形態４に係る図形候補判定処理を説明するための図である。図２８および図２９では、穴のない旋削部品を示している。
【０３０６】
図２８に示す図面７１の図面データは、図２のステップＳ２０において図面データ入力部１に読み込ませる図面データである。図面７１は、部品の正面図である。図２９は、図面７１に対応する部品７０の正面図である。図２９において、太線で示した図形が旋削部品の外形を表す外形図形Ｈ１であり、この外形図形Ｈ１が作業者の目的とする図形であるとする。
【０３０７】
作業者が、図２のステップＳ１０において、図面を再利用しないことを選択したとする。この場合、図面データ入力部１は、ステップＳ２０において、ＣＡＤデータから図面データを読み出して図面データ記憶部２に入力する。この後、ステップＳ３０では、プリセット条件設定部１２が、予めプリセット条件記憶部１１に格納されている図形条件５，１０，１３を図形条件記憶部３に設定する。
【０３０８】
そして、作業者が、ステップＳ４０において、条件編集部１３に対して、図形条件とセグメント条件の両方について、何も変更を行わなかったとする。この後、目的図形候補生成部７が、ステップＳ５０において、実施の形態１と同様に、セグメント条件判定部６からの第１の判定結果である判定結果に基づいて、セグメント条件を満たすセグメントの抽出を行う。ここでの目的図形候補生成部７は、目的図形の候補を生成する際に、効率化のため、実施の形態１の方式であるセグメントの組み合わせの総当たりは行わない。代わりに、目的図形候補生成部７は、特許第２９４２６８１号公報に開示されている方法で図形条件１０を満たす図形を全て生成する。そして、目的図形候補生成部７は、生成された各図形を図形条件判定部５で判定し、図形条件記憶部３に記憶されている図形条件１３を満たした図形だけを目的図形候補記憶部８に格納する。このように、本実施の形態では、図形が図形条件を満たしているか否かの判定結果である第２の判定結果は、図形条件１０に対応するものについては目的図形候補生成部７から取得され、図形条件１３に対応するものについては図形条件判定部５から取得される。
【０３０９】
図２８に示した図面７１の図形要素のうち、図形条件１０を満たすのは、旋削部品の外形に対応する外形図形Ｈ１だけである。また、この外形図形Ｈ１は図形条件１３および図形条件５も満たす。従って、目的図形候補生成部７は、目的図形の候補である外形図形Ｈ１のみを目的図形候補記憶部８に記憶させる。目的図形選択部９は、ステップＳ６０において、目的図形候補記憶部８に記憶されている外形図形Ｈ１を表示装置２１に表示させる。
【０３１０】
表示装置２１が目的図形の候補を表示しているので、作業者は、目的図形の候補生成をやり直すかとの問いに対して「いいえ」と回答する。これにより、入力装置２２は、ステップＳ７０において、作業者からの「いいえ」と回答を受付ける。そして、作業者は、目的図形の唯一の候補である外形図形Ｈ１を選択する。これにより、入力装置２２は、ステップＳ８０において、目的図形である外形図形Ｈ１の選択指示を受付ける。そして、図形選択装置１０１は、選択処理を終了する。
【０３１１】
このように、実施の形態４によれば、プリセット条件記憶部１１が、目的図形に適した図形条件５，１０，１３を格納しておくので、作業者は、少ない操作回数で、穴のない旋削部品の外形のような鏡像対称性を有した外回り閉図形を選択することができる。
【０３１２】
実施の形態５．
つぎに、図１、図２、図３０および図３１を用いてこの発明の実施の形態５について説明する。なお、実施の形態５では、実施の形態１と同様の図形選択装置１０１を用いるので、その構成の説明は省略する。実施の形態５では、プリセット条件記憶部１１が、目的図形に適した図形条件１，５，７，１３を格納しておく。そして、図形選択装置１０１が、図形条件１，５，７，１３に基づいて、目的図形である穴のある旋削部品の外形の候補を生成する。
【０３１３】
本実施の形態では、図形選択装置１０１が、プリセット条件記憶部１１に、図形条件７である閉ループと、図形条件１３である鏡像対称性と、図形条件１である属性と、図形条件５であるコンポーネント数とを格納しておく。また、図形選択装置１０１は、プリセット条件記憶部１１に格納されている図形条件１のパラメータに、ハッチングを設定する。本実施の形態では、図形選択装置１０１が、プリセット条件記憶部１１に格納されている図形条件５のパラメータであるコンポーネント数の最小値および最大値の両方に「２」を設定する場合について説明する。図形選択装置１０１は、これらの図形条件１，５，７，１３を用いることによって、穴のある旋削部品の外形を選択する。
【０３１４】
以下、図３０および図３１を用いて、穴のある旋削部品の外形を表す図形を選択する処理について説明する。図３０は、実施の形態５において図形選択装置に入力される図面の一例を示す図である。図３１は、実施の形態５に係る図形候補判定処理を説明するための図である。図３０および図３１では、穴のある旋削部品の断面図を示している。
【０３１５】
図３０に示す図面８１の図面データは、図２のステップＳ２０において図面データ入力部１に読み込ませる図面データである。図面８１の図形うち、ハッチングされている部分の図形は、穴のある旋削部品の外形を表している。図３１は、図面８１に対応する部品８０の断面図であり、部品８０の図形のうち、太線部分が、作業者の目的とする図形であるとする。
【０３１６】
作業者が、図２のステップＳ１０において、図面を再利用しないことを選択したとする。この場合、図面データ入力部１は、ステップＳ２０において、ＣＡＤデータから図面データを読み出して図面データ記憶部２に入力する。この後、ステップＳ３０では、プリセット条件設定部１２が、予めプリセット条件記憶部１１に格納されている図形条件１，５，７，１３を図形条件記憶部３に設定する。
【０３１７】
そして、作業者が、ステップＳ４０において、条件編集部１３に対して、図形条件およびセグメント条件の両方について、何も変更を行わなかったとする。この後、目的図形候補生成部７が、ステップＳ５０において、目的図形の候補を生成する。図３１では、図形条件１を満たす図形が、旋削部品の外形に対応する外形図形Ｉ１だけである。また、この外形図形Ｉ１は、図形条件１３、図形条件７および図形条件５を満たす。従って、目的図形候補生成部７は、目的図形の候補である外形図形Ｉ１のみを目的図形候補記憶部８に記憶させる。目的図形選択部９は、ステップＳ６０において、目的図形候補記憶部８に記憶されている外形図形Ｉ１を表示装置２１に表示させる。
【０３１８】
表示装置２１が目的図形の候補を表示しているので、作業者は、目的図形の候補生成をやり直すかとの問いに対して「いいえ」と回答する。これにより、入力装置２２は、ステップＳ７０において、作業者からの「いいえ」と回答を受付ける。そして、作業者は、目的図形の唯一の候補である外形図形Ｉ１を選択する。これにより、入力装置２２は、ステップＳ８０において、目的図形である外形図形Ｉ１の選択指示を受付ける。そして、図形選択装置１０１は、選択処理を終了する。
【０３１９】
このように、実施の形態５によれば、プリセット条件記憶部１１が、目的図形に適した図形条件１，５，７，１３を格納しておくので、作業者は、少ない操作回数で、穴のある旋削部品の外形を表す図形を選択することができる。
【０３２０】
実施の形態６．
つぎに、図１、図２、図３２〜図３５を用いてこの発明の実施の形態６について説明する。なお、実施の形態６では、実施の形態１と同様の図形選択装置１０１を用いるので、その構成の説明は省略する。実施の形態６では、プリセット条件記憶部１１が、目的図形に適した図形条件８，１５を格納しておく。そして、図形選択装置１０１が、図形条件８，１５に基づいて、目的図形の候補を生成する。本実施の形態における目的図形は、溝加工パターンのような並進対称性を有した飛び飛びのパターンである。
【０３２１】
本実施の形態では、図形選択装置１０１が、プリセット条件記憶部１１に、図形条件８である分岐なし且つ閉ループなしと、図形条件１５である並進対称性とを格納しておく。図形選択装置１０１は、これらの図形条件８，１５を用いることによって、溝加工パターンを選択する。
【０３２２】
以下、図３２〜図３５を用いて、溝加工パターンのような並進対称性を有した飛び飛びのパターンを表す図形を選択する処理について説明する。図３２は、実施の形態６において図形選択装置に入力される図面の一例を示す図である。図３２では、溝加工される部品の図面９１を示している。図３２に示す図面９１の図面データは、図２のステップＳ２０において図面データ入力部１に読み込ませる図面データである。図３２に示した図面９１は、部品の正面図である。図面９１に示される部品は、３本の溝９５を有している。
【０３２３】
図３３は、図３２の図面に対して作業者が目的とする目的図形を示す図である。図３３では、作業者の目的とする目的図形９２を示している。図３４は、図３２の図面に対して作業者が指定した図面領域を示す図である。図３５は、図３２の図面に対して目的図形の候補から除外されるセグメントを示す図である。
【０３２４】
作業者が、図２のステップＳ１０において、図面を再利用しないことを選択したとする。この場合、図面データ入力部１は、ステップＳ２０において、ＣＡＤデータから図面データを読み出して図面データ記憶部２に入力する。この後、ステップＳ３０では、プリセット条件設定部１２が、予めプリセット条件記憶部１１に格納されている図形条件８，１５を図形条件記憶部３に設定する。
【０３２５】
そして、作業者が、ステップＳ４０において、条件編集部１３に対して、図面条件４であるセグメント数とセグメント条件７とを追加したとする。ここでの条件編集部１３は、作業者の指示に基づいて、図形条件４のパラメータであるセグメント数の最小値および最大値の両方に「２１」を設定する。作業者は、この「２１」という数字を、溝の構成および溝数に基づいて設定する。
【０３２６】
図３３に示すように、作業者の目的とする目的図形９２は、３つの図形Ｊ１であり、各図形Ｊ１は溝である。図形Ｊ１である１つの溝は、円弧２本と線分５本の合計７本から構成されている。円弧は、溝の底部分で円弧形状に削り取られた箇所である。また、線分は、溝の上側の面取り領域と、溝の側面と、溝の底面とである。１つの溝が円弧２本と線分５本の合計７本から構成されている場合、且つ、溝の数が３本である場合、作業者は、７本と３本を掛け算することによって、７×３＝２１のように「２１」を求める。
【０３２７】
作業者は、セグメント条件７のパラメータ設定の際には、まず、入力装置２２を操作することによって、図３４に示すような、図面の一部である一部図形９３を表示装置２１に表示させたとする。さらに、作業者は、セグメント指定部１８において、表示範囲内にない全てのセグメントを指定する。これにより、条件編集部１３は、作業者が指定したセグメントを、セグメント条件７のパラメータに設定する。この設定により、一部図形９３の中に全体が入っているセグメント以外は、目的図形の候補の生成に利用されなくなる。具体的には、図３５に示した一部図形９４において、太線で示したセグメントＪ３は、画面に入りきっていないので、目的図形の候補を生成する際には用いられない。これにより、図３５に示した一部図形９４のうち、太線になっていないセグメントだけが、目的図形候補の生成に利用されることとなる。
【０３２８】
作業者が、ステップＳ４０において、プリセット条件の編集を終えると、目的図形候補生成部７が、ステップＳ５０において、目的図形の候補を生成する。図３５において、溝９５と溝９５とを結ぶ線分Ｊ２の図形は、繰り返し回数が２回である。この場合、２本の線分と、２つの溝９５のセグメントである１４本のセグメントと、を足した１６本のセグメントが、２つの溝９５に対応するセグメント数の最大値になる。この１６本は、図面条件４を満たさないので、目的図形選択部９は、ステップＳ６０において、溝９５と溝９５とを結ぶ線分を含む線分Ｊ２を含む図形判定候補は目的図形の候補ではないと判定し、目的図形候補生成部７は、目的図形候補記憶部８に記憶させない。
【０３２９】
従って、目的図形候補生成部７が、目的図形候補記憶部８に記憶させる唯一の目的図形の候補は、溝部分が３回繰り返された図３３に示した図形Ｊ１に対応する目的図形９２となる。これにより、目的図形選択部９は、ステップＳ６０において、目的図形候補記憶部８に記憶されている図形Ｊ１を表示装置２１に表示させる。
【０３３０】
表示装置２１が目的図形の候補を表示しているので、作業者は、目的図形の候補生成をやり直すかとの問いに対して「いいえ」と回答する。これにより、入力装置２２は、ステップＳ７０において、作業者からの「いいえ」と回答を受付ける。そして、作業者は、目的図形の唯一の候補である図形Ｊ１を選択する。これにより、入力装置２２は、ステップＳ８０において、目的図形である図形Ｊ１の選択指示を受付ける。そして、図形選択装置１０１は、選択処理を終了する。
【０３３１】
このように、実施の形態６によれば、プリセット条件記憶部１１が、目的図形に適した図形条件８，１５を格納しておくので、作業者は、少ない操作回数で、溝加工パターンのような並進対称性を持つ飛び飛びのパターン図形を選択することができる。
【０３３２】
実施の形態７．
つぎに、図１、図２、図３６および図３７を用いてこの発明の実施の形態７について説明する。なお、実施の形態７では、実施の形態１と同様の図形選択装置１０１を用いるので、その構成の説明は省略する。実施の形態７では、プリセット条件記憶部１１が、目的図形に適した図形条件３，７，１４を格納しておく。そして、図形選択装置１０１が、図形条件３，７，１４に基づいて、目的図形の候補を生成する。本実施の形態における目的図形は、穴加工の円パターンのような回転対称性を持つ飛び飛びのパターンである。
【０３３３】
本実施の形態では、図形選択装置１０１が、プリセット条件記憶部１１に、図形条件３である同一半径と、図形条件７である閉ループと、図形条件１４である回転対称性とを格納しておく。図形選択装置１０１は、図形条件３，７，１４を用いることによって、穴加工用の円パターンを選択する。
【０３３４】
以下、図３６および図３７を用いて、穴加工用の円パターンを選択する処理について説明する。図３６は、実施の形態７において図形選択装置に入力される図面の一例を示す図である。図３７は、実施の形態７に係る図形候補判定処理を説明するための図である。図３６および図３７では、穴加工される部品を示している。
【０３３５】
図３６に示す図面１１０の図面データは、図２のステップＳ２０において図面データ入力部１に読み込ませる図面データである。図３６の図面１１０は、部品の正面図である。図面１１０の部品は、穴加工される円形領域の穴１１５を有している。図３７は、図面１１０に対応する部品１２０の正面図である。図３７において、太線で示した図形Ｋ１が作業者の目的とする図形であるとする。図形Ｋ１は、穴加工される穴１１５に対応している。
【０３３６】
作業者が、図２のステップＳ１０において、図面を再利用しないことを選択したとする。この場合、図面データ入力部１は、ステップＳ２０において、ＣＡＤデータから図面データを読み出して図面データ記憶部２に入力する。この後、ステップＳ３０では、プリセット条件設定部１２が、予めプリセット条件記憶部１１に格納されている図形条件３，７，１４を図形条件記憶部３に設定する。
【０３３７】
そして、作業者が、ステップＳ４０において、条件編集部１３に対して、図形条件５であるコンポーネント数を追加したとする。図形条件５は、判定する図形を構成するコンポーネントの数が指定された範囲に入っているという条件である。ここでは、作業者が、図形条件５のパラメータを設定する際に、コンポーネント数の最小値および最大値の両方に「５」を設定したとする。この後、目的図形候補生成部７が、ステップＳ５０において、目的図形の候補を生成する。
【０３３８】
この場合において、目的図形候補生成部７は、図形条件７が設定されているので、目的図形の候補は閉ループによって構成されていると判断する。このため、目的図形候補生成部７は、途中で途切れて行き止まりになっている線を含む図形は目的図形候補記憶部８に記憶させない。よって、こういった図形を、目的図形選択部９が、ステップＳ６０において、表示装置２１に表示させることはない。
【０３３９】
図３６に示した図面１１０において、閉ループは、穴１１５に対応する円が５つと、部品外形に対応する円が１つである。まず、目的図形候補生成部７が、部品外形に対応する円を含む図形判定候補を、目的図形候補記憶部８に記憶させることがないことを示す。部品外形に対応する円を含み、かつ、穴１１５に対応する円を含む図形判定候補は、異なる半径の円を含むため、図形条件３を満たさない。また、部品外形に対応する円を含み、かつ、穴１１５に対応する円を含まない図形判定候補は、コンポーネント数が「１」となるので、パラメータでコンポーネント数が「５」と指定されている図形条件５を満たさない。よって、部品外形に対応する円を含む図形判定候補は、他に穴１１５に対応する円を含んでいてもいなくても、満たせない図形条件が存在するため、目的図形候補生成部７が、部品外形に対応する円を含む図形判定候補を、目的図形候補記憶部８に記憶させることはない。
【０３４０】
一方、目的図形候補生成部７は、穴１１５に対応する５つの円から成る目的図形の候補は、図形条件５を満たし、さらに図形条件１４も満たすと判断できる。以上より、目的図形候補生成部７が、目的図形候補記憶部８に記憶させる唯一の目的図形の候補は図形Ｋ１のみである。これにより、目的図形選択部９は、ステップＳ６０において、目的図形候補記憶部８に記憶されている図形Ｋ１のみを表示装置２１に表示させる。
【０３４１】
表示装置２１が目的図形の候補を表示しているので、作業者は、目的図形の候補生成をやり直すかとの問いに対して「いいえ」と回答する。これにより、入力装置２２は、ステップＳ７０において、作業者からの「いいえ」と回答を受付ける。そして、作業者は、目的図形の唯一の候補を選択する。これにより、入力装置２２は、ステップＳ８０において、目的図形の選択指示を受付ける。そして、図形選択装置１０１は、選択処理を終了する。
【０３４２】
このように、実施の形態７によれば、プリセット条件記憶部１１が、目的図形に適した図形条件３，７，１４を格納しておくので、作業者は、個別のセグメントを選択する操作を行うことなく少ない操作回数で、穴加工の円パターンのような回転対称性を持つ飛び飛びのパターンを選択することができる。
【０３４３】
実施の形態８．
つぎに、図１、図２、図３８〜図４２を用いてこの発明の実施の形態８について説明する。なお、実施の形態８では、実施の形態１と同様の図形選択装置１０１を用いるので、その構成の説明は省略する。実施の形態８では、プリセット条件記憶部１１が、目的図形に適した図形条件５，８を格納しておく。そして、図形選択装置１０１が、図形条件５，８に基づいて、目的図形の候補を生成する。本実施の形態における目的図形は、１本の連続したパスである。
【０３４４】
本実施の形態では、図形選択装置１０１が、プリセット条件記憶部１１に、図形条件８である分岐なし且つ閉ループなしと、図形条件５であるコンポーネント数とを格納しておく。本実施の形態では、図形選択装置１０１が、プリセット条件記憶部１１に格納されている図形条件５のパラメータであるコンポーネント数の最小値および最大値の両方に「１」を設定する場合について説明する。図形選択装置１０１は、図形条件５，８を用いることによって、１本の連続したパスを選択する。
【０３４５】
以下、図３８〜図４２を用いて、１本の連続したパス加工を選択する処理について説明する。図３８〜図４２では、１本の連続したパス加工が行われる部品を示している。図３８は、実施の形態８において図形選択装置に入力される図面の一例を示す図である。図３８に示す図面２１０〜２３０の図面データは、図２のステップＳ２０において図面データ入力部１に読み込ませる図面データである。
【０３４６】
図面２１０は、図面データ入力部１に読み込ませる部品の平面図を示している。図面２２０は、図面データ入力部１に読み込ませる部品の正面図を示し、図面２３０は、図面データ入力部１に読み込ませる部品の側面図を示している。
【０３４７】
図３９は、図３８に示した図面に対応する部品を斜めから見た図である。図３９では、図面２１０〜２３０に対応する部品３１０の斜視図を示している。図４０〜図４２は、図面２１０〜２３０に対応する部品３１０の平面図を示している。図４０は、図３８の図面に対して作業者が目的とするパスを示す図である。図４０では、パスＬ１が、作業者の目的とするパスに対応した図形である。ここでは、作業者が、図面２１０〜２３０の図面データに対してパスＬ１を選択する場合について説明する。図４１は、図３８の図面に対して作業者が指定した線分を示す図である。図４２は、図３８の図面に対して作業者が指定した円弧および線分を示す図である。
【０３４８】
作業者が、図２のステップＳ１０において、図面を再利用しないことを選択したとする。この場合、図面データ入力部１は、ステップＳ２０において、ＣＡＤデータから図面データを読み出して図面データ記憶部２に入力する。この後、ステップＳ３０では、プリセット条件設定部１２が、予めプリセット条件記憶部１１に格納されている図形条件５，８を図形条件記憶部３に設定する。
【０３４９】
そして、作業者が、ステップＳ４０において、条件編集部１３に対して、セグメント条件７と図形条件１６とを追加したとする。セグメント条件７は、判定するセグメントは図面データ記憶部２に記憶されている特定のセグメントではないという条件である。図形条件１６は、判定する図形を構成するセグメントの中に、図面データ記憶部２に記憶されている特定のセグメントが存在しているという条件である。
【０３５０】
ここでは、作業者が、セグメント条件７のパラメータを設定する際に、セグメント指定部１８を用いて、図４１に示す線分Ｌ２，Ｌ３，Ｌ４，Ｌ５を全て指定したとする。この場合、目的図形候補生成部７は、指定された線分Ｌ２〜Ｌ５を、目的図形の候補の生成に用いない。
【０３５１】
また、作業者が、図形条件１６のパラメータを設定する際に、図４２に示す円弧Ｌ６および線分Ｌ７を指定したとする。作業者が、ステップＳ４０においてセグメント条件の編集を終えると、目的図形候補生成部７が、ステップＳ５０において、目的図形の候補を生成する。プリセット条件記憶部１１に記憶された図形条件５と図形条件８、さらに、作業者が設定した図形条件１６とセグメント条件７を満たす図形は、図４０において太線で示したパスＬ１のみである。従って、目的図形候補生成部７は、目的図形の候補であるパスＬ１のみを目的図形候補記憶部８に記憶させる。目的図形選択部９は、ステップＳ６０において、目的図形候補記憶部８に記憶されているパスＬ１を表示装置２１に表示させる。
【０３５２】
表示装置２１が目的図形の候補を表示しているので、作業者は、目的図形の候補生成をやり直すかとの問いに対して「いいえ」と回答する。これにより、入力装置２２は、ステップＳ７０において、作業者からの「いいえ」と回答を受付ける。そして、作業者は、目的図形の唯一の候補であるパスＬ１を選択する。これにより、入力装置２２は、ステップＳ８０において、目的図形であるパスＬ１の選択指示を受付ける。そして、図形選択装置１０１は、選択処理を終了する。
【０３５３】
このように、実施の形態８によれば、プリセット条件記憶部１１が、目的図形に適した図形条件５，８を格納しておくので、作業者が、いくつかの設定を追加し、この追加に伴ういくつかのセグメントを指定するだけで、図形選択装置１０１は、１本の連続したパスを選択することができる。従って、図形選択装置１０１は、目的の図形を構成するセグメントの数が多い場合では特に、全てのセグメントを指定する方法と比べて、作業者の操作回数を少なくすることができる。
【０３５４】
実施の形態９．
つぎに、図１、図２、図４３〜図４５を用いてこの発明の実施の形態９について説明する。なお、実施の形態９では、実施の形態１と同様の図形選択装置１０１を用いるので、その構成の説明は省略する。実施の形態９では、目的図形に適した図形条件４，５，７，１２およびセグメント条件４，５を格納しておく。また、図形選択装置１０１が、ステップＳ４０において、作業者からの指示に従って、図形条件のパラメータ変更、図形条件の設定またはセグメント条件の設定を行う。そして、図形選択装置１０１が、図形条件４，５，７，１２およびセグメント条件４，５に基づいて、目的図形の候補を生成する。本実施の形態における目的図形は、図面の座標系と向きが揃っていて且つ角に丸みが付いた四角形のような、幾何学的な条件で定義できる形状である。幾何学的な条件は、図形の面積、長さ、曲率または角度の条件を含んでいる。
【０３５５】
本実施の形態では、図形選択装置１０１が、以下の６つのプリセット条件をプリセット条件記憶部１１に格納しておく。
（プリセット条件１）図形条件４であるセグメント数
（プリセット条件２）図形条件５であるコンポーネント数
（プリセット条件３）図形条件７である閉ループ
（プリセット条件４）図形条件１２であるセグメントの滑らかな接続
（プリセット条件５）セグメント条件４である円弧中心角
（プリセット条件６）セグメント条件５である座標系とセグメントとの成す角度
図形選択装置１０１は、上述のプリセット条件１〜６のプリセット条件を用いることによって、図面の座標系と向きが揃っていて、かつ、角に丸みが付いた四角形を選択する。
【０３５６】
また、本実施の形態では、図形選択装置１０１が、前記プリセット条件のパラメータとして、以下の５つのパラメータを設定する場合について説明する。
（パラメータ１）図形選択装置１０１が、図形条件４のパラメータであるセグメント数の最小値および最大値の両方に「８」を設定する。この「８」という数字は、本実施の形態における目的図形である角に丸みが付いた四角形の構成に基づいて決定されている。本実施の形態における目的図形は、辺の線分４本と、これらの辺を接続している４本の円弧とで構成されているため、線分４本と円弧４本とを足し算することによって、４＋４＝８のように「８」が求められている。
（パラメータ２）図形選択装置１０１が、図形条件５のパラメータであるコンポーネント数の最小値および最大値の両方に「１」を設定する。
（パラメータ３）図形選択装置１０１が、図形条件１２のパラメータである微分可能回数に「１」を設定する。
（パラメータ４）図形選択装置１０１が、セグメント条件４のパラメータである中心角の最小値と最大値との組に、９０度以上９０度以下を設定する。
（パラメータ５）図形選択装置１０１が、セグメント条件５のパラメータである角度の範囲の最小値と最大値との組に、０度以上０度以下と、９０度以上９０度以下と、１８０度以上１８０度以下と、２７０度以上２７０度以下との合計４組を設定する。
【０３５７】
また、図２のステップＳ４０において、条件編集部１３は、図形条件およびセグメント条件を編集するための編集画面を表示装置２１に表示させる。この表示画面において、条件編集部１３は、使用頻度が高いと考えられる条件の編集項目を、編集が容易となる位置に配置する。本実施の形態における目的図形が、角に丸みが付いた四角形であるとする。この場合、条件編集部１３は、角に丸みが付いた四角形の選択での使用頻度が高いと考えられる図形条件２，３，１６，１７，１８とセグメント条件１，２，３，６，７の編集項目とを、表示画面内のすぐに編集できる位置に優先的に配置する。また、条件編集部１３は、その他の条件の編集項目は、スクロール操作または別の画面を開く操作で辿りつける位置に配置する。
【０３５８】
以下、図４３〜図４５を用いて、図面の座標系と向きが揃っていて且つ角に丸みが付いた四角形を選択する処理について説明する。図４３は、実施の形態９において図形選択装置に入力される図面の一例を示す図である。図４４は、図４３で示した図面データの構成を説明するための図である。図４５は、実施の形態９に係る図形候補判定処理を説明するための図である。図４４では、１つの特殊形状と、図４３に示した７つの四角形とを太線で示している。また、図４４では、特殊形状について、セグメント同士の接続点を強調して表示している。
【０３５９】
図４３に示した図面の図面データは、レイヤを有している。ここでは、四角形４１０〜４７０のうち、四角形４４０を構成するセグメントのみがレイヤＢにあり、その他のセグメントはレイヤＡにある場合について説明する。図４３に示した図面データでは、四角形４３０を構成する全てのセグメントは、線種が破線となっているだけで、データは連続した線であるとする。また、四角形４１０〜４４０，４６０，４７０および特殊形状４８０を構成する全てのセグメントは、座標系に対して傾いていないのに対し、四角形４５０を構成する全てのセグメントは、座標系に対して傾いている。
【０３６０】
また、本実施の形態では、作業者が、四角形４１０，４２０，４３０，４４０，４６０の何れか１つ、もしくは、四角形４１０，４２０の２つをまとめて選択することを意図しているとする。
【０３６１】
作業者が、図２のステップＳ１０において、図面を再利用しないことを選択したとする。この場合、図面データ入力部１は、ステップＳ２０において、ＣＡＤデータから図面データを読み出して図面データ記憶部２に入力する。この後、ステップＳ３０では、プリセット条件設定部１２が、予めプリセット条件記憶部１１に格納されている図形条件４，５，７，１２およびセグメント条件４，５を図形条件記憶部３およびセグメント条件記憶部４に設定する。
【０３６２】
図形選択装置１０１は、ステップＳ４０での作業者による条件の編集が異なると、編集内容に対応する種々の処理を実行する。以下の説明では、ステップＳ４０での作業者による条件の編集内容毎に各処理を説明する。
【０３６３】
（第１のケース）
第１のケースは、ステップＳ４０において、作業者が、図形条件およびセグメント条件の両方を編集せずに、プリセット条件のままにした場合である。この場合、四角形４５０を構成する全てのセグメントが、座標系に対して傾いており、セグメント条件５を満たさないので、目的図形候補生成部７は、ステップＳ５０でのセグメントの抽出において、何れのセグメントも抽出することができない。
【０３６４】
また、特殊形状４８０を構成する中心角が２７０度の円弧が、セグメント条件４を満たさないので、目的図形候補生成部７は、ステップＳ５０でのセグメントの抽出において、中心角が２７０度の円弧を抽出することができない。そして、図形条件判定部５は、図形条件の判定の際に、中心角が２７０度の円弧は存在し得ないので、特殊形状４８０のセグメントを用いた目的図形の候補は閉ループになることがなく、図形条件７を満たさないと判定する。また、四角形４７０は、四本の直線で構成されているので、図形条件判定部５は、四角形４７０が図形条件４を満たさないと判定する。また、四角形４７０は、頂点で接線ベクトルが合致しないので、図形条件判定部５は、四角形４７０が図形条件１２を満たさないと判定する。
【０３６５】
従って、目的図形候補生成部７は、四角形４５０，４７０および特殊形状４８０は目的図形候補記憶部８に記憶させない。よって、目的図形選択部９が、ステップＳ６０において、目的図形候補記憶部８に記憶されていない四角形４５０，４７０および特殊形状４８０を表示装置２１に表示させることはない。また、図形条件５でコンポーネント数が１と指定されているので、目的図形候補生成部７は、複数の四角形を含んでいる図形を目的図形候補記憶部８に記憶させることはない。よって、目的図形選択部９が、複数の四角形を含んでいる図形を表示装置２１に表示させることはない。
【０３６６】
以上からステップＳ５０では、目的図形候補生成部７は、四角形４１０，４２０，４３０，４４０，４６０の何れか１つのみを含んだ５つの異なる図形を、目的図形の候補として、目的図形候補記憶部８に記憶させる。ステップＳ６０では、目的図形選択部９は、目的図形候補記憶部８に記憶されたこれら５つの図形を、５つの候補として表示する。作業者は、目的図形の候補生成をやり直すかとの問いに対して「いいえ」と回答したとする。これにより、入力装置２２は、ステップＳ７０において、作業者からの「いいえ」と回答を受付ける。そして、入力装置２２は、ステップＳ８０において、作業者によるこれら５つの候補から１つの選択指示を受付ける。そして、図形選択装置１０１は、選択処理を終了する。
【０３６７】
（第２のケース）
第２のケースは、ステップＳ４０において、作業者が、四角形４１０を選択するために図形条件１８を設定した場合である。作業者が、図形条件１８のパラメータとなる閉図形を指定するために、閉図形指定部１７を用いて、四角形４１０内の右上に示した円と同じ図形を定義したとする。また、作業者が、判定する図形が指定閉図形を「包含する」を、幾何的関係に設定したとする。
【０３６８】
この場合、ステップＳ５０において、図形条件判定部５が図形条件１８を満たすと判定する四角形の図形判定候補は、四角形４１０のみを含む図形判定候補だけである。従って、目的図形候補記憶部８に記憶され、ステップＳ６０において、目的図形選択部９が表示装置２１に表示させるのは目的図形の候補である四角形４１０のみである。
【０３６９】
（第３のケース）
第３のケースは、ステップＳ４０において、作業者が、四角形４２０を選択するためにセグメント条件２を設定した場合である。作業者が、セグメント条件２のパラメータである曲率の最小値と最大値との組に、０以上０以下と、０．５以上０．５以下とを設定したとする。ここでの曲率が０は、線分に対応し、半径２の円弧の曲率が１／２＝０．５であるので、曲率の０．５は、半径２の円弧に対応する。
【０３７０】
この場合、目的図形候補生成部７は、ステップＳ５０でのセグメントの抽出において、四角形４２０の半径２の円弧以外の円弧は抽出しない。このため、目的図形候補生成部７は、ステップＳ５０の図形条件の判定において、図形条件４，５，７，１２を全て満たすのは、四角形４２０だけであると判定する。従って、目的図形候補記憶部８に記憶され、ステップＳ６０において、目的図形選択部９が表示装置２１に表示させるのは目的図形の候補である四角形４２０のみである。
【０３７１】
（第４のケース）
第４のケースは、ステップＳ４０において、作業者が、四角形４３０を選択するためにセグメント条件１を設定する場合である。作業者が、セグメント条件１のパラメータである線種に破線という属性を設定したとする。
【０３７２】
この場合、目的図形候補生成部７は、ステップＳ５０でのセグメントの抽出において、四角形４３０を構成するセグメント以外は抽出しない。このため、目的図形候補生成部７は、ステップＳ５０の図形条件の判定において、図形条件４，５，７，１２を全て満たすのは、四角形４３０だけであると判定する。従って、目的図形候補記憶部８に記憶され、ステップＳ６０において、目的図形選択部９が表示装置２１に表示させるのは目的図形の候補である四角形４３０のみである。
【０３７３】
（第５のケース）
第５のケースは、ステップＳ４０において、作業者が、四角形４４０を選択するためにセグメント条件６を設定する場合である。作業者が、セグメント条件６のパラメータである、セグメントが属さないレイヤＡを設定したとする。
【０３７４】
この場合、目的図形候補生成部７は、ステップＳ５０でのセグメントの抽出において、四角形４４０を構成するセグメント以外は抽出しない。このため、目的図形候補生成部７は、ステップＳ５０の図形条件の判定において、図形条件４，５，７，１２を全て満たすのは、四角形４４０だけであると判定する。従って、目的図形候補記憶部８に記憶され、ステップＳ６０において、目的図形選択部９が表示装置２１に表示させるのは目的図形の候補である四角形４４０のみである。
【０３７５】
（第６のケース）
第６のケースは、ステップＳ４０において、作業者が、四角形４６０を選択するために図形条件２を設定する場合である。作業者が、図形条件２のパラメータである面積の最小値に１００を設定し最大値に４００を設定したとする。
【０３７６】
この場合、ステップＳ５０において、図形条件判定部５が図形条件２を満たすと判定する四角形の図形判定候補は、四角形４６０のみを含む図形判定候補だけである。従って、目的図形候補記憶部８に記憶され、ステップＳ６０において、目的図形選択部９が表示装置２１に表示させるのは目的図形の候補である四角形４６０のみである。
【０３７７】
（第７のケース）
第７のケースは、ステップＳ４０において、作業者が、四角形４１０，４２０の２つをまとめて選択するためにプリセット条件設定部１２が設定した図形条件４，５のパラメータを変更し、図形条件１８を新たに設定する場合である。作業者が、図形条件４のパラメータであるセグメント数の最小値および最大値の両方を「１６」に変更したとする。また、作業者が、図形条件５のパラメータであるコンポーネント数の最小値および最大値の両方を「２」に変更したとする。また、作業者が、閉図形指定部１７を用いて、図形条件１８のパラメータである指定閉図形を、図４５内に太線で示した四角形Ｎ１で定義したとする。また、作業者が、幾何的関係について、判定する図形が指定閉図形に「包含される」を設定したとする。
【０３７８】
この場合、目的図形候補生成部７は、ステップＳ５０の図形条件の判定において、図形条件４，５，７，１２を全て満たすのは、四角形４１０，４２０，４３０，４４０，４６０の中から２つを組み合わせた図形であると判定する。また、目的図形候補生成部７は、組み合わせの中で図形条件１８を満たすのは、四角形４１０，４２０の組み合わせだけであると判定する。従って、目的図形候補記憶部８に記憶され、ステップＳ６０において、目的図形選択部９が表示装置２１に表示させるのは目的図形の候補である四角形４１０，４２０から成る図形のみである。
【０３７９】
第２〜第７のケースの何れかの場合に、表示装置２１が、目的図形の候補を表示させると、作業者は、目的図形の候補生成をやり直すかとの問いに対して「いいえ」と回答する。これにより、入力装置２２は、ステップＳ７０において、作業者からの「いいえ」と回答を受付ける。そして、作業者は、目的図形の唯一の候補を選択する。これにより、入力装置２２は、ステップＳ８０において、目的図形の選択指示を受付ける。そして、図形選択装置１０１は、選択処理を終了する。
【０３８０】
このように、実施の形態９によれば、プリセット条件記憶部１１が、目的図形に適した図形条件４，５，７，１２およびセグメント条件４，５を格納しておくので、作業者は、個別のセグメントを選択する操作を行うことなく少ない操作回数で、図面の座標系と向きが揃っていて且つ角に丸みが付いた四角形のような、幾何学的な条件で定義できる形状を選択することができる。
【０３８１】
実施の形態１０．
つぎに、図４６〜図５２を用いてこの発明の実施の形態１０について説明する。実施の形態１０では、作業者が、選択の目的となる１本の連続したパスの始点および先頭のセグメントを指定し、さらに、パスの終点および末尾のセグメントを指定する。そして、図形選択装置は、目的図形の候補が１つになるまで、目的のパスに含まれるセグメントを繰り返し指定して追加していくことで、目的のパスを選択する。
【０３８２】
図４６は、実施の形態１０に係る図形選択装置の構成を示すブロック図である。図４６の各構成要素のうち図１に示す実施の形態１の図形選択装置１０１と同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
【０３８３】
図形選択装置１０２は、図形選択装置１０１と同様に、図面データ入力部１、図面データ記憶部２、図形条件記憶部３およびセグメント条件記憶部４を備えている。また、図形選択装置１０２は、図形選択装置１０１と同様に、図形条件判定部５、セグメント条件判定部６、目的図形候補生成部７および目的図形候補記憶部８を備えている。また、図形選択装置１０２は、図形選択装置１０１と同様に、プリセット条件記憶部１１、プリセット条件設定部１２、図面情報指定部１４および、条件自動更新部３１を備えている。
【０３８４】
また、本実施の形態の図形選択装置１０２は、パス選択用条件編集部４１および目的図形候補確認部４２を備えている。換言すると、図形選択装置１０１が目的図形選択部９および条件編集部１３を備えていたのに対して、図形選択装置１０２は、パス選択用条件編集部４１および目的図形候補確認部４２を備えている。
【０３８５】
パス選択用条件編集部４１は、表示装置２１、図面データ記憶部２、図形条件記憶部３、セグメント条件記憶部４および図面情報指定部１４に接続されている。目的図形候補確認部４２は、目的図形候補記憶部８に接続されている。
【０３８６】
パス選択用条件編集部４１は、図面情報指定部１４を介した入力装置２２から入力される作業者の指示に従い、図形条件記憶部３およびセグメント条件記憶部４の内容を書き換える。パス選択用条件編集部４１は、始点、終点、先頭セグメント、末尾セグメントおよび途中のセグメントのうちの何れの指定を求めているかを表示装置２１に表示させる。この後パス選択用条件編集部４１は、図面情報指定部１４を呼び出して、作業者に点またはセグメントを指定させる。そして、パス選択用条件編集部４１は、指定された点またはセグメントの情報と、図面データ記憶部２に格納されている情報とに基づいて、図形条件記憶部３とセグメント条件記憶部４との何れか一方または両方に条件を追加する。
【０３８７】
目的図形候補確認部４２は、目的図形候補記憶部８に格納されている目的図形の候補の数を確認する。本実施の形態の目的図形候補確認部４２は、目的図形の候補の数が１つであるか、複数であるかを確認する。そして、候補の数が１であった場合には、目的図形候補確認部４２は、唯一の候補が作業者の意図している目的図形であると判断して選択する。
【０３８８】
本実施の形態では、図形選択装置１０２が、プリセット条件記憶部１１に、図形条件８である分岐なし且つ閉ループなしと、図形条件５であるコンポーネント数とを格納しておく。本実施の形態では、図形選択装置１０２が、プリセット条件記憶部１１に格納されている図形条件５のパラメータであるコンポーネント数の最小値および最大値の両方に「１」を設定する場合について説明する。
【０３８９】
つぎに、図形選択装置１０２の動作処理手順について説明する。図４７は、実施の形態１０に係る図形選択装置の動作処理手順を示すフローチャートである。なお、図４７の処理のうち図２で説明した図形選択装置１０１の処理と同様の処理については、重複する説明は省略する。
【０３９０】
図形選択装置１０２のステップＳ６００〜Ｓ６２０の処理は、図形選択装置１０１のステップＳ１０〜Ｓ３０の処理と、同様の処理である。ステップＳ６２０において、プリセット条件設定部１２が、プリセット条件を設定した後、ステップＳ６３０において、図形選択装置１０２は、両端指定に基づいて条件設定を行う。具体的には、まず作業者が、パス選択用条件編集部４１の指示に従って、始点、先頭のセグメント、終点、および、末尾のセグメントの全てを指定する。次に、パス選択用条件編集部４１が、この指定に基づいて、セグメント条件７および図形条件１６を追加する。
【０３９１】
パス選択用条件編集部４１は、図形条件１６のパラメータに、作業者が指定した先頭セグメントおよび末尾セグメントを指定する。また、パス選択用条件編集部４１は、セグメント条件７のパラメータに、指定された始点に接する先頭セグメント以外のセグメントと、指定された終点に接する末尾セグメント以外のセグメントとを全て指定する。
【０３９２】
この後、目的図形候補生成部７は、ステップＳ６４０において、実施の形態１と同様に、目的図形の候補を生成する。そして、目的図形候補確認部４２は、ステップＳ６５０において、目的図形候補記憶部８に格納されている目的図形の候補数を確認する。目的図形の候補数が１でなかった場合、すなわち、ステップＳ６５０において、Ｎｏの場合、条件自動更新部３１が、ステップＳ６５１において、実施の形態１のステップＳ７１と同様の処理を行う。すなわち、条件自動更新部３１が、ステップＳ６５１において、目的図形候補記憶部８に格納されている目的図形の候補の情報に基づいて、図形条件記憶部３およびセグメント条件記憶部４の内容である条件の自動更新を行う。
【０３９３】
条件自動更新部３１が、条件の自動更新を行った後、ステップＳ６５２において、図形選択装置１０２は、指定セグメントから条件設定を行う。具体的には、作業者が、パス選択用条件編集部４１の指示に従って、目的のパスに含まれるセグメントを指定する。そして、パス選択用条件編集部４１は、指定されたセグメントをパラメータに設定した図形条件１６を追加する。この後、図形選択装置１０２は、ステップＳ６４０，Ｓ６５０の処理を行う。
【０３９４】
ステップＳ６５２において、作業者がセグメントを指定する際には、パス選択用条件編集部４１は、セグメント条件７のパラメータに使用されているセグメントと、図形条件１６のパラメータに使用されているセグメントと、これらの何れでもないセグメントとを、各々異なる色で表示させる。
【０３９５】
これにより、セグメント条件７でも図形条件１６でも指定されていないセグメント、つまり、目的図形に含まれているかいないかが条件付けされていないセグメントを、作業者が見つけやすくなる。
【０３９６】
ステップＳ６５２において作業者が指定するセグメントは、通常、上述のような条件付けされていないセグメントの中の１本である。なぜならば、既にセグメント条件７で指定されているセグメントを図形条件１６のパラメータにも指定すると、指定されたセグメントが含まれていない、且つ、含まれるという矛盾となり、この矛盾した両条件を共に満たす図形は存在しえないからである。
【０３９７】
作業者が、既に図形条件１６で指定されているセグメントを指定した場合、既に含まれると指定しているセグメントを、再度含まれると指定していることになるので、論理的には意味のない操作となってしまう。以上より、ステップＳ６５２において、作業者が、セグメント条件７、もしくは、図形条件１６の両方または何れか一方のパラメータに使用されているセグメントを指定した場合に、パス選択用条件編集部４１は、別の異なるセグメントの指定を作業者に要求してもよい。
【０３９８】
ステップＳ６５０において、目的図形候補確認部４２が、目的図形候補記憶部８に格納されている目的図形の候補数が１であると判定するまで、図形選択装置１０２は、ステップＳ６５１，Ｓ６５２，Ｓ６４０，Ｓ６５０の処理を繰り返す。
【０３９９】
目的図形の候補数が１であった場合、すなわち、ステップＳ６５０において、Ｙｅｓの場合、目的図形候補確認部４２が、ステップＳ６６０において、目的図形を確定する。これにより、目的図形候補確認部４２は、目的図形候補記憶部８に格納されている唯一の目的図形候補を、作業者が意図している目的図形であると判断し選択する。そして、図形選択装置１０２は、動作を停止する。
【０４００】
以下、図４８から図５２までを用いて、１本の連続したパスを選択する操作について、具体的に説明する。図４８は、実施の形態１０において図形選択装置に入力される図面の一例を示す図である。図４９は、実施の形態１０に係る図形選択装置で選択される図形の一例を示す図である。図５０は、実施の形態１０に係る図形選択装置に対して作業者が指定する点およびセグメントの一例を示す図である。図５１は、実施の形態１０に係る図形選択装置が自動的に追加する第１の条件を説明するための図である。図５２は、実施の形態１０に係る図形選択装置が自動的に追加する第２の条件を説明するための図である。
【０４０１】
図４８に示す図面５１０の図面データは、図４７のステップＳ６１０において図面データ入力部１に読み込ませる図面データである。図４９の図面５２０は表示装置２１に表示されるものであり、図４８の図面５１０の図面データに対応している。図４９では、太線で示したパスＯ１が、作業者の目的とするパスに対応した図形である。ここでは、作業者が、図面５１０の図面データに対してパスＯ１を選択する場合について説明する。
【０４０２】
作業者が、ステップＳ６００において、図面を再利用しないことを選択したとする。この場合、図面データ入力部１は、ステップＳ６１０において、ＣＡＤデータから図面データを読み出して図面データ記憶部２に入力する。この後、ステップＳ６２０では、プリセット条件設定部１２が、予めプリセット条件記憶部１１に格納されているプリセット条件を設定する。
【０４０３】
作業者が、ステップＳ６３０において、図５０に示した始点Ｐ１を指定し、先頭セグメントに線分Ｐ１１を指定し、終点Ｐ２を指定し、末尾セグメントに線分Ｐ１２を指定したとする。
【０４０４】
さらに、パス選択用条件編集部４１は、作業者による指定に基づいて、セグメント条件７および図形条件１６を追加する。セグメント条件７は、判定するセグメントが、図面データ記憶部２に記憶されている特定のセグメントではないという条件である。図形条件１６は、判定する図形を構成するセグメントの中に、図面データ記憶部２に記憶されている特定のセグメントが存在しているという条件である。ここでのパス選択用条件編集部４１は、先頭セグメントに線分Ｐ１１が指定され、末尾セグメントに線分Ｐ１２が指定されているので、図形条件１６のパラメータに線分Ｐ１１，Ｐ１２を指定する。
【０４０５】
また、始点Ｐ１に接していて、かつ、先頭セグメントの線分Ｐ１１ではないセグメントは、線分Ｐ２１，Ｐ２２である。また、終点Ｐ２に接していて、かつ、末尾セグメントの線分Ｐ１２ではないセグメントは、線分Ｐ２３から線分Ｐ２５である。従って、パス選択用条件編集部４１は、セグメント条件７のパラメータに、線分Ｐ２１から線分Ｐ２５までを指定する。
【０４０６】
条件設定が完了すると、目的図形候補生成部７が、ステップＳ６４０において、実施の形態１と同様に、目的図形の候補を生成する。これまでに設定した全ての図形条件およびセグメント条件を満たす図形は、図５０に示した線分Ｐ１３，Ｐ２６，Ｐ２７の３本のうちの何れかを含むかで３通りと、線分Ｐ１４，Ｐ２８の２本のうちの何れかを含む２通りとがあり、掛け合わせると全体で６通りである。
【０４０７】
このため、目的図形候補生成部７は、ステップＳ６４０において、合計６つの目的図形の候補を生成し、目的図形候補記憶部８に格納する。そして、目的図形候補確認部４２は、ステップＳ６５０において、目的図形候補記憶部８に格納されている目的図形の候補数を確認する。
【０４０８】
ここでは、目的図形候補記憶部８に格納されている目的図形の候補数が６であるので、目的図形候補確認部４２は、目的図形の候補数は、１でないと判断する。この場合、すなわち、ステップＳ６５０において、Ｎｏの場合、条件自動更新部３１は、ステップＳ６５１において、条件の自動更新を行う。このとき、条件自動更新部３１が、目的図形候補記憶部８内の全ての目的図形の候補に含まれているセグメントに対し、図形条件１６を追加する。具体的には、条件自動更新部３１は、図５１において太線で示したセグメントである全ての線分群Ｑ１〜Ｑ３をパラメータに設定した図形条件１６を追加する。
【０４０９】
ここでは、線分Ｐ１３，Ｐ２６，Ｐ２７および線分Ｐ１４，Ｐ２８以外の箇所は、他に線分の候補が無いので、条件自動更新部３１は、線分の集まりである線分群Ｑ１〜Ｑ３をパラメータに設定した図形条件１６を追加している。線分群Ｑ１〜Ｑ３は、線分Ｐ１３，Ｐ２６，Ｐ２７および線分Ｐ１４，Ｐ２８を含まない線分である。条件自動更新部３１は、線分群Ｑ１〜Ｑ３をパラメータに設定した図形条件１６を、図形条件記憶部３に追加する。
【０４１０】
さらに、条件自動更新部３１は、目的図形候補記憶部８内の全ての目的図形の候補に含まれていないセグメント全てをパラメータに設定したセグメント条件７をセグメント条件記憶部４に追加する。このとき、条件自動更新部３１が、新たにセグメント条件７のパラメータに設定する線分は、図５１において破線で示す線分である。
【０４１１】
条件自動更新部３１が、条件の自動更新を行った後、ステップＳ６５２において、図形選択装置１０２が、指定セグメントから条件設定を行う。このとき、作業者が、パス選択用条件編集部４１に対して、パスに含まれるセグメントである、図５０に示した線分Ｐ１３を指定したとする。これにより、パス選択用条件編集部４１は、作業者からの指定に従って、線分Ｐ１３をパラメータに設定した図形条件１６を追加する。
【０４１２】
この後、目的図形候補生成部７は、ステップＳ６４０において、目的図形の候補を生成する。これまでに設定した全ての図形条件およびセグメント条件を満たす図形は、線分Ｐ１４，Ｐ２８の２本のうちの何れかを含むので２通りである。このため、目的図形候補生成部７は、２通りの各々に対応する合計２つの目的図形候補を、目的図形候補記憶部８に格納する。
【０４１３】
そして、目的図形候補確認部４２は、ステップＳ６５０において、目的図形候補記憶部８に格納されている目的図形の候補数を確認する。ここでは、目的図形候補記憶部８に格納されている目的図形の候補数が２であるので、目的図形候補確認部４２は、目的図形の候補数は、１でないと判断する。この場合、すなわち、ステップＳ６５０においてＮｏの場合、条件自動更新部３１は、ステップＳ６５１において、条件の自動更新を行う。このとき、条件自動更新部３１が、目的図形候補記憶部８内の全ての目的図形の候補に含まれているセグメントに対し、図形条件１６を追加する。具体的には、条件自動更新部３１は、図５２において太線で示したセグメントである全ての線分群Ｑ１１，Ｑ１２をパラメータに設定した図形条件１６を追加する。
【０４１４】
ここでは、線分Ｐ１４，Ｐ２８以外の箇所は、他に線分の候補が無いので、条件自動更新部３１は、線分群Ｑ１１，Ｑ１２をパラメータに設定した図形条件１６を追加している。線分群Ｑ１１，Ｑ１２は、線分Ｐ１４，Ｐ２８を含まない線分である。条件自動更新部３１は、線分群Ｑ１１，Ｑ１２をパラメータに設定した図形条件１６を、図形条件記憶部３に追加する。
【０４１５】
さらに、条件自動更新部３１は、目的図形候補記憶部８内の全ての目的図形の候補に含まれていないセグメント全てをパラメータに設定したセグメント条件７をセグメント条件記憶部４に追加する。このとき、条件自動更新部３１が、新たにセグメント条件７のパラメータに設定する線分は、図５２において破線で示す線分である。
【０４１６】
条件自動更新部３１が、条件の自動更新を行った後、ステップＳ６５２において、図形選択装置１０２が、指定セグメントから条件設定を行う。このとき、作業者が、パス選択用条件編集部４１に対して、パスに含まれるセグメントである、図５０に示した線分Ｐ１４を指定したとする。これにより、パス選択用条件編集部４１は、作業者からの指定に従って、線分Ｐ１４をパラメータに設定した図形条件１６を追加する。
【０４１７】
この後、目的図形候補生成部７は、ステップＳ６４０において、目的図形の候補を生成する。これまでに設定した全ての図形条件およびセグメント条件を満たす図形は、図４９に示したパスＯ１だけである。このため、目的図形候補生成部７は、目的図形の候補であるパスＯ１を目的図形候補記憶部８に格納する。
【０４１８】
そして、目的図形候補確認部４２は、ステップＳ６５０において、目的図形候補記憶部８に格納されている目的図形の候補数を確認する。ここでは、目的図形候補記憶部８に格納されている目的図形の候補数が１であるので、目的図形候補確認部４２は、目的図形の候補数は、１であると判断する。この場合、すなわち、ステップＳ６５０においてＹｅｓの場合、目的図形候補確認部４２は、ステップＳ６６０において、目的図形の唯一の候補であるパスＯ１を選択し、これにより、選択処理が終了する。
【０４１９】
本実施の形態における処理の流れの中で、作業者は、始点と、終点と、先頭セグメントと、末尾セグメントと、途中の２本のセグメントとの合計６回の選択操作を行っている。図４９において太線で示した目的の図形であるパスＯ１は、１６本のセグメントで構成されている。このため、既存の方式である図形を構成するセグメントを全て指定する方式を用いた場合、選択操作の回数は１６回となる。また、別の既存の方式である、セグメントを１つ選択すると分岐に到達するまでの全てのセグメントを自動的に選択する方式では、始点と、全ての分岐点で行き先となるセグメントとを指定する必要がある。このような方式の場合、図４９において太線で示したパスＯ１を指定するには、始点の選択と、分岐の度に行き先に対応するセグメントの選択とが必要となる。よって、この場合の選択操作の回数の合計は９回となる。
【０４２０】
なお、実施の形態１，２の図形選択装置１０１，１０２が備える構成要素の機能の一部または全部は、後述する処理回路５８によって実現されてもよい。図５３は、実施の形態１，１０の図形選択装置が備える構成要素が処理回路であることを示す図である。
【０４２１】
処理回路５８は、専用のハードウェアである。処理回路５８は、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化されたプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、またはこれらを組み合わせたものである。図形選択装置１０１，１０２を構成する構成要素の一部は、残部とは別個の専用のハードウェアであってもよい。
【０４２２】
図形選択装置１０１，１０２が備える構成要素の一部または全部は、プログラムを実行する後述のプロセッサ１９１によって実現されてもよい。この場合、図形選択装置１０１，１０２が備える構成要素の一部または全部は、プロセッサ１９１が、メインメモリを用いることによって、機能が実現される。
【０４２３】
図５４は、実施の形態１，１０の図形選択装置が備える制御回路の構成例を示す図である。図５４では、図形選択装置１０１，１０２が備える構成要素の一部または全部である制御回路を示している。プロセッサ１９１は、ＣＰＵ、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、またはＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）である。プロセッサ１９１は、メモリ１９２に格納されているプログラム９０を実行する。
【０４２４】
図形選択装置１０１，１０２が備える構成要素の一部または全部がプロセッサ１９１である場合、制御回路によって図形選択装置１０１，１０２の機能が実現される。すなわち、図形選択装置１０１，１０２を構成する少なくとも一部の構成要素の機能は、プロセッサ１９１と、プログラム９０とによって実現される。プログラム９０は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせの何れかである。ソフトウェアまたはファームウェアは、プログラム９０で記述され、メモリ１９２に格納される。プロセッサ１９１は、メモリ１９２に記憶されたプログラム９０を読み出して実行することによって、図形選択装置１０１，１０２を構成する構成要素の機能を実現する。
【０４２５】
プロセッサ１９１が実行するプログラム９０は、コンピュータで実行可能な、目的図形の候補を生成するための複数の命令を含むコンピュータ読取り可能かつ非遷移的な（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）記録媒体に格納されている。プロセッサ１９１が実行するプログラム９０は、目的図形の候補を生成することをコンピュータに実行させる。
【０４２６】
プロセッサ１９１が実行するプログラム９０は、メモリ１９２に格納しておく。メモリ１９２に格納されるプログラム９０は、図形選択装置１０１，１０２を構成する構成要素の手順または方法をコンピュータに実行させるものであるともいえる。メモリ１９２は、不揮発性半導体メモリであってもよいし、揮発性の半導体メモリであってもよい。メモリ１９２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）であってもよい。なお、メモリ１９２は、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはＤＶＤであってもよい。
【０４２７】
図形選択装置１０１，１０２を構成する複数の構成要素の機能について、一部を専用のハードウェアで実現し、残部をソフトウェアまたはファームウェアで実現してもよい。このように、図形選択装置１０１，１０２を構成する複数の構成要素の機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって実現することができる。
【０４２８】
このように、本実施の形態の図形選択装置１０２と、この図形選択装置１０２による選択方法では、目的のパスに適切なプリセット条件を持ち、手動および自動で適切な条件が追加されていくことで、既存の方式と比べ、少ない操作回数で、一本の連続したパスを選択することができる。
【０４２９】
このように、実施の形態１０によれば、プリセット条件記憶部１１が、図面に適したプリセット条件を格納しておき、図形選択装置１０２が、手動と自動とで適切な図形条件およびセグメント条件を追加していくので、既存の方式よりも少ない操作回数で、１本の連続したパスを選択することができる。
【０４３０】
また、図形選択装置１０２が、状況に合わせた表示を行うので、作業者の認知に起因するミスを防ぐことができ、また、認知にかかる時間を減少させ、作業時間を減らすことができる。また、図形選択装置１０２は、状況に合わせた操作へ作業者を誘導するので、作業者の誤操作を防ぐことができ、また、図形選択装置１０２は、省略できる操作を省くことができるので、作業者の作業時間を減らすことができる。
【０４３１】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０４３２】
１  図面データ入力部、２  図面データ記憶部、３  図形条件記憶部、４  セグメント条件記憶部、５  図形条件判定部、６  セグメント条件判定部、７  目的図形候補生成部、８  目的図形候補記憶部、９  目的図形選択部、１１  プリセット条件記憶部、１２  プリセット条件設定部、１３  条件編集部、１４  図面情報指定部、２１  表示装置、２２  入力装置、３１  条件自動更新部、４１  パス選択用条件編集部、４２  目的図形候補確認部、１０１，１０２  図形選択装置。
【図１】
2018003206.tif 000003
【図２】
2018003206.tif 000004
【図３】
2018003206.tif 000005
【図４】
2018003206.tif 000006
【図５】
2018003206.tif 000007
【図６】
2018003206.tif 000008
【図７】
2018003206.tif 000009
【図８】
2018003206.tif 000010
【図９】
2018003206.tif 000011
【図１０】
2018003206.tif 000012
【図１１】
2018003206.tif 000013
【図１２】
2018003206.tif 000014
【図１３】
2018003206.tif 000015
【図１４】
2018003206.tif 000016
【図１５】
2018003206.tif 000017
【図１６】
2018003206.tif 000018
【図１７】
2018003206.tif 000019
【図１８】
2018003206.tif 000020
【図１９】
2018003206.tif 000021
【図２０】
2018003206.tif 000022
【図２１】
2018003206.tif 000023
【図２２】
2018003206.tif 000024
【図２３】
2018003206.tif 000025
【図２４】
2018003206.tif 000026
【図２５】
2018003206.tif 000027
【図２６】
2018003206.tif 000028
【図２７】
2018003206.tif 000029
【図２８】
2018003206.tif 000030
【図２９】
2018003206.tif 000031
【図３０】
2018003206.tif 000032
【図３１】
2018003206.tif 000033
【図３２】
2018003206.tif 000034
【図３３】
2018003206.tif 000035
【図３４】
2018003206.tif 000036
【図３５】
2018003206.tif 000037
【図３６】
2018003206.tif 000038
【図３７】
2018003206.tif 000039
【図３８】
2018003206.tif 000040
【図３９】
2018003206.tif 000041
【図４０】
2018003206.tif 000042
【図４１】
2018003206.tif 000043
【図４２】
2018003206.tif 000044
【図４３】
2018003206.tif 000045
【図４４】
2018003206.tif 000046
【図４５】
2018003206.tif 000047
【図４６】
2018003206.tif 000048
【図４７】
2018003206.tif 000049
【図４８】
2018003206.tif 000050
【図４９】
2018003206.tif 000051
【図５０】
2018003206.tif 000052
【図５１】
2018003206.tif 000053
【図５２】
2018003206.tif 000054
【図５３】
2018003206.tif 000055
【図５４】
2018003206.tif 000056
【手続補正書】
【提出日】平成29年8月4日(2017.8.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
線で表現されたセグメントが組み合わされて構成された選択元の図形の図面データを入力する図面データ入力部と、
選択の目的となる目的図形が有するセグメントの条件であるセグメント条件を記憶するセグメント条件記憶部と、
前記目的図形が対称性を有するか否かの条件である対称性の判定条件を含む図形条件を記憶する図形条件記憶部と、
前記選択元の図形からセグメントを抽出し、抽出した前記セグメントのうち前記セグメント条件を満たすセグメントを用いて、前記セグメント条件および前記図形条件を満たす目的図形の候補を生成する目的図形候補生成部と、
を備えることを特徴とする図形選択装置。
【請求項２】
前記目的図形候補生成部が生成した図形が前記図形条件を満たすか否かの判定を行ない、判定結果を前記目的図形候補生成部に送る図形条件判定部をさらに備え、
前記目的図形候補生成部は、前記セグメント条件を満たす前記セグメントを用いて生成した図形のうち前記図形条件判定部が前記図形条件を満たすと判定した図形を前記目的図形の候補として生成する、
ことを特徴とする請求項１に記載の図形選択装置。
【請求項３】
前記対称性の判定条件は、前記目的図形が鏡像対称性、回転対称性、又は、並進対称性を有するか否かを判定する条件である、
ことを特徴とする請求項１または２に記載の図形選択装置。
【請求項４】
線で表現されたセグメントが組み合わされて構成された選択元の図形の図面データを入力する図面データ入力部と、
選択の目的となる目的図形が有するセグメントの条件であるセグメント条件を記憶するセグメント条件記憶部と、
前記目的図形の形状の条件である図形条件を記憶する図形条件記憶部と、
前記選択元の図形に基づいて、前記セグメント条件および前記図形条件を満たす目的図形の候補を生成する目的図形候補生成部と、
前記目的図形候補生成部が生成した前記目的図形の候補に基づいて、前記セグメント条件または前記図形条件に対して、新たな条件の追加、設定済みの条件の削除または設定済みの条件のパラメータ変更を行う条件自動更新部と、
を備えることを特徴とする図形選択装置。
【請求項５】
線で表現されたセグメントが組み合わされて構成された選択元の図形の図面データを入力する図面データ入力部と、
選択の目的となる目的図形が有するセグメントの条件であるセグメント条件を記憶するセグメント条件記憶部と、
前記目的図形の形状の条件である図形条件を記憶する図形条件記憶部と、
前記選択元の図形に基づいて、前記セグメント条件および前記図形条件を満たす目的図形の候補を生成する目的図形候補生成部と、
前記目的図形の候補を確認する目的図形候補確認部と、
を備え、
前記目的図形候補生成部は、前記目的図形の候補の数が複数であった場合に、前記選択元の図形、前記セグメント条件、前記図形条件、または作業者からの指示によって設定された条件に基づいて、生成する前記目的図形の候補または前記作業者に求める操作を変化させる、
ことを特徴とする図形選択装置。
【請求項６】
前記目的図形の候補を確認する目的図形候補確認部をさらに備え、
前記目的図形候補生成部は、前記目的図形の候補の数が複数であった場合に、前記選択元の図形、前記セグメント条件、前記図形条件、または作業者からの指示によって設定された条件に基づいて、生成する前記目的図形の候補または前記作業者に求める操作を変化させる、
ことを特徴とする請求項４に記載の図形選択装置。
【請求項７】
前記目的図形候補生成部が抽出したセグメントが前記セグメント条件を満たすか否かの判定を行ない、判定結果を前記目的図形候補生成部に送るセグメント条件判定部をさらに備える、
ことを特徴とする請求項１から６の何れか１つに記載の図形選択装置。
【請求項８】
作業者からの指示に従って、前記目的図形の候補の中から前記目的図形を選択する目的図形選択部をさらに備える、
ことを特徴とする請求項１から７の何れか１つに記載の図形選択装置。
【請求項９】
作業者からの指示に従って、前記図形条件または前記セグメント条件を編集する条件編集部をさらに備える、
ことを特徴とする請求項１から８の何れか１つに記載の図形選択装置。
【請求項１０】
前記条件編集部は、前記作業者によって前記図面データに含まれる情報が指定されると、指定された情報に基づいて、前記図形条件または前記セグメント条件を編集する、
ことを特徴とする請求項９に記載の図形選択装置。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
上述した課題を解決し、目的を達成するために、本発明の図形選択装置は、線で表現されたセグメントが組み合わされて構成された選択元の図形の図面データを入力する図面データ入力部を備える。また、本発明の図形選択装置は、選択の目的となる目的図形が有するセグメントの条件であるセグメント条件を記憶するセグメント条件記憶部と、目的図形が対称性を有するか否かの条件である対称性の判定条件を含む図形条件を記憶する図形条件記憶部と、を備える。また、本発明の図形選択装置は、選択元の図形からセグメントを抽出し、抽出したセグメントのうちセグメント条件を満たすセグメントを用いて、セグメント条件および図形条件を満たす目的図形の候補を生成する目的図形候補生成部を備える。
【国際調査報告】
2018003206.tif 000057
2018003206.tif 000058
2018003206.tif 000059
2018003206.tif 000060