JP2004259087A - Cadデータ同一性検証装置、cadデータ同一性検証方法、及びcadデータ同一性検証プログラム - Google Patents
Cadデータ同一性検証装置、cadデータ同一性検証方法、及びcadデータ同一性検証プログラム Download PDFInfo
- Publication number
- JP2004259087A JP2004259087A JP2003050334A JP2003050334A JP2004259087A JP 2004259087 A JP2004259087 A JP 2004259087A JP 2003050334 A JP2003050334 A JP 2003050334A JP 2003050334 A JP2003050334 A JP 2003050334A JP 2004259087 A JP2004259087 A JP 2004259087A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cad data
- cad
- drawing element
- array
- 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
Links
Images
Abstract
【解決手段】p21形式で出力されたCADデータ(以下p21データ)とsfc形式で出力されたデータ(以下sfcデータ)について、sfcデータの図面要素データと、p21データの図面要素データをそれぞれ配列a、配列bにパラメータと共に格納する。そして、パラメータを比較することにより、配列aの要素と配列bの要素を対応(マッチング)する。配列aの要素と配列bの要素が1対1に対応した場合、sfcデータとp21データは、同一であると判断し、1対1に対応しない場合は同一でないと判断する。
【選択図】 図4
Description
【発明の属する技術分野】
本発明はCADデータ同一性検証装置などに関し、例えば、sfc形式で構成されたCADデータとp21形式で構成されたCADデータの同一性を検証するものに関する。
【0002】
【従来の技術】
近年のコンピュータの急激な発展に伴い、従来はドラフタなどを用いて手作業で行っていた設計図面の作成をCAD(Computer Aided Design)を用いて行うようになってきた。
CADは、コンピュータを用いた設計支援技術であって、マウス、タブレット、キーボードなどの入力装置を用いてディスプレイ上で作図を行うことができる。
ディスプレイ上には座標系が設定してあり、ユーザは、この座標系上に、点、直線、円などの各種の描画要素を配置していき、設計図面を作成する。
CADには、汎用のものから建築用、機械設計用、電子回路設計用などの特定の分野に特化したものまで様々な製品が提供されており、ユーザは、自分の業務に適したものを選択して利用している。
【0003】
これらCADを用いて設計作業を支援するCAD装置は、作成した設計図面をCADデータとして出力する。そして、出力されたCADデータのファイル形式は、各種のものが存在し、異なるファイル形式間での互換性が無い場合がある。
その場合、あるCAD装置で作成されたファイルを他のCADで利用するためには、ファイル形式を変換することになる。
また、CAD装置の中には、複数のファイル形式でCADデータを出力でき、ユーザがファイル形式を選択できるようになっているものもある。
このようにして、同一の設計図面に対して、複数のファイル形式のCADデータが存在する場合がある。
【0004】
ところで、通常CADでは、同一の点と見なされる座標の範囲(以下、許容座標誤差範囲と呼ぶ)が設定してあり、この範囲に含まれる点は同一の点として処理する。これは、数値計算により生じる誤差などを吸収し、設計図面に整合性を持たせるためである。
そのため、同じ設計図面に描かれた同一の図面要素であっても、その座標値が出力するファイル形式により、許容座標誤差範囲内で異なる場合がある。
また、複数のファイル形式に係るCADデータを処理する発明として、次の図面編集装置がある。
【0005】
【特許文献1】特開平11−031167
【0006】
この装置は、異なるファイル形式(ファイルフォーマット)に係るCADデータを、そのまま編集することができるものである。このため、各種のファイル形式を単一の中間フォーマットに変換する必要が無く、変換に伴って発生するCADデータの劣化(データ落ちなどにより生じる)を防止するものである。
【0007】
【発明が解決しようとする課題】
以上に説明したように、同一の設計図面のCADデータが複数のファイル形式で存在する場合がある。
そして、このような場合、これら異なるファイル形式のCADデータが同一の設計図面を構成するか確認したい場合がある。
このような場合として、例えば次のようなものがある。
公共事業の受注者が発注者に設計図面を第1のファイル形式で出力された第1のCADデータで電子納品したとする。また、受注者は、同一の設計図面を第2のファイル形式で出力した第2のCADデータを原図として保管していたとする。
この場合、発注者は、提出されている第1のCADデータが電子納品される過程(あるいは電子納品された後)改竄・変更されていないかを、第2のCADデータとの同一性を検証することにより確認することができる。
【0008】
しかし、従来は、許容座標誤差範囲内の点は同一の点として処理するというCAD特有の事情により、異なるファイル形式のCADデータの同一性を検証することは困難であった。
より詳細に述べると次のようになる。第1のCADデータと第2のCADデータの同一性を比較して確認する場合、第1のCADデータに含まれている図面要素(点マーカ、線分、円など)と第2のCADデータに含まれている図面要素を対応付ける(マッチング)ことにより行う。
図面要素が1対1に対応すれば同一であり、1対1に対応しなければ同一でないと判断することができる。
【0009】
ところが、許容座標誤差範囲が存在するために、異なる点が同一の点として判断されて、第1のCADデータのある1つの図面要素に、複数の第2のCADデータの図面要素が対応する可能性がある。
例えば、両端点の座標値が許容座標誤差範囲に含まれる第1の直線と第2の直線があった場合、第1のCADデータの第1の直線に、第2のCADデータの第1の直線と第2の直線を対応させることができる。
【0010】
そこで、本発明の目的は、異なるファイル形式で出力されたCADデータの同一性を容易に検証することができるCADデータ同一性検証装置、CADデータ同一性検証方法、及びCADデータ同一性検証プログラムを提供することである。
【0011】
【課題を解決するための手段】
請求項1に記載した発明では、CAD図面上での属性を特定するパラメータが付属した図面要素データを用いて構成されたCADデータの同一性を検証するCADデータ同一性検証装置であって、第1のCADデータと、第2のCADデータを取得するCADデータ取得手段と、前記取得した第1のCADデータ、及び第2のCADデータから、図面要素データをパラメータが比較可能な状態で取得する図面データ取得手段と、座標値に関するパラメータについて所定の誤差の範囲内での一致を比較することにより、前記取得した第1のCADデータの図面要素データに、前記取得した第2のCADデータの図面要素データを重複を許して対応付ける対応付け手段と、前記対応付け手段による重複の範囲の中で前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データとの組み合わせを更新しながら、前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データが1対1に対応するような、前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データの組み合わせを探索する探索手段と、前記探索手段で、前記第1のCADデータの図面要素データと、前記第2のCADデータの図面要素データが1対1に対応した場合に、前記第1のCADデータと前記第2のCADデータが同一であると判断し、前記第2のCADデータの図面要素データが1対1に対応しなかった場合に、前記第1のCADデータと前記第2のCADデータが同一でないと判断する判断手段と、を具備したことを特徴とするCADデータ同一性検証装置を提供する。請求項2に記載の発明では、前記対応付け手段は、座標値に関するパラメータ以外のパラメータに関しては、全て一致する場合に、前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素を対応付けることを特徴とする請求項1に記載のCADデータ同一性検証装置を提供する。
請求項3に記載の発明では、前記対応付け手段で対応付けを行った結果、前記第2のCADデータの図面要素データが対応しない前記第1のCADデータの図面要素データが存在するか、又は、前記第1のCADデータの図面要素データが対応しない前記第2のCADデータの図面要素データが存在する場合、前記探索手段は探索を行わず、前記判断手段は、前記第1のCADデータと前記第2のCADデータが同一でないと判断することを特徴とする請求項1、又は請求項2に記載のCADデータ同一性検証装置を提供する。
請求項4に記載の発明では、前記対応付け手段は、前記図面要素データの対応付け処理を、対応する図面要素の種類ごとに行うことを特徴とする請求項1、請求項2、又は請求項3に記載のCADデータ同一性検証装置を提供する。
請求項5に記載の発明では、CAD図面上での属性を特定するパラメータが付属した図面要素データを用いて構成されたCADデータの同一性を検証するCADデータ同一性検証方法であって、CADデータ取得手段と、図面データ取得手段と、対応付け手段と、探索手段と、判断手段と、を備えたコンピュータにおいて、第1のCADデータと、第2のCADデータを前記CADデータ取得手段で取得するCADデータ取得ステップと、前記図面データ取得手段で、前記取得した第1のCADデータ、及び第2のCADデータから、図面要素データをパラメータが比較可能な状態で取得する図面データ取得ステップと、座標値に関するパラメータについて所定の誤差の範囲内での一致を比較することにより、前記取得した第1のCADデータの図面要素データに、前記取得した第2のCADデータの図面要素データを前記対応付け手段で重複を許して対応付ける対応付けステップと、前記対応付け手段による重複の範囲の中で前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データとの組み合わせを更新しながら、前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データが1対1に対応するような、前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データの組み合わせを前記探索手段で探索する探索ステップと、前記探索手段で、前記第1のCADデータの図面要素データと、前記第2のCADデータの図面要素データが1対1に対応した場合に、前記第1のCADデータと前記第2のCADデータが同一であると前記判断手段で判断し、前記第2のCADデータの図面要素データが1対1に対応しなかった場合に、前記第1のCADデータと前記第2のCADデータが同一でないと前記判断手段で判断する判断ステップと、から構成されたことを特徴とするCADデータ同一性検証方法を提供する。
請求項6に記載の発明では、CAD図面上での属性を特定するパラメータが付属した図面要素データを用いて構成されたCADデータの同一性を検証するCADデータ同一性検証機能をコンピュータで実現するためのCADデータ同一性検証プログラムであって、第1のCADデータと、第2のCADデータを取得するCADデータ取得機能と、前記取得した第1のCADデータ、及び第2のCADデータから、図面要素データをパラメータが比較可能な状態で取得する図面データ取得機能と、座標値に関するパラメータについて所定の誤差の範囲内での一致を比較することにより、前記取得した第1のCADデータの図面要素データに、前記取得した第2のCADデータの図面要素データを重複を許して対応付ける対応付け機能と、前記対応付け機能による重複の範囲の中で前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データとの組み合わせを更新しながら、前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データが1対1に対応するような、前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データの組み合わせを探索する探索機能と、前記探索機能で、前記第1のCADデータの図面要素データと、前記第2のCADデータの図面要素データが1対1に対応した場合に、前記第1のCADデータと前記第2のCADデータが同一であると判断し、前記第2のCADデータの図面要素データが1対1に対応しなかった場合に、前記第1のCADデータと前記第2のCADデータが同一でないと判断する判断機能と、をコンピュータで実現するためのCADデータ同一性検証プログラムを提供する。
【0012】
【発明の実施の形態】
以下、本発明の好適な実施の形態について詳細に説明する。
[実施の形態の背景]
近年の電子政府化の推進により、公共事業(建築分野)に関する設計図面の電子納品が行われるようになってきた。電子納品とは、発注者(公的機関など)に設計図面のCADデータをオンラインで(又は記憶媒体に記憶して)納品することである。
そのため、受注者が提出するCADデータに関し、交換フォーマットの標準仕様を定める必要が生じ、各種のCAD間で正確にデータ交換ができる交換標準であるSXF標準仕様が定められた。
【0013】
SXF標準に適合したファイル形式として、p21形式とsfc形式がある。p21形式は、主に電子納品に用いられ、sfc形式は、主に関係者間でCADデータ交換のために用いられる。
このように、SXF標準では2つのファイル形式を用いるため、同一の設計図面に関するCADデータが2つのファイル形式で存在することある。
そこで、p21形式のファイルとsfc形式のファイルの同一性を検証する(同一の設計図面を表しているかどうかを検証する)方法があると様々な応用が考えられている。
例えば、設計図面の原本としてsfc形式のファイルが保存してあり、電子納品をp21形式のファイルで行った場合、このsfc形式のファイルのCADデータとp21形式のファイルのCADデータの同一性を確認することにより、電子納品したp21形式のファイルが第三者によって改竄されていないか確認することができる。
【0014】
[実施形態の概要]
本実施の形態では、p21形式で出力されたCADデータ(以下p21データ)とsfc形式で出力されたデータ(以下sfcデータ)が同一の設計図面を表したものか否かを以下の手法により検証する。
CADデータは、仮想的な用紙、レイヤ、点マーカ、線分、円、シンボル、寸法線といった、図面要素を表す図面要素データを用いて構成されている。これら図面要素データには、図面要素が設計図面においてどのように表現されているかを規定するパラメータ(例えば、線分であれば、始点終点の座標値、線の太さ・色、配置されているレイヤなど)が付属している。
そこで、sfcデータの図面要素データと、p21データの図面要素データをそれぞれ配列a、配列bにパラメータと共に格納し、パラメータを比較することにより、配列aの要素と配列bの要素を対応(マッチング)する。
【0015】
配列aの要素と配列bの要素が1対1に対応した場合、sfcデータとp21データは、同一であると判断され、1対1に対応しない場合は同一でないと判断される。
また、配列aと配列bの対応付けは、仮想的な用紙、レイヤ、線分、円など図面要素の種類ごとに行う。これにより、例えば、線分の図面要素と円の図面要素を対応付けるといった、無駄な対応付けを行わなくて済む。
更に対応付けは、まず、配列aの要素をソートしておき、配列aの各要素に配列bの要素を対応付ける。そして、配列aの要素に複数の配列bの要素が対応している場合、配列aの要素と配列bの要素の組み合わせを更新しながら、配列aの要素と配列bの要素が1対1に対応するような配列aの要素と配列bの要素の組み合わせを探索する。
【0016】
[実施形態の詳細]
まず、本実施の形態で扱うCADデータの構成について説明する。このCADデータの構成は、CADデータのファイル形式に関わらず同じである。
また、本実施の形態では、CADデータのファイル形式として、p21形式とsfc形式を用いて説明する。なお、これは、CADデータのファイル形式をp21形式とsfc形式に限定するものではなく、他の形式のファイル形式に対して適用することもできる。
【0017】
図1は、CADで描かれた設計図面の構成を説明するための概念図である。
CADでは、仮想上の用紙の上に、点マーカ、線分、円、寸法線、などを配置していくことにより設計図面を描く。
この仮想的な用紙10には、座標系19が設定してあり、この用紙10上に図形を描くことにより、座標空間中に図形を配置することができる。
また、この仮想の用紙10はレイヤと呼ばれる複数の層(レイヤ11a、11b、11c…)から構成されており、ユーザは、レイヤを選択して、そのレイヤ上に設計図面を描くことができる。
レイヤは、選択的に操作することができるようになっている。そのため、例えば、幾何学的な形状をレイヤ1に描き、寸法線をレイヤ2に描いておき、レイヤ1とレイヤ2を同時に表示して寸法線が描かれた図面を表示したり、あるいは、レイヤ2を非表示にしてレイヤ1に描かれた幾何学的な形状のみを表示したりすることができ、製図作業や図面の利用効率を高めることができる。
【0018】
用紙上に描かれる図面要素は、例えば、線分12a、12b、12c、円15a、15b、といった幾何学的な形状を持ったものや、点マーカ17のような座標空間中での位置を示すもの、また、寸法線、角度寸法線、テキストデータ、シンボル(例えば、屋根の傾きを表す記号表記)など各種のものがある。
このように、CADデータは、仮想上の用紙、レイヤといった図面構造を表す図面要素や、点マーカ、線分といった幾何学的な形状や表記を表す図面要素、及びシンボル、記号といった構造化された(例えば、バルーンは円、矢線、円中のテキストデータが構造化されて構成されている)図面要素から構成されている。
そして、本実施の形態のCADデータは、次に説明するフィーチャという概念を用いてこれら図面要素を管理している。
【0019】
図2は、フィーチャの構成を説明するための図である。
フィーチャは、図面要素の管理単位である。フィーチャは、フィーチャ名を持つと共に、設計図面上で図面要素の表現を特定するパラメータが付属している。
例えば、線分を表す図面要素は線分フィーチャと呼ばれ、線分が描かれているレイヤ、線分の始点終点の座標値、線種、線幅などの、設計図面におけるその線分の表現を特定するパラメータが付属している。
パラメータの種類は、例えば、線分フィーチャであれば始点終点の座標値、…、円フィーチャであれば中心点の座標値、…などと、フィーチャごとに設定されている。
以下、これらフィーチャについてより詳細に説明する。
【0020】
フィーチャは大きく分類して、図面構造フィーチャ群、幾何表記要素フィーチャ群、構造化要素フィーチャ群の3種類に区分される。
図面構造フィーチャ群は、CADデータを構成する上で基本となる情報を規定するフィーチャから構成されている。
図面構造フィーチャ群は、用紙フィーチャ、レイヤフィーチャ、既定義線種フィーチャ、ユーザ定義線種フィーチャ、既定義色フィーチャ、ユーザ定義色フィーチャ、線幅フィーチャ、文字フォントフィーチャなどから構成されている。
【0021】
用紙フィーチャは、設計図面が描かれている仮想的な用紙を指定する用紙フィーチャであり、図面名、用紙サイズなどを規定している。用紙フィーチャを参照することにより、そのCADデータで用いられている仮想的な用紙を特定することができる。
レイヤフィーチャは、後述する幾何表記要素、構造化要素から参照されるテーブル要素であって、各レイヤを特定するレイヤコードと、そのレイヤの名称、表示・表示状態などが対応付けられている。
レイヤフィーチャは、パラメータとしてレイヤ名や、レイヤの表示・非表示状態を示すフラグなどを持つ。
レイヤフィーチャを参照することにより、各レイヤのレイヤ名や状態を特定することができる。
【0022】
既定義線種フィーチャは、幾何表記要素、構造化要素から参照されるテーブル要素であって、例えば、既定義線種コード1は実線、既定義線種コード2は点線などと、既定義線種コードにより線種が特定できるようになっている。なお、これら各線種はシステム側で予め定義されている線である。
既定義線種フィーチャはパラメータとして線種名を持ち、線種コードと線種名が対応付けられている。
【0023】
同様に、以下のフィーチャは幾何表記要素、構造化要素から参照されるテーブル要素であって、ユーザ定義線種フィーチャは、ユーザ定義線種コードとユーザが定義した線種を対応付けており、ユーザ定義線種コードを指定すると線種を特定することができる。
既定義色フィーチャは、既定義色コードとシステム側で予め設定された色を対応付けており、既定義色コードを指定すると色を特定することができる。色はパラメータで表されている。
ユーザ定義色フィーチャは、ユーザ定義色コードとユーザが定義した色とを対応付けており、ユーザ定義色コードを指定するとユーザが定義した色を特定することができる。色はパラメータで表されている。
線幅フィーチャは線幅コードと線幅を対応付けており、線幅コードを指定すると線幅を特定することができる。線幅は、パラメータで表されている。
文字フォントフィーチャは、文字フォントコードと文字フォントを対応付けており、文字フォントコードを指定すると文字フォントを特定することができる。文字フォントはパラメータにより表されている。
【0024】
幾何表記要素フィーチャ群は、基本的な幾何図形などを表現するフィーチャから構成されている。
幾何表記要素フィーチャ群を構成するフィーチャとしては、例えば、点マーカフィーチャ、線分フィーチャ、折れ線フィーチャ、円フィーチャ、円弧フィーチャ、楕円フィーチャ、楕円弧フィーチャ、文字フィーチャ、スプラインフィーチャなどがある。
以下に、点マーカフィーチャと線分フィーチャを用いて、幾何表記要素フィーチャ群を構成するフィーチャについて詳細に説明する。
【0025】
図3(a)は、点マーカフィーチャのデータ構成を示した図である。
なお、点マーカとは、座標位置をディスプレイ上に表示するために便宜的に図面上に打たれる点である。ディスプレイ上には表示されるが印刷はされない。例えば、ユーザが円を描き、作図の都合上、円の中心点の位置を表示しておきたい場合は、円の中心位置に点マーカを配置する。
仮想的な用紙上に配置された各マーカ点は、図に示したように、レイヤコード、色コード、配置点X座標、配置点Y座標、マーカコード、回転角、尺度などのパラメータにより特定される。
【0026】
レイヤコードは、この点マーカが配置されているレイヤのレイヤコードであり、レイヤコードをレイヤフィーチャのテーブル要素で参照することにより、この点マーカが配置されているレイヤを特定することができる。
色コードは、この点マーカの色を特定するコードであり、このコードを既定義色フィーチャ、又はユーザ定義色フィーチャで参照することにより、この点マーカの色を特定することができる。
配置点X座標、配置点Y座標は、この点マーカが配置されている位置のX座標値、Y座標値である。
【0027】
マーカコードは、マーカの形状を特定するコードであり、例えば、コード1はアスタリスク型、コード2は円型、コード3はドットなどと予めテーブルが用意されている。
回転角、尺度は、それぞれ点マーカが配置されている回転角、尺度を表している。
このように、CADデータに含まれる各点マーカフィーチャ(データ1、データ2、…)には、それぞれパラメータが設定されており、これらパラメータによって各点マーカフィーチャの属性(レイヤ、位置、形状、色など設計図面上での表現)が特定されるようになっている。
データ1、データ2、…の各データは、それぞれ図面上に表示される点マーカに対応し、それぞれが図面要素データを構成している。
【0028】
図3(b)は、線分フィーチャのデータ構成を示した図である。
線分フィーチャは、設計図面上に配置された線分に対応する。仮想的な用紙上に配置された線分フィーチャには、レイヤコード、色コード、線種コード、線幅コード、始点X座標、始点Y座標、終点X座標、終点Y座標などのパラメータが設定され、これらのパラメータにより各線分フィーチャの属性が特定される。
レイヤコードは、この線分フィーチャが配置されてるレイヤのコードでありレイヤフィーチャで規定されている。
色コードは、この線分フィーチャの色を特定するコードであり、既定義色フィーチャ、又はユーザ定義色フィーチャで規定されている。
【0029】
線種コードは、線分フィーチャの線種(実線、点線、…)を特定するコードであり、既定義線種フィーチャ、又はユーザ定義線種フィーチャで規定されている。
線幅コードは、線分フィーチャの線幅を特定するコードであり、線幅定義フィーチャで規定されている。
始点X座標、始点Y座標は、線分の始点のXY座標値であり、終点X座標、終点Y座標は、線分の終点のXY座標値である。
このように、CADデータに含まれる各線分フィーチャ(データ1、データ2、…)には、それぞれパラメータが設定されており、これらパラメータによって各線分フィーチャの属性が特定されるようになっている。
同様に、幾何表記フィーチャ群を構成する他の各フィーチャもパラメータにより属性が特定されるようになっている。
【0030】
図2に戻り、構造化要素フィーチャ群を構成する各フィーチャは、複数の幾何表既要素フィーチャで構成されるフィーチャで、複数のデータを特定の単位データとして扱えるように定義したフィーチャである。例えば、寸法線は、線分フィーチャや文字フィーチャなどが組み合わされて構成されている。
構造化要素フィーチャ群を構成するフィーチャには、複合図形定義フィーチャ、複合図形配置フィーチャ、既定義シンボルフィーチャ、直線寸法フィーチャ、角度寸法フィーチャ、半径寸法フィーチャ、直径寸法フィーチャ、引出線フィーチャ、バルーンフィーチャ、ハッチング(既定義)フィーチャ、ハッチング(塗り)フィーチャ、ハッチング(ユーザ定義)フィーチャ、ハッチング(パターン)フィーチャ、複合曲線定義フィーチャなどがある。
【0031】
複合図形定義フィーチャは、複合図形を定義するための要素である。複合図形とは、線分、円弧などの複数の幾何表記要素から構成される図名を1つの図形として定義したものである。パラメータとして複合図形名と複合図形種別フラグを持つ。このフィーチャは部分図などに用いられる。
複合図形配置フィーチャは、複合図形を配置する位置などを特定するための要素である。複合図形配置フィーチャは、パラメータとしてレイヤコード、複合図形名、XY座標値、回転角、X方向縮尺、Y方向縮尺などを持つ。
以下、同様に、既定義シンボルフィーチャは、システム側で定義されているシンボルを表す要素であり、パラメータにより、シンボルの種類や、配置位置、色などの属性が規定される。
【0032】
直線寸法フィーチャ、角度寸法フィーチャ、半径寸法フィーチャ、直径寸法フィーチャ、引出線フィーチャは、CADデータ中の各寸法線や引出線を表すフィーチャであり、各フィーチャに設定されたパラメータによりレイヤや配置位置、表示寸法値などが規定される。
バルーンフィーチャは、CADデータ中のバルーンを表すフィーチャであり、パラメータによりレイヤ、配置位置などが規定される。
ハッチング(既定義)フィーチャ、ハッチング(塗り)フィーチャ、ハッチング(ユーザ定義)フィーチャ、ハッチング(パターン)フィーチャは、それぞれハッチングを表すフィーチャであり、レイヤ、ハッチング領域、ハッチングが規定される。
複合曲線定義フィーチャは、複数の線分や円弧などで構成された曲線を1つの要素として表したものである。これもパラメータにより一義的に規定される。
【0033】
図4は、本実施の形態に係るCADデータ同一性検証システム1の機能的な構成の一例を示した図である。
なお、CADデータ同一性検証システム1は、後述するように、コンピュータでCADデータ同一性検証機能を発揮させるCADデータ同一性検証プログラムを実行することにより実現することができる。
CADデータ同一性検証システム1は、p21データに含まれるフィーチャとsfcデータに含まれるフィーチャをパラメータの比較をすることによりマッチングさせ、両データのフィーチャが1対1に対応するか否かを調べる。
上に説明したように、CADデータを構成する各フィーチャにより設計図面が規定されるため、p21データを構成するフィーチャとsfcデータを構成するフィーチャが1対1に対応した場合、両データから同じ設計図が再現できるので、両データは同一であると言えるのである。
【0034】
CADデータ同一性検証システム1は、CADファイル選択部25、sfcデータ読込部26、p21データ読込部27、データソート部28、データマッチング部29、結果出力部30などから構成されている。
CADファイル選択部25は、同一性を検証するファイルを選択する機能部である。
CADファイル選択部25を起動すると、記憶装置に格納されているCADデータファイルの一覧が表示され、ユーザがこれらのうち同一性を検証したいp21形式のファイル又はsfc形式のファイルを選択することができるようになっている。
また、CADファイル選択部25は、選択されたCADデータファイルの拡張子により、選択されたファイルがp21形式及びsfc形式の何れであるかを判別し、選択されたファイルのファイル形式に応じてsfcデータ読込部26又はp21データ読込部27を起動する。
【0035】
sfcデータ読込部26(CADデータ取得手段)は、CADファイル選択部25でsfc形式のファイルが選択された場合に、そのファイルからsfcデータを読み込んで記憶する。
p21データ読込部27(CADデータ取得手段)は、CADファイル選択部25でp21形式のファイルが選択された場合に、そのファイルからp21データを読み込んで記憶する。
【0036】
データソート部28(図面データ取得手段)は、sfcデータ読込部26で読み込んだsfcデータに含まれるフィーチャを配列(配列aとする)に格納(代入)すると共に、p21データ読込部27で読み込んだp21データに含まれるフィーチャを配列(配列bとする)に格納する。そして、フィーチャが複数の要素から構成されている場合(例えば、線分フィーチャは、一般にデータ1、データ2、…といったように複数のデータから構成されているので配列aの要素は複数存在する)、データソート部28は、データごとに配列a、bの要素に格納する。
【0037】
図5は、フィーチャを配列に格納する手順を説明するための図である。
sfcデータ35は、例えば家屋などの設計図面を構成するCADデータであり、表37に示したような各フィーチャから構成されている。データソート部28は、sfcデータ35を構成する各フィーチャを配列aに格納する。
配列aの各要素には、フィーチャを特定する情報とそのフィーチャに設定されたパラメータが格納される。なお、マッチングは、パラメータの一部か全部を用いて行うので、マッチングに必要なパラメータだけ配列a、bに格納してもよい。
また、用紙フィーチャのように、1つの要素から構成されるものは、1つの配列要素に格納され、点マーカフィーチャや線分フィーチャのように、複数のデータから構成されるものは、データごとにフィーチャ及びデータを特定する情報、及びそのデータに設定されたパラメータを格納する。
【0038】
同様に、p21データ40も表42に示したような各フィーチャから構成されている。データソート部28は、sfcデータ35と同様にして、p21データ40を構成する各フィーチャを配列bに代入する。
また、パラメータの構成は、フィーチャの種類ごとに異なるので、これらフィーチャの種類ごとに配列a、bの要素の型を定義しておいてもよい。
この場合、配列a、bとしてフィーチャの種類をクラスとする構造体を定義することになる。
【0039】
図4に戻り、データマッチング部29(対応付け手段、探索手段、判断手段)は、データソート部28から配列aと配列bを受け取り、これらのパラメータを比較して配列a、bの要素を対応付ける(マッチングする)。
対応付けは、フィーチャの種類ごとに行う。即ち、まず用紙フィーチャに関して配列a、bをマッチングし、一致したら次のフィーチャについて配列a、bをマッチングする。これを全ての配列a、bについて行う。
マッチングしない要素があった場合、その時点でマッチング処理を終了し、sfcデータとp21データは同一でないと判断する。
配列a、bの全ての要素が1対1にマッチングした場合、sfcデータとp21データは同一であると判断する。
【0040】
配列a、bの要素の一致を判断する基準は、フィーチャごとに設定されている。
例えば、点マーカフィーチャには7種類のパラメータが存在するが、これら全てのパラメータが一致した場合に配列a、bの要素が一致したと判断する。
また、線分フィーチャには8種類のパラメータが存在するが、これら全てのパラメータが一致した場合に、配列a、bの要素が一致したと判断する。
なお、パラメータの一致は、許容座標誤差範囲内の点の座標を同一とすることにより行う。
そのため、配列aに格納された点マーカフィーチャの座標値と、配列bに格納された点マーカフィーチャの座標値が、数値の上で異なっていても、その差異が許容座標誤差範囲内にある場合、同一の点マーカフィーチャとして判断される。
そのため、配列aのある要素に配列bの要素が対応する場合がでてくるが、この場合を処理するアルゴリズムについては後述する。
【0041】
図4に戻り、結果出力部30は、データマッチング部29のマッチング結果を用いて、sfcデータとp21データが同一であるか否かの判断結果を出力する。
【0042】
次に、配列aの1つの要素に対して配列bの複数の要素がマッチングする場合の処理について図6を用いて説明する。
まず、データソート部28は、配列aの要素をソートする。ソートの方法は、例えば点マーカフィーチャの場合は、X座標の小さい順にソートするなどとフィーチャごとに決められている。また、円フィーチャの場合は中心の座標、線分フィーチャの場合は始点の座標を用いるなどしてソートすることができる。
ソートした後、データマッチング部29は、配列aの要素のパラメータと配列bの要素のパラメータを比較することにより、配列aの各要素に対して対応する配列bの要素を特定していく。このようにして生成された対応関係は、例えば、図6の適合配列50のように表される。ここで、配列bの要素の重複を許して、配列a、bの要素を対応された組み合わせを適合配列と呼ぶことにする。
なお図6では、配列aの要素を区別するために、各要素をa(0)、a(1)、…などと表し、升目の中にその数字を記してある。配列bの要素に関しても同様である。
適合配列50では、a(0)に対してb(0)がマッチし、a(1)に対してはb(1)、b(2)が対応している。以下同様である。
【0043】
次に、このようにして生成された適合配列50から、配列a、bの要素を1対1に対応させる手順について説明する。
まず、a(0)にマッチするものはb(0)だけであるので、データマッチング部29では、a(0)はb(0)に対応するものとして仮確定し、仮確定配列55を生成する。
仮確定配列55では、a(0)にb(0)が対応しているが、他の配列aの要素に対しては、対応する配列bの要素が未確定となっている。ここで、配列a、bの要素を仮に1対1に組み合わせた組み合わせを仮確定配列と呼ぶことにする。仮確定配列は、後の更新処理により、組み合わせを解除される場合がある。
【0044】
次に、データマッチング部29は、a(1)に対応する配列bの要素を仮確定する。適合配列50において、a(1)にはb(1)、b(2)が対応しているが、このうちの何れかを仮確定する。ここでは、b(1)を仮確定するものとする。このようにしてデータマッチング部29は、仮確定配列55を仮確定配列56に更新する。
【0045】
次に、データマッチング部29は、a(2)に対応する配列bの要素を確定する。適合配列50で、a(2)にマッチしている配列bの要素はb(1)のみであるので、データマッチング部29は、a(2)に対してb(1)を仮確定し、仮確定配列56を仮確定配列57に更新する。しかし、ここでb(1)は、既にa(1)との対応関係が仮確定しているので、a(2)にb(1)を対応付けてしまうと、配列aと配列bの要素を1対1に対応付けることができない。そのため、データマッチング部29は、a(1)、a(2)の対応関係を解消し、一段階前の、a(1)の対応関係を仮確定する段階に戻る。
適合配列50で、a(1)に対応しているものは、b(1)の他にb(2)があるので、データマッチング部29は、a(1)に対してb(2)を対応付ける。このようにしてデータマッチング部29は、仮確定配列57を仮確定配列58に更新する。
【0046】
次に、データマッチング部29は、a(2)に対応する要素としてb(1)を対応付け、仮確定配列58を仮確定配列59に更新する。
次に、データマッチング部29は、a(3)にb(2)を対応付けるが、b(2)は既にa(1)に対応付けられているので、b(2)の仮確定を解消し、b(4)を仮確定する。そして、仮確定配列60が得られる。
以下、このようにデータマッチング部29は配列a、bの要素を順に対応付けていき、矛盾が生じた場合は、前の段階に戻って新たな対応関係を探索する。この処理を再帰的に繰り返すと、配列a、bの要素が1対1に対応する場合は、最後の要素であるa(n)まで対応関係が1対1に決めることができ、確定配列65が得られる。ここで、配列a、bの要素が1対1に対応付けられる配列a、bの要素の組み合わせを確定配列と呼ぶことにする。
【0047】
また、1対1に対応しない場合は、a(0)に対応する配列bの要素を決定する段階まで処理が戻り、適合配列50でa(0)に対応している配列bの要素の中で、矛盾無くa(0)に対応する配列bの要素を見いだすことができないことになる。システム的にはa(0)の前の段階のa(−1)に処理を戻ろうとする。
以上の手順により、配列a、bの要素を1対1に対応させる組み合わせを総当たり的に探索することにより、そのフィーチャに関してCADデータが一致するか否かを検証することができる。
【0048】
以上の組み合わせの探索は、図7に示した数学的なモデルで表すことができる。
即ち、0からnまでの番号を付した容器を1つずつ用意し、その中に、0からnまでの番号を付したボールを単数又は複数入れる。ボールの番号は複数の容器に渡って重複していてもよい。
そして、各容器から1つずつボールを取り出し一列に並べ、しかも番号が重複しないような容器と取り出したボールの組み合わせを探索する。
ここで、容器は配列aの要素に対応し、ボールは配列bの要素に対応する。ボールを並べる順列を総当たり的に探索し(即ち、所望の順列が見つかるまで全ての順列を試みる)、番号が重複しないような組み合わせがあった場合、容器とボールは1対1に対応付けられ、番号が重複しないような組み合わせが無かった場合、容器とボールは1対1に対応付けられなかったことになる。
【0049】
次に、CADデータ同一性検証システム1の詳細なデータ処理手順をフローチャートを用いて説明する。
図8は、CADデータ同一性検証システム1が行うマッチング処理手順を示したフローチャートである。
まずCADファイル選択部25でsfc形式のファイルを読み込む(ステップ5)。
次に、sfcデータ読込部26でこのsfc形式のファイルからsfcデータを読み込み、フィーチャを配列aに格納する(ステップ10)。
次に、CADファイル選択部25でp21形式のファイルを読み込み(ステップ15)、p21データ読込部27がフィーチャを配列bに格納する(ステップ20)。そして、データソート部28が、各フィーチャに対して配列aをソートする。
次に、データマッチング部29がフィーチャをカウントするためのカウンタkを0に初期化する(ステップ25)。
【0050】
フィーチャには、例えば、用紙フィーチャはk=0、レイヤフィーチャはk=1、・・・などと、番号でフィーチャの種類を特定することができるようになっている。
次に、データマッチング部29がk番目のフィーチャに対して配列a、bの要素をマッチング処理する(ステップ30)。この処理の手順は後に示す。
なお、k番目のフィーチャに対応する配列a、bが存在しない場合は(例えば、楕円フィーチャを用いないで作成されたCADデータには、楕円フィーチャに対応する配列a、bは存在しない)、配列a、bの要素がマッチしたものとして処理する。
配列a、bの要素が1対1にマッチしなかった場合(ステップ35;N)、sfcデータとp21データは同一でないと判断し(ステップ55)、CADデータ同一性検証システム1は、処理を終了する。
【0051】
配列a、bの要素が1対1にマッチした場合は(ステップ35;Y)、kに1をインクリメントする(ステップ40)。次に、データマッチング部29は、kがM未満か否かを判断する(ステップ45)。ここで、Mは全てのフィーチャの数である。
kがM未満でない場合(即ち、kがM以上の場合)(ステップ45;N)、全てのフィーチャに対して配列a、bのマッチングが成功したことになり、データマッチング部29は、sfcデータとp21データが同一であると判断し(ステップ50)、処理を終了する。
kがM未満である場合は(ステップ45;Y)、まだマッチング処理していないフィーチャが存在するため、データマッチング部29は、ステップ30の処理に戻る。
【0052】
図9は、ステップ30(図8)のマッチング処理の手順を示したフローチャートである。
この処理は、適合配列(図6)から確定配列を探索する作業である。
まず、データマッチング部29は、配列a、bの要素の数を確認する(ステップ105)。
配列の要素の数が同じでない場合(ステップ110;N)、配列a、bの要素は1対1に対応しないので、データマッチング部29は不適合(マッチしない)と判断し(ステップ145)、ステップ30(図8)にリターンする。
配列の要素の数が同じであった場合(ステップ110;Y)、データマッチング部29は、パラメータを比較することにより、配列aの各要素に配列bを対応付ける(ステップ115)。その結果、図6に示したような適合配列が得られる。
次に、データマッチング部29は、配列aの全ての要素に、配列bの要素が少なくとも1つは対応付けられているか確認する(ステップ120)。配列bの要素が1つも対応付けられていない配列aの要素があった場合(ステップ120;N)、配列a、bの要素を1対1に対応付けることはできないので、データマッチング部29は、不適合と判断し(ステップ145)、ステップ30(図8)にリターンする。
【0053】
配列aの全ての要素に、配列bの要素が少なくとも1つは対応付けられていた場合(ステップ120;Y)、データマッチング部29は、配列bの各要素に対しても、少なくとも1つは、配列aの要素が対応付けられているか確認する(ステップ125)。
配列aの要素が1つも対応付けられていない配列bの要素があった場合(ステップ125;N)、データマッチング部29は、不適合と判断し(ステップ145)、ステップ30にリターンする。
配列bの全ての要素に対して少なくとも1つは配列aの要素が対応付けられていた場合(ステップ125;Y)、ステップ130で配列要素のマッチング処理を行う(ステップ130)。この処理については後に図10のフローチャートを用いて説明する。この処理で配列a、bの要素が1対1に対応付けられた場合、図6に示したような確定配列が得られる。
マッチング処理の結果、配列a、bの要素が1対1に対応付けられた場合(ステップ135;Y)、適合と判断し(即ち、マッチすると判断し)(ステップ140)、処理をステップ30(図8)にリターンする。
一方、配列a、bの要素が1対1に対応付けられなかった場合(ステップ135;N)、不適合と判断し(ステップ145)、処理をステップ30にリターンする。
【0054】
図10は、ステップ130(図9)のマッチング処理の手順を示したフローチャートである。この処理で行う作業は、図6において仮確定配列を更新する作業である。
まず、データマッチング部29は、カウンタiを0に初期化する。
次に、データマッチング部29は、配列aの要素のうち、a(i)に関して、a(i)に対応付けられた配列bの要素のうち、未確定のもの(即ち仮確定されていないもの)があるか確認する(ステップ210)。
配列bの要素のうち、未確定のものがあった場合(ステップ210;Y)、その中から配列bの要素を選択して仮確定し、この配列bの要素をa(i)に対応付ける(ステップ215)。
【0055】
次に、データマッチング部29は、iに1を加えてインクリメントする(ステップ225)。
次に、データマッチング部29は、iがNより大きいか判断する(ステップ230)。ここで、Nは、配列a及び配列bの要素の個数である。
iがNより大きくない場合(iがN以下の場合)は(ステップ230;N)、まだ配列bの要素が対応付けられていない配列aの要素があるので、データマッチング部29は、処理をステップ210に戻す。
iがNより大きい場合(ステップ230;Y)、配列aの全ての要素に対して配列bの要素が対応付けられたので、データマッチング部29は、マッチング成功と判断し(ステップ235)、処理をステップ130(図9)にリターンする。
【0056】
また、ステップ210において、a(i)に対応付けられた配列bの要素のうち、未確定のものが無い場合は(ステップ210;N)、データマッチング部29は、iから1を減算してデクリメントする(ステップ245)。
そして、データマッチング部29は、iが負か否か(より詳細にはiから1を減算した結果−1になったか否か)を確認する(ステップ250)。
iが負であった場合(ステップ250;Y)、データマッチング部29は、マッチング不成功と判断し(ステップ260)、処理をステップ130(図9)にリターンする。
【0057】
iが負でない場合(ステップ250;N)、データマッチング部29は、a(i)にマッチした配列bの要素のうち、一度も仮確定したことの無いものがあるか否かを確認する(ステップ225)。一度も仮確定したことの無いものがある場合(ステップ255;Y)、データマッチング部29は、処理をステップ215に戻し、その中から配列bの要素を選択して仮確定する。
一度も仮確定したことの無い配列bの要素が無い場合(ステップ255;N)、データマッチング部29は、a(i)で仮確定している配列bの要素の仮確定状態を解除し(ステップ240)、処理をステップ245に戻す。
【0058】
以上に、sfcデータとp21データの同一性の判断手順について説明したが、これは一例であって種々の変形が可能である。
例えば、本実施の形態では、配列aをソートして、これに配列bの要素を対応付けたが、逆に配列bをソートしておき、これに配列aの要素を対応付けるように構成することもできる。
また、本実施の形態では、フィーチャを配列に格納して、配列の要素単位でマッチングしたが、マッチングするためにはフィーチャのパラメータを比較することができればよく、必ずしも配列を使用する必要は無い。
【0059】
図11は、CADデータ同一性検証システム1のハードウェア的な構成の一例を示した図である。
CADデータ同一性検証システム1は、制御部76にバスライン77を介して入力部82、出力部83、通信制御部84、記憶部85、記憶媒体駆動部88、入出力I/F(インターフェース)89などが接続して構成されている。
【0060】
制御部76は、sfc形式のファイル、p21形式のファイルを開いて、それぞれsfcデータ、p21データを読み込んだり、フィーチャを配列に格納したり、配列の要素のマッチング処理を行ったりする他、CADデータ同一性検証システム1全体の制御などを行う。
制御部76は、CPU(Central Processing Unit)78、ROM(Read Only Memory)80、RAM(Random Access Memory)81などから構成されている。
【0061】
CPU78は、所定のプログラムに従って、情報処理やCADデータ同一性検証システム1の制御を行ったりする。CPU78は、レジスタと呼ばれる記憶部を有しており、このレジスタにROM80やRAM81などからプログラムを読み込んで、このプログラムに従って動作することにより制御部76の各種機能が発揮される。
【0062】
ROM80は、CPU78が各種演算や制御を行うための各種プログラム、データ及びパラメータなどを格納したリードオンリーメモリである。CPU78は、ROM80からプログラムやデータ、パラメータなどを読み込むことはできるが、これらを書き換えたり消去することは行わない。
【0063】
RAM81は、CPU78にワーキングメモリとして使用されるランダムアクセスメモリである。CPU78は、RAM81にプログラムやデータなどを書き込んだり消去したりすることができる。本実施の形態では、RAM81には、sfc形式のファイル、p21形式のファイルを用いて入力されたsfcデータ、p21データを記憶したり、配列a、bを記憶したり、あるいは、適合配列、仮確定配列、確定配列(図6)を記憶したりなどし、sfcデータとp21データの同一性を検証するためのエリアが確保可能となっている。
【0064】
入力部82は、例えばキーボードやマウスなどの入力装置から構成されている。入力部82は、CADデータ同一性検証システム1に対して文字や数字などの各種データを入力するための装置であり、ユーザがCADデータ同一性検証システム1にコマンドを入力したり、同一性を検証するファイルを選択したりなど、CADデータ同一性検証システム1に対して所定の入力操作を行う際に使用する。
キーボードは、カナや英文字などを入力するためのキーや数字を入力するためのテンキー、各種機能キー、カーソルキー及びその他のキーによって構成されている。
【0065】
マウスは、ポインティングデバイスである。GUI(Graphical User Interface)などを用いてCADデータ同一性検証システム1を操作する場合、表示装置上に表示されたボタンやアイコンなどをマウスでクリックすることにより、所定の情報の入力を行うことができる。
【0066】
出力部83は、例えば表示装置、印刷装置などから構成されており、CADデータ同一性検証システム1が検証した検証結果を出力する際に使用する。
表示装置は、例えば例えばCRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、プラズマディスプレイなどで構成された情報を画面上に提示するための装置である。
表示装置には、同一性を検証するファイルを選択するためのファイル選択画面や、検証結果を表示する結果表示画面などが表示される。
印刷装置は、例えば、インクジェットプリンタ、レーザプリンタ、熱転写プリンタ、ドットプリンタなどの各種プリンタ装置によって構成されている。
【0067】
通信制御部84は、CADデータ同一性検証システム1をインターネットなどのネットワークに接続するための装置であって、モデム、ターミナルアダプタ、その他の接続装置によって構成されている。
CADデータ同一性検証システム1は、通信制御部84を用いて、外部の端末やサーバにアクセスすることが可能である。
そのため、他のコンピュータに格納されているCADデータを通信制御部84を介して受信し、これに対して同一性を検証することもできる。
【0068】
記憶部85は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置によって構成されている。当該記憶媒体として主にハードディスクが使用されるが、その他に、例えば、光磁気ディスク、磁気ディスク、半導体メモリなどの他の読み書き可能な記憶媒体によって構成することも可能である。
【0069】
記憶部85には、プログラム格納部86、データ格納部87などが形成されており、それぞれ、プログラム、データが格納されている。
プログラム格納部86には、CADデータ同一性検証システム1にCADデータ同一性検証機能を発揮させるためのCADデータ同一性検証プログラムや、メモリ管理や入出力管理などCADデータ同一性検証システム1を動作させるための基本的なプログラムであるOS(Operating System)、通信制御部84を制御する通信プログラム、その他の各種プログラムが記憶されている。
また、プログラム格納部86には、sfcデータ、p21データを操作するためのツール群がライブラリ(共通ライブラリと呼ばれる)として格納されており、CADデータ同一性検証システム1は、共通ライブラリを利用してsfcデータ、p21データの読み込みその他の処理を行う。
データ格納部87には、同一性を検証するためのsfc形式のファイル、p21形式のファイルなどのCADデータが格納されている。
【0070】
記憶媒体駆動部88は、着脱可能な記憶媒体を駆動してデータの読み書きを行うための駆動装置である。着脱可能な記憶媒体としては、例えば、光磁気ディスク、磁気ディスク、磁気テープ、半導体メモリ、データをパンチした紙テープ、CD−ROMなどがある。なお、CD−ROMや紙テープは、読み込みのみ可能である。
記憶媒体駆動部86から、記憶媒体に記憶されたCADデータを読み込んで同一性を判断することもできる。
【0071】
入出力I/F89は、例えば、シリアルインターフェースやその他の規格のインターフェースにより構成されている。入出力I/F89に当該インターフェースに対応した外部機器を接続することにより、CADデータ同一性検証システム1の機能を拡張することができる。
【0072】
本実施の形態のCADデータ同一性検証システム1を適用した電子納品システムの一例について説明する。
この電子納品システムは、公共事業などの発注元に電子納品されたCADデータを、他のファイル形式で出力されたCADデータとの同一性を検証することにより、電子納品されたCADデータが変更・改竄されたかどうかを確認するものである。
図12は、電子納品システム101のシステム構成の一例を示した図である。
電子納品システム101は、受注者端末103、発注者端末104、sfcサーバ102がネットワークにより接続されて構成されている。このネットワークは例えば、インターネットを用いることができる。
【0073】
受注者端末103は、CADデータをネットワークを介して送信して電子納品するための端末であって、例えばパーソナルコンピュータにより構成されている。
受注者端末103は、記憶装置から電子納品に係るsfcデータとp21データを読み取り、別経路で発注者端末104に送信することができる。
また、受注者端末103は、発注者端末104に電子納品したsfcデータを、sfcサーバ102にもアップロードする。
なお、電子納品で基準となるCADデータはp21データであり、sfcデータは同一性検証用に送信するものである。
【0074】
発注者端末104は、受注者端末103から電子納品されたsfcデータとp21データを受信する端末である。
また、発注者端末104は、sfcサーバ102にアクセスして、受注者端末103がsfcサーバ102にアップロードしたsfcデータを参照することができる。
また、発注者端末104は、CADデータ同一性検証システム1を備えている。
sfcサーバ102は、受注者端末103から受信したsfcデータを保管すると共に、発注者端末104から要求があった場合、このsfcデータを発注者端末104のダウンロードする。
【0075】
以上のように構成された電子納品システム101で、発注者端末104は、受注者端末103から送信されてきたsfcデータとp21データの同一性を確認することができる。
これらデータの少なくとも一方が、受注者端末103から発注者端末104に送信される過程で改竄されたり、データが壊れたりして、送信時から変化した場合、発注者端末104は、受信したsfcデータとp21データが一致しないことを確認してこれを検証することができる。
受注者端末103から発注者端末104にCADデータが送信される過程でこれを改竄する場合、改竄者は異なる経路を通って発注者端末104に送信される、形式の異なる2つのCADデータを同様に改竄する必要がある。そのため、改竄が困難になり、電子納品システム101は、改竄抑制効果を発揮することができる。
【0076】
更に、発注者端末104は、sfcサーバ102から受注者端末103がアップロードしたsfcデータをダウンロードして、p21データとの同一性を検証することにより、電子納品されたp21データが受注者端末103から送信されたオリジナルなものと同一であることをより確かにすることができる。
【0077】
以上に説明した電子納品システム101は、CADデータとしてp21データ、sfcデータの双方を扱い、公共事業などの公的機関への電子納品に対応している。
電子納品システム101は、設計、施工、積算、維持管理といった製品のライフサイクル全般に渡って利用することができる。
例えば、発注者がp21データを管理し、受注者がsfcデータを用いて橋梁の修理を行う場合を考える。修理作業の開始前と開始後にsfcデータとp21データの同一性を確認することにより、修理業務中にsfcデータが改竄・変更されていないか確認することができる。この場合、ファイル形式が異なるので、どちらがオリジナルのCADデータであるか容易に判別することができる。
【0078】
この他に、CADデータ同一性検証システム1の適用例として、図面改訂管理に用いることもできる。
sfcデータとp21データなど、複数のファイル形式に係るCADデータが混在する場合、例えば、品質管理用に図庫で保管しているCADデータと、設計現場で利用しているCADデータのファイル形式が異なることがあり得る。
そして、設計現場で図面改訂を行った場合、これに対応して図庫のCADデータも更新する必要があるが、必ずしも更新されていない場合がある。
この場合、CADデータ同一性検証システム1を用いることにより、設計現場での最新のCAD図面データと、図庫に保管されているCAD図面データが同一であるか否かを判断することができる。
【0079】
以上、本発明の1実施形態について説明したが、本発明は説明した実施形態に限定されるものではなく、各請求項に記載した範囲において各種の変形を行うことが可能である。
例えば、本実施の形態では、CADデータのファイル形式としてp21形式、sfc形式を用いるが、これはファイル形式を限定するものではなく、例えば、A社のCADが採用しているファイル形式とB社のCADが採用しているファイル形式といったように、異なるファイル形式に係るCADデータ間の比較を行うことができる。
即ち、ファイル形式に関わらず、図面要素単位でパラメータが比較できればCADデータ同一性検証システム1で同一性を検証することができる。
【0080】
また、例えば、2つのp21データ、あるいは2つのsfcデータを比較するといったように、同一のファイル形式のCADデータを比較することもできる。
この場合、例えば、第1のp21データの図面要素データを配列aに格納し、第2のp21データの図面要素データを配列bに格納し、配列a、bの要素を対応付ける。
なお、同じ設計図面を同じファイル形式によるCADデータで保存した場合、同じファイル形式のCADデータであるにも関わらず内部構造が異なる場合があるので、異なるファイル形式のCADデータの同一性を検証する場合と、同じファイル形式のCADデータの同一性を検証する場合で、難易度は同程度である。
【0081】
同一性の判別が必要とされる具体的な状況としては、例えば、次の場合がある。
(1)同一の図面のCADデータを同一のCAD装置からsfc形式とp21形式で出力し、両者を比較する場合。
(2)同一の図面のCADデータをあるCAD装置からsfc形式で出力し、他のCAD装置からp21形式形式で出力し、両者を比較する場合。
(3)同一の図面のCADデータをあるCAD装置からsfc形式で出力し、他のCAD装置からもsfc形式で出力し、両者を比較する場合。
(4)同一の図面のCADデータをあるCAD装置からp21形式で出力し、他のCAD装置からp21形式で出力し、両者を比較する場合。
【0082】
【発明の効果】
本発明によれば、ファイル形式の異なるCADデータの同一性を検証することができる。
【図面の簡単な説明】
【図1】CADで描かれた設計図面の構成を説明するための概念図である。
【図2】フィーチャの構成を説明するための図である。
【図3】幾何表記要素フィーチャのデータ構成を説明するための図である。
【図4】本実施の形態に係るCADデータ同一性検証システム1の機能的な構成の一例を示した図である。
【図5】フィーチャを配列に代入する手順を説明するための図である。
【図6】配列aの1つの要素に対して配列bの複数の要素がマッチングする場合の処理について説明するための図である。
【図7】組み合わせの探索の数学的なモデルを説明するための図である。
【図8】マッチング処理の手順を示したフローチャートである。
【図9】ステップ30のマッチング処理の手順を示したフローチャートである。
【図10】ステップ130のマッチング処理の手順を説明するためのフローチャートである。
【図11】CADデータ同一性検証システムのハードウェア的な構成の一例を示した図である。
【図12】電子納品システム101のシステム構成の一例を示した図である。
【符号の説明】
1 CADデータ同一性検証システム
25 CADファイル選択部
26 sfcデータ読込部
27 p21データ読込部
28 データソート部
29 データマッチング部
30 結果出力部30
101 電子納品システム
102 sfcサーバ
103 受注者端末
104 発注者端末
Claims (6)
- CAD図面上での属性を特定するパラメータが付属した図面要素データを用いて構成されたCADデータの同一性を検証するCADデータ同一性検証装置であって、
第1のCADデータと、第2のCADデータを取得するCADデータ取得手段と、
前記取得した第1のCADデータ、及び第2のCADデータから、図面要素データをパラメータが比較可能な状態で取得する図面データ取得手段と、
座標値に関するパラメータについて所定の誤差の範囲内での一致を比較することにより、前記取得した第1のCADデータの図面要素データに、前記取得した第2のCADデータの図面要素データを重複を許して対応付ける対応付け手段と、
前記対応付け手段による重複の範囲の中で前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データとの組み合わせを更新しながら、前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データが1対1に対応するような、前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データの組み合わせを探索する探索手段と、
前記探索手段で、前記第1のCADデータの図面要素データと、前記第2のCADデータの図面要素データが1対1に対応した場合に、前記第1のCADデータと前記第2のCADデータが同一であると判断し、前記第2のCADデータの図面要素データが1対1に対応しなかった場合に、前記第1のCADデータと前記第2のCADデータが同一でないと判断する判断手段と、
を具備したことを特徴とするCADデータ同一性検証装置。 - 前記対応付け手段は、座標値に関するパラメータ以外のパラメータに関しては、全て一致する場合に、前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素を対応付けることを特徴とする請求項1に記載のCADデータ同一性検証装置。
- 前記対応付け手段で対応付けを行った結果、前記第2のCADデータの図面要素データが対応しない前記第1のCADデータの図面要素データが存在するか、又は、前記第1のCADデータの図面要素データが対応しない前記第2のCADデータの図面要素データが存在する場合、前記探索手段は探索を行わず、前記判断手段は、前記第1のCADデータと前記第2のCADデータが同一でないと判断することを特徴とする請求項1、又は請求項2に記載のCADデータ同一性検証装置。
- 前記対応付け手段は、前記図面要素データの対応付け処理を、対応する図面要素の種類ごとに行うことを特徴とする請求項1、請求項2、又は請求項3に記載のCADデータ同一性検証装置。
- CAD図面上での属性を特定するパラメータが付属した図面要素データを用いて構成されたCADデータの同一性を検証するCADデータ同一性検証方法であって、
CADデータ取得手段と、図面データ取得手段と、対応付け手段と、探索手段と、判断手段と、を備えたコンピュータにおいて、
第1のCADデータと、第2のCADデータを前記CADデータ取得手段で取得するCADデータ取得ステップと、
前記図面データ取得手段で、前記取得した第1のCADデータ、及び第2のCADデータから、図面要素データをパラメータが比較可能な状態で取得する図面データ取得ステップと、
座標値に関するパラメータについて所定の誤差の範囲内での一致を比較することにより、前記取得した第1のCADデータの図面要素データに、前記取得した第2のCADデータの図面要素データを前記対応付け手段で重複を許して対応付ける対応付けステップと、
前記対応付け手段による重複の範囲の中で前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データとの組み合わせを更新しながら、前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データが1対1に対応するような、前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データの組み合わせを前記探索手段で探索する探索ステップと、
前記探索手段で、前記第1のCADデータの図面要素データと、前記第2のCADデータの図面要素データが1対1に対応した場合に、前記第1のCADデータと前記第2のCADデータが同一であると前記判断手段で判断し、前記第2のCADデータの図面要素データが1対1に対応しなかった場合に、前記第1のCADデータと前記第2のCADデータが同一でないと前記判断手段で判断する判断ステップと、
から構成されたことを特徴とするCADデータ同一性検証方法。 - CAD図面上での属性を特定するパラメータが付属した図面要素データを用いて構成されたCADデータの同一性を検証するCADデータ同一性検証機能をコンピュータで実現するためのCADデータ同一性検証プログラムであって、
第1のCADデータと、第2のCADデータを取得するCADデータ取得機能と、
前記取得した第1のCADデータ、及び第2のCADデータから、図面要素データをパラメータが比較可能な状態で取得する図面データ取得機能と、
座標値に関するパラメータについて所定の誤差の範囲内での一致を比較することにより、前記取得した第1のCADデータの図面要素データに、前記取得した第2のCADデータの図面要素データを重複を許して対応付ける対応付け機能と、
前記対応付け機能による重複の範囲の中で前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データとの組み合わせを更新しながら、前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データが1対1に対応するような、前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素データの組み合わせを探索する探索機能と、
前記探索機能で、前記第1のCADデータの図面要素データと、前記第2のCADデータの図面要素データが1対1に対応した場合に、前記第1のCADデータと前記第2のCADデータが同一であると判断し、前記第2のCADデータの図面要素データが1対1に対応しなかった場合に、前記第1のCADデータと前記第2のCADデータが同一でないと判断する判断機能と、
をコンピュータで実現するためのCADデータ同一性検証プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003050334A JP4139249B2 (ja) | 2003-02-27 | 2003-02-27 | Cadデータ同一性検証装置、cadデータ同一性検証方法、及びcadデータ同一性検証プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003050334A JP4139249B2 (ja) | 2003-02-27 | 2003-02-27 | Cadデータ同一性検証装置、cadデータ同一性検証方法、及びcadデータ同一性検証プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004259087A true JP2004259087A (ja) | 2004-09-16 |
JP4139249B2 JP4139249B2 (ja) | 2008-08-27 |
Family
ID=33115775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003050334A Expired - Fee Related JP4139249B2 (ja) | 2003-02-27 | 2003-02-27 | Cadデータ同一性検証装置、cadデータ同一性検証方法、及びcadデータ同一性検証プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4139249B2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007193578A (ja) * | 2006-01-19 | 2007-08-02 | Shigenori Tanaka | Cadデータ同一性検証装置、cadデータ同一性検証方法、及びcadデータ同一性検証プログラム |
JP2007206956A (ja) * | 2006-02-01 | 2007-08-16 | Shigenori Tanaka | Cadデータ同一性保証サーバ装置、cadデータ同一性保証方法 |
JP2007328758A (ja) * | 2006-05-10 | 2007-12-20 | Sharp Corp | 設計支援装置 |
JP2008009806A (ja) * | 2006-06-30 | 2008-01-17 | Fujitsu Ltd | Camシステム及びその方法 |
CN100419769C (zh) * | 2005-08-16 | 2008-09-17 | 鸿富锦精密工业(深圳)有限公司 | 图元属性的管理系统及方法 |
CN102112988A (zh) * | 2008-06-10 | 2011-06-29 | 绿洲模具公司 | 用于针对生产工作流的芯片设计中的单元完整性、改变和起点的独立评估的方法和设备 |
US8495054B2 (en) | 2011-02-07 | 2013-07-23 | Mitsubishi Electric Corporation | Logic diagram search device |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631781A (zh) * | 2012-08-21 | 2014-03-12 | 鸿富锦精密工业(深圳)有限公司 | 元件符号验证系统及方法 |
-
2003
- 2003-02-27 JP JP2003050334A patent/JP4139249B2/ja not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100419769C (zh) * | 2005-08-16 | 2008-09-17 | 鸿富锦精密工业(深圳)有限公司 | 图元属性的管理系统及方法 |
JP2007193578A (ja) * | 2006-01-19 | 2007-08-02 | Shigenori Tanaka | Cadデータ同一性検証装置、cadデータ同一性検証方法、及びcadデータ同一性検証プログラム |
JP2007206956A (ja) * | 2006-02-01 | 2007-08-16 | Shigenori Tanaka | Cadデータ同一性保証サーバ装置、cadデータ同一性保証方法 |
JP2007328758A (ja) * | 2006-05-10 | 2007-12-20 | Sharp Corp | 設計支援装置 |
JP2008009806A (ja) * | 2006-06-30 | 2008-01-17 | Fujitsu Ltd | Camシステム及びその方法 |
CN102112988A (zh) * | 2008-06-10 | 2011-06-29 | 绿洲模具公司 | 用于针对生产工作流的芯片设计中的单元完整性、改变和起点的独立评估的方法和设备 |
JP2011525276A (ja) * | 2008-06-10 | 2011-09-15 | オアシス ツーリング, インク. | 製造ワークフローの為のチップデザインにおけるセルの整合性、変更、由来を独立評価する方法、及び、装置 |
US8495054B2 (en) | 2011-02-07 | 2013-07-23 | Mitsubishi Electric Corporation | Logic diagram search device |
Also Published As
Publication number | Publication date |
---|---|
JP4139249B2 (ja) | 2008-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102473186B (zh) | 标记多个数字图像的系统和方法 | |
US6289254B1 (en) | Parts selection apparatus and parts selection system with CAD function | |
US8106903B2 (en) | System and method for visually representing a project using graphic elements | |
US20040193602A1 (en) | Method and system for maintenance of engineering change data | |
CN112035667A (zh) | 一种知识图谱展示方法、装置及终端设备 | |
US20080109780A1 (en) | Method of and apparatus for optimal placement and validation of i/o blocks within an asic | |
WO2008105611A1 (en) | Database auto-building method for link of search data in gis system using cad drawings | |
JP2016081185A (ja) | 情報処理装置及び情報処理プログラム | |
KR101797980B1 (ko) | 부품 변경 검증 및 이력 관리를 위한 사용자 인터페이스 생성장치 및 방법 | |
CN111736836B (zh) | 基于关系图的组件配置方法、装置及计算机可读存储介质 | |
JP4139249B2 (ja) | Cadデータ同一性検証装置、cadデータ同一性検証方法、及びcadデータ同一性検証プログラム | |
JP3434038B2 (ja) | ネットワ−ク構築支援システム | |
JP2016051421A (ja) | 情報管理装置並びにファイル管理方法 | |
JP6610745B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP2006227988A (ja) | Cad装置、及びcadプログラム | |
JP2005085077A (ja) | Cadデータ変換装置、cadデータ変換方法、及びcadデータ変換プログラム | |
JP4948843B2 (ja) | Cadデータ同一性保証サーバ装置、cadデータ同一性保証方法 | |
JPWO2017043664A1 (ja) | 情報管理装置並びにファイル管理方法 | |
JP2018092344A (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
JP2008033555A (ja) | 集積回路設計支援プログラム、集積回路設計支援装置及び集積回路設計支援方法 | |
JP3449101B2 (ja) | 機器設計支援システム | |
JP4860272B2 (ja) | Cadデータ同一性検証装置 | |
JP7298413B2 (ja) | 操作画面作成装置、操作画面作成方法及びプログラム | |
JPH08180110A (ja) | 業務プロセス定義方法 | |
EP1804174A2 (en) | Data-generation supporting system, data-generation supporting apparatus, and computer program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060124 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20061206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20061206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080129 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080331 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080520 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080606 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4139249 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20170613 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20170613 Year of fee payment: 9 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20170613 Year of fee payment: 9 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |