JP7333801B2 - DATA CONVERSION PROGRAM, DATA CONVERSION METHOD, AND DATA CONVERSION DEVICE - Google Patents

DATA CONVERSION PROGRAM, DATA CONVERSION METHOD, AND DATA CONVERSION DEVICE Download PDF

Info

Publication number
JP7333801B2
JP7333801B2 JP2021044559A JP2021044559A JP7333801B2 JP 7333801 B2 JP7333801 B2 JP 7333801B2 JP 2021044559 A JP2021044559 A JP 2021044559A JP 2021044559 A JP2021044559 A JP 2021044559A JP 7333801 B2 JP7333801 B2 JP 7333801B2
Authority
JP
Japan
Prior art keywords
data
solid model
csg
plane
setting
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
JP2021044559A
Other languages
Japanese (ja)
Other versions
JP2022143833A (en
Inventor
信博 早川
健治 原
天 設楽
Original Assignee
Mhinsエンジニアリング株式会社
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 Mhinsエンジニアリング株式会社 filed Critical Mhinsエンジニアリング株式会社
Priority to JP2021044559A priority Critical patent/JP7333801B2/en
Publication of JP2022143833A publication Critical patent/JP2022143833A/en
Application granted granted Critical
Publication of JP7333801B2 publication Critical patent/JP7333801B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本開示は、データ変換プログラム、データ変換方法及びデータ変換装置に関するものである。 The present disclosure relates to a data conversion program, a data conversion method, and a data conversion device.

従来、CADモデルから表面ベースの組合せ幾何学形状(SBCG)フォーマットへ自動変換する方法が知られている(例えば、特許文献1参照)。 Conventionally, a method for automatic conversion from a CAD model to a surface-based combinatorial geometry (SBCG) format is known (see, for example, US Pat.

特表2006-528814号公報Japanese Patent Publication No. 2006-528814

ところで、3Dモデル(3次元モデル)は、モデリング体系として、ワイヤーフレームモデル、サーフィスモデル、ソリッドモデルに大別される。特許文献1は、表面ベースの組合せ幾何学形状であることから、サーフィスモデルで表現されており、ソリッドモデルへの変換は考慮されていない。ソリッドモデルの表現方法としては、例えば、境界表現(B-rep:Boundary Representation)、CSG表現(CSG:Constructive Solid Geometry(空間領域構成法))がある。 By the way, 3D models (three-dimensional models) are roughly classified into wireframe models, surface models, and solid models as a modeling system. Since Patent Document 1 is a surface-based combined geometric shape, it is represented by a surface model and conversion to a solid model is not considered. Solid model representation methods include, for example, boundary representation (B-rep: Boundary Representation) and CSG representation (CSG: Constructive Solid Geometry).

ここで、CADデータから、ソリッドモデルをCSG表現したCSGデータに変換する場合、特許文献1の変換方法を用いると、サーフィスモデルとなるSBCGフォーマットに変換するための情報を、CADデータから取得することから、CSGデータに変換するための情報が不足することとなる。また、CADデータからCSGデータに変換する場合、ソリッドモデルの形状によっては、CSGデータへの変換を可能とするための補助面となる曖昧面を設定する必要が生じる。このため、CADデータをCSGデータに変換する場合、手動で不足した情報を追加したり、曖昧面を設定したりすることになり、労力を要していた。 Here, when converting CAD data into CSG data expressing a solid model in CSG, if the conversion method of Patent Document 1 is used, information for converting to SBCG format, which is a surface model, can be obtained from the CAD data. Therefore, information for converting to CSG data is insufficient. Also, when converting from CAD data to CSG data, depending on the shape of the solid model, it may be necessary to set an ambiguous plane that serves as an auxiliary plane for enabling the conversion to CSG data. For this reason, when converting CAD data into CSG data, it is necessary to manually add missing information or set ambiguous planes, which requires labor.

そこで、本開示は、CADデータからCSGデータへのデータ変換を、好適に自動で実行することができるデータ変換プログラム、データ変換方法及びデータ変換装置を提供することを課題とする。 Therefore, an object of the present disclosure is to provide a data conversion program, a data conversion method, and a data conversion device that can suitably and automatically convert data from CAD data to CSG data.

本開示のデータ変換プログラムは、3次元空間においてモデリングされたソリッドモデルを含むCADデータから、空間領域構成法によって前記ソリッドモデルをCSG表現したデータであるCSGデータへデータ変換を行うために、ハードウェア上において実行されるデータ変換プログラムであって、前記CADデータに基づいて、前記ソリッドモデルを境界表現したデータであるB-repデータを生成するステップと、生成した前記B-repデータに基づいて、前記境界表現から前記CSG表現に変換するための所定のアルゴリズムを用いて、前記ソリッドモデルの前記CSGデータを生成するステップと、を実行させ、前記B-repデータを生成するステップでは、前記CADデータから、前記ソリッドモデルを区画するシェルに関する情報を取得するステップと、前記CADデータから、前記シェルを構成する面要素に関する情報を取得するステップと、前記CSGデータへの変換を可能とするための補助面となる曖昧面に関する情報を設定するステップと、前記面要素に対して半空間を定義するステップと、を実行させる。 A data conversion program according to the present disclosure uses hardware to perform data conversion from CAD data including a solid model modeled in a three-dimensional space to CSG data, which is data expressing the solid model using a spatial domain construction method. a data conversion program executed on the above, comprising: generating B-rep data, which is data representing a boundary of the solid model, based on the CAD data; and based on the generated B-rep data, generating the CSG data of the solid model using a predetermined algorithm for converting from the boundary representation to the CSG representation; and generating the B-rep data, the CAD data a step of acquiring information on the shell that partitions the solid model from the CAD data; a step of acquiring information on the surface elements that make up the shell from the CAD data; A step of setting information about an ambiguous surface to be a surface and a step of defining a half-space for the surface element are executed.

本開示のデータ変換方法は、3次元空間においてモデリングされたソリッドモデルを含むCADデータから、空間領域構成法によって前記ソリッドモデルをCSG表現したデータであるCSGデータへデータ変換を行うデータ変換方法であって、前記CADデータに基づいて、前記ソリッドモデルを境界表現したデータであるB-repデータを生成するステップと、生成した前記B-repデータに基づいて、前記境界表現から前記CSG表現に変換するための所定のアルゴリズムを用いて、前記ソリッドモデルの前記CSGデータを生成するステップと、を備え、前記B-repデータを生成するステップでは、前記CADデータから、前記ソリッドモデルを区画するシェルに関する情報を取得するステップと、前記CADデータから、前記シェルを構成する面要素に関する情報を取得するステップと、前記CSGデータへの変換を可能とするための補助面である曖昧面に関する情報を設定するステップと、前記面要素に対して半空間を定義するステップと、を有する。 The data conversion method of the present disclosure is a data conversion method for converting CAD data including a solid model modeled in a three-dimensional space into CSG data, which is data expressing the solid model in CSG, by a spatial domain construction method. generating B-rep data, which is data representing the boundary of the solid model, based on the CAD data; and converting the boundary representation into the CSG representation based on the generated B-rep data. and generating the CSG data of the solid model using a predetermined algorithm for, wherein the generating the B-rep data includes, from the CAD data, information about shells that partition the solid model. a step of obtaining from the CAD data information on surface elements that make up the shell; and a step of setting information on ambiguous surfaces that are auxiliary surfaces for enabling conversion to the CSG data. and defining a half-space for the surface element.

本開示のデータ変換装置は、3次元空間においてモデリングされたソリッドモデルを含むCADデータから、空間領域構成法によって前記ソリッドモデルをCSG表現したデータであるCSGデータへデータ変換を行う演算部を備えたデータ変換装置であって、前記演算部は、前記CADデータに基づいて、前記ソリッドモデルを境界表現したデータであるB-repデータを生成するステップと、生成した前記B-repデータに基づいて、前記境界表現から前記CSG表現に変換するための所定のアルゴリズムを用いて、前記ソリッドモデルの前記CSGデータを生成するステップと、を実行し、前記B-repデータを生成するステップでは、前記CADデータから、前記ソリッドモデルを区画するシェルに関する情報を取得するステップと、前記CADデータから、前記シェルを構成する面要素に関する情報を取得するステップと、前記CSGデータへの変換を可能とするための補助面である曖昧面に関する情報を設定するステップと、前記面要素に対して半空間を定義するステップと、を実行する。 A data conversion device of the present disclosure includes a computing unit that converts CAD data including a solid model modeled in a three-dimensional space into CSG data representing the solid model using a spatial domain construction method. A data conversion device, wherein the computing unit generates B-rep data, which is data representing a boundary of the solid model, based on the CAD data; and based on the generated B-rep data, generating the CSG data of the solid model using a predetermined algorithm for converting from the boundary representation to the CSG representation; and generating the B-rep data, the CAD data a step of acquiring information on the shell that partitions the solid model from the CAD data; a step of acquiring information on the surface elements that make up the shell from the CAD data; The steps of setting information about an ambiguous surface, which is a surface, and defining a half-space for the surface element are performed.

本開示によれば、CADデータからCSGデータへのデータ変換を好適に自動で実行することができる。 According to the present disclosure, data conversion from CAD data to CSG data can be preferably automatically executed.

図1は、本実施形態に係るデータ変換装置のブロック図である。FIG. 1 is a block diagram of a data conversion device according to this embodiment. 図2は、データ変換に関する処理フローの説明図である。FIG. 2 is an explanatory diagram of a processing flow regarding data conversion. 図3は、本実施形態に係るデータ変換方法の順変換に関する一例のフローチャートである。FIG. 3 is a flowchart of an example of forward conversion of the data conversion method according to this embodiment. 図4は、本実施形態に係るデータ変換方法の順変換に関する一例のフローチャートである。FIG. 4 is a flowchart of an example of forward conversion of the data conversion method according to this embodiment. 図5は、曖昧面の設定に関する一例の説明図である。FIG. 5 is an explanatory diagram of an example of setting the ambiguity plane. 図6は、論理演算に関する一例の説明図である。FIG. 6 is an explanatory diagram of an example of logic operations. 図7は、論理演算に関する一例の説明図である。FIG. 7 is an explanatory diagram of an example of logic operations. 図8は、曖昧面の設定に関する一例の説明図である。FIG. 8 is an explanatory diagram of an example regarding the setting of the ambiguity plane. 図9は、論理演算に関する一例の説明図である。FIG. 9 is an explanatory diagram of an example of logic operations. 図10は、論理演算に関する一例の説明図である。FIG. 10 is an explanatory diagram of an example of logic operations. 図11は、曖昧面の設定に関する一例の説明図である。FIG. 11 is an explanatory diagram of an example of setting the ambiguity plane. 図12は、曖昧面の設定に関する一例の説明図である。FIG. 12 is an explanatory diagram of an example of setting the ambiguity plane. 図13は、曖昧面の設定に関する一例の説明図である。FIG. 13 is an explanatory diagram of an example of setting the ambiguity plane. 図14は、曖昧面の設定に関する一例の説明図である。FIG. 14 is an explanatory diagram of an example of setting the ambiguity plane. 図15は、曖昧面の設定に関する一例の説明図である。FIG. 15 is an explanatory diagram of an example of setting the ambiguity plane. 図16は、外部領域、空間領域、物体領域の分類に関する説明図である。FIG. 16 is an explanatory diagram relating to the classification of the external area, the spatial area, and the object area. 図17は、本実施形態に係るデータ変換方法の一例のフローチャートである。FIG. 17 is a flowchart of an example of a data conversion method according to this embodiment. 図18は、本実施形態に係るデータ変換方法の逆変換に関する一例のフローチャートである。FIG. 18 is a flowchart of an example of inverse conversion of the data conversion method according to this embodiment.

以下に、本開示に係る実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が置換可能かつ容易なもの、あるいは実質的に同一のものが含まれる。さらに、以下に記載した構成要素は適宜組み合わせることが可能であり、また、実施形態が複数ある場合には、各実施形態を組み合わせることも可能である。 Hereinafter, embodiments according to the present disclosure will be described in detail based on the drawings. In addition, this invention is not limited by this embodiment. In addition, components in the following embodiments include components that can be easily replaced by those skilled in the art, or components that are substantially the same. Furthermore, the components described below can be combined as appropriate, and when there are multiple embodiments, each embodiment can be combined.

[実施形態]
本実施形態に係るデータ変換プログラムP、データ変換方法及びデータ変換装置1は、CADデータからCSGデータへ、また、CSGデータからCADデータへデータ変換を自動で実行するものとなっている。データ変換装置1は、いわゆるコンピュータ(ハードウェア)であり、コンピュータに記憶されたデータ変換プログラムP(ソフトウェア)を実行することで、データ変換を行うことが可能となっている。
[Embodiment]
The data conversion program P, the data conversion method, and the data conversion apparatus 1 according to this embodiment automatically execute data conversion from CAD data to CSG data, and from CSG data to CAD data. The data conversion device 1 is a so-called computer (hardware), and can perform data conversion by executing a data conversion program P (software) stored in the computer.

図1は、本実施形態に係るデータ変換装置のブロック図である。図2は、データ変換に関する処理フローの説明図である。図3及び図4は、本実施形態に係るデータ変換方法の順変換に関する一例のフローチャートである。図5、図8、図11から図15は、曖昧面の設定に関する一例の説明図である。図6、図7、図9、図10は、論理演算に関する一例の説明図である。図16は、外部領域、空間領域、物体領域の分類に関する説明図である。図17は、本実施形態に係るデータ変換方法の一例のフローチャートである。図18は、本実施形態に係るデータ変換方法の逆変換に関する一例のフローチャートである。 FIG. 1 is a block diagram of a data conversion device according to this embodiment. FIG. 2 is an explanatory diagram of a processing flow regarding data conversion. 3 and 4 are flowcharts of an example of forward conversion of the data conversion method according to this embodiment. 5, 8, and 11 to 15 are explanatory diagrams of an example of setting the ambiguity plane. 6, 7, 9, and 10 are explanatory diagrams of examples of logic operations. FIG. 16 is an explanatory diagram relating to the classification of the external area, the spatial area, and the object area. FIG. 17 is a flowchart of an example of a data conversion method according to this embodiment. FIG. 18 is a flowchart of an example of inverse conversion of the data conversion method according to this embodiment.

(データ変換装置)
先ず、図1を参照して、データ変換装置1について説明する。データ変換装置1は、演算部11と、記憶部12とを有している。
(data converter)
First, the data conversion device 1 will be described with reference to FIG. The data conversion device 1 has an arithmetic unit 11 and a storage unit 12 .

演算部11は、各種プログラムを実行するための演算を行うCPU(Central Processing Unit)等の集積回路を含んでいる。演算部11は、記憶部12に記憶されたデータ変換プログラムPを実行することで、各種処理を実行することが可能となる。 The calculation unit 11 includes an integrated circuit such as a CPU (Central Processing Unit) that performs calculations for executing various programs. By executing the data conversion program P stored in the storage unit 12, the calculation unit 11 can execute various types of processing.

記憶部12は、例えば、半導体記憶デバイス、及び磁気記憶デバイス等の任意の記憶デバイスを含む。記憶部12は、演算部11の処理結果を一時的に記憶する作業領域として利用されたり、各種プログラム及び各種データを記憶したりしている。記憶部12は、例えば、各種プログラムとして、データ変換を行うデータ変換プログラムP等が記憶されている。また、記憶部12は、各種データとして、データ変換の対象となるCADデータD1及びCSGデータD3、CADデータD1とCSGデータD3とのデータ変換時に生成されるB-repデータD2、CADデータD1とCSGデータD3とに含まれる情報を紐付けるためのテーブルT等を記憶している。 The memory unit 12 includes, for example, any memory device such as a semiconductor memory device and a magnetic memory device. The storage unit 12 is used as a work area for temporarily storing processing results of the calculation unit 11, and stores various programs and various data. The storage unit 12 stores, for example, various programs such as a data conversion program P for performing data conversion. In addition, the storage unit 12 stores, as various data, CAD data D1 and CSG data D3 to be converted, B-rep data D2 generated when converting the CAD data D1 and CSG data D3, CAD data D1, A table T or the like for linking information included in the CSG data D3 is stored.

演算部11は、データ変換プログラムPを実行することで、CADデータD1をCSGデータD3に順変換したり、CSGデータD3をCADデータD1に逆変換したりすることが可能となっている。また、演算部11は、データ変換プログラムPを実行することで、CADデータのファイル形式を異なる形式に変更したり、CSGデータD3に基づいて、他のプログラムにおいて用いられるファイル形式に変換したりすることが可能となっている。 By executing the data conversion program P, the calculation unit 11 can forward-convert the CAD data D1 into the CSG data D3 and inversely convert the CSG data D3 into the CAD data D1. In addition, the calculation unit 11 executes the data conversion program P to change the file format of the CAD data into a different format, or converts the file format into a file format used in another program based on the CSG data D3. It is possible.

ここで、図2を参照して、データ変換プログラムPを実行することにより処理されるデータ変換に関する処理フローについて、具体的に説明する。このデータ変換プログラムPは、「McBit」と呼称されるプログラムとなっている。CADデータD1は、CADソフトによって生成されるデータであり、CADソフトによって生成されるモデルは、ソリッドモデルとなっている。ソリッドモデルとは、中身の詰まった中実の物体として生成されるモデルである。CADデータD1は、有限の閉じた空間において生成されたソリッドモデルのデータであり、ソリッドモデルのデータとしては、頂点データ、稜線データ、面データ、シェルデータを含んでいる。そして、CADソフトによってソリッドモデルの形状が作成される(ステップS101)。このCADデータD1は、ファイル形式として、例えば、STEP(Standard for the Exchange of Product model data)形式で出力される(ステップS102)。また、CADソフトでは、作成したソリッドモデルを、ファイル形式が、例えば、STL(Standard Triangulated Language)形式となるメッシュデータとして出力することができる(ステップS103)。なお、本実施形態では、ファイル形式として、STEP形式及びSTL形式を適用したが、上記に特に限定されず、いずれのファイル形式であってもよい。 Here, with reference to FIG. 2, a processing flow regarding data conversion processed by executing the data conversion program P will be specifically described. This data conversion program P is a program called "McBit". The CAD data D1 is data generated by CAD software, and a model generated by the CAD software is a solid model. A solid model is a model that is generated as a solid object with a solid content. The CAD data D1 is solid model data generated in a finite closed space, and the solid model data includes vertex data, edge line data, surface data, and shell data. Then, a shape of a solid model is created by CAD software (step S101). This CAD data D1 is output as a file format, for example, in STEP (Standard for the Exchange of Product model data) format (step S102). Further, the CAD software can output the created solid model as mesh data whose file format is, for example, STL (Standard Triangulated Language) format (step S103). In this embodiment, the STEP format and the STL format are used as file formats, but the present invention is not particularly limited to the above, and any file format may be used.

データ変換プログラムPを実行する演算部11は、CADデータD1の読み込みを実行する(ステップS104)。すると、演算部11は、読み込んだCADデータD1に基づいて、B-repデータD2を生成する(ステップS106)。B-repデータD2は、ソリッドモデルを境界表現したデータである。境界表現とは、ソリッドモデルを構成する面要素、面要素同士の境界線となる稜線、稜線の端点となる頂点を、方程式で表現することである。また、B-repデータD2には、物質情報が紐付けられている(ステップS107)。物質情報は、記憶部12に記憶されたテーブルTである。具体的に、テーブルTは、CADデータD1の色情報と、色情報と物質情報とを対応付けたものである。そして、CSGデータD3は、このテーブルTに基づいて、CADデータD1の色情報に対応する物質情報が紐付けられる。なお、物質情報とは、材料に関する情報、密度に関する情報を含む。また、演算部11は、B-repデータD2に基づいて、CADデータD1を書き出す(生成する)ことが可能となっている(ステップS105)。演算部11は、書き出したCADデータD1に基づいて、STEP形式のCADデータD1として出力することができ、また、STL形式のメッシュデータとしても出力することができる。 The calculation unit 11 executing the data conversion program P reads the CAD data D1 (step S104). Then, the calculation unit 11 generates B-rep data D2 based on the read CAD data D1 (step S106). The B-rep data D2 is data representing the boundary of the solid model. Boundary expression is to express surface elements that constitute a solid model, ridges that are boundaries between surface elements, and vertices that are endpoints of the ridges using equations. Also, the B-rep data D2 is associated with substance information (step S107). The substance information is a table T stored in the storage unit 12 . Specifically, the table T associates the color information of the CAD data D1, the color information, and the material information. Based on this table T, the CSG data D3 is associated with the material information corresponding to the color information of the CAD data D1. Note that the substance information includes information about materials and information about densities. Further, the calculation unit 11 can write (generate) the CAD data D1 based on the B-rep data D2 (step S105). Based on the written CAD data D1, the calculation unit 11 can output the CAD data D1 in the STEP format, and can also output the mesh data in the STL format.

演算部11は、生成したB-repデータD2からCSGデータD3へ順変換して(ステップS110)、CSGデータD3を生成する(ステップS112)。CSGデータD3は、ソリッドモデルをCSG表現したデータである。CSG表現とは、基本立体(プリミティブ立体)を組み合わせて、論理演算(ブーリアン演算または集合演算ともいう)を行うことで、ソリッドモデルを表現することである。また、演算部11は、CSGデータD3からB-repデータD2へ逆変換して(ステップS111)、B-repデータD2を生成する(ステップS106)ことも可能となっている。このCSGデータD3は、例えば、放射線輸送解析コード、光学設計、迷光解析、熱放射輸送解析、可視情景描写、光線追跡等に用いられる。このため、演算部11は、CSGデータD3を、放射線輸送解析コードの一つであるPHITSの入力ファイルとして出力可能となっており(ステップS114、ステップS115)、同様に、CSGデータD3を、放射線輸送解析コードの一つであるMCNPの入力ファイルとして出力可能となっている(ステップS117、ステップS118)。さらに、演算部11は、PHITSの入力ファイルに基づいて、CSGデータD3を生成可能となっており(ステップS113)、同様に、MCNPの入力ファイルに基づいて、CSGデータD3を生成可能となっている(ステップS116)。 The calculation unit 11 forward-converts the generated B-rep data D2 to the CSG data D3 (step S110) to generate the CSG data D3 (step S112). The CSG data D3 is data expressing a solid model in CSG. CSG representation is to represent a solid model by combining basic solids (primitive solids) and performing logical operations (also called Boolean operations or set operations). The calculation unit 11 can also inversely transform the CSG data D3 into the B-rep data D2 (step S111) to generate the B-rep data D2 (step S106). This CSG data D3 is used, for example, for radiation transport analysis code, optical design, stray light analysis, thermal radiation transport analysis, visual scene depiction, ray tracing, and the like. Therefore, the computing unit 11 can output the CSG data D3 as an input file for PHITS, which is one of the radiation transport analysis codes (steps S114 and S115). It can be output as an input file of MCNP, which is one of the transport analysis codes (steps S117 and S118). Furthermore, the computing unit 11 can generate the CSG data D3 based on the PHITS input file (step S113), and similarly can generate the CSG data D3 based on the MCNP input file. (step S116).

(データ変換方法)
次に、図3及び図4を参照して、データ変換装置1によるデータ変換方法について説明する。図3及び図4は、CADデータD1からCSGデータD3へ順変換するデータ変換方法となっている。データ変換方法では、CADデータD1に基づいて、ソリッドモデルのB-repデータD2を生成するステップS1と、生成したB-repデータD2に基づいて、ソリッドモデルのCSGデータD3を生成するステップS2と、を実行している。図3では、B-repデータD2を生成するステップS1を説明し、図4では、CSGデータD3を生成するステップS2を説明している。
(Data conversion method)
Next, a data conversion method by the data conversion device 1 will be described with reference to FIGS. 3 and 4. FIG. 3 and 4 are data conversion methods for forward conversion from CAD data D1 to CSG data D3. In the data conversion method, a step S1 of generating solid model B-rep data D2 based on CAD data D1, and a step S2 of generating solid model CSG data D3 based on the generated B-rep data D2. , is running. FIG. 3 illustrates step S1 for generating B-rep data D2, and FIG. 4 illustrates step S2 for generating CSG data D3.

先ず、図3に示すように、演算部11は、CADデータD1を取得すると、CADデータD1に含まれるソリッドモデル群(1以上のソリッドモデル)の処理を実行する(ステップS11)。ステップS11において、演算部11は、CADデータD1に含まれる各ソリッドモデルに対して半空間を定義し、ソリッドモデル群の半空間の集合を取っている(Hsolids=O:空集合)。ソリッドモデルに対して半空間を定義するとは、例えば、ソリッドモデルが球体である場合、球体の内部側が中実となる物体領域であり、球体の外部側が空となる空間領域であると定義することであり、CADデータに基づいて定義される。なお、詳細は後述するが、ステップS1の処理を実行する場合、バウンディングボックスBを用いて、ソリッドモデルを包含する領域と、ソリッドモデルを包含しない外部領域とに区画している。 First, as shown in FIG. 3, when the CAD data D1 is obtained, the computing unit 11 processes a group of solid models (one or more solid models) included in the CAD data D1 (step S11). At step S11, the computing unit 11 defines a half-space for each solid model included in the CAD data D1, and takes a set of half-spaces of the solid model group (H solids = O: empty set). Defining a half-space for a solid model means, for example, if the solid model is a sphere, the inside of the sphere is defined as a solid object area, and the outside of the sphere is defined as an empty space area. and is defined based on CAD data. Although the details will be described later, when the process of step S1 is executed, the bounding box B is used to divide the area into an area that includes the solid model and an external area that does not include the solid model.

続いて、演算部11は、各ソリッドモデルを構成する1つ以上のシェルを処理する(ステップS12)。シェルとは、ソリッドモデルを区画する連なる面である。例えば、ソリッドモデルが直方体である場合、表面を構成する6面が1つのシェルとして定義される。また、例えば、ソリッドモデルが内部に空間を有する直方体形状の箱体である場合、外表面を構成する6面が1つのシェルとして定義され、内表面を構成する6面が1つのシェルとして定義される。つまり、ステップS12において、演算部11は、CADデータD1から、ソリッドモデルを区画するシェルに関する情報を取得する。 Next, the computing unit 11 processes one or more shells that form each solid model (step S12). A shell is a continuous surface that partitions a solid model. For example, if the solid model is a rectangular parallelepiped, six faces forming the surface are defined as one shell. Further, for example, when the solid model is a rectangular parallelepiped box having a space inside, the six faces forming the outer surface are defined as one shell, and the six faces forming the inner surface are defined as one shell. be. That is, in step S12, the computing unit 11 acquires information on shells that partition the solid model from the CAD data D1.

次に、演算部11は、1つのシェルを構成する面群を収集する(ステップS13)。面群を収集するとは、例えば、シェルが直方体を構成する表面側の6面である場合、6つの面要素を面群の集合Fshellとして収集する。つまり、ステップS13において、演算部11は、CADデータD1から、シェルを構成する面要素に関する情報を取得する。 Next, the computing unit 11 collects a group of faces that form one shell (step S13). Collecting a group of faces means, for example, if the shell is six faces on the front side of a rectangular parallelepiped, the six face elements are collected as a set F shell of the group of faces. In other words, in step S13, the calculation unit 11 acquires information on surface elements forming the shell from the CAD data D1.

この後、演算部11は、曖昧面を設定するための設定条件に基づいて、曖昧面を設定するか否かを判定し、曖昧面を設定すると判定したら、曖昧面を面要素として追加設定する(ステップS14)。ここで、曖昧面とは、CSGデータへの変換を可能とするための補助面である。方程式で表現された面要素同士を論理演算する場合、面要素の形状によっては、CSGデータへの変換時において、ソリッドモデルの形状を適切に表現することが困難な場合がある。曖昧面は、ソリッドモデルの形状を適切に表現するために設定される補助面となっている。ステップS14において、演算部11は、ソリッドモデルが所定の設定条件を満たす場合に曖昧面を設定している。 Thereafter, the calculation unit 11 determines whether or not to set the ambiguous plane based on the setting conditions for setting the ambiguous plane, and if it determines to set the ambiguous plane, additionally sets the ambiguous plane as a surface element. (Step S14). Here, the ambiguous plane is an auxiliary plane for enabling conversion to CSG data. When logical operations are performed between surface elements expressed by equations, depending on the shape of the surface elements, it may be difficult to appropriately express the shape of the solid model at the time of conversion to CSG data. Ambiguous planes are auxiliary planes that are set to appropriately express the shape of the solid model. At step S14, the computing unit 11 sets an ambiguous plane when the solid model satisfies a predetermined setting condition.

ここで、図5から図15を参照して、曖昧面の設定について説明する。曖昧面を設定するための所定の設定条件として、図5から図10に示す第1の設定条件と、図11に示す第2の設定条件と、図12に示す第3の設定条件と、図13に示す第4の設定条件と、図14に示す第5の設定条件と、図15に示す第6の設定条件とがある。 Here, the setting of the ambiguous plane will be described with reference to FIGS. 5 to 15. FIG. 5 to 10, the second setting condition shown in FIG. 11, the third setting condition shown in FIG. 13, a fifth setting condition shown in FIG. 14, and a sixth setting condition shown in FIG.

第1の設定条件は、ソリッドモデルが円筒面(または円錐面)を有する場合、円筒面(または円錐面)の周方向の両側に設けられる他の面との間の2つの境界線(稜線)L1の両端における4つの端点O1のうち、3つの端点O1を含む平面を曖昧面20aとして設定する条件である。図5に示すように、ソリッドモデルM1は、外側に凸となる円筒面と、円筒面の周方向の両側に連なる2つの平面とを有しており、円筒面と一方側の平面との間に境界線L1が形成され、円筒面と他方側の平面との間に境界線L1が形成される。演算部11は、ステップS14において、この2本の境界線L1の両端における4つの端点O1のうち、任意の3つの端点O1を含む平面を曖昧面20aとして設定する。 The first setting condition is that when the solid model has a cylindrical surface (or conical surface), two boundary lines (edge lines) between other surfaces provided on both sides of the cylindrical surface (or conical surface) in the circumferential direction This is a condition for setting a plane including three end points O1 out of four end points O1 at both ends of L1 as the ambiguous plane 20a. As shown in FIG. 5, the solid model M1 has an outwardly convex cylindrical surface and two planes connected to both sides of the cylindrical surface in the circumferential direction. A boundary line L1 is formed between the cylindrical surface and the plane on the other side. In step S14, the calculation unit 11 sets a plane including arbitrary three end points O1 among the four end points O1 at both ends of the two boundary lines L1 as the ambiguous plane 20a.

図6及び図7は、図5のソリッドモデルM1を水平面で切った断面における論理演算の説明図である。図6では、曖昧面20aを設定しない場合の論理演算となっており、図7では、曖昧面20aを設定した場合の論理演算となっている。 FIGS. 6 and 7 are explanatory diagrams of logic operations in cross sections obtained by cutting the solid model M1 of FIG. 5 along a horizontal plane. FIG. 6 shows the logical operation when the ambiguity plane 20a is not set, and FIG. 7 shows the logical operation when the ambiguity plane 20a is set.

図6に示すように、曖昧面20aを設定しない場合、ソリッドモデルM1は、円筒面と2つの平面とを用いて論理演算が行われる。ここで、円筒面は、内側に半空間A2が設定され、2つの平面は、矢印方向に半空間A1,A3が設定される。ソリッドモデルM1は、論理演算として、半空間A1~A3の共通部分(A1∩A2∩A3)をとることで、円筒面の内側が中実となる円柱として誤った表現がなされてしまう。 As shown in FIG. 6, when the ambiguous surface 20a is not set, the solid model M1 undergoes a logical operation using a cylindrical surface and two planes. Here, the cylindrical surface has a half space A2 set inside, and the two planes have half spaces A1 and A3 set in the directions of the arrows. The solid model M1 is erroneously expressed as a cylinder whose inside of the cylindrical surface is solid by taking the common part (A1∩A2∩A3) of the half spaces A1 to A3 as a logical operation.

一方で、図7に示すように、曖昧面20aを設定する場合、ソリッドモデルM1は、円筒面と2つの平面と曖昧面20aとを用いて論理演算が行われる。曖昧面20aは、矢印方向に半空間A4が設定され、半空間A4の反対側の矢印方向に半空間A4の否定が設定される。ソリッドモデルM1は、論理演算として、半空間A1,A3,A4の共通部分(A1∩A3∩A4)をとり、また、半空間A2と半空間A4の否定との共通部分(A2∩notA4)をとって、これらの共通部分の和集合((A1∩A3∩A4)∪(A2∩notA4))をとることで、適切な表現がなされる。 On the other hand, as shown in FIG. 7, when setting the ambiguous surface 20a, the solid model M1 undergoes a logical operation using the cylindrical surface, two planes, and the ambiguous surface 20a. The ambiguous plane 20a has half space A4 set in the direction of the arrow, and negation of half space A4 set in the direction of the arrow on the opposite side of half space A4. The solid model M1 takes the intersection (A1∩A3∩A4) of the half-spaces A1, A3, and A4 as a logical operation, and the intersection (A2∩notA4) of the negation of the half-spaces A2 and A4. A proper expression is obtained by taking the union of these intersections ((A1∩A3∩A4)∪(A2∩notA4)).

図8に示すソリッドモデルM1aは、内側に凹となる円筒面と、円筒面の周方向の両側に連なる2つの平面とを有しており、円筒面と一方側の平面との間に境界線L1が形成され、円筒面と他方側の平面との間に境界線L1が形成される。図8に示すソリッドモデルM1aは、図5に示すソリッドモデルM1と比べて、円筒面の凹凸が逆となっている。この場合においても、演算部11は、ステップS14において、この2本の境界線L1の両端における4つの端点O1のうち、任意の3つの端点O1を含む平面を曖昧面20aとして設定する。 The solid model M1a shown in FIG. 8 has an inwardly concave cylindrical surface and two planes connected to both sides of the cylindrical surface in the circumferential direction. L1 is formed, and boundary line L1 is formed between the cylindrical surface and the plane on the other side. The solid model M1a shown in FIG. 8 has the unevenness of the cylindrical surface opposite to that of the solid model M1 shown in FIG. In this case as well, in step S14, the calculation unit 11 sets a plane including arbitrary three end points O1 among the four end points O1 at both ends of the two boundary lines L1 as the ambiguous plane 20a.

図9及び図10は、図8のソリッドモデルM1aを水平面で切った断面における論理演算の説明図である。図9では、曖昧面20aを設定しない場合の論理演算となっており、図10では、曖昧面20aを設定した場合の論理演算となっている。 FIGS. 9 and 10 are explanatory diagrams of logic operations in cross sections obtained by cutting the solid model M1a of FIG. 8 along a horizontal plane. FIG. 9 shows the logical operation when the ambiguity plane 20a is not set, and FIG. 10 shows the logical operation when the ambiguity plane 20a is set.

図9に示すように、曖昧面20aを設定しない場合、ソリッドモデルM1aは、円筒面と2つの平面とを用いて論理演算が行われる。ここで、円筒面は、外側に半空間A2が設定され、2つの平面は、矢印方向に半空間A1,A3が設定される。ソリッドモデルM1aは、論理演算として、半空間A1~A3の共通部分(A1∩A2∩A3)をとることで、円筒面の内側が中空となる物体として誤った表現がなされてしまう。 As shown in FIG. 9, when the ambiguous surface 20a is not set, the solid model M1a undergoes a logical operation using a cylindrical surface and two planes. Here, half space A2 is set on the outside of the cylindrical surface, and half spaces A1 and A3 are set on the two planes in the directions of the arrows. The solid model M1a is erroneously expressed as an object with a hollow inside of the cylindrical surface by taking the common part (A1∩A2∩A3) of the half spaces A1 to A3 as a logical operation.

一方で、図10に示すように、曖昧面20aを設定する場合、ソリッドモデルM1aは、円筒面と2つの平面と曖昧面20aとを用いて論理演算が行われる。曖昧面20aは、矢印方向に半空間A4が設定される。ソリッドモデルM1aは、論理演算として、半空間A1~A4の共通部分(A1∩A2∩A3∩A4)をとることで、適切な表現がなされる。 On the other hand, as shown in FIG. 10, when setting the ambiguous surface 20a, the solid model M1a undergoes a logical operation using the cylindrical surface, two planes, and the ambiguous surface 20a. The ambiguous plane 20a has a half space A4 set in the direction of the arrow. The solid model M1a is appropriately expressed by taking the common part (A1∩A2∩A3∩A4) of the half spaces A1 to A4 as a logical operation.

なお、下記する第2の設定条件から第6の設定条件において、第1の設定条件のような論理演算の説明は省略するが、第1の設定条件と同様に、ソリッドモデルの形状を適切に表現するために曖昧面が設定される。 In addition, in the second to sixth setting conditions described below, the description of the logical operation as in the first setting condition is omitted, but the shape of the solid model is appropriately set as in the first setting condition. An ambiguity plane is set to represent.

第2の設定条件は、ソリッドモデルが非平面同士を接続する稜線を有するものであって、稜線が平面に配置可能である場合、稜線を含む平面を曖昧面として設定する条件である。図11の左側に示すように、ソリッドモデルM2aは、同径の円柱を直交させて接続したモデルとなっており、円筒面同士が接続されている。この円筒面同士を接続する稜線L2は、図11の上下方向を軸方向とする円柱の上側に1本、円柱の下側に1本形成され、2本の稜線L2は、その端部同士が接続されている。各稜線L2は、平面に配置可能となっており、演算部11は、ステップS14において、稜線L2を含む平面を曖昧面20bとして設定する。図11の右側に示すように、ソリッドモデルM2bは、半円環の両端部に、円柱を接続したモデルとなっており、トーラス面と円筒面とが接続されている。トーラス面と円筒面と接続する稜線L3は、半円環の一方側の端部と、半円環の他方側の端部とにそれぞれ形成され、円形状となっている。2本の稜線L3は、平面に配置可能となっており、演算部11は、ステップS14において、2本の稜線L3を含む平面を曖昧面20cとして設定する。 The second setting condition is that if the solid model has edges connecting non-planes and if the edges can be placed on a plane, the plane containing the edges is set as an ambiguous surface. As shown on the left side of FIG. 11, the solid model M2a is a model in which cylinders having the same diameter are orthogonally connected to each other, and the cylindrical surfaces are connected to each other. The ridgelines L2 connecting the cylindrical surfaces are formed one on the upper side of the cylinder whose axial direction is the vertical direction in FIG. 11, and one on the lower side of the cylinder. It is connected. Each edge line L2 can be placed on a plane, and the calculation unit 11 sets the plane including the edge line L2 as the ambiguous plane 20b in step S14. As shown on the right side of FIG. 11, the solid model M2b is a model in which cylinders are connected to both ends of a semicircular ring, and the torus surface and the cylindrical surface are connected. A ridge line L3 connecting the torus surface and the cylindrical surface is formed at one end of the semi-annular ring and the other end of the semi-annular ring, and has a circular shape. The two edges L3 can be arranged on a plane, and the calculation unit 11 sets the plane including the two edges L3 as the ambiguous plane 20c in step S14.

第3の設定条件は、ソリッドモデルがトーラス面を有する場合、トーラス面の回転軸と同軸となる円筒面を曖昧面として設定する条件である。図12の左側に示すように、ソリッドモデルM3aは、所定の半径を有する円柱と、円柱の外周面の軸方向における長さを直径とする断面半円の円環と、を接続したモデルとなっており、トーラス面を有するものとなっている。トーラス面と円柱の軸方向における端面とを接続する稜線L4は、円柱の半径となる円形状となっており、演算部11は、ステップS14において、円柱の半径と同じ半径となる円筒面であって、稜線L4を通る円筒面を曖昧面20dとして設定する。図12の右側に示すように、ソリッドモデルM3bは、所定の半径を有する円柱の軸方向における端面の周縁が面取りされたトーラス面を有するモデルとなっている。トーラス面の内側には稜線L5が形成されており、演算部11は、ステップS14において、稜線L5の半径よりも大きく、円柱の外周面の半径よりも小さい半径となる円筒面を曖昧面20eとして設定する。 The third setting condition is to set a cylindrical surface coaxial with the rotation axis of the torus surface as the ambiguous surface when the solid model has a torus surface. As shown on the left side of FIG. 12, the solid model M3a is a model in which a cylinder having a predetermined radius and an annular ring having a semicircular cross section whose diameter is the length of the outer peripheral surface of the cylinder in the axial direction are connected. It has a torus surface. The ridge line L4 connecting the torus surface and the end surface of the cylinder in the axial direction has a circular shape that is the radius of the cylinder. Then, a cylindrical surface passing through the ridgeline L4 is set as the ambiguous surface 20d. As shown on the right side of FIG. 12, the solid model M3b is a model having a torus surface in which the periphery of the end face in the axial direction of a cylinder having a predetermined radius is chamfered. A ridge line L5 is formed on the inner side of the torus surface, and in step S14, the calculation unit 11 sets a cylindrical surface having a radius larger than the radius of the ridge line L5 and smaller than the radius of the outer peripheral surface of the cylinder as the ambiguous surface 20e. set.

第4の設定条件は、ソリッドモデルがトーラス面を有する場合、トーラス面の回転軸と直交する平面を曖昧面として設定する条件である。図13に示すように、ソリッドモデルM4は、ボルトであり、ボルトの頭部において、ボルトの軸方向における端面の周縁が面取りされたトーラス面を有するモデルとなっている。図13は、左側が斜視図となっており、右側が側面図となっている。ボルトの頭部の外周面とトーラス面との間には稜線L6が形成されており、稜線L6は、隣接する稜線L6と端部同士で接続される接点O2を有する。演算部11は、トーラス面の回転軸と直交する平面であって、稜線L6の接点O2を通る平面を曖昧面20fとして設定する。 A fourth setting condition is a condition that, if the solid model has a torus surface, a plane perpendicular to the rotation axis of the torus surface is set as an ambiguous surface. As shown in FIG. 13, the solid model M4 is a bolt, and the bolt head has a torus surface in which the periphery of the end face in the axial direction of the bolt is chamfered. In FIG. 13, the left side is a perspective view and the right side is a side view. A ridgeline L6 is formed between the outer peripheral surface of the head of the bolt and the torus surface, and the ridgeline L6 has a contact point O2 that is connected to the adjacent ridgeline L6 at its ends. The calculation unit 11 sets a plane orthogonal to the rotation axis of the torus surface and passing through the contact point O2 of the ridgeline L6 as the ambiguous plane 20f.

第5の設定条件は、図14に示すように、ソリッドモデルがトーラス面を有し、第2の設定条件において設定された曖昧面20b,20cが、トーラス面の回転軸に直交する場合、稜線L2は円を描くことから、稜線L2上をとおり、トーラス面の回転軸と同軸となる円筒面を曖昧面20gとして設定する条件である。 As shown in FIG. 14, the fifth setting condition is that when the solid model has a torus surface and the ambiguous surfaces 20b and 20c set in the second setting condition are perpendicular to the rotation axis of the torus surface, the edge line Since L2 draws a circle, it is a condition to set a cylindrical surface that passes on the ridge line L2 and is coaxial with the rotation axis of the torus surface as the ambiguous surface 20g.

第6の設定条件は、ソリッドモデルが、異径の円筒面同士を接続したものである場合、小径となる円筒面の接続側の端面を含む平面を曖昧面として設定する条件である。図15に示すように、ソリッドモデルM5は、大径の円柱に、小径の円柱を直交させて接続したモデルとなっており、円筒面同士が接続されている。この円筒面同士を接続する稜線L7は、大径の円柱に周面に形成されている。演算部11は、ステップS14において、小径の円柱の接続側の端面を含む平面を曖昧面20hとして設定する。 The sixth setting condition is a condition for setting a plane including the end face on the connection side of the small diameter cylindrical surface as an ambiguous surface when the solid model is formed by connecting cylindrical surfaces with different diameters. As shown in FIG. 15, the solid model M5 is a model in which a small-diameter cylinder is orthogonally connected to a large-diameter cylinder, and the cylindrical surfaces are connected to each other. A ridge line L7 connecting the cylindrical surfaces is formed on the peripheral surface of the large-diameter cylinder. In step S14, the calculation unit 11 sets a plane including the end face on the connection side of the small-diameter cylinder as the ambiguous plane 20h.

再び、図3を参照して、演算部11は、ステップS14の実行後、1つのシェルの面群(複数の面要素)に対して半空間を定義し、面群の半空間の集合Hshellを取っている(ステップS15)。面要素に対して半空間を定義するとは、例えば、面要素が平面である場合、平面の一方側が中実となる物体領域であり、平面の他方側が空となる空間領域であると定義することである。そして、面群の半空間の集合を取ることで、ソリッドモデルの各シェルにおける物体領域が定義される。 Again referring to FIG. 3, after executing step S14, the computing unit 11 defines a half-space for a surface group (a plurality of surface elements) of one shell, and creates a half-space set H shell (step S15). Defining a half-space for a plane element means, for example, when the plane element is a plane, one side of the plane is defined as a solid object area, and the other side of the plane is defined as an empty space area. is. An object region in each shell of the solid model is then defined by taking a set of half-spaces of faces.

この後、演算部11は、ソリッド群の半空間の集合に、各ソリッドモデルにおけるシェルの半空間の集合を対応付ける(ステップS16)(Hsolids=Merge(Hsolids,Hshell))。これにより、CADデータD1に含まれる1以上のソリッドモデルのそれぞれに対して、1以上のシェルが対応付けられ、また、各シェルに対して、1以上の面要素が対応付けられる。そして、面要素に対して半空間が対応付けられる。このような処理を実行することで、面要素、シェル、ソリッドモデルが、それぞれグルーピングされると共に、階層構造として、情報収集される。演算部11は、収集した情報を、B-repデータD2として、記憶部12に記憶させる。 Thereafter, the computing unit 11 associates a set of half-spaces of the solid group with a set of half-spaces of shells in each solid model (Step S16) (H solids =Merge(H solids , H shell )). Thereby, one or more shells are associated with each of one or more solid models included in the CAD data D1, and one or more surface elements are associated with each shell. A half-space is associated with the surface element. By executing such processing, surface elements, shells, and solid models are grouped, and information is collected as a hierarchical structure. The calculation unit 11 stores the collected information in the storage unit 12 as B-rep data D2.

そして、演算部11は、シェルの面群の収集が終了したか否かを判定し(ステップS17)、面群の収集が終了していないと判定した場合(ステップS17:No)、再びステップS13に進む。一方で、演算部11は、面群の収集が終了したと判定した場合(ステップS17:Yes)、シェルの処理が終了したか否かを判定し(ステップS18)、シェルの処理が終了していないと判定した場合(ステップS18:No)、再びステップS12に進む。一方で、演算部11は、シェルの処理が終了したと判定した場合(ステップS18:Yes)、図4のステップS2へ進む。 Then, the calculation unit 11 determines whether or not the collection of the shell face group has been completed (step S17), and if it is determined that the collection of the face group has not been completed (step S17: No), step S13 is performed again. proceed to On the other hand, if the calculation unit 11 determines that the collection of the plane group has ended (step S17: Yes), it determines whether or not the shell processing has ended (step S18), and determines whether the shell processing has ended. If it is determined that there is no (step S18: No), the process proceeds to step S12 again. On the other hand, if the calculation unit 11 determines that the shell processing has ended (step S18: Yes), the process proceeds to step S2 in FIG.

図4に示すように、演算部11は、ソリッドモデルのCSGデータD3を生成する場合、先ず、B-repデータD2に基づいて、ステップS1において収集したソリッド群に対応する半空間の集合(Hsolids)を取得する(ステップS21)。この後、演算部11は、各ソリッドモデルを構成する1つ以上のシェルを処理する(ステップS22)。つまり、ステップS22において、演算部11は、B-repデータD2から、ソリッドモデルを区画するシェルに関する情報を取得する。演算部11は、シェルに関する情報として、面群の集合Fshellと、面群の半空間の集合Hshellとを取得する(ステップS23)。そして、演算部11は、境界表現からCSG表現に変換するためのBHC(B-rep Half CSG)アルゴリズムを用いた処理を実行する(ステップS24)。演算部11は、ステップS24を実行することで、1つのシェルをCSG表現したCSGデータD3を取得する(ステップS25)。 As shown in FIG. 4, when generating the CSG data D3 of the solid model, the computing unit 11 first based on the B-rep data D2 is a half-space set (H solids ) is acquired (step S21). After that, the computing unit 11 processes one or more shells forming each solid model (step S22). That is, in step S22, the computing unit 11 acquires information on the shells that partition the solid model from the B-rep data D2. The calculation unit 11 acquires a set of face groups F shell and a set of half-spaces of the face groups H shell as information on shells (step S23). Then, the calculation unit 11 executes processing using a BHC (B-rep Half CSG) algorithm for converting from the boundary representation to the CSG representation (step S24). By executing step S24, the calculation unit 11 acquires the CSG data D3 representing one shell in CSG (step S25).

この後、演算部11は、全てのシェルのCSG表現が終了したか否かを判定し(ステップS26)、全てのシェルのCSG表現が終了していないと判定した場合(ステップS26:No)、再びステップS23に進む。一方で、演算部11は、全てのシェルのCSG表現が終了したと判定した場合(ステップS26:Yes)、シェルごとにCSG表現をintersect演算により結合し、1つのソリッドモデルがCSG表現されたCSGデータD3を取得する(ステップS27)。そして、演算部11は、全てのソリッドモデルのCSG表現が終了したか否かを判定し(ステップS28)、全てのソリッドモデルのCSG表現が終了していないと判定した場合(ステップS28:No)、再びステップS22に進む。一方で、演算部11は、全てのソリッドモデルのCSG表現が終了したと判定した場合(ステップS28:Yes)、次のステップS29に移行する。演算部11は、ステップS28までを実行することで、図2のステップS112に示すように、ソリッドモデルのCSGデータD3を取得する。 After that, the computing unit 11 determines whether or not the CSG expressions of all shells have ended (step S26). When it is determined that the CSG expressions of all shells have not ended (step S26: No), The process proceeds to step S23 again. On the other hand, if the calculation unit 11 determines that the CSG representations of all shells have been completed (step S26: Yes), the CSG representations of each shell are combined by the intersect operation, and one solid model is CSG represented by the CSG representation. Data D3 is obtained (step S27). Then, the computing unit 11 determines whether or not the CSG representation of all solid models has ended (step S28), and if it determines that the CSG representation of all solid models has not ended (step S28: No). , the process proceeds to step S22 again. On the other hand, when the calculation unit 11 determines that the CSG representation of all solid models has been completed (step S28: Yes), the process proceeds to the next step S29. By executing steps up to step S28, the calculation unit 11 acquires the CSG data D3 of the solid model, as shown in step S112 of FIG.

演算部11は、ソリッドモデルのCSGデータD3に基づいて、MCNP/PHITSの入力ファイルを生成する場合、ステップS29及びステップS30を実行する。具体的に、演算部11は、ステップS29において、ソリッドモデルごとのCSG表現から、MCNP/PHITSのセル表現(セルデータ)を取得する。この後、演算部11は、ソリッドモデル群の半空間の集合(Hsolids)からMCNP/PHITSの面表現(面データ)を取得する(ステップS30)。ここで、演算部11は、テーブルTに基づいて、CSGデータD3に対応付けられる物質情報を取得可能となっている。このため、演算部11は、MCNP/PHITSの入力ファイルとして必要な、セル(立体)表現、面表現、及び物質情報を取得できる。演算部11は、ステップS30の実行後、CADデータD1からCSGデータD3へ順変換するための処理を終了する。なお。ステップS30においては、取得した面データ(面要素)がソリッドモデルにおいて重複する場合、重複する面要素を削除するステップが実行される。 When generating an MCNP/PHITS input file based on the CSG data D3 of the solid model, the calculation unit 11 executes steps S29 and S30. Specifically, in step S29, the calculation unit 11 acquires the MCNP/PHITS cell representation (cell data) from the CSG representation for each solid model. After that, the calculation unit 11 acquires the surface representation (surface data) of MCNP/PHITS from the half-space set (H solids ) of the solid model group (step S30). Here, based on the table T, the calculation unit 11 can acquire substance information associated with the CSG data D3. Therefore, the calculation unit 11 can acquire the cell (three-dimensional) representation, plane representation, and material information required as input files for MCNP/PHITS. After executing step S30, the calculation unit 11 ends the process for forward conversion from the CAD data D1 to the CSG data D3. In addition. In step S30, if the acquired surface data (surface elements) overlap in the solid model, a step of deleting the overlapping surface elements is executed.

次に、図16を参照して、データ変換時において分類される領域について説明する。CADデータD1は、有限となる三次元領域においてソリッドモデルが表現される。一方で、CSGデータD3は、無限となる三次元領域においてソリッドモデルが表現される。このため、CADデータD1からCSGデータD3へ順変換する場合、ソリッドモデルを有限となる三次元領域で区画する必要がある。 Next, with reference to FIG. 16, regions classified at the time of data conversion will be described. The CAD data D1 represents a solid model in a finite three-dimensional area. On the other hand, the CSG data D3 represents a solid model in an infinite three-dimensional area. Therefore, when forward transforming the CAD data D1 into the CSG data D3, it is necessary to divide the solid model into finite three-dimensional regions.

演算部11は、順変換にあたって、有限の三次元領域として区画可能なバウンディングボックスBを設定する。バウンディングボックスBは、CADデータD1に含まれるソリッドモデルを全て包含するように設定される。バウンディングボックスB外の領域は、外部領域E1として設定され、外部領域E1は、演算対象外の領域として取り扱われる。バウンディングボックスBの内部の領域は、空間領域E2と、物体領域E3とに分けられる。空間領域E2と物体領域E3とは、面要素に定義される半空間に基づいて分けられる。つまり、バウンディングボックスB内における面要素の一方側を空間領域E2とし、面要素の他方側を物体領域E3と定義することで、空間領域E2と物体領域E3とが分類される。 The calculation unit 11 sets a bounding box B that can be partitioned as a finite three-dimensional area in the forward transform. The bounding box B is set so as to include all solid models included in the CAD data D1. An area outside the bounding box B is set as an external area E1, and the external area E1 is treated as an area not subject to computation. The area inside the bounding box B is divided into a spatial area E2 and an object area E3. The spatial region E2 and the object region E3 are divided based on the half-space defined by the surface elements. That is, by defining one side of the surface element within the bounding box B as the spatial area E2 and the other side of the surface element as the object area E3, the spatial area E2 and the object area E3 are classified.

ここで、図17を参照して、データ変換方法における領域分類に関する処理について説明する。演算部11は、CADデータD1のソリッドモデルに対して、図16に示す領域分類を処理した結果、物体領域E3同士の干渉、及び空間領域E2同士の干渉があるか否かを判定する(ステップS41)。演算部11は、領域同士の干渉がないと判定すると(ステップS41:Yes)、CADデータD1からCSGデータD3への順変換のデータ変換を実行して(ステップS42)、処理を終了する。一方で、演算部11は、領域同士の干渉があると判定すると(ステップS41:No)、エラー報知を実行し(ステップS43)、処理を終了する。 Here, with reference to FIG. 17, the processing related to region classification in the data conversion method will be described. The calculation unit 11 performs the area classification process shown in FIG. 16 on the solid model of the CAD data D1, and determines whether or not there is interference between the object areas E3 and interference between the spatial areas E2 (step S41). When determining that there is no interference between the regions (step S41: Yes), the calculation unit 11 performs forward conversion data conversion from the CAD data D1 to the CSG data D3 (step S42), and ends the process. On the other hand, when determining that there is interference between the areas (step S41: No), the calculation unit 11 executes error notification (step S43), and terminates the process.

次に、図18を参照して、CSGデータD3からCADデータD1へ逆変換するデータ変換方法について説明する。データ変換方法では、CSGデータD3に基づいて、ソリッドモデルのCADデータD1を生成するステップS51、S52を実行している。 Next, referring to FIG. 18, a data conversion method for inverse conversion from CSG data D3 to CAD data D1 will be described. In the data conversion method, steps S51 and S52 are executed to generate CAD data D1 of a solid model based on CSG data D3.

図18では、MCNP/PHITSの入力ファイルに基づいて逆変換を行っている。具体的に、図18に示すように、演算部11は、CSGデータD3のソリッドモデルに対して、ソリッドモデルを包含する有限領域を設定する(ステップS51)。演算部11は、ステップS51において、有限領域とCSG表現されたソリッドモデルの各面要素における半空間の定義から、面要素の表裏側(両側)に定義される空間領域E2及び物体領域E3を表現するCADデータD1を生成する。例えば、ソリッドモデルが直方体である場合、6面の表裏側に関するCADデータD1は、データ数が12データ分だけ生成されることとなる。 In FIG. 18, inverse conversion is performed based on the MCNP/PHITS input file. Specifically, as shown in FIG. 18, the computing unit 11 sets a finite area including the solid model for the solid model of the CSG data D3 (step S51). In step S51, the calculation unit 11 expresses a spatial region E2 and an object region E3 defined on the front and back sides (both sides) of the surface element from the finite area and the definition of the half space in each surface element of the solid model represented by the CSG. CAD data D1 is generated. For example, if the solid model is a rectangular parallelepiped, 12 pieces of CAD data D1 are generated for the front and back sides of the six faces.

続いて、演算部11は、MCNP/PHITSの入力ファイルに含まれている立体(セル)の面データの集合演算を、CADデータD1を用いた集合演算に置き換えることで、セルデータに対応するソリッドモデルのCADデータD1を生成し(ステップS52)、処理を終了する。 Subsequently, the calculation unit 11 replaces the set operation of the surface data of the solid (cell) included in the input file of MCNP/PHITS with the set operation using the CAD data D1, so that the solid corresponding to the cell data is calculated. CAD data D1 of the model is generated (step S52), and the process is terminated.

以上のように、本実施形態に記載のデータ変換プログラムP、データ変換方法及びデータ変換装置1は、例えば、以下のように把握される。 As described above, the data conversion program P, the data conversion method, and the data conversion apparatus 1 described in this embodiment are understood as follows, for example.

第1の態様に係るデータ変換装置1は、3次元空間においてモデリングされたソリッドモデルを含むCADデータD1から、空間領域構成法によって前記ソリッドモデルをCSG表現したデータであるCSGデータD3へデータ変換を行うために、ハードウェア上において実行されるデータ変換プログラムPであって、前記CADデータD1に基づいて、前記ソリッドモデルを境界表現したデータであるB-repデータD2を生成するステップS1,S106と、生成した前記B-repデータD2に基づいて、前記境界表現から前記CSG表現に変換するための所定のアルゴリズムを用いて、前記ソリッドモデルの前記CSGデータD3を生成するステップS2,S110と、を実行させ、前記B-repデータを生成するステップS1では、前記CADデータD1から、前記ソリッドモデルを区画するシェルに関する情報を取得するステップS12と、前記CADデータD1から、前記シェルを構成する面要素に関する情報を取得するステップS13と、前記CSGデータへの変換を可能とするための補助面となる曖昧面に関する情報を設定するステップS14と、前記面要素に対して半空間を定義するステップS15と、を実行させる。 A data conversion device 1 according to a first aspect converts CAD data D1 including a solid model modeled in a three-dimensional space into CSG data D3, which is data expressing the solid model in CSG by a spatial domain construction method. Steps S1 and S106 for generating B-rep data D2, which is data representing the boundary of the solid model, based on the CAD data D1, in a data conversion program P executed on hardware to perform the , steps S2 and S110 of generating the CSG data D3 of the solid model using a predetermined algorithm for converting from the boundary representation to the CSG representation based on the generated B-rep data D2; In the step S1 of generating the B-rep data, step S12 of acquiring information on the shell that partitions the solid model from the CAD data D1, and the surface elements constituting the shell from the CAD data D1. a step S13 of acquiring information about the surface element, a step S14 of setting information about an ambiguous surface as an auxiliary surface for enabling conversion to the CSG data, and a step S15 of defining a half space for the surface element; , is executed.

この構成によれば、CADデータD1からCSGデータD3に変換するための情報として、面群に対応する半空間の集合を取得することができ、また、曖昧面を設定することでデータ変換時におけるソリッドモデルの形状を適切に表現できるため、ソリッドモデルをCSGデータD3へ適切にデータ変換することができる。 According to this configuration, a set of half-spaces corresponding to the plane group can be obtained as information for converting the CAD data D1 into the CSG data D3. Since the shape of the solid model can be appropriately represented, the solid model can be appropriately converted into the CSG data D3.

第2の態様として、前記曖昧面に関する情報を設定するステップS14では、前記ソリッドモデルM1~M5が所定の設定条件を満たす場合に前記曖昧面20a~20hが設定されており、前記所定の設定条件として、前記ソリッドモデルM1が円筒面または円錐面を有する場合、前記円筒面または前記円錐面の周方向の両側に設けられる他の面との間の2つの境界線L1の両端における4つの端点O1のうち、3つの前記端点O1を含む平面を前記曖昧面20aとして設定する第1の設定条件と、前記ソリッドモデルM2a,M2bが非平面同士を接続する稜線L2,L3を有するものであって、前記稜線L2,L3が平面に配置可能である場合、前記稜線L2,L3を含む平面を前記曖昧面20b,20cとして設定する第2の設定条件と、前記ソリッドモデルM3a,M3bがトーラス面を有する場合、前記トーラス面の回転軸と同軸となる円筒面を前記曖昧面20d,20eとして設定する第3の設定条件と、前記ソリッドモデルM4がトーラス面を有する場合、前記トーラス面の回転軸と直交する平面を前記曖昧面20fとして設定する第4の設定条件と、前記ソリッドモデルM2a,M2bがトーラス面を有し、前記第2の設定条件において設定された前記曖昧面20b,20cが、前記トーラス面の回転軸に直交する場合、前記稜線L2は円を描くことから、前記稜線L2上をとおり、前記トーラス面の回転軸と同軸となる円筒面を前記曖昧面20gとして設定する第5の設定条件と、前記ソリッドモデルM5が、異径の円筒面同士を接続したものである場合、小径となる円筒面の接続側の端面を含む平面を前記曖昧面20hとして設定する第6の設定条件と、があり、前記第1の設定条件から前記第6の設定条件のうち、少なくとも1つの設定条件を含む。 As a second aspect, in the step S14 of setting information about the ambiguous plane, the ambiguous planes 20a to 20h are set when the solid models M1 to M5 satisfy predetermined setting conditions, and the predetermined setting conditions are set. , when the solid model M1 has a cylindrical surface or a conical surface, four end points O1 Among them, a first setting condition that sets a plane including the three end points O1 as the ambiguous surface 20a, and the solid models M2a and M2b have edges L2 and L3 that connect non-planes, A second setting condition of setting planes containing the edges L2 and L3 as the ambiguous surfaces 20b and 20c when the edges L2 and L3 can be placed on a plane, and the solid models M3a and M3b have torus surfaces. , a third setting condition that sets cylindrical surfaces coaxial with the rotation axis of the torus surface as the ambiguous surfaces 20d and 20e; A fourth setting condition for setting a plane to be the ambiguous surface 20f as the ambiguous surface 20f, the solid models M2a and M2b have torus surfaces, and the ambiguous surfaces 20b and 20c set in the second setting condition are the torus Since the ridgeline L2 draws a circle when perpendicular to the rotation axis of the surface, the fifth setting is to set a cylindrical surface that passes over the ridgeline L2 and is coaxial with the rotation axis of the torus surface as the ambiguous surface 20g. and a sixth setting condition for setting, as the ambiguous surface 20h, a plane including the end face on the connection side of the cylindrical surfaces having the smaller diameter when the solid model M5 is formed by connecting cylindrical surfaces having different diameters. , including at least one setting condition among the first to sixth setting conditions.

この構成によれば、設定条件に基づいて、適切な曖昧面を設定することができるため、CADデータD1からCSGデータD3へより適切にデータ変換することができる。 According to this configuration, since an appropriate ambiguity plane can be set based on the setting conditions, data conversion from the CAD data D1 to the CSG data D3 can be performed more appropriately.

第3の態様として、前記B-repデータを生成するステップS1では、前記ソリッドモデルを包含する領域と、前記ソリッドモデルを包含しない外部領域E1とに区画しており、前記面要素に対して半空間を定義するステップS15では、前記ソリッドモデルを包含する領域内において、前記面要素に対して、前記物体領域E3と前記空間領域E2とに分けるように前記半空間が定義される。 As a third aspect, in the step S1 of generating the B-rep data, an area including the solid model and an external area E1 not including the solid model are divided, and half of the surface element is divided into an area E1 that does not include the solid model. In step S15 for defining the space, the half space is defined so as to divide the surface element into the object region E3 and the space region E2 in the region containing the solid model.

この構成によれば、CADデータD1のソリッドモデルをCSG表現する場合であっても、有限となる三次元領域においてソリッドモデルを表現することが可能となるため、CADデータD1からCSGデータD3へ好適にデータ変換することができる。 According to this configuration, even when the solid model of the CAD data D1 is expressed in CSG, it is possible to express the solid model in a finite three-dimensional area, so it is suitable for the CSG data D3 from the CAD data D1. data can be converted to

第4の態様として、前記CSGデータD3を生成するステップS2では、前記物体領域E3同士の干渉、及び前記空間領域E2同士の干渉を判定するステップS41と、干渉していると判定した場合、エラーを報知するステップS43と、をさらに実行している。 As a fourth aspect, in the step S2 of generating the CSG data D3, in step S41 of determining interference between the object areas E3 and interference between the spatial areas E2, if it is determined that there is interference, an error A step S43 of notifying is further executed.

この構成によれば、CADデータD1からCSGデータD3へのデータ変換する場合、領域干渉によるデータの誤変換を抑制することができる。 According to this configuration, when converting the CAD data D1 into the CSG data D3, erroneous conversion of data due to area interference can be suppressed.

第5の態様として、生成した前記CSGデータD3の前記ソリッドモデルにおいて、重複する前記面要素が定義された場合、重複する前記面要素を削除するステップを、さらに実行する。 As a fifth mode, when the overlapping surface elements are defined in the solid model of the generated CSG data D3, the step of deleting the overlapping surface elements is further executed.

この構成によれば、例えば、CSGデータD3を、MCNPまたはPHITSの入力ファイルとして用いる場合であっても、重複する面要素を削除することで、適切な面データとなる入力ファイルを生成することができる。 According to this configuration, for example, even when the CSG data D3 is used as an input file for MCNP or PHITS, an input file with appropriate surface data can be generated by deleting overlapping surface elements. can.

第6の態様として、前記CADデータD1は、前記ソリッドモデルに付された色情報を、さらに含み、前記色情報と物質情報とを関連付けたテーブルTに基づいて、生成された前記CSGデータD3の前記ソリッドモデルに前記物質情報を関連付けるステップS107を、さらに実行する。 As a sixth aspect, the CAD data D1 further includes color information attached to the solid model, and the CSG data D3 generated based on a table T that associates the color information and material information. A step S107 of associating the material information with the solid model is further performed.

この構成によれば、CADデータD1の色情報に基づいて、テーブルTを用いて、CSGデータD3に物質情報を関連付けることができる。 According to this configuration, the material information can be associated with the CSG data D3 using the table T based on the color information of the CAD data D1.

第7の態様として、前記ソリッドモデルの前記CSGデータに基づいて、前記ソリッドモデルの前記CADデータを生成するステップと、をさらに実行する。 and generating the CAD data of the solid model based on the CSG data of the solid model.

この構成によれば、CSGデータD3からCADデータD1に逆変換を実行することができる。 According to this configuration, inverse transformation can be performed from the CSG data D3 to the CAD data D1.

第8の態様に係るデータ変換方法は、3次元空間においてモデリングされたソリッドモデルを含むCADデータから、空間領域構成法によって前記ソリッドモデルをCSG表現したデータであるCSGデータへデータ変換を行うデータ変換方法であって、前記CADデータに基づいて、前記ソリッドモデルを境界表現したデータであるB-repデータを生成するステップと、生成した前記B-repデータに基づいて、前記境界表現から前記CSG表現に変換するための所定のアルゴリズムを用いて、前記ソリッドモデルの前記CSGデータを生成するステップと、を備え、前記B-repデータを生成するステップでは、前記CADデータから、前記ソリッドモデルを区画するシェルに関する情報を取得するステップと、前記CADデータから、前記シェルを構成する面要素に関する情報を取得するステップと、前記CSGデータへの変換を可能とするための補助面である曖昧面に関する情報を設定するステップと、前記面要素に対して半空間を定義するステップと、を有する。 A data conversion method according to an eighth aspect converts CAD data including a solid model modeled in a three-dimensional space into CSG data representing the solid model by a spatial domain construction method. A method comprising: generating B-rep data, which is data representing a boundary representation of the solid model, based on the CAD data; and generating the CSG representation from the boundary representation based on the generated B-rep data. and generating the CSG data of the solid model using a predetermined algorithm to convert the solid model into a step of obtaining information about a shell; a step of obtaining information about surface elements that make up the shell from the CAD data; and defining a half-space for the surface element.

この構成によれば、CADデータD1からCSGデータD3に変換するための情報として、面群に対応する半空間の集合を取得することができ、また、曖昧面を設定することでデータ変換時におけるソリッドモデルの形状を適切に表現できるため、ソリッドモデルをCSGデータD3へ適切にデータ変換することができる。 According to this configuration, a set of half-spaces corresponding to the plane group can be obtained as information for converting the CAD data D1 into the CSG data D3. Since the shape of the solid model can be appropriately represented, the solid model can be appropriately converted into the CSG data D3.

第9の態様に係るデータ変換装置1は、3次元空間においてモデリングされたソリッドモデルを含むCADデータから、空間領域構成法によって前記ソリッドモデルをCSG表現したデータであるCSGデータへデータ変換を行う演算部を備えたデータ変換装置であって、前記演算部は、前記CADデータに基づいて、前記ソリッドモデルを境界表現したデータであるB-repデータを生成するステップと、生成した前記B-repデータに基づいて、前記境界表現から前記CSG表現に変換するための所定のアルゴリズムを用いて、前記ソリッドモデルの前記CSGデータを生成するステップと、を実行し、前記B-repデータを生成するステップでは、前記CADデータから、前記ソリッドモデルを区画するシェルに関する情報を取得するステップと、前記CADデータから、前記シェルを構成する面要素に関する情報を取得するステップと、前記CSGデータへの変換を可能とするための補助面である曖昧面に関する情報を設定するステップと、前記面要素に対して半空間を定義するステップと、を実行する。 A data conversion device 1 according to a ninth aspect performs data conversion from CAD data including a solid model modeled in a three-dimensional space to CSG data representing the solid model by a spatial domain construction method. a data conversion apparatus comprising: a step of generating B-rep data, which is data representing a boundary of the solid model, based on the CAD data; and the generated B-rep data. generating the CSG data of the solid model using a predetermined algorithm for converting from the boundary representation to the CSG representation based on , a step of obtaining from the CAD data information about the shells that partition the solid model, a step of obtaining from the CAD data about surface elements that constitute the shells, and a conversion into the CSG data. A step of setting information about an ambiguous surface, which is an auxiliary surface for estimating the surface element, and a step of defining a half-space for the surface element are executed.

この構成によれば、CADデータD1からCSGデータD3に変換するための情報として、面群に対応する半空間の集合を取得することができ、また、曖昧面を設定することでデータ変換時におけるソリッドモデルの形状を適切に表現できるため、ソリッドモデルをCSGデータD3へ適切にデータ変換することができる。 According to this configuration, a set of half-spaces corresponding to the plane group can be obtained as information for converting the CAD data D1 into the CSG data D3. Since the shape of the solid model can be appropriately represented, the solid model can be appropriately converted into the CSG data D3.

1 データ変換装置
11 演算部
12 記憶部
20a~20h 曖昧面
P データ変換プログラム
D1 CADデータ
D2 B-repデータ
D3 CSGデータ
T テーブル
B バウンディングボックス
E1 外部領域
E2 空間領域
E3 物体領域
M1~M5 ソリッドモデル
1 data conversion device 11 calculation unit 12 storage unit 20a to 20h ambiguous surface P data conversion program D1 CAD data D2 B-rep data D3 CSG data T table B bounding box E1 external area E2 spatial area E3 object area M1 to M5 solid model

Claims (9)

3次元空間においてモデリングされたソリッドモデルを含むCADデータから、空間領域構成法によって前記ソリッドモデルをCSG表現したデータであるCSGデータへデータ変換を行うために、ハードウェア上において実行されるデータ変換プログラムであって、
前記CADデータに基づいて、前記ソリッドモデルを境界表現したデータであるB-repデータを生成するステップと、
生成した前記B-repデータに基づいて、前記境界表現から前記CSG表現に変換するための所定のアルゴリズムを用いて、前記ソリッドモデルの前記CSGデータを生成するステップと、を実行させ、
前記B-repデータを生成するステップでは、
前記CADデータから、前記ソリッドモデルを区画するシェルに関する情報を取得するステップと、
前記CADデータから、前記シェルを構成する面要素に関する情報を取得するステップと、
前記CSGデータへの変換を可能とするための補助面となる曖昧面に関する情報を設定するステップと、
前記面要素に対して半空間を定義するステップと、を実行させるデータ変換プログラム。
A data conversion program executed on hardware to convert CAD data including a solid model modeled in a three-dimensional space into CSG data representing the solid model using the spatial domain construction method. and
a step of generating B-rep data, which is data representing a boundary of the solid model, based on the CAD data;
generating the CSG data of the solid model using a predetermined algorithm for converting from the boundary representation to the CSG representation based on the generated B-rep data;
In the step of generating the B-rep data,
obtaining information about shells that define the solid model from the CAD data;
a step of obtaining information about surface elements that constitute the shell from the CAD data;
setting information about an ambiguity plane that serves as an auxiliary plane for enabling conversion to the CSG data;
defining a half-space for the surface element.
前記曖昧面に関する情報を設定するステップでは、
前記ソリッドモデルが所定の設定条件を満たす場合に前記曖昧面が設定されており、
前記所定の設定条件として、
前記ソリッドモデルが円筒面または円錐面を有する場合、前記円筒面または前記円錐面の周方向の両側に設けられる他の面との間の2つの境界線の両端における4つの端点のうち、3つの前記端点を含む平面を前記曖昧面として設定する第1の設定条件と、
前記ソリッドモデルが非平面同士を接続する稜線を有するものであって、前記稜線が平面に配置可能である場合、前記稜線を含む平面を前記曖昧面として設定する第2の設定条件と、
前記ソリッドモデルがトーラス面を有する場合、前記トーラス面の回転軸と同軸となる円筒面を前記曖昧面として設定する第3の設定条件と、
前記ソリッドモデルがトーラス面を有する場合、前記トーラス面の回転軸と直交する平面を前記曖昧面として設定する第4の設定条件と、
前記ソリッドモデルがトーラス面を有し、前記第2の設定条件において設定された前記曖昧面が、前記トーラス面の回転軸に直交する場合、前記稜線は円を描くことから、前記稜線上をとおり、前記トーラス面の回転軸と同軸となる円筒面を前記曖昧面として設定する第5の設定条件と、
前記ソリッドモデルが、異径の円筒面同士を接続したものである場合、小径となる円筒面の接続側の端面を含む平面を前記曖昧面として設定する第6の設定条件と、があり、
前記第1の設定条件から前記第6の設定条件のうち、少なくとも1つの設定条件を含む請求項1に記載のデータ変換プログラム。
In the step of setting information about the ambiguity plane,
the ambiguity plane is set when the solid model satisfies a predetermined setting condition;
As the predetermined setting condition,
When the solid model has a cylindrical surface or a conical surface, three of the four end points at both ends of the two boundary lines between the cylindrical surface or the conical surface and other surfaces provided on both sides in the circumferential direction a first setting condition for setting a plane including the end point as the ambiguous plane;
a second setting condition for setting a plane including the edge line as the ambiguous surface if the solid model has an edge line connecting non-planes and the edge line can be placed on a plane;
a third setting condition for setting, when the solid model has a torus surface, a cylindrical surface coaxial with the rotation axis of the torus surface as the ambiguous surface;
a fourth setting condition for setting a plane orthogonal to the axis of rotation of the torus surface as the ambiguous surface when the solid model has a torus surface;
When the solid model has a torus surface, and the ambiguous surface set in the second setting condition is orthogonal to the rotation axis of the torus surface, the ridgeline draws a circle. , a fifth setting condition for setting a cylindrical surface coaxial with the rotation axis of the torus surface as the ambiguous surface;
a sixth setting condition for setting a plane including an end face on the connection side of the cylindrical surface with a smaller diameter as the ambiguous surface when the solid model is a model in which cylindrical surfaces with different diameters are connected to each other;
2. The data conversion program according to claim 1, including at least one setting condition among said first setting condition to said sixth setting condition.
前記B-repデータを生成するステップでは、
前記ソリッドモデルを包含する領域と、前記ソリッドモデルを包含しない外部領域とに区画しており、
前記面要素に対して半空間を定義するステップでは、
前記ソリッドモデルを包含する領域内において、前記面要素に対して、物体領域と空間領域とに分けるように前記半空間が定義される請求項1または2に記載のデータ変換プログラム。
In the step of generating the B-rep data,
divided into an area containing the solid model and an external area not containing the solid model,
The step of defining a half-space for the surface element includes:
3. The data conversion program according to claim 1, wherein the half-space is defined so as to divide the plane element into an object area and a space area within the area containing the solid model.
前記CSGデータを生成するステップでは、
前記物体領域同士の干渉、及び前記空間領域同士の干渉を判定するステップと、
干渉していると判定した場合、エラーを報知するステップと、をさらに実行している請求項3に記載のデータ変換プログラム。
In the step of generating the CSG data,
determining interference between the object regions and interference between the spatial regions;
4. The data conversion program according to claim 3, further executing a step of announcing an error when it is determined that there is interference.
生成した前記CSGデータの前記ソリッドモデルにおいて、重複する前記面要素が定義された場合、重複する前記面要素を削除するステップを、さらに実行する請求項1から4のいずれか1項に記載のデータ変換プログラム。 5. The data according to any one of claims 1 to 4, further comprising a step of deleting the overlapping surface elements if the overlapping surface elements are defined in the solid model of the generated CSG data. conversion program. 前記CADデータは、前記ソリッドモデルに付された色情報を、さらに含み、
前記色情報と物質情報とを関連付けたテーブルに基づいて、生成された前記CSGデータの前記ソリッドモデルに前記物質情報を関連付けるステップを、さらに実行する請求項1から5のいずれか1項に記載のデータ変換プログラム。
the CAD data further includes color information attached to the solid model;
6. The method according to any one of claims 1 to 5, further comprising associating the material information with the solid model of the generated CSG data based on a table associating the color information with the material information. Data conversion program.
前記ソリッドモデルの前記CSGデータに基づいて、前記ソリッドモデルの前記CADデータを生成するステップと、をさらに実行する請求項1から6のいずれか1項に記載のデータ変換プログラム。 and generating the CAD data of the solid model based on the CSG data of the solid model. 3次元空間においてモデリングされたソリッドモデルを含むCADデータから、空間領域構成法によって前記ソリッドモデルをCSG表現したデータであるCSGデータへデータ変換を行う演算部を備えたデータ変換装置が実行するデータ変換方法であって、
前記演算部は、
前記CADデータに基づいて、前記ソリッドモデルを境界表現したデータであるB-repデータを生成するステップと、
生成した前記B-repデータに基づいて、前記境界表現から前記CSG表現に変換するための所定のアルゴリズムを用いて、前記ソリッドモデルの前記CSGデータを生成するステップと、を実行し
前記B-repデータを生成するステップでは、
前記CADデータから、前記ソリッドモデルを区画するシェルに関する情報を取得するステップと、
前記CADデータから、前記シェルを構成する面要素に関する情報を取得するステップと、
前記CSGデータへの変換を可能とするための補助面である曖昧面に関する情報を設定するステップと、
前記面要素に対して半空間を定義するステップと、を実行するデータ変換方法。
Data conversion performed by a data conversion device having a computing unit that converts CAD data including a solid model modeled in a three-dimensional space into CSG data representing the solid model using a spatial domain construction method. a method,
The calculation unit is
a step of generating B-rep data, which is data representing a boundary of the solid model, based on the CAD data;
generating the CSG data of the solid model using a predetermined algorithm for converting from the boundary representation to the CSG representation based on the generated B-rep data;
In the step of generating the B-rep data,
obtaining information about shells that define the solid model from the CAD data;
a step of obtaining information about surface elements that constitute the shell from the CAD data;
setting information about an ambiguity plane, which is an auxiliary plane for enabling conversion to the CSG data;
defining a half-space for said surface element.
3次元空間においてモデリングされたソリッドモデルを含むCADデータから、空間領域構成法によって前記ソリッドモデルをCSG表現したデータであるCSGデータへデータ変換を行う演算部を備えたデータ変換装置であって、
前記演算部は、
前記CADデータに基づいて、前記ソリッドモデルを境界表現したデータであるB-repデータを生成するステップと、
生成した前記B-repデータに基づいて、前記境界表現から前記CSG表現に変換するための所定のアルゴリズムを用いて、前記ソリッドモデルの前記CSGデータを生成するステップと、を実行し、
前記B-repデータを生成するステップでは、
前記CADデータから、前記ソリッドモデルを区画するシェルに関する情報を取得するステップと、
前記CADデータから、前記シェルを構成する面要素に関する情報を取得するステップと、
前記CSGデータへの変換を可能とするための補助面である曖昧面に関する情報を設定するステップと、
前記面要素に対して半空間を定義するステップと、を実行するデータ変換装置。
A data conversion device comprising a computing unit that converts CAD data including a solid model modeled in a three-dimensional space into CSG data representing the solid model using a spatial domain construction method,
The calculation unit is
a step of generating B-rep data, which is data representing a boundary of the solid model, based on the CAD data;
generating the CSG data of the solid model using a predetermined algorithm for converting from the boundary representation to the CSG representation based on the generated B-rep data;
In the step of generating the B-rep data,
obtaining information about shells that define the solid model from the CAD data;
a step of obtaining information about surface elements that constitute the shell from the CAD data;
setting information about an ambiguity plane, which is an auxiliary plane for enabling conversion to the CSG data;
defining a half-space for said surface element.
JP2021044559A 2021-03-18 2021-03-18 DATA CONVERSION PROGRAM, DATA CONVERSION METHOD, AND DATA CONVERSION DEVICE Active JP7333801B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021044559A JP7333801B2 (en) 2021-03-18 2021-03-18 DATA CONVERSION PROGRAM, DATA CONVERSION METHOD, AND DATA CONVERSION DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021044559A JP7333801B2 (en) 2021-03-18 2021-03-18 DATA CONVERSION PROGRAM, DATA CONVERSION METHOD, AND DATA CONVERSION DEVICE

Publications (2)

Publication Number Publication Date
JP2022143833A JP2022143833A (en) 2022-10-03
JP7333801B2 true JP7333801B2 (en) 2023-08-25

Family

ID=83455132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021044559A Active JP7333801B2 (en) 2021-03-18 2021-03-18 DATA CONVERSION PROGRAM, DATA CONVERSION METHOD, AND DATA CONVERSION DEVICE

Country Status (1)

Country Link
JP (1) JP7333801B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006528814A (en) 2003-05-19 2006-12-21 レイセオン・カンパニー Automatic conversion of higher-order complex geometry from CAD model to surface-based combined geometry format
US20070002043A1 (en) 2005-06-30 2007-01-04 Microsoft Corporation Triangulating procedural geometric objects
CN106709163A (en) 2016-12-06 2017-05-24 清华大学 Method for automatically converting complicated CAD three-dimensional model to monka geometry

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006528814A (en) 2003-05-19 2006-12-21 レイセオン・カンパニー Automatic conversion of higher-order complex geometry from CAD model to surface-based combined geometry format
US20070002043A1 (en) 2005-06-30 2007-01-04 Microsoft Corporation Triangulating procedural geometric objects
CN106709163A (en) 2016-12-06 2017-05-24 清华大学 Method for automatically converting complicated CAD three-dimensional model to monka geometry

Also Published As

Publication number Publication date
JP2022143833A (en) 2022-10-03

Similar Documents

Publication Publication Date Title
Thakur et al. A survey of CAD model simplification techniques for physics-based simulation applications
KR102055955B1 (en) Geometrical elements transformed by rigid motions
JP4381743B2 (en) Method and program for generating volume data from boundary representation data
Sunil et al. Automatic recognition of features from freeform surface CAD models
Sapidis et al. Delaunay triangulation of arbitrarily shaped planar domains
Lee et al. A small feature suppression/unsuppression system for preparing b-rep models for analysis
US7620528B2 (en) Method and program for labeling multi material data
Saiga et al. A sustainable reverse engineering process
Boussuge et al. Idealized models for FEA derived from generative modeling processes based on extrusion primitives
Andersson et al. Polyhedral perturbations that preserve topological form
Muraleedharan et al. Random cutting plane approach for identifying volumetric features in a CAD mesh model
US7388584B2 (en) Method and program for determining insides and outsides of boundaries
JP7333801B2 (en) DATA CONVERSION PROGRAM, DATA CONVERSION METHOD, AND DATA CONVERSION DEVICE
EP3367296A1 (en) A computer-implemented method of identifying a perforated face in a geometrical three-dimensional model
Shang et al. Hexahedral mesh generation via constrained quadrilateralization
Soni et al. Handling solids of revolution in volume-based construction of solid models from orthographic views
Inoue et al. Solid model reconstruction of wireframe CAD models based on topological embeddings of planar graphs
US7734059B2 (en) Method and its program for cell labeling of volume data
WO2003073335A1 (en) Method and program for converting boundary data into in-cell shape
CN110991308B (en) Quick identification and extraction method for thread characteristics and parameters in three-dimensional model
CN113283020A (en) Structural simulation of mechanical components
Leirmo et al. Extracting shape features from a surface mesh using geometric reasoning
Manolescu et al. Recognizing algorithm for digitized rotational parts
US11822311B2 (en) Generation of representations of three-dimensional objects using Boolean operations
JP5383370B2 (en) Analytical model creation apparatus and analytical model creation method

Legal Events

Date Code Title Description
A625 Written request for application examination (by other person)

Free format text: JAPANESE INTERMEDIATE CODE: A625

Effective date: 20220331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230703

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: 20230718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230815

R150 Certificate of patent or registration of utility model

Ref document number: 7333801

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150