JP5825173B2 - Outline specifying device, outline specifying method, and outline specifying program - Google Patents
Outline specifying device, outline specifying method, and outline specifying program Download PDFInfo
- Publication number
- JP5825173B2 JP5825173B2 JP2012075191A JP2012075191A JP5825173B2 JP 5825173 B2 JP5825173 B2 JP 5825173B2 JP 2012075191 A JP2012075191 A JP 2012075191A JP 2012075191 A JP2012075191 A JP 2012075191A JP 5825173 B2 JP5825173 B2 JP 5825173B2
- Authority
- JP
- Japan
- Prior art keywords
- vertex
- vertices
- unit
- contour
- total value
- 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.)
- Active
Links
Images
Landscapes
- Image Generation (AREA)
Description
本発明は、輪郭特定装置、輪郭特定方法および輪郭特定プログラムに関する。 The present invention relates to a contour specifying device, a contour specifying method, and a contour specifying program.
電磁界を解析する手法として、FTDT法(Finite difference time domain method)が知られている。このFTDT法を採用した電磁界解析システムでは、解析対象のモデルに対して、直交格子のメッシュを設定し、離散化処理を実施する事で解析対象のモデルを複数のメッシュに分解し、メッシュ毎に計算を実施して解を求める。 As a technique for analyzing an electromagnetic field, an FTDT method (Finite difference time domain method) is known. In the electromagnetic field analysis system adopting the FTDT method, an orthogonal lattice mesh is set for the model to be analyzed and discretized to decompose the model to be analyzed into a plurality of meshes. Calculate the solution to find the solution.
FTDT法により精度の高い解を得るには、適切にメッシュを設定して、解析対象のモデルをメッシュにより離散化したメッシュによるモデル形状を元のモデル形状に近い状況にする事が望ましい。そこで、FTDT法を採用した電磁界解析システムでは、元のモデル形状とメッシュによるモデル形状を参照しながら、メッシュの再設定を繰り返す作業が行われる。 In order to obtain a highly accurate solution by the FTDT method, it is desirable to appropriately set a mesh and make the model shape of the mesh obtained by discretizing the model to be analyzed close to the original model shape. Therefore, in an electromagnetic field analysis system that employs the FTDT method, an operation of repeatedly resetting the mesh is performed while referring to the original model shape and the model shape of the mesh.
ところで、メッシュに離散化されたモデル形状を表示する場合、メッシュの数が多くなるほど描画の負荷が高く、描画に用いるメモリの記憶容量も多くなる。 By the way, when displaying a discrete model shape on a mesh, as the number of meshes increases, the drawing load increases and the storage capacity of the memory used for drawing also increases.
例えば、プリント基板の各種配線や各種素子、ホールなどの各要素を解析対象のモデルとしてFTDT法による解析を行う場合、モデルの数が数万個〜数十万個となり、それぞれのモデルをメッシュに離散化した場合、メッシュの数が膨大な数となる。 For example, when performing analysis by the FTDT method using various elements such as wiring, various elements, and holes on a printed circuit board as models to be analyzed, the number of models becomes tens of thousands to hundreds of thousands. When discretized, the number of meshes is enormous.
このように離散化されたメッシュの数が膨大なモデル形状を表示する場合、描画に用いるメモリの記憶容量が多くなり、描画する線の数も多くなるため、描画に時間がかかり効率的に作業ができない。 When displaying a model shape with a large number of discrete meshes in this way, the storage capacity of the memory used for drawing increases and the number of lines to be drawn also increases. I can't.
開示の技術は、上記に鑑みてなされたものであって、描画の負荷を軽減できる輪郭特定装置、輪郭特定方法および輪郭特定プログラムを提供することを目的とする。 The disclosed technology has been made in view of the above, and an object thereof is to provide a contour specifying device, a contour specifying method, and a contour specifying program capable of reducing a drawing load.
本願の開示する輪郭特定装置は、記憶部と、割当部と、算出部と、特定部とを有する。記憶部は、矩形の4つの頂点にそれぞれ対応して、それぞれを組み合わせた組み合わせ毎の合計値が異なるように定めた設定値を示す設定値情報および前記合計値毎の輪郭の状態を示す状態情報を記憶する。割当部は、矩形のメッシュで分割された解析対象のモデルの前記メッシュの各頂点に対して前記設定値情報に基づき、対応する設定値を割り当てる。算出部は、割当部により割り当てられた設定値を頂点毎に合計した合計値を算出する。特定部は、状態情報に基づき、頂点毎の合計値から解析対象のモデルの輪郭の形状を特定する。 The contour specifying device disclosed in the present application includes a storage unit, an assigning unit, a calculating unit, and a specifying unit. The storage unit corresponds to each of the four vertices of the rectangle, setting value information indicating a setting value determined so that the total value for each combination of the rectangles is different, and state information indicating the state of the contour for each of the total values Remember. The assigning unit assigns a corresponding set value to each vertex of the mesh of the model to be analyzed divided by the rectangular mesh based on the set value information. The calculation unit calculates a total value obtained by summing the setting values allocated by the allocation unit for each vertex. The specifying unit specifies the shape of the contour of the model to be analyzed from the total value for each vertex based on the state information.
本願の開示する輪郭特定装置によれば、描画の負荷を軽減できる。 According to the contour specifying device disclosed in the present application, the drawing load can be reduced.
以下に、本願の開示する輪郭特定装置、輪郭特定方法および輪郭特定プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 Embodiments of a contour specifying device, a contour specifying method, and a contour specifying program disclosed in the present application will be described below in detail with reference to the drawings. Note that this embodiment does not limit the disclosed technology. Each embodiment can be appropriately combined within a range in which processing contents are not contradictory.
[装置構成]
実施例1に係る輪郭特定装置について説明する。図1は、輪郭特定装置の全体構成を示す図である。輪郭特定装置10は、基板上の解析対象のモデルをメッシュにより離散化したメッシュによるモデル形状の輪郭を特定するコンピュータである。輪郭特定装置10は、CAD(Computer Aided Design)装置などのユーザによる回路設計を支援する回路設計ソフトウェアが動作する設計装置であってもよい。図1に示すように、輪郭特定装置10は、入力部20と、表示部21と、記憶部22と、制御部23とを有する。
[Device configuration]
A contour specifying apparatus according to the first embodiment will be described. FIG. 1 is a diagram illustrating the overall configuration of the contour specifying device. The
入力部20は、各種の情報を入力する入力デバイスである。かかる入力部20の一態様としては、マウスやキーボードなどの操作受付デバイスが挙げられる。入力部20は、各種の情報の入力を受け付ける。例えば、入力部20は、電磁界解析を行う際に解析対象のモデルを離散化する直交格子のメッシュのサイズを設定する入力を受け付ける。また、入力部20は、設定したサイズのメッシュでの解析対象のモデルの離散化開始や、モデル形状の輪郭の特定を指示する指示入力を受け付ける。
The
表示部21は、各種情報を表示する表示デバイスである。かかる表示部21の一態様としては、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などの表示デバイスが挙げられる。表示部21は、各種情報を表示する。例えば、表示部21は、基板に対してFTDT法を採用した電磁界解析を行う際のメッシュのサイズなど各種条件を設定する設定画面を表示する。また、表示部21は、基板上の解析対象のモデルをメッシュにより離散化したメッシュによるモデル形状を表示する。
The
記憶部22は、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部22は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。
The
記憶部22は、制御部23で実行されるOS(Operating System)や後述する輪郭の特定に用いる各種プログラムを記憶する。さらに、記憶部22は、制御部23で実行されるプログラムで使用する各種データを記憶する。かかるデータの一例として、記憶部22は、CADデータ30と、メッシュデータ31と、2次元データ32と、設定値情報33と、状態情報34と、座標テーブル35と、XYソートデータ36と、YXソートデータ37と、表示用データ38とを記憶する。
The
CADデータ30は、基板に設計された回路に関する各種の情報を記憶したデータである。例えば、基板がプリント基板の場合、CADデータ30には、プリント基板内の各レイヤおよびレイヤ間の各種配線や各種素子、ホールなどの各要素の配置位置などの各種の情報が含まれている。CADデータ30は、輪郭特定装置10において設計されたものでもよい。また、CADデータ30は、図示しない外部I/F部を介して外部の装置から入力されたものであってもよい。一例として、CADデータ30は、後述の離散化部40によって参照される。
The
メッシュデータ31は、CADデータ30により示される基板を直交格子のメッシュにより離散化したメッシュによるモデル形状を示すデータである。一例として、メッシュデータ31は、後述の離散化部40によって生成される。他の一例として、メッシュデータ31は、後述の生成部41によって参照される。
The
2次元データ32は、メッシュにより離散化された基板を所定の平面で平面化したデータである。この2次元データ32は、平面化された矩形状のメッシュが含まれる場合、メッシュデータ31のどのメッシュを平面化したものかを示す情報、および、どの要素のメッシュであるかを示す情報を含む。一例として、2次元データ32は、後述の生成部41によって生成される。他の一例として、2次元データ32は、後述の割当部42、特定部48によって参照される。
The two-
設定値情報33は、矩形の4つの頂点にそれぞれ対応させる設定値が記憶されたデータである。矩形の4つの頂点にそれぞれ対応させる設定値は、それぞれを組み合わせた組み合わせ毎の合計値が異なるように定めている。一例として、設定値情報33は、輪郭特定ソフトウェアの作成元で予め登録されてもよい。また、設定値情報33は、管理者が入力部20あるいは、輪郭特定装置10と通信可能とされたクライアントコンピュータなどの端末装置から登録されてもよい。他の一例として、設定値情報33は、後述の割当部42によって参照される。
The setting
ここで、設定値の一例を説明する。図2は、矩形の4つの頂点にそれぞれ対応して定めた設定値の一例を示す図である。図2の例では、矩形50の左下の頂点51aには、設定値「1」が対応付けられている。矩形50の右下の頂点51bには、設定値「2」が対応付けられている。矩形50の右上の頂点51cには、設定値「4」が対応付けられている。矩形50の左上の頂点51dには、設定値「8」が対応付けられている。この4つの頂点51a〜51dに割り当てられた設定値は、それぞれを組み合わせた組み合わせ毎の合計値が異なる。以下に頂点51a〜51dの組み合わせと、組み合わせた頂点に対応する設定値、および設定値の合計値を示す。
Here, an example of the set value will be described. FIG. 2 is a diagram illustrating an example of setting values determined in correspondence with four vertices of a rectangle. In the example of FIG. 2, the setting value “1” is associated with the lower left
[頂点の組み合わせ] [頂点に対応する設定値] [設定値の合計値]
頂点51a :1 :1
頂点51b :2 :2
頂点51a、51b :1、2 :3
頂点51c :4 :4
頂点51a、51c :1、4 :5
頂点51b、51c :2、4 :6
頂点51a、51b、51c :1、2、4 :7
頂点51d :8 :8
頂点51a、51d :1、8 :9
頂点51b、51d :2、8 :10
頂点51a、51b、51d :1、2、8 :11
頂点51c、51d :4、8 :12
頂点51a、51c、51d :1、4、8 :13
頂点51b、51c、51d :2、4、8 :14
頂点51a、51b、51c、51d:1、2、4、8 :15
[Combination of vertices] [Setting value corresponding to vertices] [Total value of setting values]
このように、頂点51a〜51dを組み合わせた組み合わせ毎の合計値が異なることにより、頂点51a〜51dの組み合わせと合計値とは、1対1で対応する関係となる。すなわち、合計値から頂点51a〜51dの組み合わせが特定できるようになる。なお、矩形の4つの頂点に対応して定めた設定値「1」、「2」、「4」、「8」は一例であり、組み合わせ毎の合計値が異なれば何れの値としてもよい。また、組み合わせ毎の合計値は、連続した数値にならなくてもよい。
Thus, when the total value for each combination of the
設定値情報33には、4つの頂点に対応して設定値が記憶されている。図3は、設定値情報の構成例を示す図である。図3に示すように、設定値情報33は、「頂点位置」、「設定値」の各項目を有する。頂点位置の項目は、矩形の頂点の位置を示す情報を格納する領域である。設定値の項目は、頂点に対応する設定値を格納する領域である。
The setting
図3の例では、矩形50の左下の頂点51aは、設定値が「1」であることを示す。また、矩形の右下の頂点51bは、設定値が「2」であることを示す。矩形の右上の頂点51cは、設定値が「4」であることを示す。矩形の左上の頂点51dは、設定値が「8」であることを示す。
In the example of FIG. 3, the lower left
状態情報34は、合計値毎の輪郭の状態を示す状態情報が記憶されたデータである。一例として、状態情報34は、輪郭特定ソフトウェアの作成元で予め登録されてもよい。また、状態情報34は、管理者が入力部20あるいは、輪郭特定装置10と通信可能とされたクライアントコンピュータなどの端末装置から登録されてもよい。他の一例として、状態情報34は、後述の特定部48によって参照される。
The
図4は、状態情報の構成例を示す図である。図4に示すように、状態情報34は、「合計値」、「状態」、「検索方向」の各項目を有する。合計値の項目は、設定値の組み合わせて得られる合計値を格納する領域である。本実施例では、合計値として、1〜4の設定値を組み合わせて得られる1〜15の値が格納されている。状態の項目は、合計値が示す頂点の状態を示す情報を格納する領域である。検索方向の項目は、輪郭検索の際に次に検索を行う方向を示す情報を格納する領域である。図4の構成例では、検索方向は輪郭形状に対して反時計方向に検索する事を想定して示している。時計方向に検索する場合は、検索方向を図4とは逆にすることで対応できる。
FIG. 4 is a diagram illustrating a configuration example of state information. As shown in FIG. 4, the
ここで、合計値と頂点の状態との関係について説明する。図5は、合計値と頂点の状態の関係を説明するための図である。図5の例は、2つの矩形のメッシュ55a、55bが隣り合っている場合を示す。このメッシュ55aの頂点56a、56b、56c、56dに対して、それぞれ設定値情報33に基づいて対応する設定値を割り当てた場合、頂点56aは、設定値「1」が割り当てられる。頂点56bは、設定値「2」が割り当てられる。頂点56cは、設定値「4」が割り当てられる。頂点56dは、設定値「8」が割り当てられる。同様に、メッシュ55bの頂点56b、56c、56e、56fに対して、それぞれ設定値情報33に基づいて対応する設定値を割り当てた場合、頂点56bは、設定値「1」が割り当てられる。頂点56eは、設定値「2」が割り当てられる。頂点56fは、設定値「3」が割り当てられる。頂点56cは、設定値「8」が割り当てられる。図4に示すようにメッシュ55a、55bが隣り合い、頂点56b、56cがメッシュ55a、55bにそれぞれ含まれる場合、頂点56bは、設定値「1」と「2」が割り当てられ、設定値の合計値が「3」となる。また、頂点56cは、設定値「4」と「8」が割り当てられ、設定値の合計値が「12」となる。この合計値は、上述のように、設定値の組み合わせ毎に異なる。このため、合計値から頂点の状態が判定できる。
Here, the relationship between the total value and the vertex state will be described. FIG. 5 is a diagram for explaining the relationship between the total value and the vertex state. The example of FIG. 5 shows a case where two
状態情報34には、合計値毎に、頂点の状態が記憶されている。また、状態情報34には、合計値毎に、頂点の状態に応じて、輪郭検索の際の検索方向が記憶されている。
The
図4の例では、合計値が「1」の頂点は、矩形左下の独立した頂点であり、次に検索を行う方向が「右方向」であることを示す。合計値が「2」の頂点は、矩形右下の独立した頂点であり、次に検索を行う方向が「上方向」であることを示す。合計値が「3」の頂点は、左右に矩形が並ぶ下側の頂点であり、検索方向が変化しない通過点であるため、次に検索を行う方向が設定されていないことを示す。合計値が「4」の頂点は、矩形右上の独立した頂点であり、次に検索を行う方向が「左方向」であることを示す。合計値が「5」の頂点は、左下頂点と右上頂点が点接触した頂点であり、次に検索を行う方向の設定が、検索されてきた方向が上からの場合は「右方向」であり、検索されてきた方向が下からの場合は「左方向」であることを示す。合計値が「6」の頂点は、上下に矩形が並ぶ右側の頂点であり、検索方向が変化しない通過点であるため、次に検索を行う方向が設定されていないことを示す。合計値が「7」の頂点は、3つの矩形が隣り合う右下の入隅点となる頂点であり、次に検索を行う方向が「右方向」であることを示す。合計値が「8」の頂点は、矩形左上の独立した頂点であり、次に検索を行う方向が「下方向」であることを示す。合計値が「9」の頂点は、上下に矩形が並ぶ左側の頂点であり、検索方向が変化しない通過点であるため、次に検索を行う方向が設定されていないことを示す。合計値が「10」の頂点は、右下頂点と左上頂点が点接触した頂点であり、次に検索を行う方向の設定が、検索されてきた方向が右からの場合は「下方向」であり、検索されてきた方向が左からの場合は「上方向」であることを示す。合計値が「11」の頂点は、3つの矩形が隣り合う左下の入隅点となる頂点であり、次に検索を行う方向が「下方向」であることを示す。合計値が「12」の頂点は、左右に矩形が並ぶ上側の頂点であり、検索方向が変化しない通過点であるため、次に検索を行う方向が設定されていないことを示す。合計値が「13」の頂点は、3つの矩形が隣り合う左上の入隅点となる頂点であり、次に検索を行う方向が「左方向」であることを示す。合計値が「14」の頂点は、3つの矩形が隣り合う右上の入隅点となる頂点であり、次に検索を行う方向が「上方向」であることを示す。合計値が「15」の頂点は、4つの矩形が隣り合うモデル内部の内包点となる頂点であり、次に検索を行う方向が設定されていないことを示す。なお、図4の例では、状態および検索方向の項目にそれぞれの頂点の状態、検索方向を図により模式的に示している。 In the example of FIG. 4, the vertex whose total value is “1” is an independent vertex at the lower left of the rectangle, and indicates that the next search direction is “right”. Vertices whose total value is “2” are independent vertices at the lower right of the rectangle, and indicate that the next search direction is “upward”. The vertex having a total value of “3” is a lower vertex in which rectangles are arranged on the left and right, and is a passing point where the search direction does not change, and thus indicates that the direction in which the next search is performed is not set. Vertices whose total value is “4” are independent vertices in the upper right corner of the rectangle, and indicate that the next search direction is “left direction”. Vertices with a total value of “5” are vertices in which the lower left vertex and the upper right vertex make point contact, and the direction setting for the next search is “right” if the direction in which the search has been made is from the top. When the searched direction is from the bottom, it indicates “left direction”. The vertex having a total value of “6” is a right vertex in which rectangles are vertically aligned and is a passing point where the search direction does not change, and thus indicates that the direction in which the next search is performed is not set. A vertex having a total value of “7” is a vertex that is a lower right corner point where three rectangles are adjacent to each other, and indicates that the next search direction is “right”. Vertices whose total value is “8” are independent vertices in the upper left corner of the rectangle, and indicate that the next search direction is “downward”. The vertex whose total value is “9” is the left vertex where the rectangles are lined up and down, and is a passing point where the search direction does not change. Therefore, it indicates that the direction in which the next search is performed is not set. Vertices whose total value is “10” are vertices in which the lower right vertex and the upper left vertex make point contact, and the direction setting for the next search is “downward” when the direction in which the search has been made is from the right. Yes, if the searched direction is from the left, it indicates “upward”. A vertex having a total value of “11” is a vertex that is a lower left corner point where three rectangles are adjacent to each other, and indicates that the next search direction is “downward”. Vertices with a total value of “12” are upper vertices in which rectangles are arranged on the left and right, and are passing points where the search direction does not change, indicating that the next search direction is not set. A vertex having a total value of “13” is a vertex that is an upper left corner point where three rectangles are adjacent to each other, and indicates that the next search direction is “left direction”. The vertex whose total value is “14” is a vertex that is an upper right corner point where three rectangles are adjacent to each other, and indicates that the next search direction is “upward”. Vertices with a total value of “15” are vertices that are included points in the model where four rectangles are adjacent to each other, and indicate that the direction in which the next search is performed is not set. In the example of FIG. 4, the state and search direction of each vertex are schematically shown in the figure in the state and search direction items.
座標テーブル35は、解析対象のモデルを分割したメッシュの頂点に関する情報が記憶されたデータである。一例として、座標テーブル35は、後述の算出部43によって登録される。他の一例として、座標テーブル35は、後述の変更部46によって更新される。他の一例として、座標テーブル35は、後述の判定部45、ソート部44、特定部48によって参照される。
The coordinate table 35 is data in which information about the vertices of the mesh obtained by dividing the model to be analyzed is stored. As an example, the coordinate table 35 is registered by the
図6は、座標テーブルの構成例を示す図である。図6に示すように、座標テーブル35は、頂点毎に、頂点X,Y座標、合計値、入力データへのインデックスが並んで記憶されている。頂点X,Y座標は、頂点の位置を示すX,Y座標を記憶する領域である。合計値は、頂点に割り当てられた設定値を合計した合計値を記憶する領域である。入力データへのインデックスは、頂点が属するメッシュを示す情報を記憶する領域である。 FIG. 6 is a diagram illustrating a configuration example of the coordinate table. As shown in FIG. 6, the coordinate table 35 stores the vertex X and Y coordinates, the total value, and the index to the input data side by side for each vertex. The vertex X and Y coordinates are areas for storing X and Y coordinates indicating the position of the vertex. The total value is an area for storing a total value obtained by summing the set values assigned to the vertices. The index to the input data is an area for storing information indicating the mesh to which the vertex belongs.
ここで、解析対象のモデルを分割したメッシュの各頂点と座標テーブル35に記憶される情報との関係について説明する。図7は、メッシュの各頂点と座標テーブルに記憶される情報との関係について説明するための図である。図7の例は、解析対象のモデルが矩形のメッシュA〜Eに分割されている場合を示す。メッシュA〜Eは、(1)〜(13)の頂点を有する。 Here, a relationship between each vertex of the mesh obtained by dividing the model to be analyzed and information stored in the coordinate table 35 will be described. FIG. 7 is a diagram for explaining the relationship between each vertex of the mesh and information stored in the coordinate table. The example of FIG. 7 illustrates a case where the analysis target model is divided into rectangular meshes A to E. The meshes A to E have vertices (1) to (13).
座標テーブル35には、解析対象のモデルを分割したメッシュの各頂点の座標位置、各頂点に設定値を割り当てて合計した合計値、頂点が属するメッシュを示す情報が記憶されている。なお、本実施例では、頂点のX,Y座標を、それぞれの頂点を示す(1)〜(13)により模式的に示している。 The coordinate table 35 stores the coordinate position of each vertex of the mesh obtained by dividing the model to be analyzed, the total value obtained by assigning a set value to each vertex, and the information indicating the mesh to which the vertex belongs. In this embodiment, the X and Y coordinates of the vertices are schematically shown by (1) to (13) indicating the respective vertices.
図6の例では、1番目の頂点は、頂点X,Y座標が「(1)」であり、合計値が「8」、頂点が属するメッシュが「A」であることを示す。2番目の頂点は、頂点X,Y座標が「(2)」であり、合計値が「4」であり、頂点が属するメッシュが「A」であることを示す。3番目の頂点は、頂点X,Y座標が「(3)」であり、合計値が「9」であり、頂点が属するメッシュが「A」と「B」であることを示す。4番目の頂点は、頂点X,Y座標が「(4)」であり、合計値が「14」であり、頂点が属するメッシュが「A」と「B」と「C」であることを示す。5番目の頂点は、頂点X,Y座標が「(5)」であり、合計値が「4」であり、頂点が属するメッシュが「C」であることを示す。6番目の頂点は、頂点X,Y座標が「(6)」であり、合計値が「1」であり、頂点が属するメッシュが「B」であることを示す。7番目の頂点は、頂点X,Y座標が「(7)」であり、合計値が「11」であり、頂点が属するメッシュが「B」と「C」と「D」であることを示す。8番目の頂点は、頂点X,Y座標が「(8)」であり、合計値が「6」であり、頂点が属するメッシュが「C」と「D」であることを示す。9番目の頂点は、頂点X,Y座標が「(9)」であり、合計値が「1」であり、頂点が属するメッシュが「D」であることを示す。10番目の頂点は、頂点X,Y座標が「(10)」であり、合計値が「10」であり、頂点が属するメッシュが「D」と「E」であることを示す。11番目の頂点は、頂点X,Y座標が「(11)」であり、合計値が「4」であり、頂点が属するメッシュが「E」であることを示す。12番目の頂点は、頂点X,Y座標が「(12)」であり、合計値が「1」であり、頂点が属するメッシュが「E」であることを示す。13番目の頂点は、頂点X,Y座標が「(13)」であり、合計値が「2」であり、頂点が属するメッシュが「E」であることを示す。 In the example of FIG. 6, the first vertex indicates that the vertex X and Y coordinates are “(1)”, the total value is “8”, and the mesh to which the vertex belongs is “A”. The second vertex has a vertex X, Y coordinate of “(2)”, a total value of “4”, and a mesh to which the vertex belongs is “A”. The third vertex has a vertex X, Y coordinate of “(3)”, a total value of “9”, and indicates that the meshes to which the vertex belongs are “A” and “B”. The fourth vertex has a vertex X, Y coordinate of “(4)”, a total value of “14”, and the meshes to which the vertex belongs are “A”, “B”, and “C”. . The fifth vertex indicates that the vertex X and Y coordinates are “(5)”, the total value is “4”, and the mesh to which the vertex belongs is “C”. The sixth vertex indicates that the vertex X and Y coordinates are “(6)”, the total value is “1”, and the mesh to which the vertex belongs is “B”. The seventh vertex has a vertex X, Y coordinate of “(7)”, a total value of “11”, and the meshes to which the vertex belongs are “B”, “C”, and “D”. . The eighth vertex has a vertex X, Y coordinate of “(8)”, a total value of “6”, and indicates that the mesh to which the vertex belongs is “C” and “D”. The ninth vertex indicates that the vertex X and Y coordinates are “(9)”, the total value is “1”, and the mesh to which the vertex belongs is “D”. The tenth vertex has a vertex X, Y coordinate of “(10)”, a total value of “10”, and indicates that the mesh to which the vertex belongs is “D” and “E”. The eleventh vertex has a vertex X, Y coordinate of “(11)”, a total value of “4”, and the mesh to which the vertex belongs is “E”. The twelfth vertex indicates that the vertex X and Y coordinates are “(12)”, the total value is “1”, and the mesh to which the vertex belongs is “E”. The thirteenth vertex has a vertex X, Y coordinate of “(13)”, a total value of “2”, and the mesh to which the vertex belongs is “E”.
XYソートデータ36およびYXソートデータ37は、座標テーブル35に記憶された各頂点のデータを座標の配置位置の順にソートしたデータである。例えば、図7に示すメッシュの各頂点を設けられた平面の左右方向をX方向と上下方向をY方向とした場合、XYソートデータ36は、X方向、Y方向の順に優先して座標テーブル35に記憶された各頂点のデータをソートしたデータである。また、YXソートデータ37は、Y方向を優先して座標テーブル35に記憶された各頂点のデータをY方向、X方向の順に優先してソートしたデータである。図8は、図7に示した各頂点をX方向、Y方向の順に優先してソートする場合の頂点の順番を示した図である。図9は、図7に示した各頂点をY方向、X方向の順に優先してソートする場合の頂点の順番を示した図である。
The
なお、XYソートデータ36およびYXソートデータ37は、座標テーブル35に記憶された各頂点のデータを実際にソートしたものでもよく、また、座標テーブル35の各頂点のデータの記憶位置を示すポインタをソートしたものでもよい。本実施例では、各頂点のデータの位置を示すポインタをソートしてXYソートデータ36およびYXソートデータ37に記憶する。一例として、XYソートデータ36およびYXソートデータ37は、後述のソート部44によって登録される。他の一例として、XYソートデータ36およびYXソートデータ37は、後述の判定部45、特定部48によって参照される。
The
図10は、XYソートデータの構成例を示す図である。図9に示すように、XYソートデータ36は、X方向、Y方向の順にソートして図8に示した順に各頂点の記憶位置を示すポインタが記憶されている。図11は、YXソートデータの構成例を示す図である。図10に示すように、YXソートデータ37は、Y方向、X方向の順にソートして図8に示した順に各頂点の記憶位置を示すポインタが記憶されている。
FIG. 10 is a diagram illustrating a configuration example of XY sort data. As shown in FIG. 9, the
表示用データ38は、解析対象のモデルの輪郭を表示するための表示用のデータである。一例として、表示用データ38は、後述の特定部48によって登録される。他の一例として、表示用データ38は、後述の出力部49によって参照される。
The
図1に戻り、制御部23は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部23には、各種の集積回路や電子回路を採用できる。例えば、集積回路としては、ASIC(Application Specific Integrated Circuit)が挙げられる。また、電子回路としては、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などが挙げられる。制御部23は、図1に示すように、離散化部40と、生成部41と、割当部42と、算出部43と、ソート部44と、判定部45と、変更部46と、削除部47と、特定部48と、出力部49とを有する。
Returning to FIG. 1, the
このうち、離散化部40は、CADデータ30により示される基板を直交格子のメッシュにより離散化する処理部である。例えば、離散化部40は、CADデータ30により示される基板に配置された各種配線や各種素子、ホールなどの各要素を解析対象のモデルとして、入力部20から設定されたサイズのメッシュにより離散化する。そして、離散化部40は、離散化が完了すると、メッシュによるモデル形状を示したメッシュデータを生成して記憶部22に格納する。これにより、記憶部22には、メッシュデータ31が格納される。
Among these, the
生成部41は、メッシュデータ31により示されるメッシュによるモデル形状を所定の平面で平面化した2次元データを生成する処理部である。例えば、生成部41は、基板が複数層で構成されている場合、それぞれの層毎にモデル形状を平面化した2次元データを生成する。例えば、基板が複数のレイヤを含んだプリント基板の場合、生成部41は、各レイヤおよびレイヤ間の要素をそれぞれ平面化した2次元データを生成する。生成部41は、メッシュによるモデル形状を所定の平面で平面化した平面内に、平面化された矩形状のメッシュが含まれる場合、メッシュに対応付けて、メッシュデータのどのメッシュを平面化したものかを示す情報を2次元データに格納する。また、生成部41は、平面化された矩形状のメッシュが含まれる場合、メッシュに対応付けて、どの要素のメッシュであるかを示す情報も格納する。図12は、基板の一例を示す図である。図12の例は、上側の図が基板60の平面図を示し、下側の図が基板60の断面図を示す。図12の例では、基板60は、レイヤ61a、61bとレイヤ61a、61bを接続する要素62が設けられている。この基板60は、レイヤ61a、61bおよび要素62がそれぞれ別に平面化されて2次元データが生成される。生成部41は、生成した2次元データを記憶部22に格納する。これにより、記憶部22には、2次元データ32が格納される。
The
割当部42は、メッシュの各頂点に対して設定値情報33に基づき、対応する設定値を割り当てる処理部である。例えば、割当部42は、記憶部22から2次元データ32を読み出す。そして、割当部42は、それぞれの平面毎に、矩形のメッシュで分割された解析対象のモデルのメッシュの各頂点に対して設定値情報33に基づき、対応する設定値を割り当てる。
The assigning
算出部43は、設定値を合計した合計値を算出する処理部である。例えば、算出部43は、それぞれの平面毎に、各頂点に割り当てられた設定値を頂点毎に合計した合計値を算出する。設定値情報33に定められた設定値は、組み合わせた組み合わせ毎の合計値が異なる。このため、合計値は、頂点を含むメッシュがどのように配置されているかに応じて異なり、頂点の状態を表す。算出部43は、それぞれの平面毎に、平面内での各頂点の座標、頂点を含むメッシュを特定し、平面毎に、各頂点の合計値、頂点の座標、頂点を含むメッシュを示す情報を座標テーブル35に格納する。
The
ソート部44は、座標テーブル35に記憶された各平面の頂点のデータを、平面毎に配置位置の順にソートしてXYソートデータ36およびYXソートデータ37を生成する処理部である。例えば、ソート部44は、平面毎に、座標の配置位置がX方向、Y方向の順に優先して、座標テーブル35に記憶された各頂点のデータの位置を示すポインタをソートしてXYソートデータ36を生成する。また、ソート部44は、平面毎に、座標の配置位置がY方向、X方向の順に優先して、座標テーブル35に記憶された各頂点のデータの位置を示すポインタをソートしてYXソートデータ37を生成する。ソート部44は、生成したXYソートデータ36およびYXソートデータ37を記憶部22に格納する。
The sorting
ところで、頂点には、割り当てられた設定値の合計値が、「1」、「2」、「4」、「8」と設定値と同じになる頂点がある。この合計値が設定値と同じになる頂点には、次のように2つの種類がある。図13は、合計値が設定値になる頂点の状態を説明するための図である。図13の例は、2つの矩形のメッシュ55a、55bが縦に隣り合っており、メッシュ55aがメッシュ55bよりも幅が狭く、メッシュ55a、55bの右側が揃っている場合を示す。メッシュ55aの頂点56a、56b、56c、56dに対して、それぞれ設定値情報33に基づいて対応する設定値を割り当てた場合、頂点56aは、設定値「1」が割り当てられる。頂点56bは、設定値「2」が割り当てられる。頂点56cは、設定値「4」が割り当てられる。頂点56dは、設定値「8」が割り当てられる。メッシュ55bの頂点56b、56dに対して、それぞれ設定値情報33に基づいて対応する設定値を割り当てた場合、頂点56bは、設定値「4」が割り当てられる。頂点56eは、設定値「8」が割り当てられる。それぞれの頂点に対して割り当てた設定値を合計した場合、頂点56bは、2つの設定値、「2」と「4」が割り当てられているため、合計値が「6」となる。一方、頂点56a、56c、56d、56eは、それぞれ割り当てられた設定値が1つであるため、合計値が設定値となる。この合計値が設定値となる頂点56a、56c、56d、56eには、頂点56c、56d、56eに示すように、2つの直線が出合った出隅となる頂点と、頂点56aに示すように、2つの直線が出合った入隅となる頂点がある。
By the way, there are vertices whose sum of assigned setting values is the same as the setting values “1”, “2”, “4”, and “8”. There are two types of vertices whose total value is the same as the set value as follows. FIG. 13 is a diagram for explaining the state of vertices in which the total value becomes the set value. The example of FIG. 13 shows a case where two
図14は、入隅となる頂点のパターンを示した図である。図14に示すように、頂点52a〜52hは、それぞれ合計値が設定値になる入隅の頂点である。
FIG. 14 is a diagram showing a pattern of vertices that are corners. As illustrated in FIG. 14, the
判定部45は、合計値が何れかの設定値である頂点が隣接するメッシュの辺上に位置する入隅の頂点であるか判定する処理部である。判定部45は、座標テーブル35から合計値が何れかの設定値である頂点の座標を読み出す。そして、判定部45は、読み出した頂点の座標から上下に隣接する頂点を特定する。例えば、判定部45は、XYソートデータ36において、読み出した頂点のポインタに対し、データ順が前後のポインタを特定し、特定したポインタから頂点を特定する。
The
例えば、図10に示すように、XYソートデータ36には、図8に示すように、X方向、Y方向の順にソートして頂点の位置を示すポインタが記憶されている。このため、XYソートデータ36において、読み出した頂点のポインタに対してデータ順が前後のポインタが示す頂点は、読み出した頂点に対して上下に隣接する頂点がある場合、上下に隣接する頂点を示す。例えば、図10の(3)のポインタに対してデータ順が前後の(6)(1)のポインタは、図8に示すように、(3)の頂点の上下に隣接する(6)(1)の頂点を示す。一方、例えば、図10の(1)のポインタに対してデータ順が前後の(3)(9)のポインタは、図8に示すように、(1)の頂点の下側に隣接する(3)の頂点およびX方向が異なる(9)の頂点を示す。また、例えば、図10の(9)のポインタに対してデータ順が前後の(1)(7)のポインタは、図8に示すように、(9)の頂点の上側に隣接する(7)の頂点およびX方向が異なる(1)の頂点を示す。
For example, as shown in FIG. 10, the
判定部45は、座標テーブル35に基づき、特定した2つの頂点の座標地位および属するメッシュを比較し、2つの頂点のX方向の位置が同じでかつ同じメッシュに属する場合、読み出した頂点を入隅の頂点と判定する。例えば、図14の頂点52e〜52hは、上下に隣接する頂点のX方向の位置が同じでかつ同じメッシュに属する。よって、判定部45は、XYソートデータ36において読み出した頂点のポインタに対してデータ順が前後の頂点のX方向の位置が同じでかつ同じメッシュに属するかを判定することにより、図14の頂点52e〜52hのパターンの入隅の頂点を判定できる。
Based on the coordinate table 35, the
また、判定部45は、読み出した頂点の座標から左右に隣接する頂点を特定する。例えば、判定部45は、YXソートデータ37において、読み出した頂点のポインタに対し、データ順が前後のポインタを特定し、特定したポインタから頂点を特定する。
Further, the
例えば、図11に示すように、YXソートデータ37には、図9に示すように、Y方向、X方向の順にソートして頂点の位置を示すポインタが記憶されている。このため、YXソートデータ37において、読み出した頂点のポインタに対してデータ順が前後のポインタが示す頂点は、読み出した頂点に対して左右に隣接する頂点がある場合、左右に隣接する頂点を示す。例えば、図11の(4)のポインタに対してデータ順が前後の(3)(5)のポインタは、図9に示すように、(4)の頂点の左右に隣接する(3)(5)の頂点を示す。一方、例えば、図11の(5)のポインタに対してデータ順が前後の(4)(1)のポインタは、図9に示すように、(5)の頂点の左側に隣接する(4)の頂点およびY方向が異なる(1)の頂点を示す。また、例えば、図11の(1)のポインタに対してデータ順が前後の(5)(1)のポインタは、図9に示すように、(1)の頂点の右側に隣接する(2)の頂点およびY方向が異なる(5)の頂点を示す。
For example, as shown in FIG. 11, the YX
判定部45は、座標テーブル35に基づき、特定した2つの頂点の座標地位および属するメッシュを比較し、2つの頂点のY方向の位置が同じでかつ同じメッシュに属する場合、読み出した頂点を入隅の頂点と判定する。図14の頂点52a〜52dは、左右に隣接する頂点のY方向の位置が同じでかつ同じメッシュに属する。よって、判定部45は、YXソートデータ37において読み出した頂点のポインタに対してデータ順が前後の頂点のY方向の位置が同じでかつ同じメッシュに属するかを判定することにより、図14の頂点52a〜52dのパターンの入隅の頂点を判定できる。
Based on the coordinate table 35, the
変更部46は、判定部45により隣接するメッシュの辺上に位置する入隅の頂点であると判定された頂点の座標テーブル35に記憶された合計値を変更する処理部である。例えば、変更部46は、入隅の頂点であると判定された頂点の合計値を、3つのメッシュの頂点が重なり合って同様の入隅の状態となった頂点を示す合計値に変更する。例えば、図14に示すように、変更部46は、合計値が「1」であり、左右に隣接する頂点が同じメッシュに属する頂点52aの合計値を「13」に変更する。また、変更部46は、合計値が「2」であり、左右に隣接する頂点が同じメッシュに属する頂点52bの合計値を「14」に変更する。また、変更部46は、合計値が「4」であり、左右に隣接する頂点が同じメッシュに属する頂点52cの合計値を「7」に変更する。また、変更部46は、合計値が「8」であり、左右に隣接する頂点が同じメッシュに属する頂点52dの合計値を「11」に変更する。また、変更部46は、合計値が「1」であり、上下に隣接する頂点が同じメッシュに属する頂点52eの合計値を「7」に変更する。また、変更部46は、合計値が「2」であり、上下に隣接する頂点が同じメッシュに属する頂点52fの合計値を「11」に変更する。また、変更部46は、合計値が「4」であり、上下に隣接する頂点が同じメッシュに属する頂点52gの合計値を「13」に変更する。また、変更部46は、合計値が「8」であり、上下に隣接する頂点が同じメッシュに属する頂点52hの合計値を「14」に変更する。
The changing
ところで、合計値が「3」、「6」、「9」、「12」となる頂点は、図4に示す状態情報34の状態に示すように、頂点が2並んだ矩形の間にあり、解析対象のモデルの形状をベクトルデータとして記憶する場合、不要な点である。また、合計値が「15」となる頂点は、図4に示す状態情報34の状態に示すように、解析対象のモデル内に内包された点であり、解析対象のモデルの形状を特定する際に不要な点である。
By the way, the vertices whose total values are “3”, “6”, “9”, and “12” are between rectangles with two vertices as shown in the
削除部47は、解析対象のモデルの形状を特定する際に不要な頂点を座標テーブル35、XYソートデータ36およびYXソートデータ37から削除する処理部である。例えば、削除部47は、座標テーブル35、XYソートデータ36およびYXソートデータ37から合計値が「3」、「6」、「9」、「12」、「15」となる頂点のデータを削除する。例えば、図7に示すように、(1)〜(13)の頂点のデータが座標テーブル35、XYソートデータ36およびYXソートデータ37に記憶されていた場合、削除部47は、図15に示すように、(3)(8)の頂点のデータを削除する。図15は、図7から不要な頂点を削除した結果を示す図である。これにより、データが座標テーブル35、XYソートデータ36およびYXソートデータ37には、(1)、(2)、(4)〜(7)、(9)〜(13)の各頂点のデータが記憶される。図16は、図6から不要な頂点のデータを削除した座標テーブルの構成例を示す図である。図17は、図10から不要な頂点のデータを削除したXYソートデータの構成例を示す図である。図18は、図11から不要な頂点のデータを削除したYXソートデータの構成例を示す図である。
The
特定部48は、解析対象のモデルの輪郭の形状を特定する処理部である。例えば、特定部48は、2次元データ32から平面毎に要素を順に選択する。そして、特定部48は、選択した要素のメッシュが1つの場合、選択した要素の1つメッシュを輪郭と特定する。一方、特定部48は、選択した要素のメッシュが1つでない場合、2次元データ32から選択した要素の各メッシュを特定する。特定部48は、特定した各メッシュの頂点のうち、座標テーブル35に記憶された合計値が5、10以外の何れかの頂点を選択する。そして、特定部48は、選択した頂点を開始点とする。また、特定部48は、選択した頂点を処理対象の頂点として、状態情報34に基づき、処理対象の頂点の合計値に応じた輪郭の検索方向を特定する。ここで、合計値が5、10の頂点は、1つ前の頂点から検索されてきた検索方向が定まらないと、検索方向が特定できない。このため、合計値が5、10の頂点を開始点の対象から外している。
The specifying
特定部48は、処理対象の頂点から検索方向に検索を行って次の頂点を特定する。特定部48は、次の頂点が開始点となった場合、検索により輪郭が特定されたため、検索で通過した頂点の座標から輪郭の形状を示すベクトルデータを生成し、生成したデータを表示用データ38として記憶部22に格納する。特定部48は、選択した要素の各メッシュの頂点に、輪郭が特定できていない頂点がある場合、輪郭が特定できていない頂点を選択し、選択した頂点を開始点として輪郭の特定を繰り返す。一方、特定部48は、特定された各メッシュの全ての頂点について輪郭が特定できた場合、選択した要素の輪郭が特定できたものとして、次の要素を選択し、選択した要素の輪郭の特定を繰り返す。
The specifying
例えば、頂点が図15の場合を例にして、特定部48が輪郭を検索する流れの一例を説明する。ここで、図16に示す座標テーブル35には、図15の各頂点のX,Y座標、合計値、頂点が属するメッシュが記憶されている。図17に示すXYソートデータ36には、図16の各頂点のデータへのポインタがX方向、Y方向の順に優先してソートされて格納されている。図18に示すYXソートデータ37には、図16の各頂点のデータへのポインタがY方向、X方向の順に優先してソートされて格納されている。
For example, taking the case of the vertex in FIG. 15 as an example, an example of a flow in which the specifying
図15に示すメッシュA〜Eは、同じ要素を離散化したメッシュであるものとする。特定部48は、合計値が5、10以外の何れかの頂点を選択する。図15の例では、図16に示すように合計値が5、10以外の(1)、(2)、(4)〜(7)、(9)、(11)〜(13)の頂点から選択される。例えば、特定部48は、(1)の頂点を選択する。特定部48は、(1)の頂点を開始点とする。特定部48は、(1)の頂点を処理対象の頂点として、状態情報34に基づき、(1)の頂点の合計値に応じた輪郭の検索方向を特定する。図16に示すように、(1)の頂点の合計値は、「8」である。このため、検索方向は、図4に示す状態情報34から合計値が「4」に対応する「下方向」と特定される。特定部48は、下方向に次の頂点の検索を行って次の頂点を特定する。
Meshes A to E shown in FIG. 15 are meshes obtained by discretizing the same elements. The specifying
ここで、特定部48は、下方向に次の頂点を検索する場合、XYソートデータ36から処理対象の頂点へのポインタに対し、データ順が前のポインタを特定し、特定したポインタから頂点を特定する。また、特定部48は、上方向に次の頂点を検索する場合、XYソートデータ36から処理対象の頂点へのポインタに対し、データ順が後のポインタを特定し、特定したポインタから頂点を特定する。また、特定部48は、左方向に次の頂点を検索する場合、YXソートデータ37から処理対象の頂点へのポインタに対し、データ順が前のポインタを特定し、特定したポインタから頂点を特定する。また、特定部48は、右方向に次の頂点を検索する場合、YXソートデータ37から処理対象の頂点へのポインタに対し、データ順が後のポインタを特定し、特定したポインタから頂点を特定する。
Here, when searching for the next vertex in the downward direction, the specifying
例えば、特定部48は、図17に示すXYソートデータ36から(1)の頂点へのポインタに対し、データ順が前の(6)の頂点へのポインタを特定し、特定したポインタから(6)の頂点を特定する。
For example, the specifying
特定部48は、(6)の頂点が開始点である(1)の頂点ではないため、(6)の頂点を処理対象の頂点として、状態情報34に基づき、(6)の頂点の合計値に応じた輪郭の検索方向を特定する。(6)の頂点は、図16に示すように合計値が「1」であるため、図4に示す状態情報34から検索方向が「右方向」と特定される。特定部48は、図18に示すYXソートデータ37から(6)の頂点へのポインタに対し、データ順が後の(7)の頂点へのポインタを特定し、特定したポインタから(7)の頂点を特定する。
Since the vertex of (6) is not the vertex of (1), which is the starting point, the specifying
特定部48は、(7)の頂点が開始点である(1)の頂点ではないため、(7)の頂点を処理対象の頂点として、状態情報34に基づき、(7)の頂点の合計値に応じた輪郭の検索方向を特定する。(7)の頂点は、図16に示すように合計値が「11」であるため、図4に示す状態情報34から検索方向が「下方向」と特定される。特定部48は、図17に示すXYソートデータ36から(7)の頂点へのポインタに対し、データ順が前の(9)の頂点へのポインタを特定し、特定したポインタから(9)の頂点を特定する。
Since the vertex of (7) is not the vertex of (1), which is the starting point, the specifying
特定部48は、(9)の頂点が開始点である(1)の頂点ではないため、(9)の頂点を処理対象の頂点として、状態情報34に基づき、(9)の頂点の合計値に応じた輪郭の検索方向を特定する。(9)の頂点は、図16に示すように合計値が「1」であるため、図4に示す状態情報34から検索方向が「右方向」と特定される。特定部48は、図18に示すYXソートデータ37から(9)の頂点へのポインタに対し、データ順が後の(10)の頂点へのポインタを特定し、特定したポインタから(10)の頂点を特定する。
Since the vertex of (9) is not the vertex of (1) that is the start point, the specifying
特定部48は、(10)の頂点が開始点である(1)の頂点ではないため、(10)の頂点を処理対象の頂点として、状態情報34に基づき、(10)の頂点の合計値に応じた輪郭の検索方向を特定する。(10)の頂点は、図16に示すように合計値が「10」である。図4に示す状態情報34では、合計値が「10」の検索方向は、検索されてきた方向が「右」からの場合、「下方向」であり、検索されてきた方向が「左」からの場合、「上方向」とされている。(10)の頂点は、左側の(9)の頂点から検索されてきたため、検索されてきた方向が「左」である。このため、検索方向が「上方向」と特定される。特定部48は、図17に示すXYソートデータ36から(10)の頂点へのポインタに対し、データ順が後の(5)の頂点へのポインタを特定し、特定したポインタから(5)の頂点を特定する。
Since the vertex of (10) is not the vertex of (1), which is the start point, the specifying
特定部48は、(5)の頂点が開始点である(1)の頂点ではないため、(5)の頂点を処理対象の頂点として、状態情報34に基づき、(5)の頂点の合計値に応じた輪郭の検索方向を特定する。(5)の頂点は、図16に示すように合計値が「4」であるため、図4に示す状態情報34から検索方向が「左方向」と特定される。特定部48は、図18に示すYXソートデータ37から(5)の頂点へのポインタに対し、データ順が前の(4)の頂点へのポインタを特定し、特定したポインタから(4)の頂点を特定する。
Since the vertex of (5) is not the vertex of (1), which is the starting point, the specifying
特定部48は、(4)の頂点が開始点である(1)の頂点ではないため、(4)の頂点を処理対象の頂点として、状態情報34に基づき、(4)の頂点の合計値に応じた輪郭の検索方向を特定する。(4)の頂点は、図16に示すように合計値が「14」であるため、図4に示す状態情報34から検索方向が「上方向」と特定される。特定部48は、図17に示すXYソートデータ36から(4)の頂点へのポインタに対し、データ順が後の(2)の頂点へのポインタを特定し、特定したポインタから(2)の頂点を特定する。
Since the vertex of (4) is not the vertex of (1), which is the starting point, the specifying
特定部48は、(2)の頂点が開始点である(1)の頂点ではないため、(2)の頂点を処理対象の頂点として、状態情報34に基づき、(2)の頂点の合計値に応じた輪郭の検索方向を特定する。(2)の頂点は、図16に示すように合計値が「4」であるため、図4に示す状態情報34から検索方向が「左方向」と特定される。特定部48は、図18に示すYXソートデータ37から(2)の頂点へのポインタに対し、データ順が前の(1)の頂点へのポインタを特定し、特定したポインタから(1)の頂点を特定する。
Since the vertex of (2) is not the vertex of (1), which is the starting point, the specifying
特定部48は、特定した(1)の頂点が開始点である(1)の頂点であるため、検索した経路の(1)、(6)、(7)、(9)、(10)、(5)、(4)、(2)の各頂点の座標から輪郭の形状を示すベクトルデータを生成して記憶部22に格納する。
Since the identified vertex (1) is the vertex of (1) that is the starting point, the identifying unit 48 (1), (6), (7), (9), (10), Vector data indicating the shape of the contour is generated from the coordinates of the vertices (5), (4), and (2), and stored in the
また、図15に示す例の場合、(11)〜(13)の頂点は、輪郭が特定できていない。特定部48は、輪郭が特定できていない(11)〜(13)の頂点の何れかを選択し、選択した頂点を開始点として輪郭の特定を繰り返す。図15には、このようにして特定された2つの輪郭を示す多角形の頂点の座標が示されている。
In the case of the example shown in FIG. 15, the contours of the vertices (11) to (13) cannot be specified. The specifying
出力部49は、表示部21への画像の出力を行う処理部である。例えば、出力部49は、表示用データ38に基づいて、特定した輪郭によるモデル形状の画像を表示部21へ出力する。
The
ユーザは、表示部21にされた輪郭によるモデル形状を元のモデル形状を参照しながら、モデルが適切に分割されているか確認を行う。
The user confirms whether the model is appropriately divided while referring to the original model shape for the model shape based on the contour displayed on the
ここで、表示部21に表示される画像について説明する。図19は、FTDT法による解析を行う要素の一例を示す図である。図19の例では、解析を行う要素として、基板に配線70が配置されている。図20は、要素をメッシュにより離散化した結果の一例を示す図である。図20の例では、配線70がメッシュにより22個の矩形に分割されている。図21は、離散化した要素の輪郭を特定した結果の一例を示す図である。図21の例では、メッシュにより離散化された配線70の輪郭が示されている。
Here, an image displayed on the
図20に示す配線70をメッシュにより離散化した画像を表示部21に表示する場合、配線70がメッシュにより22個の矩形の描画に用いる頂点は88個となる。一方、図21に配線70の輪郭の画像を表示部21に表示する場合、配線70が1個の多角形になり、描画に用いる頂点は、メッシュで表示する場合より24個に削減される。
When an image obtained by discretizing the
このように、輪郭特定装置10は、輪郭を特定して表示することにより、描画に用いる頂点が減り、描画する線の数も減るため、描画の負荷を軽減できる。
As described above, the
一例として、回路設定が行われたプリント基板をFTDT法による電磁界解析を行うためにメッシュで離散化した場合、メッシュの数が970,792,308個であった。この基板を所定の面を表示した場合、表示する辺の数が16,470,856個であった。この同じ面に対して輪郭を特定して表示を行った場合、表示する辺の数が4,148,261個となり、表示する辺の数が74.8%削減された。また、表示に要するメモリも30.7M削減された。図22は、メッシュで離散化した基板の所定の面を表示した一例を示す図である。図22の例は、配線の状態を判別しやすくするため、基板の一部を拡大している。図23は、図22と同じ面に対して輪郭を特定して表示した一例を示す図である。図23の例は、図22と同じ部分を示している。図22に示すように、メッシュで離散化する場合、配線70の斜めに配置された部分は、非常に多数のメッシュに分割される。一方、図23に示すように、輪郭を特定して表示した場合、配線70の描画に用いる頂点が減り、描画する線の数も減るため、描画の負荷を軽減される。
As an example, when a printed circuit board on which circuit setting has been performed is discretized with meshes in order to perform electromagnetic field analysis by the FTDT method, the number of meshes is 970, 792, 308. When this substrate was displayed on a predetermined surface, the number of sides to be displayed was 16,470,856. When the contour was specified and displayed on the same surface, the number of sides to be displayed was 4,148,261, and the number of sides to be displayed was reduced by 74.8%. Also, the memory required for display was reduced by 30.7M. FIG. 22 is a diagram illustrating an example in which a predetermined surface of a substrate discretized with a mesh is displayed. In the example of FIG. 22, a part of the substrate is enlarged in order to easily determine the state of the wiring. FIG. 23 is a diagram illustrating an example in which a contour is specified and displayed on the same surface as FIG. The example of FIG. 23 shows the same part as FIG. As shown in FIG. 22, when discretizing with a mesh, the diagonally disposed portion of the
[処理の流れ]
次に、本実施例に係る輪郭特定装置10により、メッシュデータにより示されるモデル形状の輪郭を特定する輪郭特定処理の流れを説明する。図24は、輪郭特定処理の手順を示すフローチャートである。この輪郭特定処理は、例えば、入力部20からメッシュデータにより示されるモデル形状の輪郭の特定を指示する所定操作が行われたタイミングで実行される。なお、輪郭特定処理は、CADデータ30に対する離間化処理に引き続き実行されてもよい。
[Process flow]
Next, the flow of the contour specifying process for specifying the contour of the model shape indicated by the mesh data by the
図24に示すように、生成部41は、メッシュデータ31により示されるメッシュによるモデル形状を所定の平面で平面化した2次元データを生成する(S10)。例えば、生成部41は、基板が複数層で構成されている場合、それぞれの層毎にモデル形状を平面化した2次元データを生成する。特定部48は、2次元データ32から輪郭を特定する処理対象の平面を選択する(S11)。また、特定部48は、選択した処理対象の平面から輪郭を特定する処理対象の要素を選択する(S12)。特定部48は、選択した処理対象の要素のメッシュが1つであるか否かを判定する(S13)。メッシュが1つである場合(S13肯定)、特定部48は、1つメッシュを輪郭と特定し(S14)、後述するS19へ移行する。
As illustrated in FIG. 24, the
一方、処理対象の要素のメッシュが1つではない場合(S13否定)、割当部42、算出部43およびソート部44が、輪郭を特定するため後述する準備処理を行う(S15)。準備処理の終了後、判定部45および変更部46が、後述する入隅点検出処理を行う(S16)。入隅点検出処理の終了後、削除部47は、不要な頂点を座標テーブル35、XYソートデータ36およびYXソートデータ37から削除する(S17)。そして、特定部48が、輪郭を抽出するため後述する抽出処理を行う(S18)。
On the other hand, if the number of meshes of the element to be processed is not one (No at S13), the assigning
特定部48は、処理対象の平面の全ての要素に対する輪郭の特定が完了したか否かを判定する(S19)。全ての要素に対する輪郭の特定が完了していない場合(S19否定)、上述のS12へ移行する。一方、全ての要素に対する輪郭の特定が完了した場合(S19肯定)、特定部48は、2次元データ32の全ての平面に対する処理が完了したか否かを判定する(S20)。全ての平面に対する処理が完了していない場合(S20否定)、上述のS11へ移行する。一方、全ての平面に対する処理が完了した場合(S20肯定)、処理を終了する。
The specifying
次に、本実施例に係る準備処理の流れについて説明する。図25は、準備処理の手順を示すフローチャートである。この準備処理は、図24に示す輪郭特定処理のS15から呼び出されて実行される。 Next, the flow of preparation processing according to the present embodiment will be described. FIG. 25 is a flowchart showing the procedure of the preparation process. This preparation process is called and executed from S15 of the contour specifying process shown in FIG.
図25に示すように、割当部42は、処理対象の要素の全てのメッシュに対する処理が完了したか否かを判定する(S30)。全てのメッシュに対する処理が完了していない場合(S30否定)、割当部42は、未処理のメッシュを1つ選択する(S31)。割当部42は、変数nを1に初期化する(S32)。割当部42は、変数nが1であるか否かを判定する(S33)。変数nが1である場合(S33肯定)、割当部42は、選択したメッシュの左下の頂点を処理対象の頂点と特定する(S34)。一方、変数nが1ではない場合(S33否定)、割当部42は、変数nが2であるか否かを判定する(S35)。変数nが2である場合(S35肯定)、割当部42は、選択したメッシュの右下の頂点を処理対象の頂点と特定する(S36)。一方、変数nが2ではない場合(S35否定)、割当部42は、変数nが3であるか否かを判定する(S37)。変数nが3である場合(S37肯定)、割当部42は、選択したメッシュの右上の頂点を処理対象の頂点と特定する(S38)。一方、変数nが3ではない場合(S37否定)、割当部42は、選択したメッシュの左上の頂点を処理対象の頂点と特定する(S39)。
As shown in FIG. 25, the assigning
割当部42は、設定値情報33から、処理対象とされた頂点に対応する設定値を読み出す(S40)。算出部43は、処理対象とされた頂点の座標で座標テーブル35を検索する(S41)。算出部43は、検索の結果、座標テーブル35に同じ座標のデータがあるか否かを判定する(S42)。同じ座標のデータがない場合(S42否定)、算出部43は、処理対象とされた頂点の設定値、頂点の座標、頂点を含むメッシュを示す情報を座標テーブル35に追加する(S43)。一方、同じ座標のデータがある場合(S42肯定)、算出部43は、既に記憶された同じ座標のデータに処理対象とされた頂点の設定値を加算する(S44)。
The assigning
割当部42は、変数nが4であるか否かを判定する(S45)。変数nが4ではない場合(S45否定)、割当部42は、変数nの値に1を加算し(S46)、上述のS33へ移行する。一方、変数nが4である場合(S45肯定)、上述のS30へ移行する。
The assigning
一方、全てのメッシュに対する処理が完了した場合(S30肯定)、ソート部44は、頂点の配置位置の順に座標テーブル35のデータをソートしてXYソートデータ36およびYXソートデータ37を生成し(S47)、処理を終了して呼び出し元の処理へ戻る。
On the other hand, when the processing for all the meshes is completed (Yes at S30), the sorting
次に、本実施例に係る入隅点検出処理の流れについて説明する。図26は、入隅点検出処理の手順を示すフローチャートである。この入隅点検出処理は、図24に示す輪郭特定処理のS16から呼び出されて実行される。 Next, the flow of the corner detection processing according to the present embodiment will be described. FIG. 26 is a flowchart showing the procedure of the corner entry detection process. This corner entry point detection process is called and executed from S16 of the contour specifying process shown in FIG.
図26に示すように、判定部45は、XYソートデータ36の順に頂点を選択する(S50)。判定部45は、選択した頂点が座標テーブル35で合計値が何れかの設定値となる頂点であるか否かを判定する(S51)。合計値が何れかの設定値となる頂点ではない場合(S51否定)、後述するS55へ移行する。一方、合計値が何れかの設定値となる頂点である場合(S51肯定)、XYソートデータ36に基づき、選択した頂点の左右の頂点を特定する(S52)。判定部45は、左右の頂点のY方向の位置が同じでかつ同じメッシュに属するか否かを判定する(S53)。左右の頂点のY方向の位置が異なるまたは同じメッシュに属さない場合(S53否定)、後述するS55へ移行する。一方、左右の頂点のY方向の位置が同じでかつ同じメッシュに属する場合(S53肯定)、変更部46は、選択された頂点の座標テーブル35に記憶された合計値を次のように変更する。すなわち、変更部46は、選択された頂点の座標テーブル35に記憶された合計値が1の場合、合計値を13に変更する。また、変更部46は、選択された頂点の座標テーブル35に記憶された合計値が2の場合、合計値を14に変更する。また、変更部46は、選択された頂点の座標テーブル35に記憶された合計値が4の場合、合計値を7に変更する。また、変更部46は、選択された頂点の座標テーブル35に記憶された合計値が8の場合、合計値を11に変更する(S54)。
As shown in FIG. 26, the
判定部45は、XYソートデータ36の順に全ての頂点を選択が完了したか否かを判定する(S55)。全ての頂点の選択が完了していない場合(S55否定)、上述のS50へ移行する。全ての頂点を選択が完了した場合(S55肯定)、判定部45は、YXソートデータ37の順に頂点を選択する(S56)。
The
判定部45は、選択した頂点が座標テーブル35で合計値が何れかの設定値となる頂点であるか否かを判定する(S57)。合計値が何れかの設定値となる頂点ではない場合(S57否定)、後述するS61へ移行する。一方、合計値が何れかの設定値となる頂点である場合(S57肯定)、YXソートデータ37に基づき、選択した頂点の上下の頂点を特定する(S58)。判定部45は、上下の頂点のX方向の位置が同じでかつ同じメッシュに属するか否かを判定する(S59)。上下の頂点のX方向の位置が異なるまたは同じメッシュに属さない場合(S59否定)、後述するS61へ移行する。一方、上下の頂点のX方向の位置が同じでかつ同じメッシュに属する場合(S59肯定)、変更部46は、選択された頂点の座標テーブル35に記憶された合計値を次のように変更する(S60)。すなわち、変更部46は、選択された頂点の座標テーブル35に記憶された合計値が1の場合、合計値を7に変更する。また、変更部46は、選択された頂点の座標テーブル35に記憶された合計値が2の場合、合計値を11に変更する。また、変更部46は、選択された頂点の座標テーブル35に記憶された合計値が4の場合、合計値を13に変更する。また、変更部46は、選択された頂点の座標テーブル35に記憶された合計値が8の場合、合計値を14に変更する。
The
判定部45は、YXソートデータ37の順に全ての頂点を選択が完了したか否かを判定する(S61)。全ての頂点を選択が完了していない場合(S61否定)、上述のS56へ移行する。全ての頂点を選択が完了した場合(S61肯定)、処理を終了して呼び出し元の処理へ戻る。
The
次に、本実施例に係る輪郭を抽出する抽出処理の流れについて説明する。図27は、抽出処理の手順を示すフローチャートである。この抽出処理は、図27に示す輪郭特定処理のS18から呼び出されて実行される。 Next, the flow of extraction processing for extracting the contour according to the present embodiment will be described. FIG. 27 is a flowchart showing the procedure of the extraction process. This extraction process is called and executed from S18 of the contour specifying process shown in FIG.
図27に示すように、特定部48は、座標テーブル35に、処理対象の要素の各メッシュの頂点に、合計値が5、10以外の未処理の頂点があるか否かを判定する(S70)。ここで、処理済みの頂点は、後述するS82において合計値を−1に更新される。このため、特定部48は、処理対象の要素の各メッシュの頂点に、合計値が−1、5、10以外の頂点があるか否かを判定する。合計値が−1、5、10以外の頂点がない場合(S70否定)、処理対象の要素の各メッシュの全ての頂点の輪郭が特定できたため、処理を終了して呼び出し元の処理へ戻る。
As illustrated in FIG. 27, the specifying
合計値が−1、5、10以外の頂点がある場合(S70肯定)、特定部48は、処理対象の要素の各メッシュの頂点から合計値が−1、5、10以外の頂点を選択する(S71)。特定部48は、選択した頂点を開始点に設定する(S72)。特定部48は、選択した頂点を、処理対象の頂点として、状態情報34に基づき、処理対象の頂点の合計値に応じた輪郭の検索方向を特定する(S73)。
When there are vertices other than -1, 5, 10 in the total value (Yes in S70), the specifying
特定部48は、輪郭の検索方向が下方向であるか否かを判定する(S74)。検索方向が下方向である場合(S74肯定)、特定部48は、XYソートデータ36から処理対象の頂点へのポインタに対し、データ順が前のポインタを特定し、特定したポインタから頂点を特定する(S75)。
The identifying
一方、検索方向が下方向ではない場合(S74否定)、特定部48は、検索方向が上方向であるか否かを判定する(S76)。検索方向が上方向である場合(S76肯定)、特定部48は、XYソートデータ36から処理対象の頂点へのポインタに対し、データ順が後のポインタを特定し、特定したポインタから頂点を特定する(S77)。
On the other hand, when the search direction is not downward (No in S74), the specifying
一方、検索方向が上方向ではない場合(S76否定)、特定部48は、検索方向が左方向であるか否かを判定する(S78)。検索方向が左方向である場合(S78肯定)、特定部48は、YXソートデータ37から処理対象の頂点へのポインタに対し、データ順が前のポインタを特定し、特定したポインタから頂点を特定する(S79)。
On the other hand, when the search direction is not upward (No at S76), the specifying
一方、検索方向が左方向ではない場合(S78否定)、検索方向が残った右方向であるため、特定部48は、YXソートデータ37から処理対象の頂点へのポインタに対し、データ順が後のポインタを特定し、特定したポインタから頂点を特定する(S80)。
On the other hand, if the search direction is not the left direction (No at S78), the search direction is the left direction that remains, so the specifying
特定部48は、処理対象の頂点の合計値が5または10であるか判定する(S81)。処理対象の頂点の合計値が5または10ではない場合(S81否定)、特定部48は、座標テーブル35の処理対象の頂点の合計値を−1に更新する。一方、処理対象の頂点の合計値が5または10である場合(S81肯定)、合計値の更新を行わず、S83へ移行する。これは、合計値が5または10の頂点は、2つのメッシュが点接触している頂点であり、輪郭を求めるために2度、合計値が参照されるためである。
The identifying
特定部48は、特定した頂点が開始点であるか否かを判定する(S83)。特定した頂点が開始点ではない場合(S83否定)、特定部48は、特定した頂点を処理対象の頂点に設定し(S84)、上述のS73へ移行する。特定した頂点が開始点である場合(S83肯定)、開始点以降に通過した頂点の座標から輪郭の形状を示すベクトルデータを生成し、生成したデータを表示用データ38として記憶部22に格納し、上述のS70へ移行する。
The identifying
[実施例1の効果]
本実施例に係る輪郭特定装置10は、矩形の4つの頂点にそれぞれ対応して、それぞれを組み合わせた組み合わせ毎の合計値が異なるように定めた設定値を示す設定値情報および前記合計値毎の輪郭の状態を示す状態情報34を記憶部22に記憶する。輪郭特定装置10は、矩形のメッシュで分割された解析対象のモデルのメッシュの各頂点に対して設定値情報に基づき、対応する設定値を割り当てる。輪郭特定装置10は、割り当てられた設定値を頂点毎に合計した合計値を算出する。そして、輪郭特定装置10は、状態情報に基づき、頂点毎の合計値から解析対象のモデルの輪郭の形状を特定する。このように、輪郭特定装置10は、解析対象のモデルのメッシュの各頂点に対して設定値を割り当て、頂点毎に割り当てられた設定値を合計した合計値を求めるという簡単な演算で、合計値から頂点の状態を特定でき、頂点の状態から輪郭の形状を特定できる。よって、輪郭特定装置10は、特定した輪郭の形状に従って解析対象のモデルの輪郭の描画を行うことにより、描画の負荷を軽減できる。
[Effect of Example 1]
The
また、本実施例に係る輪郭特定装置10は、合計値毎に輪郭の検索方向を示す方向情報をさらに記憶する。輪郭特定装置10は、方向情報に基づき、頂点から当該頂点の合計値に応じた検索方向に輪郭の検索を行って前記解析対象のモデルの外形の頂点となる輪郭点を特定する。そして、輪郭特定装置10は、ベクトルデータとして解析対象のモデルの輪郭の形状を特定する。よって、輪郭特定装置10は、ベクトルデータとして解析対象のモデルの輪郭の形状を特定するため、解析対象のモデルを識別して色を変えるなどの描画が行いやすくなる。
In addition, the
また、本実施例に係る輪郭特定装置10は、算出された合計値が何れかの設定値である頂点が隣接するメッシュの辺上に位置する入隅の頂点であるか判定する。そして、輪郭特定装置10は、隣接するメッシュの辺上に位置する入隅の頂点であると判定された頂点の合計値を、3つのメッシュの頂点が重なり合って同様の入隅の状態となった頂点を示す合計値に変更する。よって、輪郭特定装置10は、頂点が隣接するメッシュの辺上に位置する入隅の頂点に対して個別に輪郭を特定する処理を行う必要がなく、3つのメッシュの頂点が重なり合った入隅の頂点と同様の処理で輪郭を特定できる。
Further, the
また、本実施例に係る輪郭特定装置10は、複数のレイヤで構成された基板の解析対象のモデルを直交格子のメッシュにより離散化する。輪郭特定装置10は、離散化された基板を所定の平面で平面化した2次元データを生成する。そして、輪郭特定装置10は、2次元データ32により示される平面上の解析対象のモデルを分割した矩形のメッシュの各頂点に対して設定値情報に基づき、対応する設定値を割り当てる。よって、輪郭特定装置10は、基板を所定の平面での解析対象のモデルの輪郭の形状を特定することができる。
In addition, the
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。 Although the embodiments related to the disclosed apparatus have been described above, the present invention may be implemented in various different forms other than the above-described embodiments. Therefore, another embodiment included in the present invention will be described below.
例えば、上記の実施例では、状態情報34に合計値毎に検索方向が記憶させた場合について説明したが、開示の装置はこれに限定されない。例えば、合計値毎に検索方向を別なデータとして記憶させてもよい。また、状態情報34の図4に示した検索方向も一例であり、開示の装置はこれに限定されない。図4に示した検索方向は、輪郭を左回りで特定するように定められているが、輪郭を右回りで特定するように定めてもよい。
For example, in the above-described embodiment, the case where the search direction is stored for each total value in the
また、上記の実施例では、頂点から頂点の合計値に応じた検索方向に輪郭の検索を行って前記解析対象のモデルの外形の頂点となる輪郭点を特定する場合について説明したが、開示の装置はこれに限定されない。例えば、合計値毎に輪郭の形状を示すイメージデータを記憶し、各頂点の合計値に応じたイメージデータにより輪郭の描画を行うものとしてもよい。 In the above-described embodiment, a case has been described in which a contour is searched in a search direction corresponding to a total value of vertices from a vertex to specify a contour point that is a vertex of the outline of the model to be analyzed. The apparatus is not limited to this. For example, image data indicating the shape of the contour may be stored for each total value, and the contour may be drawn with image data corresponding to the total value of each vertex.
また、上記の実施例では、座標テーブル35、XYソートデータ36およびYXソートデータ37から合計値が「3」、「6」、「9」、「12」、「16」となる頂点のデータを削除する場合について説明したが、開示の装置はこれに限定されない。例えば、合計値が「3」、「6」、「9」、「12」の頂点は、検索方向が前の頂点と変わらないものとして次の頂点を検索することにより、輪郭を特定できる。また、合計値が−1、5、10、16以外の頂点から開始点を選択することにより、輪郭を検索する際に、合計値が16の頂点が処理対象の頂点となることも抑制できる。
Further, in the above embodiment, the vertex data whose total values are “3”, “6”, “9”, “12”, “16” from the coordinate table 35, the
また、上記の実施例では、ソート部44が座標テーブル35に記憶された各平面の頂点のデータを、平面毎に配置位置の順にソートしてXYソートデータ36およびYXソートデータ37を生成する場合について説明したが、開示の装置はこれに限定されない。例えば、座標テーブル35がX方向、Y方向の順またはY方向、X方向の順にソートして頂点のデータが格納されている場合、ソート部44がソートされていない側のソードデータのみを生成してもよい。
In the above embodiment, the sorting
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、輪郭特定装置10の離散化部40、生成部41、割当部42、算出部43、ソート部44、判定部45、変更部46、削除部47、特定部48、出力部49の各処理部が適宜統合されてもよい。また、各処理部の処理が適宜複数の処理部の処理に分離されてもよい。また、各処理部を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の輪郭特定装置10の機能を実現するようにしてもよい。
[Distribution and integration]
In addition, each component of each illustrated apparatus does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. For example, each process of the
[輪郭特定プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図28を用いて、上記の実施例と同様の機能を有する輪郭特定プログラムを実行するコンピュータの一例について説明する。
[Outline identification program]
The various processes described in the above embodiments can be realized by executing a prepared program on a computer such as a personal computer or a workstation. In the following, an example of a computer that executes a contour specifying program having the same function as that of the above-described embodiment will be described with reference to FIG.
図28は、輪郭特定プログラムを実行するコンピュータの一例について説明するための図である。図28に示すように、コンピュータ200は、操作部210と、ディスプレイ220と、通信部230とを有する。さらに、このコンピュータ200は、CPU250と、ROM260と、HDD270と、RAM280と有する。これら210〜280の各部はバス240を介して接続される。
FIG. 28 is a diagram for describing an example of a computer that executes an outline specifying program. As illustrated in FIG. 28, the
HDD270には、離散化部40、生成部41、割当部42、算出部43、ソート部44、判定部45、変更部46、削除部47、特定部48、出力部49と同様の機能を発揮する輪郭特定プログラム270aが予め記憶される。この輪郭特定プログラム270aについては、実施例1で示した各構成要素と同様、適宜統合又は分離しても良い。すなわち、HDD270に格納される各データは、常に全てのデータがHDD270に格納される必要はなく、処理に必要なデータのみがHDD270に格納されれば良い。
The
そして、CPU250が、輪郭特定プログラム270aをHDD270から読み出してRAM280に展開する。これによって、図28に示すように、輪郭特定プログラム270aは、輪郭特定プロセス280aとして機能する。この輪郭特定プロセス280aは、HDD270から読み出した各種データを適宜RAM280上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。輪郭特定プロセス280aは、離散化部40、生成部41、割当部42、算出部43、ソート部44、判定部45、変更部46、削除部47、特定部48、出力部49にて実行される処理、例えば図24〜図27に示す処理を含む。すなわち、輪郭特定プロセス280aは、離散化部40、生成部41、割当部42、算出部43、ソート部44、判定部45、変更部46、削除部47、特定部48、出力部49と同様の動作を実行する。なお、CPU250上で仮想的に実現される各処理部は、常に全ての処理部がCPU250上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。
Then, the
なお、上記の輪郭特定プログラム270aについては、必ずしも最初からHDD270やROM260に記憶させておく必要はない。例えば、コンピュータ200に挿入されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ200がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ200に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ200がこれらから各プログラムを取得して実行するようにしてもよい。
Note that the
10 輪郭特定装置
20 入力部
21 表示部
22 記憶部
23 制御部
30 CADデータ
31 メッシュデータ
32 2次元データ
33 設定値情報
34 状態情報
35 座標テーブル
36 XYソートデータ
37 YXソートデータ
38 表示用データ
40 離散化部
41 生成部
42 割当部
43 算出部
44 ソート部
45 判定部
46 変更部
47 削除部
48 特定部
49 出力部
DESCRIPTION OF
Claims (6)
矩形のメッシュで分割された解析対象のモデルの前記メッシュの各頂点に対して前記設定値情報に基づき、対応する設定値を割り当てる割当部と、
前記割当部により割り当てられた設定値を頂点毎に合計した合計値を算出する算出部と、
前記状態情報に基づき、頂点毎の前記合計値から前記解析対象のモデルの輪郭の形状を特定する特定部と、
を有することを特徴とする輪郭特定装置。 A storage for storing setting value information indicating setting values determined so that the total value for each combination obtained by combining the four vertices of the rectangle is different, and state information indicating the state of the contour for each of the total values And
An assigning unit that assigns a corresponding setting value to each vertex of the mesh of the analysis target model divided by a rectangular mesh, based on the setting value information;
A calculation unit for calculating a total value obtained by summing the setting values allocated by the allocation unit for each vertex;
Based on the state information, a specifying unit that specifies the shape of the contour of the model to be analyzed from the total value for each vertex;
A contour specifying device characterized by comprising:
前記特定部は、前記方向情報に基づき、頂点から当該頂点の合計値に応じた検索方向に輪郭の検索を行って前記解析対象のモデルの外形の頂点となる輪郭点を特定し、ベクトルデータとして前記解析対象のモデルの輪郭の形状を特定する
ことを特徴とする請求項1に記載の輪郭特定装置。 The storage unit further stores direction information indicating a search direction of a contour for each total value,
The specifying unit searches for a contour in a search direction corresponding to the total value of the vertex from the vertex based on the direction information, specifies a contour point that is a vertex of the outline of the model to be analyzed, as vector data The contour specifying device according to claim 1, wherein the contour shape of the model to be analyzed is specified.
前記判定部により隣接するメッシュの辺上に位置する入隅の頂点であると判定された頂点の合計値を、3つのメッシュの頂点が重なり合って同様の入隅の状態となった頂点を示す合計値に変更する変更部と、
をさらに有することを特徴とする請求項1または2に記載の輪郭特定装置。 A determination unit that determines whether a vertex whose total value calculated by the calculation unit is any one of the setting values is a vertex of a corner that is located on an adjacent mesh side;
The total value of the vertices determined by the determination unit to be the vertices of the entering corner located on the side of the adjacent mesh, and the sum indicating the vertices in which the vertices of the three meshes are overlapped to be in the same entering corner state Change part to change to value,
The contour specifying device according to claim 1, further comprising:
前記離散化部により離散化された基板を所定の平面で平面化した2次元データを生成する生成部と、をさらに有し、
前記割当部は、前記2次元データにより示される平面上の解析対象のモデルを分割した矩形のメッシュの各頂点に対して前記設定値情報に基づき、対応する設定値を割り当てる
ことを特徴とする請求項1〜3の何れか1つに記載の輪郭特定装置。 A discretization unit for discretizing an analysis target model of a substrate composed of a plurality of layers with an orthogonal lattice mesh;
A generator for generating two-dimensional data obtained by planarizing the substrate discretized by the discretizer with a predetermined plane;
The assigning unit assigns a corresponding setting value to each vertex of a rectangular mesh obtained by dividing the model to be analyzed on the plane indicated by the two-dimensional data based on the setting value information. Item 4. The contour specifying device according to any one of Items 1 to 3.
矩形の4つの頂点にそれぞれ対応して、それぞれを組み合わせた組み合わせ毎の合計値が異なるように定められた設定値を示す設定値情報に基づき、矩形のメッシュで分割された解析対象のモデルの前記メッシュの各頂点に対して対応する設定値を割り当て、
割り当てられた設定値を頂点毎に合計した合計値を算出し、
前記合計値毎の輪郭の状態を示す状態情報に基づき、頂点毎の前記合計値から前記解析対象のモデルの輪郭の形状を特定する
各処理を実行することを特徴とする輪郭特定方法。 Computer
The analysis target model divided by the rectangular mesh based on the setting value information indicating the setting value determined so that the total value for each combination combining the four vertices is different. Assign a corresponding setting value to each vertex of the mesh,
Calculate the total value of the assigned setting values for each vertex,
A contour specifying method, comprising: executing each process of specifying a contour shape of the model to be analyzed from the total value for each vertex based on state information indicating a contour state for each total value.
矩形の4つの頂点にそれぞれ対応して、それぞれを組み合わせた組み合わせ毎の合計値が異なるように定められた設定値を示す設定値情報に基づき、矩形のメッシュで分割された解析対象のモデルの前記メッシュの各頂点に対して対応する設定値を割り当て、
割り当てられた設定値を頂点毎に合計した合計値を算出し、
前記合計値毎の輪郭の状態を示す状態情報に基づき、頂点毎の前記合計値から前記解析対象のモデルの輪郭の形状を特定する
各処理を実行させることを特徴とする輪郭特定プログラム。 On the computer,
The analysis target model divided by the rectangular mesh based on the setting value information indicating the setting value determined so that the total value for each combination combining the four vertices is different. Assign a corresponding setting value to each vertex of the mesh,
Calculate the total value of the assigned setting values for each vertex,
An outline specifying program for executing each process for specifying the shape of the outline of the model to be analyzed from the total value for each vertex based on state information indicating the outline state for each of the total values.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012075191A JP5825173B2 (en) | 2012-03-28 | 2012-03-28 | Outline specifying device, outline specifying method, and outline specifying program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012075191A JP5825173B2 (en) | 2012-03-28 | 2012-03-28 | Outline specifying device, outline specifying method, and outline specifying program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013206189A JP2013206189A (en) | 2013-10-07 |
JP5825173B2 true JP5825173B2 (en) | 2015-12-02 |
Family
ID=49525190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012075191A Active JP5825173B2 (en) | 2012-03-28 | 2012-03-28 | Outline specifying device, outline specifying method, and outline specifying program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5825173B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6646006B2 (en) * | 2017-03-24 | 2020-02-14 | 株式会社東芝 | Information presentation apparatus, information presentation method, and program |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH052627A (en) * | 1991-06-26 | 1993-01-08 | Babcock Hitachi Kk | Preparation of analysis model |
JPH08202341A (en) * | 1995-01-25 | 1996-08-09 | Matsushita Electric Ind Co Ltd | Graphic editing device |
JP3787743B2 (en) * | 1998-11-18 | 2006-06-21 | 株式会社日立製作所 | Mesh generator for numerical analysis |
JP2003099804A (en) * | 2001-07-16 | 2003-04-04 | Toyota Motor Corp | Three-dimensional structure modeled apparatus |
JP2004094675A (en) * | 2002-08-30 | 2004-03-25 | Fujitsu Ltd | Program for causing computer to execute mesh data generating method and mesh data generating device |
JP2008046736A (en) * | 2006-08-11 | 2008-02-28 | Sharp Corp | System and method for generating model for analysis |
JP2009163448A (en) * | 2007-12-28 | 2009-07-23 | Sapporo Holdings Ltd | Method for simulating temperature distribution of liquid in three-dimensional container |
-
2012
- 2012-03-28 JP JP2012075191A patent/JP5825173B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013206189A (en) | 2013-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6446239B1 (en) | Method and apparatus for optimizing electronic design | |
US6449761B1 (en) | Method and apparatus for providing multiple electronic design solutions | |
KR100537574B1 (en) | Graphics image generation apparatus, method, and program | |
US20140189617A1 (en) | Displaying a congestion indicator for a channel in a circuit design layout | |
JP5644606B2 (en) | Mesh number prediction method, analysis apparatus, and program | |
JP6680086B2 (en) | Selection control method, selection control device, and selection control program | |
US6560505B1 (en) | Automatic parts placement system, method, and medium | |
JP4973447B2 (en) | Difference enhancement program, difference enhancement processing method, and difference enhancement processing apparatus | |
Lyons | Cluster busting in anchored graph drawing | |
JP2005202928A (en) | Layout processor, layout processing method and program | |
JP5825173B2 (en) | Outline specifying device, outline specifying method, and outline specifying program | |
CN107749074B (en) | Method and device for drawing map and computing equipment | |
JP7378990B2 (en) | Configuration display device, configuration display method, and configuration display program | |
US10331837B1 (en) | Device graphics rendering for electronic designs | |
JP2017191556A (en) | Similarity level retrieval device, similarity level retrieval method and similarity level retrieval program | |
JP6646006B2 (en) | Information presentation apparatus, information presentation method, and program | |
JP2005235041A (en) | Retrieval image display method and retrieval image display program | |
JP2016132538A (en) | Carrying-in and installation work plan support device and carrying-in and installation work plan support method | |
JP6634769B2 (en) | Voxel processing method, voxel processing program and information processing apparatus | |
US11308251B2 (en) | Method and system for minimizing earthwork volumes | |
US20230145348A1 (en) | Force-directed graph layout | |
JP4520822B2 (en) | Electromagnetic wave analysis apparatus, electromagnetic wave analysis method, and electromagnetic wave analysis program | |
JP7089174B2 (en) | Simultaneous equation processing device, simultaneous equation processing method and simultaneous equation processing program | |
US11163808B2 (en) | Hexagon clustering of spatial data | |
KR101707752B1 (en) | Computer-readable recording medium, method and apparatus for determining arrangement position of leader line |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150106 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150907 |
|
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: 20150915 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150928 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5825173 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |