JP4139249B2 - CAD data identity verification apparatus, CAD data identity verification method, and CAD data identity verification program - Google Patents

CAD data identity verification apparatus, CAD data identity verification method, and CAD data identity verification program Download PDF

Info

Publication number
JP4139249B2
JP4139249B2 JP2003050334A JP2003050334A JP4139249B2 JP 4139249 B2 JP4139249 B2 JP 4139249B2 JP 2003050334 A JP2003050334 A JP 2003050334A JP 2003050334 A JP2003050334 A JP 2003050334A JP 4139249 B2 JP4139249 B2 JP 4139249B2
Authority
JP
Japan
Prior art keywords
data
cad data
cad
drawing element
identity verification
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.)
Expired - Fee Related
Application number
JP2003050334A
Other languages
Japanese (ja)
Other versions
JP2004259087A (en
Inventor
成典 田中
均 古田
佳孝 南
悦司 北川
敏之 杉町
大祐 其阿彌
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Holdings Ltd
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 Fuji Electric Holdings Ltd filed Critical Fuji Electric Holdings Ltd
Priority to JP2003050334A priority Critical patent/JP4139249B2/en
Publication of JP2004259087A publication Critical patent/JP2004259087A/en
Application granted granted Critical
Publication of JP4139249B2 publication Critical patent/JP4139249B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は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データから、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データから、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データから、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 発注者端末
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a CAD data identity verification device and the like, for example, relates to an apparatus for verifying the identity of CAD data configured in the sfc format and CAD data configured in the p21 format.
[0002]
[Prior art]
With the rapid development of computers in recent years, the creation of design drawings that have been performed manually using a drafter or the like has been carried out using CAD (Computer Aided Design).
CAD is a design support technology using a computer, and drawing can be performed on a display using an input device such as a mouse, a tablet, or a keyboard.
A coordinate system is set on the display, and the user arranges various drawing elements such as points, straight lines, and circles on the coordinate system and creates a design drawing.
CAD offers a variety of products from general-purpose products to those specialized in specific fields such as architectural, mechanical design, and electronic circuit design. Select and use.
[0003]
A CAD device that supports design work using these CADs outputs the created design drawing as CAD data. There are various file formats of the output CAD data, and there are cases where there is no compatibility between different file formats. In this case, in order to use a file created by a certain CAD device with another CAD, the file format is converted.
Some CAD devices can output CAD data in a plurality of file formats, and the user can select a file format.
In this way, there may be a plurality of file format CAD data for the same design drawing.
[0004]
By the way, in normal CAD, a coordinate range (hereinafter referred to as an allowable coordinate error range) that is regarded as the same point is set, and points included in this range are processed as the same point. This is to absorb an error or the like caused by numerical calculation and to make the design drawing consistent.
Therefore, even in the same drawing element drawn on the same design drawing, the coordinate value may differ within the allowable coordinate error range depending on the file format to be output.
As an invention for processing CAD data related to a plurality of file formats, there is the following drawing editing apparatus.
[0005]
[Patent Document 1]
JP 11-031167 A
[0006]
This apparatus can edit CAD data relating to different file formats (file formats) as they are. Therefore, there is no need to convert various file formats into a single intermediate format, and CAD data deterioration (caused by data loss, etc.) that occurs with the conversion is prevented.
[0007]
[Problems to be solved by the invention]
As described above, CAD data of the same design drawing may exist in a plurality of file formats.
In such a case, there is a case where it is desired to confirm whether CAD data of these different file formats constitute the same design drawing.
Examples of such cases include the following.
Assume that a contractor of a public project electronically delivers a design drawing to the orderer with the first CAD data output in the first file format. Further, it is assumed that the contractor has stored the second CAD data obtained by outputting the same design drawing in the second file format as an original drawing.
In this case, the orderer verifies the identity of the submitted first CAD data with the second CAD data to see if it has been tampered with or changed in the process of electronic delivery (or after electronic delivery). This can be confirmed.
[0008]
Conventionally, however, it has been difficult to verify the identity of CAD data of different file formats due to the circumstances specific to CAD in which points within the allowable coordinate error range are processed as the same point.
In more detail, it is as follows. When comparing and confirming the identity of the first CAD data and the second CAD data, the drawing elements (point markers, line segments, circles, etc.) included in the first CAD data and the second CAD data Is performed by associating (matching) the drawing elements included in the.
It can be determined that the drawing elements are the same if they correspond one-to-one and are not the same if they do not correspond one-to-one.
[0009]
However, since there is an allowable coordinate error range, different points are determined as the same point, and a plurality of drawing elements of the second CAD data can correspond to one drawing element of the first CAD data. There is sex.
For example, when there are a first straight line and a second straight line in which the coordinate values of both end points are included in the allowable coordinate error range, the first straight line of the second CAD data is included in the first straight line of the first CAD data. The straight line can correspond to the second straight line.
[0010]
Accordingly, an object of the present invention is to provide a CAD data identity verification device, a CAD data identity verification method, and a CAD data identity verification program that can easily verify the identity of CAD data output in different file formats. Is to provide.
[0011]
[Means for Solving the Problems]
According to the first aspect of the present invention, there is provided a CAD data identity verification device for verifying the identity of CAD data configured using drawing element data to which a parameter for specifying an attribute on a CAD drawing is attached. 1 CAD data, CAD data acquisition means for acquiring second CAD data, the acquired first CAD data, and second CAD data, Configure CAD data Drawing element data Take By comparing the obtained drawing data acquisition means and the matching of the parameters relating to the coordinate values within a predetermined error range, the drawing element data of the acquired first CAD data is added to the drawing element data of the acquired second CAD data. Corresponding means for associating the drawing element data with duplication allowed, and a combination of the drawing element data of the first CAD data and the drawing element data of the second CAD data within the overlapping range of the associating means While updating, the drawing element data of the first CAD data and the drawing element data of the first CAD data and the drawing element data of the second CAD data have a one-to-one correspondence. A search means for searching for a combination of drawing element data of CAD data, and a drawing element data of the first CAD data; When the drawing element data of the second CAD data has a one-to-one correspondence, it is determined that the first CAD data and the second CAD data are the same, and the drawing element data of the second CAD data A CAD data identity verification apparatus comprising: a determination unit that determines that the first CAD data and the second CAD data are not the same when the first CAD data does not correspond to the first CAD data; provide.
According to a second aspect of the present invention, in the case where all of the parameters other than the parameter relating to the coordinate value match, the associating means draws the drawing element data of the first CAD data and the drawing of the second CAD data. The CAD data identity verification apparatus according to claim 1, wherein elements are associated with each other.
In the invention according to claim 3, as a result of performing the association by the association means, there is drawing element data of the first CAD data that does not correspond to the drawing element data of the second CAD data, or When there is drawing element data of the second CAD data that does not correspond to the drawing element data of the first CAD data, the search means does not search, and the determination means The CAD data identity verification apparatus according to claim 1 or 2, wherein the second CAD data is determined not to be the same.
According to a fourth aspect of the present invention, the associating means performs the process of associating the drawing element data for each type of corresponding drawing element. The CAD data identity verification device according to 3, is provided.
According to the fifth aspect of the present invention, there is provided a CAD data identity verification method for verifying the identity of CAD data configured using drawing element data to which a parameter for specifying an attribute on a CAD drawing is attached. In a computer comprising data acquisition means, drawing data acquisition means, association means, search means, and determination means, the CAD data acquisition means acquires first CAD data and second CAD data. The CAD data acquisition step, and the drawing data acquisition means, from the acquired first CAD data and second CAD data, Configure CAD data Drawing element data Take By comparing the obtained drawing data obtaining step and the matching of the parameters relating to the coordinate values within a predetermined error range, the drawing element data of the obtained first CAD data is added to the drawing element data of the obtained second CAD data. A mapping step of allowing the mapping means to associate the drawing element data with duplication, and the drawing element data of the first CAD data and the drawing elements of the second CAD data within the range of duplication by the matching means Drawing element data of the first CAD data such that the drawing element data of the first CAD data and the drawing element data of the second CAD data correspond one-to-one while updating the combination with the data And a search step for searching for a combination of drawing element data of the second CAD data by the search means, and the search means, When the drawing element data of the first CAD data and the drawing element data of the second CAD data have a one-to-one correspondence, the first CAD data and the second CAD data are the same. The determination means determines that the first CAD data and the second CAD data are not identical when the drawing element data of the second CAD data does not correspond one-to-one with the determination means. The present invention provides a CAD data identity verification method characterized by comprising a determination step and a determination step.
In the invention described in claim 6, a CAD data identity verification function for verifying the identity of CAD data configured using drawing element data to which a parameter for specifying an attribute on a CAD drawing is attached is realized by a computer. A CAD data identity verification program for acquiring first CAD data, a CAD data acquisition function for acquiring second CAD data, the acquired first CAD data, and second CAD data, Configure CAD data Drawing element data Take The drawing data acquisition function to be obtained is compared with the parameters within the predetermined error range for the parameters relating to the coordinate values, so that the drawing element data of the acquired first CAD data is added to the drawing data of the acquired second CAD data. An association function that associates drawing element data with duplication allowed, and a combination of the drawing element data of the first CAD data and the drawing element data of the second CAD data within the range of duplication by the association function While updating, the drawing element data of the first CAD data and the drawing element data of the first CAD data and the drawing element data of the second CAD data have a one-to-one correspondence. A search function for searching for a combination of drawing element data of CAD data; and a drawing element data of the first CAD data by the search function; When the drawing element data of the second CAD data has a one-to-one correspondence, it is determined that the first CAD data and the second CAD data are the same, and the drawing element data of the second CAD data Provides a CAD data identity verification program for realizing on a computer a determination function for determining that the first CAD data and the second CAD data are not the same when there is no one-to-one correspondence To do.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described in detail.
[Background of the embodiment]
With the recent promotion of e-government, electronic delivery of design drawings related to public works (architectural field) has come to be performed. Electronic delivery refers to delivering CAD data of a design drawing online (or stored in a storage medium) to an orderer (such as a public organization).
Therefore, it is necessary to determine the standard specification of the exchange format for the CAD data submitted by the contractor, and the SXF standard specification, which is an exchange standard that enables accurate data exchange between various types of CAD, has been established.
[0013]
As file formats conforming to the SXF standard, there are p21 format and sfc format. The p21 format is mainly used for electronic delivery, and the sfc format is mainly used for CAD data exchange between related parties.
Thus, since the SXF standard uses two file formats, CAD data related to the same design drawing may exist in two file formats.
Therefore, various applications are considered if there is a method of verifying the identity of a p21 format file and an sfc format file (verifying whether or not the same design drawing is represented).
For example, if an sfc format file is saved as the original design drawing and electronic delivery is performed with a p21 format file, the identity of the CAD data of the sfc format file and the CAD data of the p21 format file is confirmed. By doing so, it is possible to confirm whether or not the p21 format file delivered electronically has been falsified by a third party.
[0014]
[Outline of Embodiment]
In this embodiment, whether the CAD data output in the p21 format (hereinafter referred to as p21 data) and the data output in the sfc format (hereinafter referred to as sfc data) represent the same design drawing is verified by the following method. To do.
The CAD data is configured using drawing element data representing drawing elements such as virtual paper, layers, point markers, line segments, circles, symbols, and dimension lines. In these drawing element data, parameters that define how the drawing element is expressed in the design drawing (for example, in the case of a line segment, coordinate values of start and end points, line thickness and color, and the like are arranged. Layer).
Therefore, the drawing element data of the sfc data and the drawing element data of the p21 data are stored together with the parameters in the array a and the array b, respectively, and the parameters are compared so that the elements of the array a correspond to the elements of the array b (matching). To do.
[0015]
When the elements of the array a and the elements of the array b have a one-to-one correspondence, it is determined that the sfc data and the p21 data are the same, and when they do not correspond to the one-to-one, it is determined that they are not the same.
The association between the array a and the array b is performed for each type of drawing element such as virtual paper, layer, line segment, circle, and the like. Thereby, for example, useless association such as associating line segment drawing elements with circle drawing elements can be avoided.
Further, in association, first, the elements of the array a are sorted, and the elements of the array b are associated with the elements of the array a. When the elements of the array a correspond to the elements of the array a, the elements of the array a and the elements of the array b have a one-to-one relationship while updating the combination of the elements of the array a and the elements of the array b. A combination of the elements of array a and array b that correspond is searched.
[0016]
[Details of the embodiment]
First, the configuration of CAD data handled in this embodiment will be described. The configuration of the CAD data is the same regardless of the CAD data file format.
In the present embodiment, the CAD data file format is described using the p21 format and the sfc format. This does not limit the CAD data file format to the p21 format and the sfc format, but can also be applied to other file formats.
[0017]
FIG. 1 is a conceptual diagram for explaining a configuration of a design drawing drawn by CAD.
In CAD, a design drawing is drawn by arranging point markers, line segments, circles, dimension lines, and the like on a virtual sheet.
A coordinate system 19 is set for the virtual paper 10, and by drawing a graphic on the paper 10, the graphic can be arranged in the coordinate space.
The virtual paper 10 is composed of a plurality of layers called layers (layers 11a, 11b, 11c...), And the user can select a layer and draw a design drawing on the layer.
Layers can be selectively manipulated. For this reason, for example, a geometric shape is drawn on layer 1 and a dimension line is drawn on layer 2, and layers 1 and 2 are displayed simultaneously to display a drawing on which the dimension line is drawn. 2 is not displayed, and only the geometric shape drawn on the layer 1 can be displayed, so that drafting work and use efficiency of the drawing can be improved.
[0018]
The drawing elements drawn on the paper indicate, for example, those having a geometric shape such as line segments 12a, 12b, 12c, circles 15a, 15b, and positions in the coordinate space such as the point marker 17. There are various types, such as dimension lines, angle dimension lines, text data, symbols (for example, symbol notation representing the inclination of the roof).
In this way, CAD data is structured such as drawing elements representing drawing structures such as virtual paper and layers, drawing elements representing geometric shapes and notations such as point markers and line segments, and symbols and symbols. (For example, a balloon is composed of a circle, an arrow, and text data in the circle structured). The CAD data of the present embodiment manages these drawing elements using the concept of features described below.
[0019]
FIG. 2 is a diagram for explaining the configuration of features.
A feature is a management unit of drawing elements. The feature has a feature name and a parameter for specifying the representation of the drawing element on the design drawing. For example, a drawing element that represents a line is called a line feature, and it represents the line in the design drawing, such as the layer on which the line is drawn, the coordinates of the start and end of the line, line type, and line width. Comes with a parameter to identify
The types of parameters are set for each feature, for example, the coordinate value of the start point and the end point for a line segment feature,..., The coordinate value of a center point for a circle feature,.
Hereinafter, these features will be described in more detail.
[0020]
Features are roughly classified into three types: drawing structure feature group, geometric notation element feature group, and structured element feature group.
The drawing structure feature group is made up of features that define basic information for constructing CAD data.
The drawing structure feature group includes a paper feature, a layer feature, a predefined line type feature, a user-defined line type feature, a predefined color feature, a user-defined color feature, a line width feature, a character font feature, and the like.
[0021]
The paper feature is a paper feature that designates a virtual paper on which a design drawing is drawn, and defines a drawing name, a paper size, and the like. By referring to the paper feature, a virtual paper used in the CAD data can be specified.
The layer feature is a table element that is referred to from a geometric notation element and a structuring element, which will be described later, and a layer code that identifies each layer is associated with a name of the layer, a display / display state, and the like.
The layer feature has a layer name as a parameter, a flag indicating the display / non-display state of the layer, and the like as parameters.
By referring to the layer feature, the layer name and state of each layer can be specified.
[0022]
The predefined line type feature is a table element that is referenced from a geometric notation element or a structured element. For example, the predefined line type code 1 is a solid line, the predefined line type code 2 is a dotted line, etc. Line type can be specified by code. Each of these line types is a line defined in advance on the system side.
The predefined line type feature has a line type name as a parameter, and the line type code and the line type name are associated with each other.
[0023]
Similarly, the following features are table elements referenced from geometric notation elements and structured elements. User-defined line type features associate user-defined line type codes with user-defined line types. The line type can be specified by specifying the definition line type code.
The predefined color feature associates a predefined color code with a color preset on the system side, and the color can be specified by specifying the predefined color code. Colors are represented by parameters.
The user-defined color feature associates a user-defined color code with a user-defined color, and when a user-defined color code is specified, a user-defined color can be specified. Colors are represented by parameters.
The line width feature associates the line width code with the line width, and the line width can be specified by specifying the line width code. The line width is represented by a parameter.
The character font feature associates a character font code with a character font, and the character font can be specified by specifying the character font code. Character fonts are represented by parameters.
[0024]
The geometric notation element feature group is composed of features representing basic geometric figures and the like.
Examples of the features constituting the geometric notation element feature group include a point marker feature, a line segment feature, a polygonal line feature, a circle feature, an arc feature, an ellipse feature, an elliptic arc feature, a character feature, and a spline feature.
Hereinafter, the features constituting the geometric notation element feature group will be described in detail using the point marker feature and the line segment feature.
[0025]
FIG. 3A shows the data structure of the point marker feature.
Note that the point marker is a point on the drawing for the sake of convenience in order to display the coordinate position on the display. It is displayed on the display but not printed. For example, when the user draws a circle and wants to display the position of the center point of the circle for the sake of drawing, a point marker is arranged at the center position of the circle.
As shown in the figure, each marker point placed on a virtual sheet is specified by parameters such as layer code, color code, placement point X coordinate, placement point Y coordinate, marker code, rotation angle, scale, and the like. The
[0026]
The layer code is the layer code of the layer in which this point marker is arranged, and the layer in which this point marker is arranged can be specified by referring to the layer code in the table element of the layer feature.
The color code is a code for specifying the color of the point marker, and the color of the point marker can be specified by referring to the code with a predefined color feature or a user-defined color feature.
The arrangement point X coordinate and the arrangement point Y coordinate are the X coordinate value and the Y coordinate value of the position where the point marker is arranged.
[0027]
The marker code is a code for specifying the shape of the marker. For example, a table is prepared in advance such that code 1 is an asterisk type, code 2 is a circular shape, and code 3 is a dot.
The rotation angle and scale represent the rotation angle and scale at which point markers are arranged, respectively.
As described above, parameters are set for each point marker feature (data 1, data 2,...) Included in the CAD data, and attributes (layer, position, shape, color) of each point marker feature are set by these parameters. Etc.) on the design drawing.
Each of data 1, data 2,... Corresponds to a point marker displayed on the drawing, and each constitutes drawing element data.
[0028]
FIG. 3B is a diagram showing a data structure of line segment features.
The line segment feature corresponds to a line segment arranged on the design drawing. Parameters such as layer code, color code, line type code, line width code, start point X coordinate, start point Y coordinate, end point X coordinate, end point Y coordinate are set for the line segment feature placed on the virtual paper. These parameters specify the attributes of each line feature.
The layer code is a code of the layer in which the line segment feature is arranged, and is defined by the layer feature.
The color code is a code for specifying the color of the line segment feature, and is defined by a predefined color feature or a user-defined color feature.
[0029]
The line type code is a code for specifying the line type (solid line, dotted line,...) Of the line segment feature, and is defined by a predefined line type feature or a user-defined line type feature.
The line width code is a code for specifying the line width of the line segment feature, and is defined by the line width defining feature.
The start point X coordinate and the start point Y coordinate are the XY coordinate values of the start point of the line segment, and the end point X coordinate and the end point Y coordinate are the XY coordinate values of the end point of the line segment.
Thus, parameters are set for each line segment feature (data 1, data 2,...) Included in the CAD data, and the attributes of each line segment feature are specified by these parameters.
Similarly, the attributes of the other features constituting the geometric notation feature group are specified by parameters.
[0030]
Returning to FIG. 2, each of the features constituting the structured element feature group is a feature defined by a plurality of geometric element features, and is defined so that a plurality of data can be handled as specific unit data. For example, the dimension line is configured by combining line segment features and character features.
The features that make up the structuring element feature group include compound figure definition features, compound figure placement features, predefined symbol features, linear dimension features, angular dimension features, radial dimension features, diameter dimension features, leader features, balloon features, There are hatched (predefined) features, hatched (filled) features, hatched (user-defined) features, hatched (patterned) features, compound curve defined features, and the like.
[0031]
The composite graphic definition feature is an element for defining a composite graphic. A composite figure defines a figure name composed of a plurality of geometric notation elements such as line segments and arcs as one figure. It has a composite figure name and a composite figure type flag as parameters. This feature is used for partial views.
The composite graphic arrangement feature is an element for specifying a position or the like where the composite graphic is arranged. The composite graphic arrangement feature has a layer code, a composite graphic name, an XY coordinate value, a rotation angle, an X direction scale, a Y direction scale, and the like as parameters.
Hereinafter, similarly, a predefined symbol feature is an element representing a symbol defined on the system side, and attributes such as a symbol type, an arrangement position, and a color are defined by parameters.
[0032]
A linear dimension feature, an angular dimension feature, a radial dimension feature, a diameter dimension feature, and a leader line feature are features that represent each dimension line and leader line in CAD data. Depending on the parameters set for each feature, Display dimensions are specified.
The balloon feature is a feature representing a balloon in CAD data, and a layer, an arrangement position, and the like are defined by parameters.
A hatching (predefined) feature, a hatching (filling) feature, a hatching (user-defined) feature, and a hatching (pattern) feature are hatching features, and a layer, a hatching area, and hatching are defined.
The compound curve defining feature represents a curve composed of a plurality of line segments or arcs as one element. This is also uniquely defined by the parameters.
[0033]
FIG. 4 is a diagram showing an example of a functional configuration of the CAD data identity verification system 1 according to the present embodiment.
As will be described later, the CAD data identity verification system 1 can be realized by executing a CAD data identity verification program that allows a computer to exhibit a CAD data identity verification function.
The CAD data identity verification system 1 matches the features included in the p21 data with the features included in the sfc data by comparing parameters, and checks whether the features of both data correspond one-to-one.
As described above, since the design drawing is defined by the features constituting the CAD data, when the features constituting the p21 data and the features constituting the sfc data have a one-to-one correspondence, the same design from both data Since the figure can be reproduced, it can be said that both data are the same.
[0034]
The CAD data identity verification system 1 includes a CAD file selection unit 25, an sfc data reading unit 26, a p21 data reading unit 27, a data sorting unit 28, a data matching unit 29, a result output unit 30, and the like.
The CAD file selection unit 25 is a functional unit that selects a file whose identity is to be verified.
When the CAD file selection unit 25 is activated, a list of CAD data files stored in the storage device is displayed, and the user can select a p21 format file or an sfc format file whose identity is to be verified. It is like that.
Further, the CAD file selection unit 25 determines whether the selected file is in the p21 format or the sfc format based on the extension of the selected CAD data file, and the sfc is selected according to the file format of the selected file. The data reading unit 26 or the p21 data reading unit 27 is activated.
[0035]
When the CAD file selection unit 25 selects an sfc format file, the sfc data reading unit 26 (CAD data acquisition unit) reads and stores the sfc data from the file.
When the CAD file selection unit 25 selects a p21 format file, the p21 data reading unit 27 (CAD data acquisition unit) reads and stores the p21 data from the file.
[0036]
The data sorting unit 28 (drawing data acquisition means) stores (substitutes) the features included in the sfc data read by the sfc data reading unit 26 in the array (referred to as array a) and reads the features by the p21 data reading unit 27. The features included in the p21 data are stored in an array (referred to as array b). When the feature is composed of a plurality of elements (for example, since the line segment feature is generally composed of a plurality of data such as data 1, data 2,..., There are a plurality of elements of the array a). The data sort unit 28 stores each data in the elements of the arrays a and b.
[0037]
FIG. 5 is a diagram for explaining a procedure for storing features in an array.
The sfc data 35 is CAD data that constitutes a design drawing of a house, for example, and is composed of features as shown in Table 37. The data sort unit 28 stores each feature constituting the sfc data 35 in the array a.
Each element of the array a stores information for identifying a feature and parameters set for the feature. Since matching is performed using some or all of the parameters, only the parameters necessary for matching may be stored in the arrays a and b.
In addition, what is composed of one element such as a paper feature is stored in one array element, and what is composed of a plurality of data such as a point marker feature and a line segment feature is stored for each data. Information for specifying features and data, and parameters set in the data are stored.
[0038]
Similarly, the p21 data 40 is composed of each feature as shown in Table 42. The data sort unit 28 substitutes each feature constituting the p21 data 40 into the array b in the same manner as the sfc data 35.
Also, since the configuration of parameters differs for each type of feature, the element types of the arrays a and b may be defined for each type of feature.
In this case, structures having a class of feature as a class are defined as arrays a and b.
[0039]
Returning to FIG. 4, the data matching unit 29 (association unit, search unit, determination unit) receives the array a and the array b from the data sort unit 28, compares these parameters, and associates the elements of the arrays a and b. (Match).
The association is performed for each type of feature. That is, first, the arrays a and b are matched with respect to the paper feature, and if they match, the arrays a and b are matched with respect to the next feature. This is performed for all the arrays a and b.
If there is an element that does not match, the matching process is terminated at that time, and it is determined that the sfc data and the p21 data are not the same.
When all the elements of the arrays a and b match one-to-one, it is determined that the sfc data and the p21 data are the same.
[0040]
The reference for determining the coincidence of the elements in the arrays a and b is set for each feature.
For example, although there are seven types of parameters in the point marker feature, if all these parameters match, it is determined that the elements of the arrays a and b match.
Further, although there are eight types of parameters in the line segment feature, when all these parameters match, it is determined that the elements of the arrays a and b match.
Note that the parameters are matched by making the coordinates of the points within the allowable coordinate error range the same.
Therefore, even if the coordinate value of the point marker feature stored in the array a and the coordinate value of the point marker feature stored in the array b differ numerically, the difference is within the allowable coordinate error range. Are determined as the same point marker feature. For this reason, an element of the array a may correspond to an element of the array a. An algorithm for processing this case will be described later.
[0041]
Returning to FIG. 4, the result output unit 30 uses the matching result of the data matching unit 29 to output a determination result as to whether or not the sfc data and the p21 data are the same.
[0042]
Next, processing when a plurality of elements of the array b match one element of the array a will be described with reference to FIG.
First, the data sort unit 28 sorts the elements of the array a. For example, in the case of a point marker feature, the sorting method is determined for each feature such as sorting in ascending order of the X coordinate. Further, sorting can be performed by using, for example, the coordinates of the center in the case of a circle feature and the coordinates of the starting point in the case of a line segment feature.
After sorting, the data matching unit 29 identifies the element of the array b corresponding to each element of the array a by comparing the parameter of the element of the array a with the parameter of the element of the array b. The correspondence relationship generated in this way is represented as, for example, the matching array 50 in FIG. Here, duplication of elements of the array b is allowed, and a combination corresponding to the elements of the arrays a and b is called a matching array.
In FIG. 6, in order to distinguish the elements of the array a, each element is represented as a (0), a (1),..., And the numbers are written in the cells. The same applies to the elements of the array b.
In the matching sequence 50, b (0) matches a (0), and b (1) and b (2) correspond to a (1). The same applies hereinafter.
[0043]
Next, a procedure for making one-to-one correspondence between the elements of the arrays a and b from the matching array 50 thus generated will be described.
First, since only b (0) matches a (0), the data matching unit 29 temporarily determines that a (0) corresponds to b (0), and generates a temporary determined array 55. To do.
In the provisional definite array 55, b (0) corresponds to a (0), but the element of the corresponding array b is undecided with respect to the elements of the other array a. Here, a combination in which the elements of the arrays a and b are combined on a one-to-one basis will be referred to as a provisionally determined array. The provisional fixed array may be released from the combination by a later update process.
[0044]
Next, the data matching unit 29 provisionally determines the element of the array b corresponding to a (1). In the matching arrangement 50, a (1) corresponds to b (1) and b (2), and any one of them is provisionally determined. Here, b (1) is provisionally determined. In this way, the data matching unit 29 updates the provisional confirmation array 55 to the provisional confirmation array 56.
[0045]
Next, the data matching unit 29 determines the element of the array b corresponding to a (2). In the matching array 50, since the element of the array b that matches a (2) is only b (1), the data matching unit 29 temporarily determines b (1) for a (2), The temporary confirmation array 56 is updated to the temporary confirmation array 57. However, since b (1) has already been provisionally fixed in correspondence with a (1), if b (1) is associated with a (2), the elements of array a and array b Cannot be associated one-to-one. Therefore, the data matching unit 29 cancels the correspondence between a (1) and a (2), and returns to the stage where the correspondence between a (1) and the previous one is provisionally determined.
Since the matching array 50 corresponding to a (1) has b (2) in addition to b (1), the data matching unit 29 sets b (2) to a (1). Associate. In this way, the data matching unit 29 updates the temporary confirmation array 57 to the temporary confirmation array 58.
[0046]
Next, the data matching unit 29 associates b (1) as an element corresponding to a (2), and updates the temporary determination array 58 to the temporary determination array 59.
Next, the data matching unit 29 associates b (2) with a (3), but since b (2) is already associated with a (1), the provisional confirmation of b (2) is canceled. , B (4) are temporarily determined. Then, a provisional fixed array 60 is obtained.
Hereinafter, the data matching unit 29 sequentially associates the elements of the arrays a and b in this way, and when a contradiction occurs, the process returns to the previous stage to search for a new correspondence. If this process is repeated recursively, when the elements of the arrays a and b correspond one-to-one, the correspondence can be determined one-to-one up to the last element a (n), and the fixed array 65 Is obtained. Here, a combination of the elements of the arrays a and b in which the elements of the arrays a and b are associated one-to-one is referred to as a definite array.
[0047]
If there is no one-to-one correspondence, the process returns to the stage of determining the element of the array b corresponding to a (0), and the matching array 50 includes the elements of the array b corresponding to a (0). Thus, the element of the array b corresponding to a (0) cannot be found without contradiction. The system attempts to return the processing to a (-1) in the previous stage of a (0).
By the above procedure, it is possible to verify whether CAD data is coincident with respect to the feature by searching for a combination that makes the elements of the arrays a and b have a one-to-one correspondence.
[0048]
The search for the above combinations can be expressed by the mathematical model shown in FIG.
That is, one container with a number from 0 to n is prepared one by one, and one or a plurality of balls with a number from 0 to n are put therein. The ball number may be duplicated across multiple containers.
Then, one ball is taken out from each container and arranged in a line, and a combination of the container and the removed ball that does not overlap the number is searched.
Here, the container corresponds to the element of the array a, and the ball corresponds to the element of the array b. If the permutations for arranging the balls are brute-forced (ie, all permutations are attempted until the desired permutation is found), and there is a combination where the numbers do not overlap, the container and the ball are associated one-to-one. If there is no combination in which the numbers do not overlap, the container and the ball are not associated one-to-one.
[0049]
Next, a detailed data processing procedure of the CAD data identity verification system 1 will be described using a flowchart.
FIG. 8 is a flowchart showing a matching processing procedure performed by the CAD data identity verification system 1.
First, the CAD file selection unit 25 reads an sfc format file (step 5).
Next, the sfc data reading unit 26 reads the sfc data from the sfc format file, and stores the features in the array a (step 10).
Next, the CAD file selection unit 25 reads a p21 format file (step 15), and the p21 data reading unit 27 stores the features in the array b (step 20). Then, the data sorting unit 28 sorts the array a for each feature.
Next, the data matching unit 29 initializes a counter k for counting features to 0 (step 25).
[0050]
For the features, for example, k = 0 for a paper feature, k = 1 for a layer feature,...
Next, the data matching unit 29 performs matching processing on the elements of the arrays a and b with respect to the k-th feature (step 30). The procedure of this process will be shown later.
If the arrays a and b corresponding to the k-th feature do not exist (for example, in the CAD data created without using the elliptic feature, the arrays a and b corresponding to the elliptic feature do not exist) Processes as a match of elements a and b.
When the elements of the arrays a and b do not match one-to-one (step 35; N), it is determined that the sfc data and the p21 data are not the same (step 55), and the CAD data identity verification system 1 performs processing. finish.
[0051]
When the elements of the arrays a and b match one-to-one (step 35; Y), 1 is incremented to k (step 40). Next, the data matching unit 29 determines whether k is less than M (step 45). Here, M is the number of all features.
When k is not less than M (that is, when k is greater than or equal to M) (step 45; N), the matching of the arrays a and b is successful for all the features, and the data matching unit 29 performs the sfc data And p21 data are the same (step 50), and the process is terminated.
If k is less than M (step 45; Y), since there is a feature that has not been matched yet, the data matching unit 29 returns to the processing of step 30.
[0052]
FIG. 9 is a flowchart showing the procedure of the matching process in step 30 (FIG. 8).
This process is an operation for searching for a definite sequence from the matching sequence (FIG. 6).
First, the data matching unit 29 confirms the number of elements in the arrays a and b (step 105).
If the number of elements in the array is not the same (step 110; N), the elements in the arrays a and b do not correspond one-to-one, so the data matching unit 29 determines that they do not match (does not match) (step 145). Return to 30 (FIG. 8).
If the number of elements in the array is the same (step 110; Y), the data matching unit 29 associates the array b with each element of the array a by comparing the parameters (step 115). As a result, a matching sequence as shown in FIG. 6 is obtained.
Next, the data matching unit 29 checks whether at least one element of the array b is associated with all the elements of the array a (step 120). If there is an element of the array a that is not associated with any element of the array b (step 120; N), the elements of the arrays a and b cannot be associated one-to-one. It is determined that it is nonconforming (step 145), and the process returns to step 30 (FIG. 8).
[0053]
When at least one element of the array b is associated with all the elements of the array a (step 120; Y), the data matching unit 29 also sets at least one element for each element of the array b. Then, it is confirmed whether or not the elements of the array a are associated (step 125).
If there is an element of the array b that is not associated with any element of the array a (step 125; N), the data matching unit 29 determines that it is incompatible (step 145), and returns to step 30.
If at least one element of array a is associated with all elements of array b (step 125; Y), array element matching processing is performed in step 130 (step 130). This process will be described later with reference to the flowchart of FIG. In this process, when the elements of the arrays a and b are associated one-to-one, a definite array as shown in FIG. 6 is obtained.
As a result of the matching process, when the elements of the arrays a and b are associated one-to-one (step 135; Y), it is determined that the elements match (that is, they are determined to match) (step 140), and the process is changed to step 30 ( Return to FIG.
On the other hand, when the elements of the arrays a and b are not associated one-to-one (step 135; N), it is determined as non-conforming (step 145), and the process returns to step 30.
[0054]
FIG. 10 is a flowchart showing the procedure of the matching process in step 130 (FIG. 9). The work performed in this process is a work for updating the temporary fixed array in FIG.
First, the data matching unit 29 initializes the counter i to 0.
Next, the data matching unit 29 relates to a (i) among the elements of the array a, and the elements of the array b that are associated with a (i) are not yet confirmed (that is, those that are not provisionally confirmed). ) Is confirmed (step 210).
If there is an undetermined element in the array b (step 210; Y), an element of the array b is selected from the elements in the array b and temporarily confirmed, and the element of the array b is associated with a (i) ( Step 215).
[0055]
Next, the data matching unit 29 increments i by adding 1 (step 225).
Next, the data matching unit 29 determines whether i is larger than N (step 230). Here, N is the number of elements of the array a and the array b.
If i is not greater than N (i is equal to or less than N) (step 230; N), there is an element of the array a that is not yet associated with the element of the array b. Return to step 210.
If i is larger than N (step 230; Y), since the elements of the array b are associated with all the elements of the array a, the data matching unit 29 determines that the matching is successful (step 235). To step 130 (FIG. 9).
[0056]
In step 210, if there is no unconfirmed element in the array b associated with a (i) (step 210; N), the data matching unit 29 subtracts 1 from i. Decrement (step 245).
Then, the data matching unit 29 checks whether i is negative (more specifically, whether 1 is subtracted from i to become −1) (step 250).
If i is negative (step 250; Y), the data matching unit 29 determines that matching is unsuccessful (step 260), and returns the process to step 130 (FIG. 9).
[0057]
If i is not negative (step 250; N), the data matching unit 29 checks whether there is an element of the array b that matches a (i) that has never been tentatively confirmed (step 250; N). Step 225). If there is something that has never been tentatively confirmed (step 255; Y), the data matching unit 29 returns the processing to step 215, selects an element of the array b from among them, and tentatively confirms it.
If there is no element of the array b that has never been provisionally confirmed (step 255; N), the data matching unit 29 cancels the provisionally confirmed state of the element of the array b that has been provisionally confirmed in a (i) ( Step 240), the process returns to Step 245.
[0058]
The procedure for determining the identity between the sfc data and the p21 data has been described above, but this is merely an example, and various modifications can be made.
For example, in the present embodiment, the array a is sorted and the elements of the array b are associated with it, but conversely, the array b is sorted and the elements of the array a are associated with it. You can also.
In this embodiment, features are stored in an array and matching is performed on an element basis of the array. However, in order to perform matching, it is only necessary to compare the parameters of the features, and it is not always necessary to use the array.
[0059]
FIG. 11 is a diagram illustrating an example of a hardware configuration of the CAD data identity verification system 1.
The CAD data identity verification system 1 includes an input unit 82, an output unit 83, a communication control unit 84, a storage unit 85, a storage medium driving unit 88, and an input / output I / F (interface) via a bus line 77. 89 and the like are connected.
[0060]
The control unit 76 opens the sfc format file and the p21 format file, reads the sfc data and the p21 data, stores the features in the array, performs matching processing of the elements of the array, and the CAD data. The whole identity verification system 1 is controlled.
The control unit 76 includes a CPU (Central Processing Unit) 78, a ROM (Read Only Memory) 80, a RAM (Random Access Memory) 81, and the like.
[0061]
The CPU 78 performs information processing and control of the CAD data identity verification system 1 according to a predetermined program. The CPU 78 has a storage unit called a register. A program is read into the register from the ROM 80, the RAM 81, and the like, and various functions of the control unit 76 are exhibited by operating according to the program.
[0062]
The ROM 80 is a read-only memory that stores various programs, data, parameters, and the like for the CPU 78 to perform various calculations and controls. The CPU 78 can read programs, data, parameters, and the like from the ROM 80, but does not rewrite or delete them.
[0063]
The RAM 81 is a random access memory used as a working memory for the CPU 78. The CPU 78 can write and erase programs and data in the RAM 81. In the present embodiment, the RAM 81 stores sfc data and p21 data input using an sfc format file and a p21 format file, stores arrays a and b, or a compatible array, temporary An area for verifying the identity of the sfc data and the p21 data can be secured by storing the definite array and the definite array (FIG. 6).
[0064]
The input unit 82 includes an input device such as a keyboard and a mouse. The input unit 82 is a device for inputting various data such as characters and numbers to the CAD data identity verification system 1, and a user inputs a command to the CAD data identity verification system 1 or checks the identity. This is used when a predetermined input operation is performed on the CAD data identity verification system 1 such as selecting a file to be verified.
The keyboard includes keys for inputting kana and English characters, numeric keys for inputting numbers, various function keys, cursor keys, and other keys.
[0065]
A mouse is a pointing device. When operating the CAD data identity verification system 1 using a GUI (Graphical User Interface) or the like, it is possible to input predetermined information by clicking a button or icon displayed on the display device with a mouse. it can.
[0066]
The output unit 83 includes, for example, a display device, a printing device, and the like, and is used when outputting a verification result verified by the CAD data identity verification system 1.
The display device is a device for presenting information on a screen, for example, a CRT (Cathode Ray Tube) display, a liquid crystal display, a plasma display, or the like.
The display device displays a file selection screen for selecting a file whose identity is to be verified, a result display screen for displaying a verification result, and the like.
The printing apparatus includes various printer apparatuses such as an ink jet printer, a laser printer, a thermal transfer printer, and a dot printer.
[0067]
The communication control unit 84 is a device for connecting the CAD data identity verification system 1 to a network such as the Internet, and includes a modem, a terminal adapter, and other connection devices.
The CAD data identity verification system 1 can access an external terminal or server using the communication control unit 84.
For this reason, CAD data stored in another computer can be received via the communication control unit 84 and the identity thereof can be verified.
[0068]
The storage unit 85 includes a readable / writable storage medium and a drive device for reading / writing programs and data from / to the storage medium. A hard disk is mainly used as the storage medium, but it can also be configured by other readable / writable storage media such as a magneto-optical disk, a magnetic disk, and a semiconductor memory.
[0069]
The storage unit 85 includes a program storage unit 86, a data storage unit 87, and the like, which store programs and data, respectively.
The program storage unit 86 operates a CAD data identity verification program for causing the CAD data identity verification system 1 to perform a CAD data identity verification function, and a CAD data identity verification system 1 such as memory management and input / output management. An OS (Operating System) that is a basic program for causing the communication to be performed, a communication program for controlling the communication control unit 84, and other various programs are stored.
The program storage unit 86 stores a group of tools for manipulating sfc data and p21 data as a library (called a common library). The CAD data identity verification system 1 uses the common library. Reads sfc data and p21 data and performs other processing.
The data storage unit 87 stores CAD data such as sfc format files and p21 format files for verifying the identity.
[0070]
The storage medium driving unit 88 is a driving device for driving a removable storage medium to read / write data. Examples of the removable storage medium include a magneto-optical disk, a magnetic disk, a magnetic tape, a semiconductor memory, a paper tape punched with data, and a CD-ROM. Note that CD-ROMs and paper tapes can only be read.
It is also possible to read the CAD data stored in the storage medium from the storage medium drive unit 86 and determine the identity.
[0071]
The input / output I / F 89 is configured by, for example, a serial interface or another standard interface. The function of the CAD data identity verification system 1 can be expanded by connecting an external device corresponding to the interface to the input / output I / F 89.
[0072]
An example of an electronic delivery system to which the CAD data identity verification system 1 of this embodiment is applied will be described.
This electronic delivery system changes the CAD data delivered electronically by verifying the identity of the CAD data delivered electronically to the ordering party such as public works with the CAD data output in other file formats. This is to confirm whether or not tampering has occurred.
FIG. 12 is a diagram illustrating an example of a system configuration of the electronic delivery system 101. The electronic delivery system 101 includes an order receiver terminal 103, an orderer terminal 104, and an sfc server 102 connected via a network. For example, the Internet can be used as this network.
[0073]
The contractor terminal 103 is a terminal for transmitting CAD data via a network for electronic delivery, and is constituted by a personal computer, for example.
The contractor terminal 103 can read the sfc data and the p21 data related to electronic delivery from the storage device and transmit them to the orderer terminal 104 via another route.
Further, the contractor terminal 103 uploads the sfc data electronically delivered to the orderer terminal 104 to the sfc server 102.
Note that the CAD data used as a reference in electronic delivery is p21 data, and the sfc data is transmitted for identity verification.
[0074]
The orderer terminal 104 is a terminal that receives sfc data and p21 data delivered electronically from the contractor terminal 103.
Further, the orderer terminal 104 can access the sfc server 102 and refer to the sfc data uploaded to the sfc server 102 by the contractor terminal 103.
The orderer terminal 104 includes a CAD data identity verification system 1.
The sfc server 102 stores the sfc data received from the orderer terminal 103 and downloads the sfc data to the orderer terminal 104 when requested by the orderer terminal 104.
[0075]
In the electronic delivery system 101 configured as described above, the orderer terminal 104 can confirm the identity of the sfc data and the p21 data transmitted from the contractor terminal 103.
When at least one of these data is altered from the time of transmission due to falsification in the process of being transmitted from the contractor terminal 103 to the orderer terminal 104 or the data is broken, the orderer terminal 104 receives the received sfc data. And p21 data can be verified and verified.
When falsifying the CAD data in the process of sending the CAD data from the contractor terminal 103 to the orderer terminal 104, the falsifier uses two different types of CAD data transmitted to the orderer terminal 104 through different paths in the same manner. It is necessary to tamper with. Therefore, tampering becomes difficult, and the electronic delivery system 101 can exhibit tampering suppression effects.
[0076]
Further, the orderer terminal 104 downloads the sfc data uploaded by the contractor terminal 103 from the sfc server 102 and verifies the identity with the p21 data, whereby the p21 data delivered electronically is received from the contractor terminal 103. It can be made more certain that it is identical to the original transmitted.
[0077]
The electronic delivery system 101 described above handles both p21 data and sfc data as CAD data, and supports electronic delivery to public institutions such as public works.
The electronic delivery system 101 can be used throughout the product life cycle such as design, construction, integration, and maintenance.
For example, consider a case where an orderer manages p21 data and a contractor repairs a bridge using sfc data. By confirming the identity of the sfc data and the p21 data before and after the start of the repair work, it is possible to confirm whether the sfc data has been altered or changed during the repair work. In this case, since the file formats are different, it is possible to easily determine which is the original CAD data.
[0078]
In addition, as an application example of the CAD data identity verification system 1, it can also be used for drawing revision management.
When CAD data related to a plurality of file formats such as sfc data and p21 data is mixed, for example, the CAD data stored in the library for quality control and the CAD data file format used at the design site are different. It can be different.
When the drawing is revised at the design site, it is necessary to update the CAD data of the library corresponding to this, but it may not always be updated.
In this case, by using the CAD data identity verification system 1, it is possible to determine whether or not the latest CAD drawing data at the design site is the same as the CAD drawing data stored in the library.
[0079]
Although one embodiment of the present invention has been described above, the present invention is not limited to the described embodiment, and various modifications can be made within the scope described in each claim.
For example, in the present embodiment, the p21 format and the sfc format are used as the CAD data file format, but this does not limit the file format. For example, the file format employed by the CAD of company A and the company B It is possible to compare CAD data related to different file formats, such as the file format adopted by CAD.
That is, regardless of the file format, if the parameters can be compared in units of drawing elements, the CAD data identity verification system 1 can verify the identity.
[0080]
Also, for example, CAD data of the same file format can be compared, such as comparing two p21 data or two sfc data. In this case, for example, the drawing element data of the first p21 data is stored in the array a, the drawing element data of the second p21 data is stored in the array b, and the elements of the arrays a and b are associated with each other.
Note that when the same design drawing is saved as CAD data in the same file format, the internal structure may be different even though it is CAD data in the same file format, so the identity of CAD data in different file formats is verified. In the case of verifying the identity of CAD data of the same file format, the degree of difficulty is the same.
[0081]
Specific examples of situations where the identity determination is required include the following cases.
(1) When CAD data of the same drawing is output from the same CAD device in the sfc format and the p21 format, and the two are compared.
(2) When CAD data of the same drawing is output from a certain CAD device in the sfc format, output from another CAD device in the p21 format, and the two are compared.
(3) When CAD data of the same drawing is output from a certain CAD device in the sfc format and output from another CAD device in the sfc format, and both are compared.
(4) When CAD data of the same drawing is output in a p21 format from a certain CAD device, output in a p21 format from another CAD device, and the two are compared.
[0082]
【The invention's effect】
According to the present invention, it is possible to verify the identity of CAD data having different file formats.
[Brief description of the drawings]
FIG. 1 is a conceptual diagram for explaining a configuration of a design drawing drawn by CAD.
FIG. 2 is a diagram for explaining a configuration of a feature.
FIG. 3 is a diagram for explaining a data structure of a geometric notation element feature;
FIG. 4 is a diagram showing an example of a functional configuration of a CAD data identity verification system 1 according to the present embodiment.
FIG. 5 is a diagram for explaining a procedure for assigning a feature to an array;
FIG. 6 is a diagram for explaining processing when a plurality of elements of the array b match one element of the array a.
FIG. 7 is a diagram for explaining a mathematical model for searching for a combination;
FIG. 8 is a flowchart showing a procedure of matching processing;
FIG. 9 is a flowchart showing a procedure of matching processing in step 30;
FIG. 10 is a flowchart for explaining the procedure of matching processing in step 130;
FIG. 11 is a diagram illustrating an example of a hardware configuration of a CAD data identity verification system.
12 is a diagram showing an example of a system configuration of an electronic delivery system 101. FIG.
[Explanation of symbols]
1 CAD data identity verification system
25 CAD file selector
26 sfc data reading section
27 p21 data reading section
28 Data sort part
29 Data matching section
30 result output unit 30
101 Electronic delivery system
102 sfc server
103 Contractor terminal
104 Orderer terminal

Claims (6)

CAD図面上での属性を特定するパラメータが付属した図面要素データを用いて構成されたCADデータの同一性を検証するCADデータ同一性検証装置であって、
第1のCADデータと、第2のCADデータを取得するCADデータ取得手段と、
前記取得した第1のCADデータ、及び第2のCADデータから、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データ同一性検証装置。
A CAD data identity verification device for verifying the identity of CAD data configured using drawing element data to which a parameter for specifying an attribute on a CAD drawing is attached,
CAD data acquisition means for acquiring first CAD data and second CAD data;
First CAD data the acquired, and the second CAD data, and drawing data acquisition means acquire the drawing element data constituting the CAD data,
By comparing the coincidence of the parameters related to the coordinate values within a predetermined error range, the drawing element data of the acquired second CAD data is allowed to overlap the drawing element data of the acquired first CAD data. And associating means
The drawing element data of the first CAD data is updated while the combination of the drawing element data of the first CAD data and the drawing element data of the second CAD data is updated within the range of overlap by the association means. Search means for searching for a combination of the drawing element data of the first CAD data and the drawing element data of the second CAD data such that the drawing element data of the second CAD data has a one-to-one correspondence. ,
When the search means has a one-to-one correspondence between the drawing element data of the first CAD data and the drawing element data of the second CAD data, the first CAD data and the second CAD data That the first CAD data and the second CAD data are not identical when the drawing element data of the second CAD data does not correspond one-to-one. Means,
A CAD data identity verification apparatus characterized by comprising:
前記対応付け手段は、座標値に関するパラメータ以外のパラメータに関しては、全て一致する場合に、前記第1のCADデータの図面要素データと前記第2のCADデータの図面要素を対応付けることを特徴とする請求項1に記載のCADデータ同一性検証装置。  The association means associates the drawing element data of the first CAD data and the drawing element of the second CAD data when all the parameters other than the parameters relating to the coordinate values match. Item 2. The CAD data identity verification device according to Item 1. 前記対応付け手段で対応付けを行った結果、前記第2のCADデータの図面要素データが対応しない前記第1のCADデータの図面要素データが存在するか、又は、前記第1のCADデータの図面要素データが対応しない前記第2のCADデータの図面要素データが存在する場合、前記探索手段は探索を行わず、前記判断手段は、前記第1のCADデータと前記第2のCADデータが同一でないと判断することを特徴とする請求項1、又は請求項2に記載のCADデータ同一性検証装置。  As a result of the association by the association means, there is drawing element data of the first CAD data that does not correspond to the drawing element data of the second CAD data, or the drawing of the first CAD data. When there is drawing element data of the second CAD data that does not correspond to the element data, the search means does not search, and the determination means does not match the first CAD data and the second CAD data. The CAD data identity verification apparatus according to claim 1, wherein the CAD data identity verification apparatus according to claim 1 is determined. 前記対応付け手段は、前記図面要素データの対応付け処理を、対応する図面要素の種類ごとに行うことを特徴とする請求項1、請求項2、又は請求項3に記載のCADデータ同一性検証装置。  4. The CAD data identity verification according to claim 1, wherein the association unit performs the association process of the drawing element data for each type of the corresponding drawing element. apparatus. CAD図面上での属性を特定するパラメータが付属した図面要素データを用いて構成されたCADデータの同一性を検証するCADデータ同一性検証方法であって、
CADデータ取得手段と、図面データ取得手段と、対応付け手段と、探索手段と、判断手段と、を備えたコンピュータにおいて、
第1のCADデータと、第2のCADデータを前記CADデータ取得手段で取得するCADデータ取得ステップと、
前記図面データ取得手段で、前記取得した第1のCADデータ、及び第2のCADデータから、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データ同一性検証方法。
A CAD data identity verification method for verifying the identity of CAD data configured using drawing element data to which a parameter for specifying an attribute on a CAD drawing is attached,
In a computer comprising CAD data acquisition means, drawing data acquisition means, association means, search means, and determination means,
CAD data acquisition step of acquiring first CAD data and second CAD data by the CAD data acquisition means;
In the drawing data acquisition unit, the first CAD data the acquired, and the second CAD data, and drawing data acquisition step get the drawing element data constituting the CAD data,
By comparing the coincidence of the parameters relating to the coordinate values within a predetermined error range, the drawing element data of the acquired second CAD data is associated with the drawing element data of the acquired first CAD data. An association step for allowing duplication by means, and
The drawing element data of the first CAD data is updated while the combination of the drawing element data of the first CAD data and the drawing element data of the second CAD data is updated within the range of overlap by the association means. The search means searches for a combination of the drawing element data of the first CAD data and the drawing element data of the second CAD data such that the drawing element data of the second CAD data has a one-to-one correspondence. A search step to
When the search means has a one-to-one correspondence between the drawing element data of the first CAD data and the drawing element data of the second CAD data, the first CAD data and the second CAD data Are determined to be the same by the determination means, and the first CAD data and the second CAD data are not identical when the drawing element data of the second CAD data does not correspond one-to-one. And a determination step of determining by the determination means;
A CAD data identity verification method comprising:
CAD図面上での属性を特定するパラメータが付属した図面要素データを用いて構成されたCADデータの同一性を検証するCADデータ同一性検証機能をコンピュータで実現するためのCADデータ同一性検証プログラムであって、
第1のCADデータと、第2のCADデータを取得するCADデータ取得機能と、
前記取得した第1のCADデータ、及び第2のCADデータから、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データ同一性検証プログラム。
A CAD data identity verification program for realizing a CAD data identity verification function by a computer for verifying the identity of CAD data configured using drawing element data to which a parameter for specifying an attribute on a CAD drawing is attached There,
A CAD data acquisition function for acquiring first CAD data and second CAD data;
First CAD data the acquired, and the second CAD data, and drawing data acquisition function get the drawing element data constituting the CAD data,
By comparing the coincidence of the parameters related to the coordinate values within a predetermined error range, the drawing element data of the acquired second CAD data is allowed to overlap the drawing element data of the acquired first CAD data. Matching function
The drawing element data of the first CAD data is updated while the combination of the drawing element data of the first CAD data and the drawing element data of the second CAD data is updated within the overlapping range by the association function. A search function for searching for a combination of the drawing element data of the first CAD data and the drawing element data of the second CAD data such that the drawing element data of the second CAD data has a one-to-one correspondence. ,
In the search function, when the drawing element data of the first CAD data and the drawing element data of the second CAD data have a one-to-one correspondence, the first CAD data and the second CAD data That the first CAD data and the second CAD data are not identical when the drawing element data of the second CAD data does not correspond one-to-one. Function and
CAD data identity verification program for realizing the above on a computer.
JP2003050334A 2003-02-27 2003-02-27 CAD data identity verification apparatus, CAD data identity verification method, and CAD data identity verification program Expired - Fee Related JP4139249B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003050334A JP4139249B2 (en) 2003-02-27 2003-02-27 CAD data identity verification apparatus, CAD data identity verification method, and CAD data identity verification program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003050334A JP4139249B2 (en) 2003-02-27 2003-02-27 CAD data identity verification apparatus, CAD data identity verification method, and CAD data identity verification program

Publications (2)

Publication Number Publication Date
JP2004259087A JP2004259087A (en) 2004-09-16
JP4139249B2 true JP4139249B2 (en) 2008-08-27

Family

ID=33115775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003050334A Expired - Fee Related JP4139249B2 (en) 2003-02-27 2003-02-27 CAD data identity verification apparatus, CAD data identity verification method, and CAD data identity verification program

Country Status (1)

Country Link
JP (1) JP4139249B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495054B2 (en) 2011-02-07 2013-07-23 Mitsubishi Electric Corporation Logic diagram search device
CN103631781A (en) * 2012-08-21 2014-03-12 鸿富锦精密工业(深圳)有限公司 Component symbol verification system and method

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100419769C (en) * 2005-08-16 2008-09-17 鸿富锦精密工业(深圳)有限公司 System and method for managing primitive attribute
JP4860272B2 (en) * 2006-01-19 2012-01-25 成典 田中 CAD data identity verification device
JP4948843B2 (en) * 2006-02-01 2012-06-06 成典 田中 CAD data identity guarantee server device, CAD data identity guarantee method
JP4825109B2 (en) * 2006-05-10 2011-11-30 シャープ株式会社 Design support device
JP4904944B2 (en) * 2006-06-30 2012-03-28 富士通株式会社 CAM system and method
WO2009152249A2 (en) * 2008-06-10 2009-12-17 Oasis Tooling, Inc. Methods and devices for independent evaluation of cell integrity, changes and origin in chip design for production workflow

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495054B2 (en) 2011-02-07 2013-07-23 Mitsubishi Electric Corporation Logic diagram search device
CN103631781A (en) * 2012-08-21 2014-03-12 鸿富锦精密工业(深圳)有限公司 Component symbol verification system and method

Also Published As

Publication number Publication date
JP2004259087A (en) 2004-09-16

Similar Documents

Publication Publication Date Title
US7342589B2 (en) System and method for managing graphical data
TW527573B (en) Method and apparatus for manually selecting, displaying, and repositioning dimension of a part model
JP4356847B2 (en) Field definition information generation method, line and field definition information generation device
US8106903B2 (en) System and method for visually representing a project using graphic elements
CN112035667A (en) Knowledge graph display method and device and terminal equipment
WO2008105611A1 (en) Database auto-building method for link of search data in gis system using cad drawings
KR101797980B1 (en) Apparatus and method for generating user interface for verifying and managing part exchange
JP4139249B2 (en) CAD data identity verification apparatus, CAD data identity verification method, and CAD data identity verification program
US20060174193A1 (en) Document processing apparatus and method, and document processing system
US5469539A (en) Method for abstracting/detailing structuring elements of system specification information
KR20080081525A (en) A database for link of serch data in cad view system, a building method thereof and a serch method
JPH0248774A (en) Data controlling method for cad system
JP6610745B2 (en) Information processing apparatus and information processing program
JP2005085077A (en) Cad data conversion device, cad data conversion method, and cad data conversion program
US20040236754A1 (en) Method and system for linking data across multiple files
JP4948843B2 (en) CAD data identity guarantee server device, CAD data identity guarantee method
JP4997860B2 (en) Integrated circuit design support program, integrated circuit design support apparatus, and integrated circuit design support method
JP3057794B2 (en) Hypertext device and hypertext generation method
JP3449101B2 (en) Equipment design support system
JP4860272B2 (en) CAD data identity verification device
JP3148744B2 (en) Method and apparatus for drafting geographic information
JPH05298378A (en) Method for managing design drawing
JP5718542B2 (en) Information processing apparatus and file management method
JP3395347B2 (en) Document processing device
JP3264344B2 (en) Data file management device

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