JP5825173B2 - Outline specifying device, outline specifying method, and outline specifying program - Google Patents

Outline specifying device, outline specifying method, and outline specifying program Download PDF

Info

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
Application number
JP2012075191A
Other languages
Japanese (ja)
Other versions
JP2013206189A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012075191A priority Critical patent/JP5825173B2/en
Publication of JP2013206189A publication Critical patent/JP2013206189A/en
Application granted granted Critical
Publication of JP5825173B2 publication Critical patent/JP5825173B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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.

特開2003−99804号公報JP 2003-99804 A 特開2009−163448号公報JP 2009-163448 A 特開2004−94675号公報JP 2004-94675 A

ところで、メッシュに離散化されたモデル形状を表示する場合、メッシュの数が多くなるほど描画の負荷が高く、描画に用いるメモリの記憶容量も多くなる。   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.

図1は、輪郭特定装置の全体構成を示す図である。FIG. 1 is a diagram illustrating the overall configuration of the contour specifying device. 図2は、矩形の4つの頂点にそれぞれ対応して定めた設定値の一例を示す図である。FIG. 2 is a diagram illustrating an example of setting values determined in correspondence with four vertices of a rectangle. 図3は、設定値情報の構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of setting value information. 図4は、状態情報の構成例を示す図である。FIG. 4 is a diagram illustrating a configuration example of state information. 図5は、合計値と頂点の状態の関係を説明するための図である。FIG. 5 is a diagram for explaining the relationship between the total value and the vertex state. 図6は、座標テーブルの構成例を示す図である。FIG. 6 is a diagram illustrating a configuration example of the coordinate table. 図7は、メッシュの各頂点と座標テーブルに記憶される情報との関係について説明するための図である。FIG. 7 is a diagram for explaining the relationship between each vertex of the mesh and information stored in the coordinate table. 図8は、図7に示した各頂点をX方向、Y方向の順に優先してソートする場合の頂点の順番を示した図である。FIG. 8 is a diagram showing the order of the vertices when the vertices shown in FIG. 7 are sorted with priority in the order of the X direction and the Y direction. 図9は、図7に示した各頂点をY方向、X方向の順に優先してソートする場合の頂点の順番を示した図である。FIG. 9 is a diagram showing the order of the vertices when the vertices shown in FIG. 7 are sorted with priority in the order of the Y direction and the X direction. 図10は、XYソートデータの構成例を示す図である。FIG. 10 is a diagram illustrating a configuration example of XY sort data. 図11は、YXソートデータの構成例を示す図である。FIG. 11 is a diagram illustrating a configuration example of YX sort data. 図12は、基板の一例を示す図である。FIG. 12 is a diagram illustrating an example of a substrate. 図13は、合計値が設定値になる頂点の状態を説明するための図である。FIG. 13 is a diagram for explaining the state of vertices in which the total value becomes the set value. 図14は、入隅となる頂点のパターンを示した図である。FIG. 14 is a diagram showing a pattern of vertices that are corners. 図15は、図7から不要な頂点を削除した結果を示す図である。FIG. 15 is a diagram illustrating a result of deleting unnecessary vertices from FIG. 図16は、図6から不要な頂点のデータを削除した座標テーブルの構成例を示す図である。FIG. 16 is a diagram illustrating a configuration example of a coordinate table in which unnecessary vertex data is deleted from FIG. 図17は、図10から不要な頂点のデータを削除したXYソートデータの構成例を示す図である。FIG. 17 is a diagram illustrating a configuration example of XY sort data obtained by deleting unnecessary vertex data from FIG. 図18は、図11から不要な頂点のデータを削除したYXソートデータの構成例を示す図である。FIG. 18 is a diagram illustrating a configuration example of YX sort data obtained by deleting unnecessary vertex data from FIG. 図19は、FTDT法による解析を行う要素の一例を示す図である。FIG. 19 is a diagram illustrating an example of an element for performing analysis by the FTDT method. 図20は、要素をメッシュにより離散化した結果の一例を示す図である。FIG. 20 is a diagram illustrating an example of a result of discretizing elements with a mesh. 図21は、離散化した要素の輪郭を特定した結果の一例を示す図である。FIG. 21 is a diagram illustrating an example of a result of specifying the contour of the discretized element. 図22は、メッシュで離散化した基板の所定の面を表示した一例を示す図である。FIG. 22 is a diagram illustrating an example in which a predetermined surface of a substrate discretized with a mesh is displayed. 図23は、図22と同じ面に対して輪郭を特定して表示した一例を示す図である。FIG. 23 is a diagram illustrating an example in which a contour is specified and displayed on the same surface as FIG. 図24は、輪郭特定処理の手順を示すフローチャートである。FIG. 24 is a flowchart showing the procedure of the contour specifying process. 図25は、準備処理の手順を示すフローチャートである。FIG. 25 is a flowchart showing the procedure of the preparation process. 図26は、入隅点検出処理の手順を示すフローチャートである。FIG. 26 is a flowchart showing the procedure of the corner entry detection process. 図27は、抽出処理の手順を示すフローチャートである。FIG. 27 is a flowchart showing the procedure of the extraction process. 図28は、輪郭特定プログラムを実行するコンピュータの一例について説明するための図である。FIG. 28 is a diagram for describing an example of a computer that executes an outline specifying program.

以下に、本願の開示する輪郭特定装置、輪郭特定方法および輪郭特定プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。   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 contour specifying device 10 is a computer that specifies a contour of a model shape by a mesh obtained by discretizing a model to be analyzed on a substrate with a mesh. The contour specifying device 10 may be a design device that operates circuit design software that supports circuit design by a user, such as a CAD (Computer Aided Design) device. As illustrated in FIG. 1, the contour specifying device 10 includes an input unit 20, a display unit 21, a storage unit 22, and a control unit 23.

入力部20は、各種の情報を入力する入力デバイスである。かかる入力部20の一態様としては、マウスやキーボードなどの操作受付デバイスが挙げられる。入力部20は、各種の情報の入力を受け付ける。例えば、入力部20は、電磁界解析を行う際に解析対象のモデルを離散化する直交格子のメッシュのサイズを設定する入力を受け付ける。また、入力部20は、設定したサイズのメッシュでの解析対象のモデルの離散化開始や、モデル形状の輪郭の特定を指示する指示入力を受け付ける。   The input unit 20 is an input device that inputs various types of information. An example of the input unit 20 includes an operation receiving device such as a mouse or a keyboard. The input unit 20 receives input of various types of information. For example, the input unit 20 receives an input for setting a mesh size of an orthogonal lattice for discretizing a model to be analyzed when performing electromagnetic field analysis. Further, the input unit 20 receives an instruction input for instructing the start of discretization of the model to be analyzed with the mesh of the set size and specifying the contour of the model shape.

表示部21は、各種情報を表示する表示デバイスである。かかる表示部21の一態様としては、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などの表示デバイスが挙げられる。表示部21は、各種情報を表示する。例えば、表示部21は、基板に対してFTDT法を採用した電磁界解析を行う際のメッシュのサイズなど各種条件を設定する設定画面を表示する。また、表示部21は、基板上の解析対象のモデルをメッシュにより離散化したメッシュによるモデル形状を表示する。   The display unit 21 is a display device that displays various types of information. An example of the display unit 21 includes a display device such as an LCD (Liquid Crystal Display) and a CRT (Cathode Ray Tube). The display unit 21 displays various information. For example, the display unit 21 displays a setting screen for setting various conditions such as a mesh size when performing electromagnetic field analysis employing the FTDT method on the substrate. The display unit 21 displays a model shape of a mesh obtained by discretizing the model to be analyzed on the substrate with a mesh.

記憶部22は、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部22は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。   The storage unit 22 is a storage device such as a semiconductor memory element such as a flash memory, a hard disk, or an optical disk. The storage unit 22 is not limited to the above-mentioned type of storage device, and may be a RAM (Random Access Memory) or a ROM (Read Only Memory).

記憶部22は、制御部23で実行されるOS(Operating System)や後述する輪郭の特定に用いる各種プログラムを記憶する。さらに、記憶部22は、制御部23で実行されるプログラムで使用する各種データを記憶する。かかるデータの一例として、記憶部22は、CADデータ30と、メッシュデータ31と、2次元データ32と、設定値情報33と、状態情報34と、座標テーブル35と、XYソートデータ36と、YXソートデータ37と、表示用データ38とを記憶する。   The storage unit 22 stores an OS (Operating System) executed by the control unit 23 and various programs used for specifying a contour to be described later. Furthermore, the storage unit 22 stores various data used in the program executed by the control unit 23. As an example of such data, the storage unit 22 includes CAD data 30, mesh data 31, two-dimensional data 32, setting value information 33, status information 34, a coordinate table 35, XY sort data 36, and YX. Sort data 37 and display data 38 are stored.

CADデータ30は、基板に設計された回路に関する各種の情報を記憶したデータである。例えば、基板がプリント基板の場合、CADデータ30には、プリント基板内の各レイヤおよびレイヤ間の各種配線や各種素子、ホールなどの各要素の配置位置などの各種の情報が含まれている。CADデータ30は、輪郭特定装置10において設計されたものでもよい。また、CADデータ30は、図示しない外部I/F部を介して外部の装置から入力されたものであってもよい。一例として、CADデータ30は、後述の離散化部40によって参照される。   The CAD data 30 is data that stores various types of information related to circuits designed on the board. For example, when the board is a printed board, the CAD data 30 includes various types of information such as each layer in the printed board, various wirings between the layers, various elements, positions of elements such as holes, and the like. The CAD data 30 may be designed in the contour specifying device 10. The CAD data 30 may be input from an external device via an external I / F unit (not shown). As an example, the CAD data 30 is referred to by the discretization unit 40 described later.

メッシュデータ31は、CADデータ30により示される基板を直交格子のメッシュにより離散化したメッシュによるモデル形状を示すデータである。一例として、メッシュデータ31は、後述の離散化部40によって生成される。他の一例として、メッシュデータ31は、後述の生成部41によって参照される。   The mesh data 31 is data indicating a model shape of a mesh obtained by discretizing the substrate indicated by the CAD data 30 with an orthogonal lattice mesh. As an example, the mesh data 31 is generated by a discretization unit 40 described later. As another example, the mesh data 31 is referred to by the generation unit 41 described later.

2次元データ32は、メッシュにより離散化された基板を所定の平面で平面化したデータである。この2次元データ32は、平面化された矩形状のメッシュが含まれる場合、メッシュデータ31のどのメッシュを平面化したものかを示す情報、および、どの要素のメッシュであるかを示す情報を含む。一例として、2次元データ32は、後述の生成部41によって生成される。他の一例として、2次元データ32は、後述の割当部42、特定部48によって参照される。   The two-dimensional data 32 is data obtained by planarizing a substrate discretized by a mesh with a predetermined plane. When the planar rectangular mesh is included, the two-dimensional data 32 includes information indicating which mesh in the mesh data 31 is planarized, and information indicating which element is a mesh. . As an example, the two-dimensional data 32 is generated by a generation unit 41 described later. As another example, the two-dimensional data 32 is referred to by an assignment unit 42 and a specification unit 48 described later.

設定値情報33は、矩形の4つの頂点にそれぞれ対応させる設定値が記憶されたデータである。矩形の4つの頂点にそれぞれ対応させる設定値は、それぞれを組み合わせた組み合わせ毎の合計値が異なるように定めている。一例として、設定値情報33は、輪郭特定ソフトウェアの作成元で予め登録されてもよい。また、設定値情報33は、管理者が入力部20あるいは、輪郭特定装置10と通信可能とされたクライアントコンピュータなどの端末装置から登録されてもよい。他の一例として、設定値情報33は、後述の割当部42によって参照される。   The setting value information 33 is data in which setting values associated with the four vertices of the rectangle are stored. The set values corresponding to the four vertices of the rectangle are determined so that the total value for each combination of the combinations is different. As an example, the set value information 33 may be registered in advance at the creation source of the contour specifying software. Further, the set value information 33 may be registered from a terminal device such as a client computer that allows the administrator to communicate with the input unit 20 or the contour specifying device 10. As another example, the setting value information 33 is referred to by an assignment unit 42 described later.

ここで、設定値の一例を説明する。図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 vertex 51 a of the rectangle 50. The setting value “2” is associated with the lower right vertex 51 b of the rectangle 50. The set value “4” is associated with the vertex 51 c at the upper right of the rectangle 50. The set value “8” is associated with the top left vertex 51 d of the rectangle 50. The set values assigned to the four vertices 51a to 51d have different total values for each combination of combinations. The combinations of the vertices 51a to 51d, the set values corresponding to the combined vertices, and the total value of the set values are shown below.

[頂点の組み合わせ] [頂点に対応する設定値] [設定値の合計値]
頂点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]
Vertex 51a: 1: 1
Vertex 51b: 2: 2
Vertices 51a, 51b: 1, 2: 3
Vertex 51c: 4: 4
Vertices 51a, 51c: 1, 4: 5
Vertices 51b, 51c: 2, 4: 6
Vertices 51a, 51b, 51c: 1, 2, 4: 7
Vertex 51d: 8: 8
Vertices 51a, 51d: 1, 8: 9
Vertices 51b, 51d: 2, 8: 10
Vertices 51a, 51b, 51d: 1, 2, 8: 11
Vertices 51c, 51d: 4, 8: 12
Vertices 51a, 51c, 51d: 1, 4, 8: 13
Vertices 51b, 51c, 51d: 2, 4, 8: 14
Vertices 51a, 51b, 51c, 51d: 1, 2, 4, 8:15

このように、頂点51a〜51dを組み合わせた組み合わせ毎の合計値が異なることにより、頂点51a〜51dの組み合わせと合計値とは、1対1で対応する関係となる。すなわち、合計値から頂点51a〜51dの組み合わせが特定できるようになる。なお、矩形の4つの頂点に対応して定めた設定値「1」、「2」、「4」、「8」は一例であり、組み合わせ毎の合計値が異なれば何れの値としてもよい。また、組み合わせ毎の合計値は、連続した数値にならなくてもよい。   Thus, when the total value for each combination of the vertices 51a to 51d is different, the combination of the vertices 51a to 51d and the total value have a one-to-one correspondence relationship. That is, the combination of the vertices 51a to 51d can be specified from the total value. Note that the set values “1”, “2”, “4”, and “8” determined in correspondence with the four vertices of the rectangle are examples, and any value may be used as long as the total value for each combination is different. Further, the total value for each combination may not be a continuous numerical value.

設定値情報33には、4つの頂点に対応して設定値が記憶されている。図3は、設定値情報の構成例を示す図である。図3に示すように、設定値情報33は、「頂点位置」、「設定値」の各項目を有する。頂点位置の項目は、矩形の頂点の位置を示す情報を格納する領域である。設定値の項目は、頂点に対応する設定値を格納する領域である。   The setting value information 33 stores setting values corresponding to the four vertices. FIG. 3 is a diagram illustrating a configuration example of setting value information. As shown in FIG. 3, the setting value information 33 includes items of “vertex position” and “setting value”. The vertex position item is an area for storing information indicating the position of a rectangular vertex. The setting value item is an area for storing a setting value corresponding to a vertex.

図3の例では、矩形50の左下の頂点51aは、設定値が「1」であることを示す。また、矩形の右下の頂点51bは、設定値が「2」であることを示す。矩形の右上の頂点51cは、設定値が「4」であることを示す。矩形の左上の頂点51dは、設定値が「8」であることを示す。   In the example of FIG. 3, the lower left vertex 51 a of the rectangle 50 indicates that the setting value is “1”. The lower right vertex 51b of the rectangle indicates that the setting value is “2”. A vertex 51c at the upper right corner of the rectangle indicates that the set value is “4”. A vertex 51d at the upper left corner of the rectangle indicates that the setting value is “8”.

状態情報34は、合計値毎の輪郭の状態を示す状態情報が記憶されたデータである。一例として、状態情報34は、輪郭特定ソフトウェアの作成元で予め登録されてもよい。また、状態情報34は、管理者が入力部20あるいは、輪郭特定装置10と通信可能とされたクライアントコンピュータなどの端末装置から登録されてもよい。他の一例として、状態情報34は、後述の特定部48によって参照される。   The state information 34 is data in which state information indicating the state of the contour for each total value is stored. As an example, the state information 34 may be registered in advance by the creator of the contour specifying software. Further, the status information 34 may be registered from a terminal device such as a client computer in which the administrator can communicate with the input unit 20 or the contour specifying device 10. As another example, the state information 34 is referred to by the specifying unit 48 described later.

図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 state information 34 includes items of “total value”, “state”, and “search direction”. The total value item is an area for storing the total value obtained by combining the set values. In the present embodiment, values 1 to 15 obtained by combining the set values 1 to 4 are stored as the total value. The state item is an area for storing information indicating the state of the vertex indicated by the total value. The search direction item is an area for storing information indicating the direction in which the next search is performed in the contour search. In the configuration example of FIG. 4, the search direction is shown assuming that the search is performed counterclockwise with respect to the contour shape. When searching in the clockwise direction, the search direction can be reversed from that shown in FIG.

ここで、合計値と頂点の状態との関係について説明する。図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 rectangular meshes 55a and 55b are adjacent to each other. When corresponding setting values are assigned to the vertices 56a, 56b, 56c, and 56d of the mesh 55a based on the setting value information 33, the setting value “1” is assigned to the vertex 56a. The setting value “2” is assigned to the vertex 56b. The setting value “4” is assigned to the vertex 56c. The set value “8” is assigned to the vertex 56d. Similarly, when corresponding setting values are assigned to the vertices 56b, 56c, 56e, and 56f of the mesh 55b based on the setting value information 33, the setting value “1” is assigned to the vertex 56b. The setting value “2” is assigned to the vertex 56e. The set value “3” is assigned to the vertex 56f. The setting value “8” is assigned to the vertex 56c. As shown in FIG. 4, when the meshes 55a and 55b are adjacent to each other and the vertices 56b and 56c are included in the meshes 55a and 55b, respectively, the setting values “1” and “2” are assigned to the vertex 56b. The value is “3”. Also, the setting values “4” and “8” are assigned to the vertex 56c, and the total value of the setting values is “12”. As described above, this total value is different for each combination of set values. For this reason, the state of the vertex can be determined from the total value.

状態情報34には、合計値毎に、頂点の状態が記憶されている。また、状態情報34には、合計値毎に、頂点の状態に応じて、輪郭検索の際の検索方向が記憶されている。   The state information 34 stores the state of the vertex for each total value. In addition, the state information 34 stores the search direction in the contour search according to the state of the vertex for each total value.

図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 calculation unit 43 described later. As another example, the coordinate table 35 is updated by a changing unit 46 described later. As another example, the coordinate table 35 is referred to by a determination unit 45, a sorting unit 44, and a specifying unit 48 described later.

図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 sort data 36 and the YX sort data 37 are data obtained by sorting the data of each vertex stored in the coordinate table 35 in the order of the coordinate arrangement position. For example, when the horizontal direction of the plane provided with each vertex of the mesh shown in FIG. 7 is the X direction and the vertical direction is the Y direction, the XY sort data 36 is given priority in the order of the X direction and the Y direction. This is the data obtained by sorting the data of each vertex stored in. The YX sort data 37 is data obtained by sorting the data of each vertex stored in the coordinate table 35 with priority in the Y direction in order of priority in the Y direction and the X direction. FIG. 8 is a diagram showing the order of the vertices when the vertices shown in FIG. 7 are sorted with priority in the order of the X direction and the Y direction. FIG. 9 is a diagram showing the order of the vertices when the vertices shown in FIG. 7 are sorted with priority in the order of the Y direction and the X direction.

なお、XYソートデータ36およびYXソートデータ37は、座標テーブル35に記憶された各頂点のデータを実際にソートしたものでもよく、また、座標テーブル35の各頂点のデータの記憶位置を示すポインタをソートしたものでもよい。本実施例では、各頂点のデータの位置を示すポインタをソートしてXYソートデータ36およびYXソートデータ37に記憶する。一例として、XYソートデータ36およびYXソートデータ37は、後述のソート部44によって登録される。他の一例として、XYソートデータ36およびYXソートデータ37は、後述の判定部45、特定部48によって参照される。   The XY sort data 36 and the YX sort data 37 may be data obtained by actually sorting the data of each vertex stored in the coordinate table 35, and a pointer indicating the storage position of the data of each vertex in the coordinate table 35. It may be sorted. In the present embodiment, the pointers indicating the data positions of the vertices are sorted and stored in the XY sort data 36 and the YX sort data 37. As an example, the XY sort data 36 and the YX sort data 37 are registered by the sort unit 44 described later. As another example, the XY sort data 36 and the YX sort data 37 are referred to by a determination unit 45 and a specification unit 48 described later.

図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 XY sort data 36 stores a pointer indicating the storage position of each vertex in the order shown in FIG. 8 after sorting in the order of the X direction and the Y direction. FIG. 11 is a diagram illustrating a configuration example of YX sort data. As shown in FIG. 10, the YX sort data 37 stores pointers indicating the storage positions of the vertices in the order shown in FIG. 8 after sorting in the order of Y direction and X direction.

表示用データ38は、解析対象のモデルの輪郭を表示するための表示用のデータである。一例として、表示用データ38は、後述の特定部48によって登録される。他の一例として、表示用データ38は、後述の出力部49によって参照される。   The display data 38 is display data for displaying the contour of the model to be analyzed. As an example, the display data 38 is registered by the specifying unit 48 described later. As another example, the display data 38 is referred to by an output unit 49 described later.

図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 control unit 23 includes an internal memory for storing programs and control data that define various processing procedures, and executes various processes using these. Various kinds of integrated circuits and electronic circuits can be adopted for the control unit 23. For example, an ASIC (Application Specific Integrated Circuit) is an example of the integrated circuit. Examples of the electronic circuit include a central processing unit (CPU) and a micro processing unit (MPU). As shown in FIG. 1, the control unit 23 includes a discretization unit 40, a generation unit 41, an allocation unit 42, a calculation unit 43, a sorting unit 44, a determination unit 45, a change unit 46, and a deletion unit. 47, a specifying unit 48, and an output unit 49.

このうち、離散化部40は、CADデータ30により示される基板を直交格子のメッシュにより離散化する処理部である。例えば、離散化部40は、CADデータ30により示される基板に配置された各種配線や各種素子、ホールなどの各要素を解析対象のモデルとして、入力部20から設定されたサイズのメッシュにより離散化する。そして、離散化部40は、離散化が完了すると、メッシュによるモデル形状を示したメッシュデータを生成して記憶部22に格納する。これにより、記憶部22には、メッシュデータ31が格納される。   Among these, the discretization unit 40 is a processing unit that discretizes the substrate indicated by the CAD data 30 using a mesh of orthogonal lattices. For example, the discretization unit 40 discretizes each element such as various wirings, various elements, and holes arranged on the board indicated by the CAD data 30 with a mesh of a size set from the input unit 20 as a model to be analyzed. To do. When the discretization is completed, the discretization unit 40 generates mesh data indicating the model shape of the mesh and stores it in the storage unit 22. Thereby, the mesh data 31 is stored in the storage unit 22.

生成部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 generation unit 41 is a processing unit that generates two-dimensional data obtained by planarizing a model shape of a mesh indicated by the mesh data 31 with a predetermined plane. For example, when the substrate is composed of a plurality of layers, the generation unit 41 generates two-dimensional data obtained by planarizing the model shape for each layer. For example, when the board is a printed board including a plurality of layers, the generation unit 41 generates two-dimensional data obtained by planarizing each layer and elements between the layers. When the planarized rectangular mesh is included in the plane obtained by planarizing the model shape of the mesh with a predetermined plane, the generation unit 41 associates the mesh with the mesh and planarizes which mesh data. Is stored in two-dimensional data. Further, when a planarized rectangular mesh is included, the generation unit 41 stores information indicating which element mesh is associated with the mesh. FIG. 12 is a diagram illustrating an example of a substrate. In the example of FIG. 12, the upper diagram shows a plan view of the substrate 60, and the lower diagram shows a cross-sectional view of the substrate 60. In the example of FIG. 12, the substrate 60 is provided with elements 62 that connect the layers 61a and 61b and the layers 61a and 61b. In the substrate 60, the layers 61a and 61b and the element 62 are planarized separately to generate two-dimensional data. The generation unit 41 stores the generated two-dimensional data in the storage unit 22. Thereby, the two-dimensional data 32 is stored in the storage unit 22.

割当部42は、メッシュの各頂点に対して設定値情報33に基づき、対応する設定値を割り当てる処理部である。例えば、割当部42は、記憶部22から2次元データ32を読み出す。そして、割当部42は、それぞれの平面毎に、矩形のメッシュで分割された解析対象のモデルのメッシュの各頂点に対して設定値情報33に基づき、対応する設定値を割り当てる。   The assigning unit 42 is a processing unit that assigns a corresponding set value to each vertex of the mesh based on the set value information 33. For example, the assigning unit 42 reads the two-dimensional data 32 from the storage unit 22. Then, the assigning unit 42 assigns a corresponding setting value to each vertex of the analysis target model mesh divided by the rectangular mesh for each plane based on the setting value information 33.

算出部43は、設定値を合計した合計値を算出する処理部である。例えば、算出部43は、それぞれの平面毎に、各頂点に割り当てられた設定値を頂点毎に合計した合計値を算出する。設定値情報33に定められた設定値は、組み合わせた組み合わせ毎の合計値が異なる。このため、合計値は、頂点を含むメッシュがどのように配置されているかに応じて異なり、頂点の状態を表す。算出部43は、それぞれの平面毎に、平面内での各頂点の座標、頂点を含むメッシュを特定し、平面毎に、各頂点の合計値、頂点の座標、頂点を含むメッシュを示す情報を座標テーブル35に格納する。   The calculation unit 43 is a processing unit that calculates a total value obtained by adding the set values. For example, the calculation unit 43 calculates a total value obtained by adding the setting values assigned to the vertices for each vertex for each plane. The set values determined in the set value information 33 are different in total values for each combination. For this reason, the total value differs depending on how the meshes including the vertices are arranged, and represents the state of the vertices. For each plane, the calculation unit 43 identifies the coordinates of each vertex in the plane and the mesh including the vertex, and for each plane, the total value of each vertex, the coordinates of the vertex, and information indicating the mesh including the vertex. Store in the coordinate table 35.

ソート部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 unit 44 is a processing unit that generates the XY sort data 36 and the YX sort data 37 by sorting the vertex data of each plane stored in the coordinate table 35 in the order of the arrangement position for each plane. For example, the sorting unit 44 sorts the pointers indicating the positions of the data of the respective vertices stored in the coordinate table 35 by giving priority to the coordinate arrangement position in the order of the X direction and the Y direction for each plane, and the XY sort data. 36 is generated. Further, the sorting unit 44 sorts the pointers indicating the positions of the data of the respective vertices stored in the coordinate table 35 with priority given to the arrangement position of the coordinates in the order of the Y direction and the X direction for each plane. 37 is generated. The sort unit 44 stores the generated XY sort data 36 and YX sort data 37 in the storage unit 22.

ところで、頂点には、割り当てられた設定値の合計値が、「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 rectangular meshes 55a and 55b are vertically adjacent, the mesh 55a is narrower than the mesh 55b, and the right sides of the meshes 55a and 55b are aligned. When corresponding setting values are assigned to the vertices 56a, 56b, 56c, and 56d of the mesh 55a based on the setting value information 33, the setting value “1” is assigned to the vertex 56a. The setting value “2” is assigned to the vertex 56b. The setting value “4” is assigned to the vertex 56c. The set value “8” is assigned to the vertex 56d. When corresponding setting values are assigned to the vertices 56b and 56d of the mesh 55b based on the setting value information 33, the setting value “4” is assigned to the vertex 56b. The setting value “8” is assigned to the vertex 56e. When the setting values assigned to the respective vertices are summed, the vertex 56b is assigned with two setting values, “2” and “4”, and thus the total value is “6”. On the other hand, since the vertexes 56a, 56c, 56d, and 56e each have one assigned setting value, the total value is the setting value. As indicated by the vertex 56a, the vertex 56a, 56c, 56d, and 56e whose total value is the set value, as shown by the vertex 56c, 56d, and 56e, as shown by the vertex 56a, 56d, and 56e, There is a vertex that is a corner where two straight lines meet.

図14は、入隅となる頂点のパターンを示した図である。図14に示すように、頂点52a〜52hは、それぞれ合計値が設定値になる入隅の頂点である。   FIG. 14 is a diagram showing a pattern of vertices that are corners. As illustrated in FIG. 14, the vertices 52 a to 52 h are vertices at the corners where the total value is a set value.

判定部45は、合計値が何れかの設定値である頂点が隣接するメッシュの辺上に位置する入隅の頂点であるか判定する処理部である。判定部45は、座標テーブル35から合計値が何れかの設定値である頂点の座標を読み出す。そして、判定部45は、読み出した頂点の座標から上下に隣接する頂点を特定する。例えば、判定部45は、XYソートデータ36において、読み出した頂点のポインタに対し、データ順が前後のポインタを特定し、特定したポインタから頂点を特定する。   The determination unit 45 is a processing unit that determines whether a vertex whose total value is any set value is a vertex of a corner that is located on an adjacent mesh side. The determination unit 45 reads the coordinates of the vertices whose total value is any set value from the coordinate table 35. Then, the determination unit 45 identifies the vertically adjacent vertices from the read vertex coordinates. For example, in the XY sort data 36, the determination unit 45 identifies the pointers in the order of data with respect to the read vertex pointer, and identifies the vertex from the identified pointer.

例えば、図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 XY sort data 36 stores pointers indicating the positions of vertices sorted in the order of X direction and Y direction as shown in FIG. For this reason, in the XY sort data 36, the vertexes indicated by the pointers in the order of data with respect to the read vertex pointers indicate the vertically adjacent vertices when there are vertices vertically adjacent to the read vertex. . For example, the pointers of (6) and (1) whose data order is before and after the pointer of (3) in FIG. 10 are adjacent to the top and bottom of the vertex of (3) as shown in FIG. ). On the other hand, for example, the pointers of (3) and (9) whose data order is before and after the pointer of (1) in FIG. 10 are adjacent to the lower side of the vertex of (1) as shown in FIG. ) And (9) vertices having different X directions. Further, for example, the pointers of (1) and (7) whose data order is before and after the pointer of (9) in FIG. 10 are adjacent to the upper side of the vertex of (9) as shown in FIG. 8 (7). The vertices of (1) with different X directions are shown.

判定部45は、座標テーブル35に基づき、特定した2つの頂点の座標地位および属するメッシュを比較し、2つの頂点のX方向の位置が同じでかつ同じメッシュに属する場合、読み出した頂点を入隅の頂点と判定する。例えば、図14の頂点52e〜52hは、上下に隣接する頂点のX方向の位置が同じでかつ同じメッシュに属する。よって、判定部45は、XYソートデータ36において読み出した頂点のポインタに対してデータ順が前後の頂点のX方向の位置が同じでかつ同じメッシュに属するかを判定することにより、図14の頂点52e〜52hのパターンの入隅の頂点を判定できる。   Based on the coordinate table 35, the determination unit 45 compares the coordinate positions of the two specified vertices and the mesh to which the two vertices belong, and if the positions of the two vertices in the X direction are the same and belong to the same mesh, Is determined to be the vertex of For example, the vertices 52e to 52h in FIG. 14 have the same position in the X direction of vertically adjacent vertices and belong to the same mesh. Therefore, the determination unit 45 determines whether the vertices in the data order are the same in the X-direction and belong to the same mesh with respect to the vertex pointers read in the XY sort data 36, thereby obtaining the vertex of FIG. The corners of the corners of the patterns 52e to 52h can be determined.

また、判定部45は、読み出した頂点の座標から左右に隣接する頂点を特定する。例えば、判定部45は、YXソートデータ37において、読み出した頂点のポインタに対し、データ順が前後のポインタを特定し、特定したポインタから頂点を特定する。   Further, the determination unit 45 identifies vertices adjacent to the left and right from the read vertex coordinates. For example, in the YX sort data 37, the determination unit 45 identifies the pointers in the order of data with respect to the read vertex pointer, and identifies the vertex from the identified pointer.

例えば、図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 sort data 37 stores pointers indicating the positions of vertices sorted in the order of Y direction and X direction, as shown in FIG. For this reason, in the YX sort data 37, the vertexes indicated by the pointers in the order of data with respect to the read vertex pointers indicate the vertexes adjacent to the left and right when there are vertices adjacent to the left and right with respect to the read vertex. . For example, the pointers of (3) and (5) whose data order is before and after the pointer of (4) in FIG. 11 are adjacent to the left and right of the vertex of (4), as shown in FIG. ). On the other hand, for example, the pointers of (4) and (1) whose data order is before and after the pointer of (5) in FIG. 11 are adjacent to the left side of the vertex of (5) as shown in FIG. 9 (4). The vertices of (1) with different Y directions are shown. Further, for example, the pointers of (5) and (1) whose data order is before and after the pointer of (1) in FIG. 11 are adjacent to the right side of the vertex of (1) as shown in FIG. 9 (2). And the vertices of (5) with different Y directions.

判定部45は、座標テーブル35に基づき、特定した2つの頂点の座標地位および属するメッシュを比較し、2つの頂点のY方向の位置が同じでかつ同じメッシュに属する場合、読み出した頂点を入隅の頂点と判定する。図14の頂点52a〜52dは、左右に隣接する頂点のY方向の位置が同じでかつ同じメッシュに属する。よって、判定部45は、YXソートデータ37において読み出した頂点のポインタに対してデータ順が前後の頂点のY方向の位置が同じでかつ同じメッシュに属するかを判定することにより、図14の頂点52a〜52dのパターンの入隅の頂点を判定できる。   Based on the coordinate table 35, the determination unit 45 compares the coordinate positions of the two specified vertices and the mesh to which the two vertices belong, and if the positions of the two vertices in the Y direction are the same and belong to the same mesh, Is determined to be the vertex of The vertices 52a to 52d in FIG. 14 have the same position in the Y direction of adjacent vertices on the left and right and belong to the same mesh. Therefore, the determination unit 45 determines whether or not the vertices in the data order are the same in the Y direction and belong to the same mesh with respect to the vertex pointers read in the YX sort data 37, so that the vertexes in FIG. The vertexes of the corners of the patterns 52a to 52d can be determined.

変更部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 unit 46 is a processing unit that changes the total value stored in the vertex coordinate table 35 that has been determined by the determining unit 45 to be the apex of the corner located on the side of the adjacent mesh. For example, the changing unit 46 changes the total value of the vertices determined to be the vertices of the entering corner to the total value indicating the vertices in which the vertices of the three meshes overlap and become the same entering corner state. For example, as illustrated in FIG. 14, the changing unit 46 changes the total value of the vertices 52 a whose total value is “1” and whose vertices adjacent to the left and right belong to the same mesh to “13”. Also, the changing unit 46 changes the total value of the vertices 52b whose total value is “2” and whose vertices adjacent to the left and right belong to the same mesh to “14”. Further, the changing unit 46 changes the total value of the vertices 52c whose total value is “4” and whose vertices adjacent to the left and right belong to the same mesh to “7”. Further, the changing unit 46 changes the total value of the vertices 52d whose total value is “8” and whose vertices adjacent to the left and right belong to the same mesh to “11”. Also, the changing unit 46 changes the total value of the vertices 52e whose total value is “1” and whose vertically adjacent vertices belong to the same mesh to “7”. Also, the changing unit 46 changes the total value of the vertices 52f whose total value is “2” and whose vertically adjacent vertices belong to the same mesh to “11”. Further, the changing unit 46 changes the total value of the vertices 52g whose total value is “4” and whose vertically adjacent vertices belong to the same mesh to “13”. Also, the changing unit 46 changes the total value of the vertices 52h whose total value is “8” and whose vertically adjacent vertices belong to the same mesh to “14”.

ところで、合計値が「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 state information 34 shown in FIG. This is an unnecessary point when the shape of the model to be analyzed is stored as vector data. Further, the vertex whose total value is “15” is a point included in the model to be analyzed as shown in the state information 34 shown in FIG. 4. When the shape of the model to be analyzed is specified, It is an unnecessary point.

削除部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 deletion unit 47 is a processing unit that deletes, from the coordinate table 35, the XY sort data 36, and the YX sort data 37, unnecessary vertices when specifying the shape of the model to be analyzed. For example, the deletion unit 47 deletes the vertex data whose total values are “3”, “6”, “9”, “12”, “15” from the coordinate table 35, the XY sort data 36, and the YX sort data 37. To do. For example, as shown in FIG. 7, when the vertex data (1) to (13) is stored in the coordinate table 35, the XY sort data 36, and the YX sort data 37, the deletion unit 47 is shown in FIG. Thus, the vertex data of (3) and (8) is deleted. FIG. 15 is a diagram illustrating a result of deleting unnecessary vertices from FIG. As a result, the data is stored in the coordinate table 35, the XY sort data 36, and the YX sort data 37 with the data of the vertices (1), (2), (4) to (7), and (9) to (13). Remembered. FIG. 16 is a diagram illustrating a configuration example of a coordinate table in which unnecessary vertex data is deleted from FIG. FIG. 17 is a diagram illustrating a configuration example of XY sort data obtained by deleting unnecessary vertex data from FIG. FIG. 18 is a diagram illustrating a configuration example of YX sort data obtained by deleting unnecessary vertex data from FIG.

特定部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 unit 48 is a processing unit that specifies the shape of the contour of the model to be analyzed. For example, the specifying unit 48 sequentially selects elements from the two-dimensional data 32 for each plane. Then, when the mesh of the selected element is one, the specifying unit 48 specifies one mesh of the selected element as the contour. On the other hand, the specifying unit 48 specifies each mesh of the element selected from the two-dimensional data 32 when the mesh of the selected element is not one. The specifying unit 48 selects any vertex whose total value stored in the coordinate table 35 is other than 5, 10 among the specified mesh vertices. Then, the specifying unit 48 sets the selected vertex as the starting point. Further, the specifying unit 48 specifies the search direction of the contour according to the total value of the processing target vertices based on the state information 34 using the selected vertex as the processing target vertex. Here, for the vertices whose total values are 5 and 10, the search direction cannot be specified unless the search direction searched from the previous vertex is determined. For this reason, the vertices with the total values of 5 and 10 are excluded from the starting points.

特定部48は、処理対象の頂点から検索方向に検索を行って次の頂点を特定する。特定部48は、次の頂点が開始点となった場合、検索により輪郭が特定されたため、検索で通過した頂点の座標から輪郭の形状を示すベクトルデータを生成し、生成したデータを表示用データ38として記憶部22に格納する。特定部48は、選択した要素の各メッシュの頂点に、輪郭が特定できていない頂点がある場合、輪郭が特定できていない頂点を選択し、選択した頂点を開始点として輪郭の特定を繰り返す。一方、特定部48は、特定された各メッシュの全ての頂点について輪郭が特定できた場合、選択した要素の輪郭が特定できたものとして、次の要素を選択し、選択した要素の輪郭の特定を繰り返す。   The specifying unit 48 searches in the search direction from the processing target vertex and specifies the next vertex. The specifying unit 48 generates vector data indicating the shape of the contour from the coordinates of the vertices passed by the search because the contour is specified by the search when the next vertex becomes the start point, and the generated data is displayed as display data. 38 is stored in the storage unit 22. When there are vertices whose contours cannot be identified among the vertices of each mesh of the selected element, the identifying unit 48 selects vertices whose contours cannot be identified, and repeats the contour identification using the selected vertex as a starting point. On the other hand, when the contour can be identified for all the vertices of each identified mesh, the identifying unit 48 selects the next element, assuming that the contour of the selected element has been identified, and identifies the contour of the selected element repeat.

例えば、頂点が図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 unit 48 searches for an outline will be described. Here, the coordinate table 35 shown in FIG. 16 stores the X and Y coordinates of each vertex, the total value, and the mesh to which the vertex belongs in FIG. In the XY sort data 36 shown in FIG. 17, the pointers to the data of each vertex in FIG. 16 are sorted and stored with priority in the order of the X direction and the Y direction. In the YX sort data 37 shown in FIG. 18, the pointers to the data of each vertex in FIG. 16 are sorted and stored with priority in the order of the Y direction and the X direction.

図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 unit 48 selects any vertex whose total value is other than 5 and 10. In the example of FIG. 15, as shown in FIG. 16, from the vertices of (1), (2), (4) to (7), (9), (11) to (13) where the total value is other than 5, 10 Selected. For example, the specifying unit 48 selects the vertex (1). The specifying unit 48 sets the vertex of (1) as the starting point. The specifying unit 48 specifies the search direction of the contour according to the total value of the vertices in (1) based on the state information 34 with the vertices in (1) as the processing target vertices. As shown in FIG. 16, the total value of the vertices of (1) is “8”. For this reason, the search direction is specified as “downward” corresponding to the total value “4” from the state information 34 shown in FIG. The specifying unit 48 searches for the next vertex in the downward direction and specifies the next vertex.

ここで、特定部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 unit 48 specifies the pointer having the previous data order with respect to the pointer from the XY sort data 36 to the processing target vertex, and selects the vertex from the specified pointer. Identify. Further, when searching for the next vertex in the upward direction, the specifying unit 48 specifies the pointer in the data order later with respect to the pointer from the XY sort data 36 to the processing target vertex, and specifies the vertex from the specified pointer. To do. Further, when searching for the next vertex in the left direction, the specifying unit 48 specifies the previous pointer in the data order with respect to the pointer from the YX sort data 37 to the processing target vertex, and specifies the vertex from the specified pointer. To do. Further, when searching for the next vertex in the right direction, the specifying unit 48 specifies a pointer that is later in the data order with respect to the pointer from the YX sort data 37 to the processing target vertex, and specifies the vertex from the specified pointer. To do.

例えば、特定部48は、図17に示すXYソートデータ36から(1)の頂点へのポインタに対し、データ順が前の(6)の頂点へのポインタを特定し、特定したポインタから(6)の頂点を特定する。   For example, the specifying unit 48 specifies a pointer to the vertex of (6) in the previous data order from the pointer to the vertex of (1) from the XY sort data 36 shown in FIG. ).

特定部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 unit 48 uses the vertex of (6) as the processing target vertex and based on the state information 34, the total value of the vertices of (6) The search direction of the contour according to is specified. Since the sum of the vertices of (6) is “1” as shown in FIG. 16, the search direction is specified as “right” from the state information 34 shown in FIG. The specifying unit 48 specifies the pointer to the vertex of (7) whose data order is later with respect to the pointer to the vertex of (6) from the YX sort data 37 shown in FIG. Identify vertices.

特定部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 unit 48 uses the vertex of (7) as the processing target vertex and based on the state information 34, the total value of the vertices of (7) The search direction of the contour according to is specified. Since the sum of the vertices of (7) is “11” as shown in FIG. 16, the search direction is specified as “downward” from the state information 34 shown in FIG. The specifying unit 48 specifies the pointer to the vertex of (9) in the previous data order with respect to the pointer to the vertex of (7) from the XY sort data 36 shown in FIG. Identify vertices.

特定部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 unit 48 uses the vertex of (9) as the processing target vertex and based on the state information 34, the total value of the vertices of (9) The search direction of the contour according to is specified. Since the sum of the vertices of (9) is “1” as shown in FIG. 16, the search direction is specified as “right” from the state information 34 shown in FIG. The specifying unit 48 specifies the pointer to the vertex of (10) whose data order is later with respect to the pointer to the vertex of (9) from the YX sort data 37 shown in FIG. Identify vertices.

特定部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 unit 48 uses the vertex of (10) as the processing target vertex and based on the state information 34, the total value of the vertices of (10) The search direction of the contour according to is specified. The sum of the vertices of (10) is “10” as shown in FIG. In the status information 34 shown in FIG. 4, the search direction with the total value “10” is “downward” when the searched direction is “right”, and the searched direction is “left”. In this case, it is “upward”. Since the vertex of (10) has been searched from the vertex of (9) on the left side, the searched direction is “left”. For this reason, the search direction is specified as “upward”. The specifying unit 48 specifies the pointer to the vertex of (5) whose data order is later with respect to the pointer to the vertex of (10) from the XY sort data 36 shown in FIG. Identify vertices.

特定部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 unit 48 uses the vertex of (5) as the processing target vertex and based on the state information 34, the total value of the vertices of (5) The search direction of the contour according to is specified. Since the sum of the vertices of (5) is “4” as shown in FIG. 16, the search direction is specified as “leftward” from the state information 34 shown in FIG. The specifying unit 48 specifies the pointer to the vertex of (4) in the previous data order with respect to the pointer from the YX sort data 37 shown in FIG. 18 to the vertex of (5). Identify vertices.

特定部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 unit 48 uses the vertex of (4) as the processing target vertex and based on the state information 34, the total value of the vertices of (4) The search direction of the contour according to is specified. Since the sum of the vertices of (4) is “14” as shown in FIG. 16, the search direction is specified as “upward” from the state information 34 shown in FIG. The specifying unit 48 specifies the pointer to the vertex of (2) whose data order is later with respect to the pointer to the vertex of (4) from the XY sort data 36 shown in FIG. Identify vertices.

特定部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 unit 48 uses the vertex of (2) as the processing target vertex and based on the state information 34, the total value of the vertices of (2) The search direction of the contour according to is specified. Since the sum of the vertices of (2) is “4” as shown in FIG. 16, the search direction is specified as “leftward” from the state information 34 shown in FIG. The specifying unit 48 specifies the pointer to the vertex of (1) in the previous data order with respect to the pointer to the vertex of (2) from the YX sort data 37 shown in FIG. Identify vertices.

特定部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 storage unit 22.

また、図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 unit 48 selects any one of the vertices (11) to (13) whose contour cannot be specified, and repeats specifying the contour using the selected vertex as a starting point. FIG. 15 shows the coordinates of the vertices of a polygon indicating the two contours identified in this way.

出力部49は、表示部21への画像の出力を行う処理部である。例えば、出力部49は、表示用データ38に基づいて、特定した輪郭によるモデル形状の画像を表示部21へ出力する。   The output unit 49 is a processing unit that outputs an image to the display unit 21. For example, the output unit 49 outputs an image of the model shape with the specified contour to the display unit 21 based on the display data 38.

ユーザは、表示部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 display unit 21.

ここで、表示部21に表示される画像について説明する。図19は、FTDT法による解析を行う要素の一例を示す図である。図19の例では、解析を行う要素として、基板に配線70が配置されている。図20は、要素をメッシュにより離散化した結果の一例を示す図である。図20の例では、配線70がメッシュにより22個の矩形に分割されている。図21は、離散化した要素の輪郭を特定した結果の一例を示す図である。図21の例では、メッシュにより離散化された配線70の輪郭が示されている。   Here, an image displayed on the display unit 21 will be described. FIG. 19 is a diagram illustrating an example of an element for performing analysis by the FTDT method. In the example of FIG. 19, wiring 70 is arranged on the substrate as an element for analysis. FIG. 20 is a diagram illustrating an example of a result of discretizing elements with a mesh. In the example of FIG. 20, the wiring 70 is divided into 22 rectangles by a mesh. FIG. 21 is a diagram illustrating an example of a result of specifying the contour of the discretized element. In the example of FIG. 21, the outline of the wiring 70 discretized by the mesh is shown.

図20に示す配線70をメッシュにより離散化した画像を表示部21に表示する場合、配線70がメッシュにより22個の矩形の描画に用いる頂点は88個となる。一方、図21に配線70の輪郭の画像を表示部21に表示する場合、配線70が1個の多角形になり、描画に用いる頂点は、メッシュで表示する場合より24個に削減される。   When an image obtained by discretizing the wiring 70 shown in FIG. 20 with a mesh is displayed on the display unit 21, the wiring 70 uses 88 meshes to draw 22 rectangles. On the other hand, when the image of the outline of the wiring 70 is displayed on the display unit 21 in FIG. 21, the wiring 70 becomes one polygon, and the number of vertices used for drawing is reduced to 24 compared to the case where the mesh is displayed.

このように、輪郭特定装置10は、輪郭を特定して表示することにより、描画に用いる頂点が減り、描画する線の数も減るため、描画の負荷を軽減できる。   As described above, the contour specifying device 10 specifies and displays the contour, thereby reducing the number of vertices used for drawing and the number of lines to be drawn, thereby reducing the drawing load.

一例として、回路設定が行われたプリント基板を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 wiring 70 is divided into a very large number of meshes. On the other hand, as shown in FIG. 23, when the contour is specified and displayed, the number of vertices used for drawing the wiring 70 is reduced and the number of lines to be drawn is reduced, so that the drawing load is reduced.

[処理の流れ]
次に、本実施例に係る輪郭特定装置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 contour specifying device 10 according to the present embodiment will be described. FIG. 24 is a flowchart showing the procedure of the contour specifying process. The contour specifying process is executed, for example, at a timing when a predetermined operation for instructing specification of the contour of the model shape indicated by the mesh data is performed from the input unit 20. Note that the contour specifying process may be executed subsequent to the separation process for the CAD data 30.

図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 generation unit 41 generates two-dimensional data obtained by planarizing the model shape of the mesh indicated by the mesh data 31 with a predetermined plane (S10). For example, when the substrate is composed of a plurality of layers, the generation unit 41 generates two-dimensional data obtained by planarizing the model shape for each layer. The specifying unit 48 selects a processing target plane for specifying the contour from the two-dimensional data 32 (S11). Further, the specifying unit 48 selects an element to be processed for specifying an outline from the selected plane to be processed (S12). The specifying unit 48 determines whether or not there is one mesh of the selected processing target element (S13). When there is one mesh (Yes in S13), the specifying unit 48 specifies one mesh as a contour (S14), and proceeds to S19 described later.

一方、処理対象の要素のメッシュが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 unit 42, the calculating unit 43, and the sorting unit 44 perform a preparation process described later to specify the contour (S15). After completion of the preparation process, the determination unit 45 and the change unit 46 perform a corner detection process described later (S16). After the corner detection processing is completed, the deletion unit 47 deletes unnecessary vertices from the coordinate table 35, the XY sort data 36, and the YX sort data 37 (S17). And the specific | specification part 48 performs the extraction process mentioned later in order to extract an outline (S18).

特定部48は、処理対象の平面の全ての要素に対する輪郭の特定が完了したか否かを判定する(S19)。全ての要素に対する輪郭の特定が完了していない場合(S19否定)、上述のS12へ移行する。一方、全ての要素に対する輪郭の特定が完了した場合(S19肯定)、特定部48は、2次元データ32の全ての平面に対する処理が完了したか否かを判定する(S20)。全ての平面に対する処理が完了していない場合(S20否定)、上述のS11へ移行する。一方、全ての平面に対する処理が完了した場合(S20肯定)、処理を終了する。   The specifying unit 48 determines whether or not the specification of the contour for all the elements on the processing target plane has been completed (S19). If the specification of the contours for all elements has not been completed (No at S19), the process proceeds to S12 described above. On the other hand, when the specification of the contours for all the elements is completed (Yes at S19), the specifying unit 48 determines whether the processing for all the planes of the two-dimensional data 32 is completed (S20). When the processing for all the planes is not completed (No at S20), the process proceeds to S11 described above. On the other hand, when the process for all the planes is completed (Yes at S20), the process ends.

次に、本実施例に係る準備処理の流れについて説明する。図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 unit 42 determines whether or not the processing for all the meshes of the processing target element is completed (S30). When the processing for all the meshes has not been completed (No at S30), the assigning unit 42 selects one unprocessed mesh (S31). The assigning unit 42 initializes the variable n to 1 (S32). The allocation unit 42 determines whether or not the variable n is 1 (S33). When the variable n is 1 (Yes at S33), the assigning unit 42 specifies the lower left vertex of the selected mesh as the processing target vertex (S34). On the other hand, when the variable n is not 1 (No at S33), the allocation unit 42 determines whether the variable n is 2 (S35). When the variable n is 2 (Yes in S35), the assigning unit 42 specifies the lower right vertex of the selected mesh as the processing target vertex (S36). On the other hand, when the variable n is not 2 (No in S35), the allocation unit 42 determines whether the variable n is 3 (S37). When the variable n is 3 (Yes in S37), the allocating unit 42 specifies the upper right vertex of the selected mesh as the processing target vertex (S38). On the other hand, when the variable n is not 3 (No in S37), the assigning unit 42 specifies the upper left vertex of the selected mesh as the processing target vertex (S39).

割当部42は、設定値情報33から、処理対象とされた頂点に対応する設定値を読み出す(S40)。算出部43は、処理対象とされた頂点の座標で座標テーブル35を検索する(S41)。算出部43は、検索の結果、座標テーブル35に同じ座標のデータがあるか否かを判定する(S42)。同じ座標のデータがない場合(S42否定)、算出部43は、処理対象とされた頂点の設定値、頂点の座標、頂点を含むメッシュを示す情報を座標テーブル35に追加する(S43)。一方、同じ座標のデータがある場合(S42肯定)、算出部43は、既に記憶された同じ座標のデータに処理対象とされた頂点の設定値を加算する(S44)。   The assigning unit 42 reads the setting value corresponding to the vertex that is the processing target from the setting value information 33 (S40). The calculation unit 43 searches the coordinate table 35 with the coordinates of the vertexes to be processed (S41). As a result of the search, the calculation unit 43 determines whether there is data with the same coordinates in the coordinate table 35 (S42). When there is no data with the same coordinates (No at S42), the calculation unit 43 adds information indicating the set value of the vertex, the coordinates of the vertex, and the mesh including the vertex to the processing target (S43). On the other hand, when there is data with the same coordinates (Yes at S42), the calculation unit 43 adds the set value of the vertex that is the processing target to the data with the same coordinates already stored (S44).

割当部42は、変数nが4であるか否かを判定する(S45)。変数nが4ではない場合(S45否定)、割当部42は、変数nの値に1を加算し(S46)、上述のS33へ移行する。一方、変数nが4である場合(S45肯定)、上述のS30へ移行する。   The assigning unit 42 determines whether or not the variable n is 4 (S45). When the variable n is not 4 (No in S45), the allocation unit 42 adds 1 to the value of the variable n (S46), and proceeds to the above-described S33. On the other hand, if the variable n is 4 (Yes at S45), the process proceeds to S30 described above.

一方、全てのメッシュに対する処理が完了した場合(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 unit 44 sorts the data in the coordinate table 35 in the order of the arrangement positions of the vertices to generate the XY sort data 36 and the YX sort data 37 (S47). ), The process is terminated and the process returns to the calling process.

次に、本実施例に係る入隅点検出処理の流れについて説明する。図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 determination unit 45 selects vertices in the order of the XY sort data 36 (S50). The determination unit 45 determines whether the selected vertex is a vertex whose total value is any set value in the coordinate table 35 (S51). If the total value is not a vertex that is any set value (No in S51), the process proceeds to S55 described later. On the other hand, if the total value is one of the set values (Yes in S51), the left and right vertices of the selected vertex are specified based on the XY sort data 36 (S52). The determination unit 45 determines whether the left and right vertices have the same position in the Y direction and belong to the same mesh (S53). If the positions of the left and right vertices in the Y direction are different or do not belong to the same mesh (No in S53), the process proceeds to S55 described later. On the other hand, when the positions of the left and right vertices in the Y direction are the same and belong to the same mesh (Yes in S53), the changing unit 46 changes the total value stored in the coordinate table 35 of the selected vertex as follows. . That is, the change unit 46 changes the total value to 13 when the total value stored in the coordinate table 35 of the selected vertex is 1. In addition, when the total value stored in the coordinate table 35 of the selected vertex is 2, the changing unit 46 changes the total value to 14. Further, when the total value stored in the coordinate table 35 of the selected vertex is 4, the changing unit 46 changes the total value to 7. Further, when the total value stored in the coordinate table 35 of the selected vertex is 8, the changing unit 46 changes the total value to 11 (S54).

判定部45は、XYソートデータ36の順に全ての頂点を選択が完了したか否かを判定する(S55)。全ての頂点の選択が完了していない場合(S55否定)、上述のS50へ移行する。全ての頂点を選択が完了した場合(S55肯定)、判定部45は、YXソートデータ37の順に頂点を選択する(S56)。   The determination unit 45 determines whether or not selection of all vertices has been completed in the order of the XY sort data 36 (S55). If selection of all vertices has not been completed (No at S55), the process proceeds to S50 described above. When selection of all vertices is completed (Yes at S55), the determination unit 45 selects vertices in the order of the YX sort data 37 (S56).

判定部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 determination unit 45 determines whether the selected vertex is a vertex whose total value is any set value in the coordinate table 35 (S57). When the total value is not a vertex that is any set value (No in S57), the process proceeds to S61 described later. On the other hand, if the total value is one of the set values (Yes at S57), the top and bottom vertices of the selected vertex are specified based on the YX sort data 37 (S58). The determination unit 45 determines whether or not the positions of the upper and lower vertices in the X direction are the same and belong to the same mesh (S59). When the positions of the upper and lower vertices in the X direction are different or do not belong to the same mesh (No in S59), the process proceeds to S61 described later. On the other hand, when the positions of the upper and lower vertices in the X direction are the same and belong to the same mesh (Yes in S59), the changing unit 46 changes the total value stored in the coordinate table 35 of the selected vertex as follows. (S60). That is, the change unit 46 changes the total value to 7 when the total value stored in the coordinate table 35 of the selected vertex is 1. In addition, when the total value stored in the coordinate table 35 of the selected vertex is 2, the changing unit 46 changes the total value to 11. Further, when the total value stored in the coordinate table 35 of the selected vertex is 4, the changing unit 46 changes the total value to 13. In addition, when the total value stored in the coordinate table 35 of the selected vertex is 8, the changing unit 46 changes the total value to 14.

判定部45は、YXソートデータ37の順に全ての頂点を選択が完了したか否かを判定する(S61)。全ての頂点を選択が完了していない場合(S61否定)、上述のS56へ移行する。全ての頂点を選択が完了した場合(S61肯定)、処理を終了して呼び出し元の処理へ戻る。   The determination unit 45 determines whether or not selection of all vertices has been completed in the order of the YX sort data 37 (S61). If selection of all vertices has not been completed (No at S61), the process proceeds to S56 described above. When selection of all vertices is completed (Yes in S61), the process ends and the process returns to the caller process.

次に、本実施例に係る輪郭を抽出する抽出処理の流れについて説明する。図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 unit 48 determines whether or not there are unprocessed vertices having a total value other than 5 and 10 at the vertices of each mesh of the processing target element in the coordinate table 35 (S70). ). Here, the processed vertices are updated to a total value of −1 in S82 described later. For this reason, the specifying unit 48 determines whether or not there are vertices whose total value is other than −1, 5, and 10 at the vertices of each mesh of the processing target element. If there are no vertices other than -1, 5 and 10 in the total value (No in S70), the contours of all the vertices of each mesh of the element to be processed have been identified, and the process ends and the process returns to the caller process.

合計値が−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 unit 48 selects vertices other than -1, 5, 10 in the total value from the vertices of each mesh of the element to be processed. (S71). The identifying unit 48 sets the selected vertex as the start point (S72). The specifying unit 48 specifies the search direction of the contour according to the total value of the processing target vertices based on the state information 34 using the selected vertex as the processing target vertex (S73).

特定部48は、輪郭の検索方向が下方向であるか否かを判定する(S74)。検索方向が下方向である場合(S74肯定)、特定部48は、XYソートデータ36から処理対象の頂点へのポインタに対し、データ順が前のポインタを特定し、特定したポインタから頂点を特定する(S75)。   The identifying unit 48 determines whether or not the contour search direction is downward (S74). When the search direction is downward (Yes in S74), the specifying unit 48 specifies the pointer having the previous data order with respect to the pointer from the XY sort data 36 to the processing target vertex, and specifies the vertex from the specified pointer. (S75).

一方、検索方向が下方向ではない場合(S74否定)、特定部48は、検索方向が上方向であるか否かを判定する(S76)。検索方向が上方向である場合(S76肯定)、特定部48は、XYソートデータ36から処理対象の頂点へのポインタに対し、データ順が後のポインタを特定し、特定したポインタから頂点を特定する(S77)。   On the other hand, when the search direction is not downward (No in S74), the specifying unit 48 determines whether or not the search direction is upward (S76). When the search direction is upward (Yes in S76), the specifying unit 48 specifies the pointer with the later data order with respect to the pointer from the XY sort data 36 to the processing target vertex, and specifies the vertex from the specified pointer. (S77).

一方、検索方向が上方向ではない場合(S76否定)、特定部48は、検索方向が左方向であるか否かを判定する(S78)。検索方向が左方向である場合(S78肯定)、特定部48は、YXソートデータ37から処理対象の頂点へのポインタに対し、データ順が前のポインタを特定し、特定したポインタから頂点を特定する(S79)。   On the other hand, when the search direction is not upward (No at S76), the specifying unit 48 determines whether or not the search direction is the left direction (S78). When the search direction is the left direction (Yes at S78), the specifying unit 48 specifies the pointer having the previous data order with respect to the pointer from the YX sort data 37 to the processing target vertex, and specifies the vertex from the specified pointer. (S79).

一方、検索方向が左方向ではない場合(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 unit 48 determines that the data order is later than the pointer from the YX sort data 37 to the vertex to be processed. And the vertex is specified from the specified pointer (S80).

特定部48は、処理対象の頂点の合計値が5または10であるか判定する(S81)。処理対象の頂点の合計値が5または10ではない場合(S81否定)、特定部48は、座標テーブル35の処理対象の頂点の合計値を−1に更新する。一方、処理対象の頂点の合計値が5または10である場合(S81肯定)、合計値の更新を行わず、S83へ移行する。これは、合計値が5または10の頂点は、2つのメッシュが点接触している頂点であり、輪郭を求めるために2度、合計値が参照されるためである。   The identifying unit 48 determines whether the total value of the processing target vertices is 5 or 10 (S81). When the total value of the processing target vertices is not 5 or 10 (No in S81), the specifying unit 48 updates the total value of the processing target vertices in the coordinate table 35 to -1. On the other hand, when the total value of the vertices to be processed is 5 or 10 (Yes in S81), the total value is not updated and the process proceeds to S83. This is because a vertex having a total value of 5 or 10 is a vertex where two meshes are in point contact, and the total value is referred to twice to obtain a contour.

特定部48は、特定した頂点が開始点であるか否かを判定する(S83)。特定した頂点が開始点ではない場合(S83否定)、特定部48は、特定した頂点を処理対象の頂点に設定し(S84)、上述のS73へ移行する。特定した頂点が開始点である場合(S83肯定)、開始点以降に通過した頂点の座標から輪郭の形状を示すベクトルデータを生成し、生成したデータを表示用データ38として記憶部22に格納し、上述のS70へ移行する。   The identifying unit 48 determines whether or not the identified vertex is the start point (S83). If the identified vertex is not the start point (No in S83), the identifying unit 48 sets the identified vertex as the processing target vertex (S84), and proceeds to S73 described above. When the identified vertex is the start point (Yes in S83), vector data indicating the shape of the contour is generated from the coordinates of the vertex that has passed after the start point, and the generated data is stored in the storage unit 22 as display data 38. The process proceeds to S70 described above.

[実施例1の効果]
本実施例に係る輪郭特定装置10は、矩形の4つの頂点にそれぞれ対応して、それぞれを組み合わせた組み合わせ毎の合計値が異なるように定めた設定値を示す設定値情報および前記合計値毎の輪郭の状態を示す状態情報34を記憶部22に記憶する。輪郭特定装置10は、矩形のメッシュで分割された解析対象のモデルのメッシュの各頂点に対して設定値情報に基づき、対応する設定値を割り当てる。輪郭特定装置10は、割り当てられた設定値を頂点毎に合計した合計値を算出する。そして、輪郭特定装置10は、状態情報に基づき、頂点毎の合計値から解析対象のモデルの輪郭の形状を特定する。このように、輪郭特定装置10は、解析対象のモデルのメッシュの各頂点に対して設定値を割り当て、頂点毎に割り当てられた設定値を合計した合計値を求めるという簡単な演算で、合計値から頂点の状態を特定でき、頂点の状態から輪郭の形状を特定できる。よって、輪郭特定装置10は、特定した輪郭の形状に従って解析対象のモデルの輪郭の描画を行うことにより、描画の負荷を軽減できる。
[Effect of Example 1]
The contour specifying apparatus 10 according to the present embodiment corresponds to each of the four vertices of the rectangle, and setting value information indicating setting values that are determined so that the total value for each combination obtained by combining the different values is different for each total value. State information 34 indicating the state of the contour is stored in the storage unit 22. The contour specifying device 10 assigns a corresponding setting value to each vertex of the mesh of the model to be analyzed divided by the rectangular mesh based on the setting value information. The contour specifying device 10 calculates a total value obtained by summing the assigned setting values for each vertex. Then, the contour specifying device 10 specifies the shape of the contour of the model to be analyzed from the total value for each vertex based on the state information. As described above, the contour specifying device 10 assigns a setting value to each vertex of the mesh of the model to be analyzed, and calculates the total value by summing the setting values assigned for each vertex. The vertex state can be identified from the vertex state, and the contour shape can be identified from the vertex state. Therefore, the contour specifying device 10 can reduce the drawing load by drawing the contour of the model to be analyzed in accordance with the shape of the specified contour.

また、本実施例に係る輪郭特定装置10は、合計値毎に輪郭の検索方向を示す方向情報をさらに記憶する。輪郭特定装置10は、方向情報に基づき、頂点から当該頂点の合計値に応じた検索方向に輪郭の検索を行って前記解析対象のモデルの外形の頂点となる輪郭点を特定する。そして、輪郭特定装置10は、ベクトルデータとして解析対象のモデルの輪郭の形状を特定する。よって、輪郭特定装置10は、ベクトルデータとして解析対象のモデルの輪郭の形状を特定するため、解析対象のモデルを識別して色を変えるなどの描画が行いやすくなる。   In addition, the contour specifying device 10 according to the present embodiment further stores direction information indicating the contour search direction for each total value. Based on the direction information, the contour specifying device 10 searches the contour in the search direction corresponding to the total value of the vertices, and specifies the contour points that are the vertices of the contour of the model to be analyzed. Then, the contour specifying device 10 specifies the shape of the contour of the model to be analyzed as vector data. Therefore, since the contour specifying device 10 specifies the shape of the contour of the model to be analyzed as vector data, it is easy to perform drawing such as changing the color by identifying the model to be analyzed.

また、本実施例に係る輪郭特定装置10は、算出された合計値が何れかの設定値である頂点が隣接するメッシュの辺上に位置する入隅の頂点であるか判定する。そして、輪郭特定装置10は、隣接するメッシュの辺上に位置する入隅の頂点であると判定された頂点の合計値を、3つのメッシュの頂点が重なり合って同様の入隅の状態となった頂点を示す合計値に変更する。よって、輪郭特定装置10は、頂点が隣接するメッシュの辺上に位置する入隅の頂点に対して個別に輪郭を特定する処理を行う必要がなく、3つのメッシュの頂点が重なり合った入隅の頂点と同様の処理で輪郭を特定できる。   Further, the contour specifying apparatus 10 according to the present embodiment determines whether or not a vertex whose calculated total value is any set value is a vertex of an entering corner located on an adjacent mesh side. Then, the contour specifying device 10 has the same value of the in-corner state in which the vertexes of the three meshes overlap the total value of the vertices determined to be the in-corner vertices located on the sides of the adjacent mesh. Change to the total value indicating the vertices. Therefore, the contour specifying device 10 does not need to perform the process of specifying the contour individually for the vertexes of the corners on the sides of the mesh whose vertices are adjacent to each other. The contour can be specified by the same processing as the vertex.

また、本実施例に係る輪郭特定装置10は、複数のレイヤで構成された基板の解析対象のモデルを直交格子のメッシュにより離散化する。輪郭特定装置10は、離散化された基板を所定の平面で平面化した2次元データを生成する。そして、輪郭特定装置10は、2次元データ32により示される平面上の解析対象のモデルを分割した矩形のメッシュの各頂点に対して設定値情報に基づき、対応する設定値を割り当てる。よって、輪郭特定装置10は、基板を所定の平面での解析対象のモデルの輪郭の形状を特定することができる。   In addition, the contour specifying apparatus 10 according to the present embodiment discretizes a model to be analyzed of a substrate composed of a plurality of layers using a mesh of orthogonal lattices. The contour specifying device 10 generates two-dimensional data obtained by planarizing a discretized substrate with a predetermined plane. The contour specifying device 10 assigns a corresponding setting value to each vertex of the rectangular mesh obtained by dividing the model to be analyzed on the plane indicated by the two-dimensional data 32 based on the setting value information. Therefore, the contour specifying device 10 can specify the shape of the contour of the model to be analyzed on a predetermined plane of the substrate.

さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。   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 state information 34 has been described, but the disclosed apparatus is not limited thereto. For example, the search direction may be stored as separate data for each total value. Further, the search direction shown in FIG. 4 for the status information 34 is also an example, and the disclosed apparatus is not limited to this. The search direction shown in FIG. 4 is determined to specify the contour counterclockwise, but may be determined to specify the contour clockwise.

また、上記の実施例では、頂点から頂点の合計値に応じた検索方向に輪郭の検索を行って前記解析対象のモデルの外形の頂点となる輪郭点を特定する場合について説明したが、開示の装置はこれに限定されない。例えば、合計値毎に輪郭の形状を示すイメージデータを記憶し、各頂点の合計値に応じたイメージデータにより輪郭の描画を行うものとしてもよい。   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 XY sort data 36, and the YX sort data 37 are obtained. Although the case of deleting has been described, the disclosed apparatus is not limited to this. For example, for the vertices whose total values are “3”, “6”, “9”, and “12”, the contour can be specified by searching the next vertex assuming that the search direction does not change from the previous vertex. Further, by selecting the start point from vertices other than the total value of -1, 5, 10, 16, it is possible to suppress the vertex having the total value of 16 from being a processing target vertex when searching for the contour.

また、上記の実施例では、ソート部44が座標テーブル35に記憶された各平面の頂点のデータを、平面毎に配置位置の順にソートしてXYソートデータ36およびYXソートデータ37を生成する場合について説明したが、開示の装置はこれに限定されない。例えば、座標テーブル35がX方向、Y方向の順またはY方向、X方向の順にソートして頂点のデータが格納されている場合、ソート部44がソートされていない側のソードデータのみを生成してもよい。   In the above embodiment, the sorting unit 44 generates the XY sort data 36 and the YX sort data 37 by sorting the vertex data of each plane stored in the coordinate table 35 in the order of the arrangement position for each plane. However, the disclosed apparatus is not limited to this. For example, when the coordinate table 35 is sorted in the order of X direction, Y direction or Y direction, X direction, and vertex data is stored, the sorting unit 44 generates only unsorted sword data. May be.

[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、輪郭特定装置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 discretization unit 40, the generation unit 41, the allocation unit 42, the calculation unit 43, the sorting unit 44, the determination unit 45, the change unit 46, the deletion unit 47, the specification unit 48, and the output unit 49 of the contour specifying device 10 The parts may be integrated as appropriate. Further, the processing of each processing unit may be appropriately separated into a plurality of processing units. Moreover, you may make it implement | achieve the function of said outline specific | specification apparatus 10 by having each processing part each have another apparatus, and being network-connected and cooperating.

[輪郭特定プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図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 computer 200 includes an operation unit 210, a display 220, and a communication unit 230. The computer 200 further includes a CPU 250, a ROM 260, an HDD 270, and a RAM 280. These units 210 to 280 are connected via a bus 240.

HDD270には、離散化部40、生成部41、割当部42、算出部43、ソート部44、判定部45、変更部46、削除部47、特定部48、出力部49と同様の機能を発揮する輪郭特定プログラム270aが予め記憶される。この輪郭特定プログラム270aについては、実施例1で示した各構成要素と同様、適宜統合又は分離しても良い。すなわち、HDD270に格納される各データは、常に全てのデータがHDD270に格納される必要はなく、処理に必要なデータのみがHDD270に格納されれば良い。   The HDD 270 exhibits the same functions as the discretization unit 40, generation unit 41, allocation unit 42, calculation unit 43, sort unit 44, determination unit 45, change unit 46, deletion unit 47, identification unit 48, and output unit 49. The contour specifying program 270a to be stored is stored in advance. The contour specifying program 270a may be appropriately integrated or separated in the same manner as each component shown in the first embodiment. In other words, all the data stored in the HDD 270 need not always be stored in the HDD 270, and only the data necessary for processing may be stored in the HDD 270.

そして、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 CPU 250 reads the contour specifying program 270 a from the HDD 270 and expands it in the RAM 280. Thus, as shown in FIG. 28, the contour specifying program 270a functions as a contour specifying process 280a. The contour specifying process 280a expands various data read from the HDD 270 in an area allocated to itself on the RAM 280, and executes various processes based on the expanded data. The contour identification process 280a is executed by the discretization unit 40, the generation unit 41, the allocation unit 42, the calculation unit 43, the sorting unit 44, the determination unit 45, the change unit 46, the deletion unit 47, the identification unit 48, and the output unit 49. For example, the processing shown in FIGS. That is, the contour specifying process 280a is the same as the discretizing unit 40, the generating unit 41, the assigning unit 42, the calculating unit 43, the sorting unit 44, the determining unit 45, the changing unit 46, the deleting unit 47, the specifying unit 48, and the output unit 49. Execute the operation. It should be noted that all the processing units virtually realized on the CPU 250 do not always have to operate on the CPU 250, and only the processing units necessary for processing need only be virtually realized.

なお、上記の輪郭特定プログラム270aについては、必ずしも最初からHDD270やROM260に記憶させておく必要はない。例えば、コンピュータ200に挿入されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ200がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ200に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ200がこれらから各プログラムを取得して実行するようにしてもよい。   Note that the contour specifying program 270a is not necessarily stored in the HDD 270 or the ROM 260 from the beginning. For example, each program is stored in a “portable physical medium” such as a flexible disk inserted into the computer 200, so-called FD, CD-ROM, DVD disk, magneto-optical disk, or IC card. Then, the computer 200 may acquire and execute each program from these portable physical media. Each program is stored in another computer or server device connected to the computer 200 via a public line, the Internet, a LAN, a WAN, etc., and the computer 200 acquires and executes each program from these. It may be.

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 SYMBOLS 10 Contour specification apparatus 20 Input part 21 Display part 22 Storage part 23 Control part 30 CAD data 31 Mesh data 32 Two-dimensional data 33 Set value information 34 State information 35 Coordinate table 36 XY sort data 37 YX sort data 38 Display data 40 Discrete Generating unit 41 generating unit 42 assigning unit 43 calculating unit 44 sorting unit 45 determining unit 46 changing unit 47 deleting unit 48 specifying unit 49 outputting unit

Claims (6)

矩形の4つの頂点にそれぞれ対応して、それぞれを組み合わせた組み合わせ毎の合計値が異なるように定めた設定値を示す設定値情報および前記合計値毎の輪郭の状態を示す状態情報を記憶する記憶部と、
矩形のメッシュで分割された解析対象のモデルの前記メッシュの各頂点に対して前記設定値情報に基づき、対応する設定値を割り当てる割当部と、
前記割当部により割り当てられた設定値を頂点毎に合計した合計値を算出する算出部と、
前記状態情報に基づき、頂点毎の前記合計値から前記解析対象のモデルの輪郭の形状を特定する特定部と、
を有することを特徴とする輪郭特定装置。
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.
JP2012075191A 2012-03-28 2012-03-28 Outline specifying device, outline specifying method, and outline specifying program Active JP5825173B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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
CN112257377B (en) Device layout method, device layout apparatus, electronic device, and computer-readable storage medium
JP6680086B2 (en) Selection control method, selection control device, and selection control program
Lyons Cluster busting in anchored graph drawing
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
JP2009104515A (en) Difference emphasis program, difference emphasizing method, and difference emphasizing device
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
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
JP2005235041A (en) Retrieval image display method and retrieval image display program
US20230145348A1 (en) Force-directed graph layout
JP6464763B2 (en) Layout verification apparatus, layout verification method, and layout verification 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
US20220012524A1 (en) Image processing apparatus, operation method of image processing apparatus, and operation program of image processing apparatus
Tsuruta et al. A cad system for diagramming origami with prediction of folding processes

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