JPH08202885A - 輪郭線データ作成方法 - Google Patents

輪郭線データ作成方法

Info

Publication number
JPH08202885A
JPH08202885A JP7009832A JP983295A JPH08202885A JP H08202885 A JPH08202885 A JP H08202885A JP 7009832 A JP7009832 A JP 7009832A JP 983295 A JP983295 A JP 983295A JP H08202885 A JPH08202885 A JP H08202885A
Authority
JP
Japan
Prior art keywords
contour line
contour
line
lines
contour lines
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7009832A
Other languages
English (en)
Other versions
JP2917843B2 (ja
Inventor
Kazushi Tanaka
一至 田仲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP7009832A priority Critical patent/JP2917843B2/ja
Publication of JPH08202885A publication Critical patent/JPH08202885A/ja
Application granted granted Critical
Publication of JP2917843B2 publication Critical patent/JP2917843B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【目的】CADで作成された輪郭線データ間の干渉を排
除し輪郭線の解釈を一意化する。オフセット線やハッチ
ング線の作成等の輪郭線の加工を簡単にする。 【構成】1つの多角形に属する輪郭線を抽出するステッ
プS2と、複数の輪郭線が存在する場合輪郭線の相互位
置関係を点検するステップS4と、自己又は相互干渉の
検査をするステップS5と、多角形構成要素の分割接続
変えを行うステップS6と、包含関係により順位付けグ
ループ化するステップS7と、輪郭線をさらに2順位毎
にグループ化するステップS9とを含む。これにより輪
郭線の解釈を一意にでき、輪郭線の加工も単純化され
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は輪郭線データ作成方法に
関し、特にCADで作成される複数の重畳多角形から成
る合成多角形の輪郭線データ作成方法に関する。
【0002】
【従来の技術】CAD等で部品とその組立の全体像を把
握する場合など、複合図形およびその単位図形を形成す
る多角形を輪郭線データとして入力し、この輪郭線デー
タを加工して種々の設計情報を得る手法が広く行われて
いる。
【0003】従来のこの種の輪郭線データ作成方法は、
多角形の各辺すなわち要素データの内、各要素の連鎖関
係を調べ、これら要素を接続して閉ループを形成するこ
とにより作成していた。
【0004】従来の輪郭線データ作成方法をフローチャ
ートで示す図5を参照すると、まず、ステップP1で、
多角形の構成要素データを取り込む。取り込んだ要素
は、予め用意しておいた配列に格納する。このときに任
意の要素1つを先頭要素とする。この選び方は、例えば
X座標の大きい順にソートして先頭になった要素を先頭
要素とする。ステップP2の判断により、残りの要素の
中から先頭要素に接続可能すなわち連続する要素(連続
要素)を探す。連続要素があればステップP3に進み、
配列の接続変更を行う。つまり連続要素を最初に用意し
た配列から切断し、ループ形成のための配列(ループ配
列)に接続変更する。
【0005】次にステップP4の判断により、ループ配
列が完成したか否かを調べる。この点検方法としては、
配列の先頭と最後尾との接続関係を調べればよい。完成
していなければ、ステップP2に戻す。このとき前のス
テップP2で連続要素がないと判断されたにもかかわら
ず、ステップP4でループ配列が完成していないと判断
される場合、このループ配列は完成しないのでエラーと
して処理する。このエラー処理は、単なるロジックエラ
ーとしても良いし、ループとして登録するが未完成であ
ることが判別できるようにしておくと良い。
【0006】次にステップP5の判断で、要素の配列が
残っているか判断する。もし、残っていればステップP
6に進み、別のループ形成のための配列を作成する。
【0007】最後にステップP7により、ループ形成の
ための配列関係を調べてグループに分ける。2つのルー
プが包含関係にあるときは、例えば、外側のループを左
回り、内側を右回りとして区別する。外側ループと干渉
するループおよび外側ループに含まれずかつ干渉しない
ループは左回りとすることで輪郭データの順位付けを終
了する。
【0008】順位付けの終了した輪郭線の例を示す図6
(A)を参照して輪郭線1,2,3の順位付けを説明す
ると、まず、輪郭線1は輪郭線2に含まれるので右回り
とする。輪郭線2,3は、互いに干渉し合うが外側なの
で左回りとする。
【0009】ここで、これら輪郭線1〜3で形成される
多角形について、一般のCADやプロッタの出図フォー
マットにおける表示を考察すると、まず、表示領域とし
て、輪郭線1で囲まれて形成される四角形の領域Aと、
輪郭線2,3の干渉部分の領域Cと、輪郭線1の外側で
かつ領域Cを除く輪郭線2および輪郭線3とで形成され
る領域Bと、領域Cを除き輪郭線2および輪郭線3に囲
まれる領域Dとに分解される。1つの多角形の構成の中
で外側輪郭線同志の干渉を認めない解釈と外側輪郭線の
干渉を認める解釈とのいずれかにによって、2通りの表
示が考えられる。いずれの解釈でも輪郭線1,2の関係
は包含関係なので領域Aは白く抜けた状態として表示さ
れる。しかし、輪郭線2と3の関係はその解釈によって
図柄が変わる。干渉を認めない解釈では領域B,C,D
が一つの領域と表示され、実際には、輪郭線1,2を1
つのグループとし、輪郭線3を別のグループとして描画
する。干渉を認める解釈の場合、領域Cを反転して描画
する。これらの輪郭線データは、グループ分けすること
により描画のイメージを変えることが出来る。
【0010】このように、輪郭線データはグループ化さ
れ、いずれかの多角形に属しているため、フオーマット
変換等により多角形のグループがなくなった場合、もう
一度グループ化しなくてはならない。例えばあるCAD
Aのデータを、点と線とそれらの形状の情報のみから成
るフォーマットの図形データに変換すると多角形のグル
ーブ情報はなくなってしまう。この図形データを他の任
意のCADBで取り込むときには、まずこの図形データ
のうちの多角形処理対象情報を指定する。するとそのC
ADBの輪郭線の解釈によって上記多角形処理対象情報
をグループ化する。このときに2つのCADA,B相互
間で輪郭線の解釈が違えば描画イメージが変わってしま
う。
【0011】また、上述の干渉を認めた解釈の輪郭線の
場合、描画するために描画装置のビーム等のアパーチャ
径を考慮してオフセット補正する場合に、そのまま輪郭
線2,3を一回り小さいオフセット線2A,3Aを得る
ように補正すると、図6(B)に示すように干渉領域C
の部分がオリジナルよりもオフセット線2A,3Aの侵
入分だけ小さくなり、多角形の形状が変わってしまう。
図6(C)に示すような所望のオフセット線2B,3B
を得るためには、オフセット補正による干渉を防止する
ため多角形を2つに分ける必要がある。
【0012】また、図7に示すような自己交差を持つ多
角形の輪郭線4の場合も、そのままオフセット補正する
と、(A)に示すように上記自己交差部分の内外で形状
が変形してしまい、所望の(B)のオフセット線4Bを
得るには多角形の要素をつなぎ変える必要がある。
【0013】
【発明が解決しようとする課題】上述した従来の輪郭線
データ作成方法は、輪郭線データがグループ化されいず
れかの多角形に属しているため、フオーマット変換等に
より多角形のグループがなくなった場合、再度グループ
化する必要があり、この再グループ化を他のCADで行
うと、そのCADの輪郭線解釈にしたがってグループ化
するため、もとのCADの輪郭線解釈と異なる場合には
描画イメージが変化してしまい一意的でなくなるという
欠点があった。
【0014】また、多角形の複数の輪郭線の干渉部分や
自己交差部分を有する多角形の輪郭線を描画装置のビー
ムのアパーチャ径に対応してオフセット補正のためのオ
フセット線やハッチング線を発生する場合、上記干渉部
分を分離するため多角形を2つに分割したり、自己交差
部分に隣接する線分の接続変更等の複雑な処理を必要と
し手間がかるするという欠点があった。
【0015】
【課題を解決するための手段】本発明の輪郭線データ作
成方法は、1つ以上の多角形を含む図形から1つの多角
形に属し複数の要素から成る輪郭線を抽出する第1のス
テップと、複数の前記輪郭線が存在するか否かを判断す
る第2のステップと、前記第2のステップで複数の前記
輪郭線が存在する場合これら複数の前記輪郭線同志の相
互位置関係を点検する第3のステップと、1つの前記輪
郭線に属する前記要素間の干渉である自己交差または前
記複数の輪郭線相互間干渉の有無の検査を行う第4のス
テップと、前記第4のステップで前記自己交差が有の場
合および前記複数の輪郭線相互間干渉が有の場合に前記
要素の分割および接続変更を行う第5のステップと、前
記複数の輪郭線相互間の予め定めた包含関係に対応して
順位付けしグループ化して順位化輪郭線を生成する第6
のステップと、前記順位化輪郭線をさらに2順位毎にグ
ループ化する第7のステップとを含むことを特徴とする
ものである。
【0016】
【実施例】次に、本発明の実施例をフローチャートで示
す図1を参照すると、この図に示す本実施例の輪郭線デ
ータ作成方法は、多角形のデータ入力ステップS1と、
1つの多角形に属する輪郭線を抽出するステップS2
と、複数の輪郭線の有無を判断するステップS3と、ス
テップS3で有の場合輪郭線同志の位置関係を調べるス
テップS4と、自己又は相互干渉の検査をするステップ
S5と、多角形構成要素の分割接続変えを行うステップ
S6と、包含関係により順位付けグループ化するステッ
プS7と、未処理の輪郭線の有無を判断するステップS
8と、輪郭線をさらに2順位毎にグループ化するステッ
プS9とを含む。
【0017】本実施例の処理の説明に先立ちその概要を
説明すると、まず、1つの要素より連なる閉ループを形
成する。ループ同志の干渉あるいは自己交差があれば分
割再構成を行い、複数の輪郭線が存在するときにそれぞ
れの関係からレベル付けを行う。外に位置する物からレ
ベル1、レベル2…とし、2レベル毎にグループを分け
る。レベル1とレベル2には包含及び互いに独立という
関係以外の関係を持たせないようにすることで、曖味な
解釈を回避できる。また、同一レベルの輪郭線に意味の
違いはない(多角形の外側、内側の違いはない)ので、
輪郭線のオフセット加工するときにオフセット方向を一
意に判別できる。
【0018】次に、図1を参照して本実施例の処理につ
いて説明すると、まず、ステップS1により多角形デー
タの読込みを行う。このときのデータは無秩序なデータ
の羅列でよい。これらを入力要素テーブルに格納する。
【0019】次にステップS2で輪郭線を抽出する。最
初に最も外側に位置する輪郭線を抽出するためにX,Y
座標ともに最大の座標を持つ要素を入力要素テーブルの
中から探す。直線の要素であればその始点が最大値座標
となるものを、円弧の要素であれば、その円弧が含まれ
る最も小さな長方形の領域を求め、その領域のX,Y座
標の各最大値が最大となるものを選択し、それぞれ輪郭
線要素テーブルに格納する。
【0020】ステップS2の輪郭線抽出処理手順を示す
図2を参照して輪郭線の抽出について説明すると、最初
に入力テーブルより選択される要素は要素11となる。
この要素11を輪郭線の起点とし、輪郭線要素テーブル
に格納する。次に起点に続く要素(以下連鎖要素)を探
す。連鎖要素は、既に輪郭線要素テーブルに格納されて
いる要素の終点座標を始点としかつ入力要素テーブルに
格納されている要素である。連鎖要素が1つしか無い場
合は、その要素を輪郭線要素テーブルに格納する。この
格納時に連鎖要素と既にテーブルに格納されている最後
の要素(以下カレント要素)とを双方向に連鎖する。連
鎖要素の候補が複数存在する場合は、その中から最外の
輪郭線を形成する1つを以下の方法で選択する。
【0021】最初に全ての連鎖要素の候補の各々とカレ
ント要素とが形成する角度を求める。これら各要素が直
線の場合の一例を示す図3を参照して上記選択方法を説
明すると、まず、それら各要素の接続点を始点とし、カ
レント要素のもう1つの端点へのベクトル方向を0度と
する。また反時計回りを正の角度とし、角度の上限を3
59度とする。この条件のもとで、上記角度が最も小さ
くなる連鎖要素の候補を選択する。図3において、カレ
ント要素となる要素13(この例では、起点も要素13
となる)に対し、複数の連鎖要素候補となる要素14〜
18の中から最小の角度をなす要素14を連鎖要素とし
て選択することになる。
【0022】また要素が円弧の場合の一例を示す図4を
参照すると、これら各要素の各端点での法線ベクトルを
利用する。法線ベクトルの向きはその円弧の回転方向に
依存する。上記と同様にカレント要素の接続点を中心と
して、カレント要素のもう1つの端点の方向を0度とす
る。ただし、基準となる要素が円弧の場合、0度の方向
を法線ベクトルの円弧の回転方向に対する逆方向とす
る。次に、法線ベクトルとカレント要素のなす角度、あ
るいは法線ベクトル同志のなす角度を求める。図10に
おいて法線ベクトル19が0度方向となり、法線ベクト
ル20,21が連鎖要素の候補の判定に使用する方向と
なる。
【0023】連鎖要素の選択を完了すると、その要素を
輪郭線要素テーブルに格納し、カレント要素と連鎖させ
る。この連鎖後、カレント要素の世代を交代する。ここ
で新しいカレント要素の終点と、輪郭線要素の起点から
カレント要素までの各要素の始点と一致するかどうかの
検査を行う。いずれかの要素で一致する場合、その連鎖
要素群を1つの輪郭線として分割する。もし一致する要
素が起点である場合、この輪郭線要素テーブルを閉じる
とともに新たな輪郭線要素テーブルを作成し、今閉じた
このテーブルと連鎖する。このとき新たなテーブルを輪
郭線要素用のカレントテーブル(以下カレントテーブ
ル)とする。また、一致する要素が起点以外のときは、
新しい輪郭線要素テーブルを作成し、そこに分割対象の
連鎖要素群を格納する。そしてこの新しいテーブルを起
点を残しているテーブルに連鎖する。このとき最新の輪
郭線要素テーブル(以下最新要素テーブル)は、分割し
た連鎖要素群を持つが、起点を含むテーブルの方をカレ
ントテーブルとする。
【0024】この段階で生成されるカレントテーブルに
は2通りの場合がある。第1の場合はカレントテーブル
と最新要素テーブルとが一致する場合、第2の場合はカ
レントテーブルが輪郭線要素テーブルの先頭に位置する
場合である。図3の例の場合、要素13を最初の輪郭線
要素テーブルの起点として、連鎖要素を選択していく。
そして要素15を連鎖するときに、要素15の終点が要
素14の始点と一致することにより、要素14から要素
15までで構成される輪郭線を1つの輪郭線として分割
できる。これを新たな輪郭線要素テーブルに格納し、最
初のテーブルに連鎖する。この場合のカレントテーブル
は要素13を含むテーブルとなる。
【0025】次に輪郭線の分割後、入力用素テーブルか
ら要素の選択をする。カレントテーブルと最新要素テー
ブルとが一致する場合、起点がないので入力用素テーブ
ルより選択する必要がある。入力要素テーブルに残存要
素がなければ、全ての輪郭線が抽出できたことになり、
ステップS2を終了する。残存要素があれば、その中で
最外位置の輪郭線を抽出するためにX,Y座標ともに最
大値を持つ要素を選択する。この選択した要素を起点と
してカレントテーブルに格納する。その後、入力要素テ
ーブルから連鎖要素をカレントテーブルに格納するとき
には分割可能か否かを検査する。
【0026】カレントテーブルと最新要素テーブルとが
不一致の場合、起点は残存しているのでさらに入力要素
テーブルから連鎖要素を選択する。図3の例の場合、要
素14から要素15の分割後の連鎖要素は要素16とな
る。この場合もこの連鎖要素をカレントテーブルに格納
するのに分割可能かどうか検査する。
【0027】輪郭線要素テーブルは、輪郭線の分割毎に
新規作成し、常に最新要素テーブルの次に連鎖させる。
連鎖と同時に最新要素テーブルの世代は交替する。カレ
ントテーブルの世代交替は、カレントテーブル自身の分
割時に行う。また、このステップS2は、カレントテー
ブルが閉ループとなり、入力要素テーブルに残存要素が
なくなったときに終了する。
【0028】次にステップS3で輪郭線要素テーブルの
連鎖の有無を判定することにより輪郭線の数を調べる。
輪郭線が1つしかないときはステップS5に進む。
【0029】次にステップS4では、輪郭線の位置関係
を目的に応じて調べる。ここで、全ての輪郭線の要素を
残さず使用する場合について説明する。最外位置の輪郭
線、すなわち輪郭線要素テーブルの連鎖の先頭のテーブ
ルで構成される輪郭線を基準ループとする。1回目のフ
ローでは処理レベルを1とし、基準ループを目安に他の
輪郭線にレベルを仮付けする。ここで、処理レベルとは
基準ループ対応の輪郭線に許されるレベルのことであ
る。次の処理レベルは後述のステップS7で決定され
る。輪郭線には占有領域があり、その大きさおよび位置
を判断材料として、基準ループと、基準ループの占有領
域に干渉する占有領域を持つ輪郭線、および占有領域が
独立の関係にある輪郭線の各々をレベル1とし、基準ル
ープの占有領域にその占有領域が含まれる輪郭線(以下
包含輪郭線)をレベル2とする。ここで、占有領域とは
輪郭線が含まれるX,Y軸にそれぞれ平行な辺を持つ最
小の長方形で表される領域であり、輪郭線要素テーブル
の全ての要素の座標値の最大値,最小値を比較して、そ
の中の最大,最小のX,Y座標を取得すれば求められ
る。
【0030】2回目以降は、包含輪郭線のレベルを基準
ループのレベルに1を加えた数とする。これらの情報
は、輪郭線情報テーブルを用意して記憶しておく。この
情報テーブルは、前の輪郭線要素テーブルの要素数と同
一数分用意しておく。また、情報テーブルと要素テーブ
ルは対になるように関連付ける。
【0031】次にステップS5において、輪郭線の検査
を行う。最初に以下に説明する方法で輪郭線の自己交差
を検査する。まず、輪郭線要素テーブルの各要素同志の
交点計算をして、その交点が要素の有効範囲にあるかど
うかを判定する。交点が有効範囲にある場合は、その要
素を交点により2要素に分割する。この分割時に輪郭線
要素テーブルを更新する。新たに追加した配列は、分割
すべき要素の配列の次に連鎖させる。新たに追加した配
列の次は、分割前の要素配列の次の配列となる。これを
すべての要素に総当たりで実行する。1つの輪郭線の検
査が終了し、輪郭線の分割の必要があればステップS6
に進む。もしなければ次の輪郭線の処理を行う。輪郭線
要素テーブルの更新を1度でも実行していれば、そのテ
ーブルの要素すべての分割の終了後、ステップS6に進
む。この場合、それに続く輪郭線要素テーブルの自己交
差検査は次回のフローに持ち越される。
【0032】1つの輪郭線の自己交差の検査終了後、そ
の輪郭線の分割の必要がなければ輪郭線情報テーブルの
該当要素にフラグを立て、次回のフローではその輪郭線
について自己交差検査の処理をスキップするようにす
る。全ての輪郭線について分割の必要がなくなれば、す
なわち輪郭線情報テーブルの全ての要素にフラグが立て
ば、自己交差検査を終了する。
【0033】次に相互干渉について検査を実施する。相
互干渉の検査対象の2つの輪郭線の組合わせは、基準ル
ープと基準ループ以外の輪郭線でかつレベルが同一のも
のである。基準ループと組み合わせる上記輪郭線は、輪
郭線要素テーブルの連鎖順序にしたがって選択される。
自己交差検査と同様に各要素同志の交点計算を行い、交
点が各要素の有効範囲にあるかどうかを判定する。交点
が有効範囲にある場合は、その要素を交点により2要素
に分割する。この分割時に輪郭線要素テーブルを上述の
自己交差検査と同様に更新する。1組の相互干渉検査の
終了毎に、輪郭線の分割を行ったか否かの判定をする。
もし分割を行っていなければ輪郭線情報テーブルの該当
要素に相互干渉検査スキップ用のフラグを立て、次の組
の処理を行う。相互干渉があれば基準ループを分割する
ことになるので、この基準ループを更新しなければなら
ない。よって、干渉があれば輪郭線情報テーブルの該当
要素の相互干渉検査スキップフラグをすべて消し、ステ
ップS6に進む。
【0034】また、相互干渉検査のときには検査対象の
輪郭線に相互干渉検査スキップフラグがあるか、または
レベルが違えば上記相互干渉検査処理をスキップさせ
る。1回目のフローにおいては基準ループはステップS
4で決定されているが、2回目以降はステップS7にお
いて順位付けおよびグループ化をする際に決定する。
【0035】ステップS6では、輪郭線構成要素の分
割、接続変えを行う。ステップS5において要素分割処
理のあった輪郭線要素テーブルの要素の中で、最外位置
の要素を抽出する。その後、連鎖要素を選択し、輪郭線
要素テーブルの分割を行う。連鎖要素の選択方法は、ス
テップS2における選択方法と同じである。
【0036】自己交差の分割の場合は、その輪郭線の要
素テーブルのみに格納された要素の中から選択してい
く。輪郭線の分割時に新規の要素テーブルを用意し、今
分割中のテーブルとそのテーブルに既に連鎖済のテーブ
ルの間に連鎖させる。このように新規のテーブルは、常
に割込ませて連鎖させる。
【0037】相互干渉の分割の場合は、まず基準ループ
のテーブルに干渉相手のテーブルの要素を移し、この干
渉相手のテーブルを輪郭線要素テーブルの連鎖から削除
する。この削除時にそれまでの連鎖関係を保時するとと
もに基準ループのテーブルにまとめられた2つの輪郭線
の要素の中から選択していく。輪郭線の分割時の手順
は、自己交差の場合の手順と同じである。
【0038】これらの分割に合わせて輪郭線情報テーブ
ルも新たな要素の割込み連鎖を行う。輪郭線の分割終了
後、輪郭線要素テーブルに併せて輪郭線情報テーブルを
更新、または要素の新規追加をする。また更新の場合
は、輪郭線情報のうち自己交差スキップ用のフラグ以外
のフラグを初期化する。このとき既にグループ番号があ
る場合、次の処理を行う。2つの輪郭線のグループ番号
を小さい方、つまり基準ループのグループ番号に統一す
る。そして大きい方の番号を未使用とする。
【0039】ステップS7では、輪郭線の順位付けとグ
ループ化を行う。順位付けとは、輪郭線にレベルを付加
することである。ここでの処理は基準ループとその他の
輪郭線の検査終了の有無によって3通りに分かれる。
【0040】第1の場合は、ステップS6の輪郭線の分
割で基準ループが分割された場合であり、グループ化フ
ラグの初期化済により判断できる。この場合、基準ルー
プを選択し直す必要がある。まず、基準ループのレベル
以上のレベルの輪郭線の情報テーブルの全要素の相互干
渉検査スキップ用フラグを初期化する。自己交差につい
ては新たに発生することはないので自己交差検査スキッ
プ用フラグは初期化不要である。例えば基準ループのレ
ベルが2なら、既にレベル1の輪郭線要素テーブルの相
互干渉検査は終了済なので再検査の対象外とする。新し
い基準ループの選択は、輪郭線情報テーブルの占有領域
のX,Y座標の最大値が処理対象レベルの輪郭線の中で
最大となるものを選択する。この後、ステップS8にて
ステップS3までフィードバックされる。
【0041】第2の場合は、基準ループは分割されず、
また輪郭線の相互干渉検査が一部未完の場合である。こ
の場合、検査完了済の輪郭線に対し、順位付けとグルー
プ分けを行う。まず、この輪郭線と基準ループが包含の
関係にある場合、輪郭線情報テーブルの該当要素に基準
ループのレベルに1を加えたレベルを設定する。基準ル
ープがレベル1であるならこの輪郭線はレベル2とな
る。グループはレベル1の輪郭線毎に作成するので、こ
の輪郭線のグループは基準ループと同一となる。ただ
し、基準ループのレベルが2以上であれば、新たにレベ
ル付けした輪郭線のグループ番号は常に基準ループと同
一とする。レベルとグループを情報テーブルの要素に付
加した後、相互干渉検査終了フラグを立てる。次にこの
輪郭線と基準ループが独立の関係にある場合、輪郭線情
報テーブルの該当要素に基準ループと同一レベルを設定
し、基準ループのグループ番号に1を加えたグループ番
号を設定する。ただし、基準ループのレベルが2以上の
場合、基準ループと同一のグループとする。この後、ス
テップS8にてステップS3までフィードバックされ
る。
【0042】第3の場合は、基準ループは分割されず、
また全ての輪郭線の干渉検査が終了した場合である。こ
のとき基準ループと同一のレベルの輪郭線は全て処理済
みとなっている。ここで処理レベルを1つ上げ、そのレ
ベルを持つ輪郭線情報テーブルの要素が指す輪郭線の中
から最外位置のものを選択し、基準ループとする。次に
ステップS8で該当処理レベルの輪郭線があるかどうか
調べる。あれば、ステップS3にフィードバックする。
輪郭線情報テーブルの全ての要素の検査処理スキップフ
ラグが立てばステップS9に進む。
【0043】最後にステップS9により、さらに2レベ
ル毎にグループ化する。輪郭線はこのステップS9まで
にグループおよびレベル分けがなされている。各グルー
プには、1つのレベル1の輪郭線、複数のレベル2,レ
ベル3,…の輪郭線とレベル1の輪郭線以外は複数存在
することがある。この中にレベルが3以降の輪郭線があ
れば、このグループから分割する。具体的には輪郭線情
報テーブルの該当要素のグループ番号を更新する。この
とき既に使用済のグループ番号は使用してはいけない。
グループ番号の更新後、更新した要素のレベルを2下げ
る。すなわちレベル3の輪郭線はレベル1になる。ここ
で前述のように、グループはレベル1の輪郭線毎に作成
するので更にグループを増やす。輪郭線情報テーブルに
おいて、レベル3からレベル1に変更した要素群の先頭
は既にグループ番号の更新済なので、その次の要素から
さらにグループ番号を更新する。全てのレベル1の要素
のグループの更新が終了すると、レベル4からレベル2
に変更した輪郭線がどのレベル1の輪郭線に含まれるの
かを判定する。この判定は輪郭線の占有領域の包含関係
によって行う。更新した要素の中にレベルが3の輪郭線
があれば、同様にしてグループを分ける。このように輪
郭線情報テーブルの全ての要素のレベルが1と2になる
までグループ分けを行う。
【0044】多角形の輪郭線は、この2レベルのグルー
プ化により親子関係を持つ様になる。これにより輪郭線
のオフセットや図形の塗り潰しの際の処理が単純化され
る。例えば多角形の面積が小さくなるように輪郭線をオ
フセットする場合、レベル1の輪郭線は面積が減る方向
にオフセットし、レベル2の輪郭線は面積の増える方向
にオフセットすれば良い。また輪郭線で囲まれた領域に
ハッチング線を作成する際も、ハッチング線上の交点で
区切られる線分のうち、レベル1とレベル1、およびレ
ベル1とレベル2の輪郭線との交点を端点とする線分を
残せば良い。
【0045】以上で、多角形の輪郭線データ作成を終了
する。
【0046】
【発明の効果】以上説明したように、本発明の輪郭線デ
ータ作成方法は、1つの多角形に属する輪郭線を抽出す
る第1のステップと、複数の輪郭線が存在する場合輪郭
線の相互位置関係を点検する第3のステップと、自己又
は相互干渉の検査をする第4のステップと、多角形構成
要素の分割接続変えを行う第5のステップと、包含関係
により順位付けグループ化する第6のステップと、輪郭
線をさらに2順位毎にグループ化する第7のステップと
を含むことにより、輪郭線が自己または相互に干渉して
いる場合にその輪郭線を分割し干渉をなくすことによ
り、輪郭線の解釈を一意にすることができるという効果
がある。
【0047】また、2レベルにグループ化することによ
り、オフセット線の作成やハッチング線の発生領域の指
定が単純化できるいう効果がある。
【図面の簡単な説明】
【図1】本発明の輪郭線データ作成方法の一実施例を示
すフローチャートである。
【図2】本実施例の輪郭線データ作成方法における輪郭
線抽出の手順の説明図である。
【図3】本実施例の連鎖要素を選択する選択方法の説明
図である。
【図4】本実施例の円弧データの場合の連鎖要素選択方
法の説明図である。
【図5】従来の輪郭線データ作成方法の一例を示すフロ
ーチャートである。
【図6】順位付けの終了した輪郭線の例とこれら輪郭線
対応のオフセット線の例をそれぞれ示す説明図である。
【図7】自己交差を含む多角形のオフセット線の例の説
明図である。
【符号の説明】
1〜4 輪郭線 2A,3A,4A,2B,3B,4B オフセット線 11〜18 要素 19〜21 法線ベクトル
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成7年6月21日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】変更
【補正内容】
【0010】このように、輪郭線データはグループ化さ
れ、いずれかの多角形に属しているため、フォーマット
変換等により多角形のグループがなくなった場合、もう
一度グループ化しなくてはならない。例えばあるCAD
−Aのデータを、点と線とそれらの形状の情報のみから
成るフォーマットの図形データに変換すると多角形のグ
ループ情報はなくなってしまう。この図形データを他の
任意のCAD−Bで取り込むときには、まずこの図形デ
ータのうちの多角形処理対象情報を指定する。するとそ
のCAD−Bの輪郭線の解釈によって上記多角形処理対
象情報をグループ化する。このときに2つのCAD−
A,CAD−B相互間で輪郭線の解釈が違えば描画イメ
ージが変わってしまう。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0014
【補正方法】変更
【補正内容】
【0014】また、多角形の複数の輪郭線の干渉部分や
自己交差部分を有する多角形の輪郭線を描画装置のビー
ムのアパーチャ径に対応してオフセット補正のためのオ
フセット線やハッチング線を発生する場合、上記干渉部
分を分離するため多角形を2つに分割したり、自己交差
部分に隣接する線分の接続変更等の複雑な処理を必要と
し手間がかかるという欠点があった。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0023
【補正方法】変更
【補正内容】
【0023】連鎖要素の選択を完了すると、その要素を
輪郭線要素テーブルに格納し、カレント要素と連鎖させ
る。この連鎖後、カレント要素の世代を構体する。ここ
で新しいカレント要素の終点と、輪郭線要素の起点から
カレント要素までの各要素の始点とが一致するかどうか
の検査を行う。いずれかの要素で一致する場合、その連
鎖要素群を1つの輪郭線として分割する。もし一致する
要素が起点である場合、この輪郭線要素テーブルを閉じ
るとともに新たな輪郭線要素テーブルを作成し、今閉じ
たこのテーブルと連鎖する。このとき新たなテーブルを
輪郭線要素のカレントテーブル(以下カレントテーブ
ル)とする。また、一致する要素が起点以外のときは、
新しい輪郭線要素テーブルを作成し、そこに分割対象の
連鎖要素群を格納する。そしてこの新しいテーブルを機
転を残しているテーブルに連鎖する。このとき最新の輪
郭線要素テーブル(以下最新要素テーブル)は、分割し
た連鎖要素群を持つが、機転を含むテーブルの方をカレ
ントテーブルとする。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0025
【補正方法】変更
【補正内容】
【0025】次に輪郭線の分割後、入力要素テーブルか
ら要素の選択をする。カレントテーブルと最新要素テー
ブルとが一致する場合、起点がないので入力要素テーブ
ルより選択する必要がある。入力要素テーブルに残存要
素がなければ、全ての輪郭線が抽出できたもとになり、
ステップS2を終了する。残存要素があれば、その中で
最外位置の輪郭線を抽出するためにX,Y座標ともに最
大値を持つ要素を選択する。この選択した要素を起点と
してカレントテーブルに格納する。その後、入力要素テ
ーブルから連鎖要素をカレントテーブルに格納するとき
には分割可能か否かを検査する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0029
【補正方法】変更
【補正内容】
【0029】次にステップS4では、輪郭線の位置関係
を目的に応じて調べる。ここで、全ての輪郭線の要素を
残さず使用する場合について説明する。最外位置の輪郭
線、すなわち輪郭線要素テーブルの連鎖の先頭のテーブ
ルで構成される輪郭線を基準ループとする。1回目のフ
ローでは処理レベルを1とし、基準ループを目安に他の
輪郭線にレベルを仮付けする。ここで、処理レベルとは
基準ループとの位置関係を調べる必要がある輪郭線のレ
ベルのことである。次の処理レベルは後述のステップS
7で決定される。輪郭線には占有領域があり、その大き
さおよび位置を判断材料として、基準ループと、基準ル
ープの占有領域に干渉する占有領域を持つ輪郭線、およ
び占有領域が独立の関係にある輪郭線を各々のレベル1
とし、基準ループの占有領域にその占有領域が含まれる
輪郭線(以下包含輪郭線)をレベル2とする。ここで、
占有領域とは輪郭線が含まれるX,Y軸にそれぞれ平行
な辺を持つ最小の長方形で表される領域であり、輪郭線
要素テーブルの全ての要素の座標値の最大値,最小値を
比較して、その中の最大,最小のX,Y座標を取得すれ
ば求められる。さらに、レベル2に仮付した輪郭線と基
準ループとの各々の構成要素の干渉の有無を、後述のス
テップ5の交点の有効性判定と同様の方法で確認し、上
記干渉の有無に対応してそれぞれレベル1,レベル2と
確定する。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 1つ以上の多角形を含む図形から1つの
    多角形に属し複数の要素から成る輪郭線を抽出する第1
    のステップと、 複数の前記輪郭線が存在するか否かを判断する第2のス
    テップと、 前記第2のステップで複数の前記輪郭線が存在する場合
    これら複数の前記輪郭線同志の相互位置関係を点検する
    第3のステップと、 1つの前記輪郭線に属する前記要素間の干渉である自己
    交差または前記複数の輪郭線相互間干渉の有無の検査を
    行う第4のステップと、 前記第4のステップで前記自己交差が有の場合および前
    記複数の輪郭線相互間干渉が有の場合に前記要素の分割
    および接続変更を行う第5のステップと、 前記複数の輪郭線相互間の予め定めた包含関係に対応し
    て順位付けしグループ化して順位化輪郭線を生成する第
    6のステップと、 前記順位化輪郭線をさらに2順位毎にグループ化する第
    7のステップとを含むことを特徴とする輪郭線データ作
    成方法。
  2. 【請求項2】 前記輪郭線の抽出がX,Y座標のいずれ
    も最大の座標を持つ前記要素を探索することにより最も
    外側に位置する輪郭線から抽出開始することを特徴とす
    る請求項1記載の輪郭線データ作成方法。
  3. 【請求項3】 前記輪郭線の順位付けが、最も外側に位
    置する輪郭線から内側に向かって昇順で行うことを特徴
    とする請求項1記載の輪郭線データ作成方法。
JP7009832A 1995-01-25 1995-01-25 輪郭線データ作成方法 Expired - Fee Related JP2917843B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7009832A JP2917843B2 (ja) 1995-01-25 1995-01-25 輪郭線データ作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7009832A JP2917843B2 (ja) 1995-01-25 1995-01-25 輪郭線データ作成方法

Publications (2)

Publication Number Publication Date
JPH08202885A true JPH08202885A (ja) 1996-08-09
JP2917843B2 JP2917843B2 (ja) 1999-07-12

Family

ID=11731111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7009832A Expired - Fee Related JP2917843B2 (ja) 1995-01-25 1995-01-25 輪郭線データ作成方法

Country Status (1)

Country Link
JP (1) JP2917843B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005190045A (ja) * 2003-12-25 2005-07-14 Rikogaku Shinkokai Cadシステム間で交換されたデータの修復方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5931638B2 (ja) * 2012-07-31 2016-06-08 東芝機械株式会社 数値制御システムおよび数値制御データ生成方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005190045A (ja) * 2003-12-25 2005-07-14 Rikogaku Shinkokai Cadシステム間で交換されたデータの修復方法

Also Published As

Publication number Publication date
JP2917843B2 (ja) 1999-07-12

Similar Documents

Publication Publication Date Title
US5379373A (en) Document layout processing method and device for carrying out the same
US5533148A (en) Method for restructuring physical design images into hierarchical data models
US5982387A (en) Hint assignment method and font file construction method
JP3787743B2 (ja) 数値解析用メッシュ生成装置
US5297022A (en) CAD/CAM unit data generating apparatus and process
US5572637A (en) Process for merging CAD vector files and automatically removing duplicate and obsolete patterns
US5068802A (en) Graphic drawing method and system with input coordinates automatically adjustable
US5179645A (en) Method of recognizing overlapped graphics in each degree of overlapping thereof
US5917501A (en) Method of cutting outline fonts into strokes and parts
US4811244A (en) Drawing information management system
US5920324A (en) Character pattern producing apparatus capable of producing character pattern having connected character elements
JPH08202885A (ja) 輪郭線データ作成方法
JPH08180066A (ja) インデックス作成方法、文書検索方法及び文書検索装置
CN114834043B (zh) 一种激光三维加工模型切片数据处理方法
JP2001092805A (ja) 解析メッシュ生成装置、方法及び記憶媒体
JP3168117B2 (ja) 3次元形状モデル処理装置
JPH08305887A (ja) パラメトリック編集機能付cadシステム
JPS6381573A (ja) 図面情報管理方法
JP3647075B2 (ja) 画像検索方法及びその装置
JPH0724022B2 (ja) プログラム言語変換方法
JPS62256103A (ja) 数値制御用マシンプログラム作成方法
EP0387827A2 (en) Method and apparatus for generating graphics
JPH07104876B2 (ja) 設計支援方法及び設計支援装置
EP0384571A2 (en) A method of displaying a pattern automatically and a device for carrying out that method
JPH07239872A (ja) 類似工程図の作成方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990323

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090423

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100423

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100423

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110423

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120423

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120423

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 15

LAPS Cancellation because of no payment of annual fees