Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6375768B2 - Data output restriction device for 3D object modeling - Google Patents
[go: Go Back, main page]

JP6375768B2 - Data output restriction device for 3D object modeling - Google Patents

Data output restriction device for 3D object modeling Download PDF

Info

Publication number
JP6375768B2
JP6375768B2 JP2014162218A JP2014162218A JP6375768B2 JP 6375768 B2 JP6375768 B2 JP 6375768B2 JP 2014162218 A JP2014162218 A JP 2014162218A JP 2014162218 A JP2014162218 A JP 2014162218A JP 6375768 B2 JP6375768 B2 JP 6375768B2
Authority
JP
Japan
Prior art keywords
polygon
model
axis
target model
polygons
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014162218A
Other languages
Japanese (ja)
Other versions
JP2016036993A (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2014162218A priority Critical patent/JP6375768B2/en
Publication of JP2016036993A publication Critical patent/JP2016036993A/en
Application granted granted Critical
Publication of JP6375768B2 publication Critical patent/JP6375768B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、立体物を表すデータを基に、樹脂等を加工して立体物を造形する3Dプリンタ等の立体物造形装置の利用に際して、立体物造形装置からの出力に不適切なものを判別するための技術に関する。   In the present invention, when using a three-dimensional object forming apparatus such as a 3D printer that processes a resin or the like to form a three-dimensional object based on data representing the three-dimensional object, it is determined which is inappropriate for output from the three-dimensional object forming apparatus. It relates to technology.

近年、立体物を表すデータを基に、樹脂や石膏等を加工して造形する3Dプリンタが立体物造形装置として普及してきている。3Dプリンタの医療応用として、医療診断で撮影されるCT/MRI画像(DICOM形式3次元ボクセルデータ)を基に3Dプリンタ出力用モデリングデータを作成し、手術シミュレーション・医学教育・インフォームドコンセント向けの臓器模型を出力したり、体内埋め込み用の人工臓器(血管、骨、関節など)を作成したりする試みが始まっている。   In recent years, 3D printers that process and model a resin, gypsum, or the like based on data representing a three-dimensional object have become widespread as three-dimensional object modeling apparatuses. As a medical application of 3D printers, modeling data for 3D printer output is created based on CT / MRI images (DICOM format 3D voxel data) taken by medical diagnosis, and organs for surgical simulation, medical education, and informed consent Attempts have been made to output models and create artificial organs (blood vessels, bones, joints, etc.) for implantation in the body.

3Dプリンタには、インターネットを介して情報だけでなく、モノを遠隔地に間接的に伝搬できる革新性を備えている。そのため、これまで税関で規制されていた銃砲・刀剣などの危険物がデータ形態で国境を越えて流布され、3Dプリンタによりモノとして容易に入手可能になるという問題が発生している。   3D printers have an innovation that can propagate not only information but also things remotely to the remote location via the Internet. For this reason, there has been a problem that dangerous materials such as guns and swords that have been regulated by customs have been distributed across the border in the form of data and can be easily obtained as 3D printers.

具体的には、あるWEBサイトにて3Dプリンタを用いて所定のモデルの拳銃を製造できるSTL(Standard Triangulated Language)が無償で公開されている。金属製に比べて射程距離などは多少劣るが、3Dプリンタで作成された弾丸でも殺傷能力はそれなりにある。更に、現状の3Dプリンタで造形可能な材料は樹脂・石膏に限定され、金属が使用できないという欠点が裏目に出て、空港の金属探知機で見逃されるという問題も指摘されている。今後、民生用の3Dプリンタが普及するにあたり、3Dプリンタ側に投入される出力データの形状認証と危険物の出力規制などのセキュリティ機能をもたせることが求められる。   Specifically, STL (Standard Triangulated Language) that can manufacture a handgun of a predetermined model using a 3D printer is disclosed free of charge at a certain WEB site. Although the range is somewhat inferior to that of metal, bullets made with 3D printers have some killing ability. Furthermore, the material that can be formed by the current 3D printer is limited to resin and gypsum, and the disadvantage that metal cannot be used appears behind the scenes, and it is pointed out that it is overlooked by the metal detector at the airport. In the future, as 3D printers for consumer use become widespread, it is required to have security functions such as output authentication of output data input to the 3D printer and output regulation of dangerous goods.

これに対して、ウィルス対策ツールと類似した手法で出力可否判定を行うシステムを構築する方法が考えられ、その実現にあたり、ポリゴン照合技術が必要になるが、ポリゴン照合には、従来より次の問題が知られている。3Dプリンタ出力用のポリゴンデータ(STL形式など)では、3次元座標値が絶対寸法でないためスケールがまちまちで、座標原点やアングルも使用されるCADや出力予定のプリンタの特性に合せて種々に設定される。そのため、たとえソースが同一の3Dモデルであっても、ポリゴンデータの作成方法が異なると、表現される総ポリゴン数も変化し、ポリゴンデータの座標値比較で同一性を判定することは一般に難しい。   On the other hand, a method of constructing a system that determines whether or not output is possible using a method similar to that of an anti-virus tool is conceivable. Polygon matching technology is required to achieve this, but polygon matching has the following problems. It has been known. Polygon data for 3D printer output (STL format, etc.), the 3D coordinate value is not an absolute dimension, so the scale varies, and the coordinate origin and angle are also set according to the characteristics of the CAD that uses the printer and the printer to be output. Is done. Therefore, even if the source is the same 3D model, if the polygon data creation method is different, the total number of polygons to be expressed also changes, and it is generally difficult to determine the identity by comparing the coordinate values of the polygon data.

そこで、特許文献1のように、重心からの慣性モーメントなど特徴パラメータによるアングル・スケールに依存しない比較手法が提案されている。また、特許文献2では、ポリゴンモデルの重心からの距離分布や隣接面とのクリーズ角などの特徴量を抽出してアングル・スケールに依存しない比較を行う手法が提案されている。特許文献3では、3次元モデルを複数アングルに2次元投影した画像に対してフーリエ変換を行い特徴抽出して比較する手法が提案されている。   Therefore, as in Patent Document 1, a comparison method that does not depend on an angle scale based on characteristic parameters such as a moment of inertia from the center of gravity has been proposed. Patent Document 2 proposes a method of extracting feature quantities such as a distance distribution from the center of gravity of a polygon model and a crease angle with an adjacent surface and performing a comparison independent of an angle scale. Patent Document 3 proposes a method of performing a Fourier transform on an image obtained by two-dimensionally projecting a three-dimensional model onto a plurality of angles, extracting features, and comparing them.

特許第3610270号公報Japanese Patent No. 3610270 特開2000−222428号公報JP 2000-222428 A 特許第5024767号公報Japanese Patent No. 5024767 特願2014−38076号Japanese Patent Application No. 2014-38076

上記従来の技術は、いずれも類似形状検索の用途であり、検索されたデータを採択するか否かは人間の判断に委ねられている。人間による判断を加えない場合、これらの既存手法を適用してしまうと精度が粗すぎて、過剰に出力拒否判定をされてしまうという問題が発生する。また、出願人は、これらの問題を解決して出力規制を適正に行う技術を開発しているが(特許文献4参照)、その精度には、改善の余地がある。   The above conventional techniques are all used for similar shape search, and it is left to human judgment whether or not to adopt the searched data. In the case where no judgment is made by humans, if these existing methods are applied, there is a problem that the accuracy is too rough and the output rejection determination is excessively performed. Further, the applicant has developed a technique for solving these problems and appropriately regulating output (see Patent Document 4), but there is room for improvement in accuracy.

そこで、本発明は、人間による判断を行わなくても、的確にポリゴンモデルの出力規制を行うことが可能な立体物造形用データ出力規制装置を提供することを課題とする。   Therefore, an object of the present invention is to provide a three-dimensional object modeling data output regulation device capable of accurately regulating polygon model output without performing human judgment.

上記課題を解決するため、本発明第1の態様では、ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、出力を規制すべきポリゴンモデルである規制モデルが登録された規制モデルデータベースと、出力対象のポリゴンモデルである対象モデルに含まれるポリゴンの数が所定の値以下になるようにポリゴンを削減するポリゴン削減手段と、前記ポリゴンが削減された対象モデルに対して、当該対象モデルの基準点が3次元座標の原点になるように前記対象モデルを移動させ、前記基準点から最も遠いポリゴンまでの最長距離より所定の微小量(d)だけ縮小した範囲に含まれるポリゴンを前記基準点から見た方向を主軸候補として複数抽出し、抽出された主軸候補のうち所定の条件を満足する1つの主軸候補を主軸として選出し、選出された主軸が所定の長さになるように前記対象モデルをスケーリング調整し、前記主軸の方向が第1の軸に一致するように前記対象モデルを回転させることにより、正規化された対象モデルを作成するポリゴン正規化手段と、前記正規化された対象モデルを前記規制モデルデータベースに登録されている規制モデルと照合し、出力を規制すべきか否かを判定するポリゴンモデル照合手段と、を備えることを特徴とする立体物造形用データ出力規制装置を提供する。   In order to solve the above-mentioned problem, in the first aspect of the present invention, an apparatus for determining whether or not to regulate when outputting a polygon model expressed as a set of polygons as three-dimensional object modeling data to a three-dimensional object modeling apparatus. The restriction model database in which restriction models, which are polygon models whose output should be restricted, is registered, and polygons are included so that the number of polygons included in the target model, which is the polygon model to be output, is equal to or less than a predetermined value. Polygon reduction means for reduction and the target model from which the polygon has been reduced, the target model is moved so that the reference point of the target model is the origin of the three-dimensional coordinates, and the polygon farthest from the reference point A plurality of polygons included in a range reduced from the longest distance by a predetermined minute amount (d) as a principal axis candidate are extracted from the reference point. One of the extracted main spindle candidates that satisfies a predetermined condition is selected as a main axis, the target model is scaled and adjusted so that the selected main axis has a predetermined length, and the direction of the main axis is determined. Polygon normalization means for creating a normalized target model by rotating the target model to coincide with the first axis, and the normalized target model are registered in the regulatory model database There is provided a three-dimensional object shaping data output restriction device comprising: a polygon model matching means for checking with a restriction model and determining whether or not the output should be restricted.

本発明第1の態様によれば、規制モデルが登録された規制モデルデータベースを備え、対象モデルに含まれるポリゴンの数が所定の値以下になるようにポリゴンを削減し、ポリゴンが削減された対象モデルに対して、対象モデルの基準点が3次元座標の原点になるように対象モデルを移動させ、基準点から最も遠いポリゴンまでの最長距離より所定の微小量(d)だけ縮小した範囲に含まれるポリゴンを前記基準点から見た方向を主軸候補として複数抽出し、抽出された主軸候補のうち所定の条件を満足する1つの主軸候補を主軸として選出し、選出された主軸が所定の長さになるように対象モデルをスケーリング調整し、主軸の方向が第1の軸(例えばZ軸)に一致するように対象モデルを回転させることにより、所定の位置、スケール、傾きに正規化された対象モデルを作成し、正規化された対象モデルを規制モデルデータベースに登録されている規制モデルと照合し、出力を規制すべきか否かを判定するようにしたので、ウィルス対策ツールと類似した手法でパターンファイル(規制モデルデータベース)を構築し、3Dプリンタ等の立体物造形装置に出力予定のポリゴンモデルに対してブラックリスト(規制モデルデータベース)に登録されている各ポリゴンモデルと照合し、出力可否判定を行うことが可能となる。特に、向きを揃えるための主軸を、最長距離より若干短い複数の主軸候補を抽出し、そのうち1つを主軸として選出するので、対象モデルと規制モデルの向きが合う可能性が高まる。このため、立体物造形装置に出力予定のポリゴンモデルのスケールまたはアングルが規制モデルデータベースに登録されている規制モデルのものと異なっていても、適切か否かの判断を行うことができ、人間による判断を行わなくても、的確にポリゴンモデルの出力規制を行うことが可能となる。   According to the first aspect of the present invention, there is provided a restriction model database in which restriction models are registered, and polygons are reduced so that the number of polygons included in the target model is equal to or less than a predetermined value. The target model is moved with respect to the model so that the reference point of the target model is the origin of the three-dimensional coordinates, and included in a range reduced by a predetermined minute amount (d) from the longest distance from the reference point to the farthest polygon. A plurality of polygons are extracted from the reference point as the main axis candidates, one main axis candidate satisfying a predetermined condition is selected as the main axis candidates, and the selected main axis has a predetermined length. The target model is scaled and adjusted so that the direction of the main axis coincides with the first axis (for example, the Z-axis), so that the predetermined position, scale, Anti-virus measures were created by creating a normalized target model and comparing the normalized target model with the regulatory model registered in the regulatory model database to determine whether the output should be regulated. Each polygon model registered in the black list (regulated model database) for the polygon model scheduled to be output to a 3D object shaping apparatus such as a 3D printer is constructed using a method similar to the tool. It is possible to collate and determine whether output is possible. In particular, since a plurality of main axis candidates that are slightly shorter than the longest distance are extracted as main axes for aligning the orientation, and one of them is selected as the main axis, the possibility that the orientation of the target model and the restriction model is increased. For this reason, even if the scale or angle of the polygon model scheduled to be output to the three-dimensional object shaping apparatus is different from that of the regulated model registered in the regulated model database, it can be determined whether or not it is appropriate. Even without making a determination, it is possible to accurately regulate the output of the polygon model.

また、本発明第2の態様では、前記対象モデルの基準点は、各ポリゴンの頂点座標の平均であるポリゴン平均座標を、前記対象モデルに含まれるポリゴンについて算出した平均値として与えられるものであることを特徴とする。   In the second aspect of the present invention, the reference point of the target model is a polygon average coordinate that is an average of the vertex coordinates of each polygon, which is given as an average value calculated for the polygons included in the target model. It is characterized by that.

本発明第2の態様によれば、対象モデルの基準点は、各ポリゴンの頂点座標の平均であるポリゴン平均座標を、対象モデルに含まれるポリゴンについて算出した平均値として与えられるようにしたので、立体物造形装置に出力予定のポリゴンモデルの各頂点が規制モデルデータベースに登録されている規制モデルのものと若干異なっていても、適切か否かの判断を行うことができ、対象モデルの重心に近い位置を基準点として迅速に算出することが可能となる。   According to the second aspect of the present invention, since the reference point of the target model is given as the average value calculated for the polygons included in the target model, the average polygon coordinates that are the average of the vertex coordinates of each polygon are given. Even if each vertex of the polygon model scheduled to be output to the three-dimensional object shaping device is slightly different from that of the regulated model registered in the regulated model database, it can be judged whether it is appropriate or not. It is possible to quickly calculate a close position as a reference point.

また、本発明第3の態様では、前記ポリゴン正規化手段は、前記対象モデル内で所定の順番にポリゴンが配置されたポリゴン配列上で先頭に位置するポリゴンに対応する主軸候補を、前記所定の条件を満足する1つの主軸候補とするようにしていることを特徴とする。   Also, in the third aspect of the present invention, the polygon normalization means selects the principal axis candidate corresponding to the polygon located at the head on the polygon array in which polygons are arranged in a predetermined order in the target model. One spindle candidate that satisfies the condition is used.

本発明第3の態様によれば、複数抽出された主軸候補のうち、対象モデル内で所定の順番にポリゴンが配置されたポリゴン配列上で先頭に位置するポリゴンに対応する主軸候補を主軸として選出するようにしたので、複数の最長距離となる主軸候補より単一の候補を主軸としてユニークに選出することが可能になり、主軸の選出においてバラツキが発生することなく、規制モデルとの照合を的確に行うことが可能となる。   According to the third aspect of the present invention, among the plurality of extracted spindle candidates, the spindle candidate corresponding to the first polygon on the polygon array in which polygons are arranged in a predetermined order in the target model is selected as the spindle. As a result, it is possible to select a single candidate as a main axis from multiple main axis candidates that have the longest distance, and to accurately check against the regulatory model without causing variations in the selection of main axes. Can be performed.

また、本発明第4の態様では、前記ポリゴン正規化手段は、抽出された複数の主軸候補の各々に対して、主軸候補が所定の長さになるように前記対象モデルをスケーリング調整し、前記主軸候補の方向が前記第1の軸(例えばZ軸)に一致するように前記対象モデルを回転させた後に、回転後の前記対象モデルが第2の軸(例えばX軸)と第3の軸(例えばY軸)で形成される(XY)2次元座標系に投影された前記基準点から最も遠いポリゴンまでの最長距離方向を副軸候補として各主軸候補ごとに選出するようにし、前記基準点から3次元的距離が最長であるか、または、それぞれ対応する主軸候補との内積値が最も大きい副軸候補を特定し、当該副軸候補に対応する主軸候補を、前記所定の条件を満足する1つの主軸候補とするようにしていることを特徴とする。   In the fourth aspect of the present invention, the polygon normalization means adjusts the scaling of the target model so that the principal axis candidate has a predetermined length for each of the extracted plurality of principal axis candidates, After the target model is rotated so that the direction of the main axis candidate coincides with the first axis (for example, the Z axis), the rotated target model has the second axis (for example, the X axis) and the third axis. The longest distance direction from the reference point projected on the (XY) two-dimensional coordinate system (for example, the Y axis) to the farthest polygon is selected as a sub-axis candidate for each main axis candidate, and the reference point The sub-axis candidate with the longest three-dimensional distance or the largest inner product value with the corresponding main axis candidate is identified, and the main axis candidate corresponding to the sub-axis candidate satisfies the predetermined condition To be one main axis candidate And wherein the are.

本発明第4の態様によれば、抽出された複数の主軸候補の各々に対して、主軸候補が所定の長さになるようにスケーリング調整し、主軸候補の方向が第1の軸に一致するように回転させた後に、回転後の対象モデルが第2の軸と第3の軸で形成される2次元座標系に投影された基準点から最も遠いポリゴンまでの最長距離方向を副軸候補として各主軸候補ごとに選出し、基準点から3次元的距離が最長であるか、または、それぞれ対応する主軸候補との内積値が最も大きい副軸候補を特定し、その副軸候補に対応する主軸候補を、主軸として選出するようにしたので、副軸の3次元的な距離も長く副軸との3次元的な方向が近い主軸候補を主軸として選出することができ、規制モデルとの照合を的確に行うことが可能となる。   According to the fourth aspect of the present invention, scaling adjustment is performed on each of the extracted plurality of principal axis candidates so that the principal axis candidate has a predetermined length, and the direction of the principal axis candidate coincides with the first axis. And the longest distance direction from the reference point projected to the two-dimensional coordinate system formed by the second axis and the third axis to the farthest polygon as a sub-axis candidate. Select for each main spindle candidate, specify the sub axis candidate with the longest three-dimensional distance from the reference point, or the inner product value with the corresponding main axis candidate, and select the main axis corresponding to that sub axis candidate Since the candidate is selected as the main axis, the main axis candidate having a long three-dimensional distance of the sub-axis and a close three-dimensional direction to the sub-axis can be selected as the main axis. It is possible to perform accurately.

また、本発明第5の態様では、前記ポリゴン正規化手段は、前記選出された主軸の方向を、前記第1の軸(例えばZ軸)の正または負の一方の特定方向に一致させるため、前記第1の軸と第2の軸(例えばX軸)で形成される(XZ)2次元座標系に投影された前記主軸の方向が前記第1の軸の前記特定方向に一致するように前記対象モデルを回転させた後に、前記第1の軸と第3の軸(例えばY軸)で形成される(YZ)2次元座標系に投影された前記主軸の方向が前記第1の軸の前記特定方向に一致するように前記対象モデルを回転させるようにしていることを特徴とする。   In the fifth aspect of the present invention, the polygon normalizing means matches the direction of the selected main axis with one of the positive and negative specific directions of the first axis (for example, the Z axis). The direction of the principal axis projected on the (XZ) two-dimensional coordinate system formed by the first axis and the second axis (for example, the X axis) matches the specific direction of the first axis. After rotating the target model, the direction of the principal axis projected on the (YZ) two-dimensional coordinate system formed by the first axis and the third axis (for example, the Y axis) is the first axis. The target model is rotated so as to coincide with a specific direction.

本発明第5の態様によれば、選出された主軸の方向を、第1の軸(例えばZ軸)の特定方向に一致させるため、第1の軸と第2の軸(例えばX軸)で形成される(XZ)2次元座標系に投影された主軸の方向が第1の軸の特定方向に一致するように対象モデルを回転させた後に、第1の軸と第3の軸(例えばY軸)で形成される(YZ)2次元座標系に投影された主軸の方向が第1の軸の特定方向に一致するように対象モデルを回転させるようにしたので、立体物造形装置に出力予定のポリゴンモデルおよび規制モデルデータベースに登録されている規制モデルに対して、各々少なくとも立体物の長手方向のアングルを揃えた上で照合を行うことが可能となる。   According to the fifth aspect of the present invention, in order to make the direction of the selected main axis coincide with the specific direction of the first axis (for example, the Z axis), the first axis and the second axis (for example, the X axis) After rotating the target model so that the direction of the principal axis projected on the formed (XZ) two-dimensional coordinate system matches the specific direction of the first axis, the first axis and the third axis (for example, Y The target model is rotated so that the direction of the principal axis projected on the (YZ) two-dimensional coordinate system formed by (axis) coincides with the specific direction of the first axis. It is possible to collate each of the polygon model and the restriction model registered in the restriction model database after aligning at least the longitudinal angle of the three-dimensional object.

また、本発明第6の態様では、前記ポリゴン正規化手段は、前記主軸の方向が前記第1の軸(例えばZ軸)の前記特定方向に一致するように前記対象モデルを回転させた後に、前記第2の軸(例えばX軸)と前記第3の軸(例えばY軸)で形成される(XY)2次元座標系に投影された基準点から最も遠いポリゴンまでの最長距離方向が前記第3の軸の前記特定方向に一致するように前記対象モデルを更に回転させるようにしていることを特徴とする。   In the sixth aspect of the present invention, the polygon normalizing means rotates the target model so that the direction of the main axis coincides with the specific direction of the first axis (for example, the Z axis), The longest distance direction from the reference point projected on the (XY) two-dimensional coordinate system formed by the second axis (for example, the X axis) and the third axis (for example, the Y axis) to the farthest polygon is the first axis. The target model is further rotated so as to coincide with the specific direction of the three axes.

本発明第6の態様によれば、主軸の方向が第1の軸(例えばZ軸)の特定方向に一致するように対象モデルを回転させた後に、第2の軸(例えばX軸)と第3の軸(例えばY軸)で形成される(XY)2次元座標系に投影された基準点から最も遠いポリゴンまでの最長距離方向が第3の軸の特定方向に一致するように対象モデルを更に回転させるようにしたので、立体物造形装置に出力予定のポリゴンモデルおよび規制モデルデータベースに登録されている規制モデルに対して、各々アングルを完全に一致させた上で照合を行うことが可能となる。   According to the sixth aspect of the present invention, after rotating the target model so that the direction of the main axis coincides with the specific direction of the first axis (for example, the Z axis), the second axis (for example, the X axis) and the second axis The target model is set such that the longest distance direction from the reference point projected on the (XY) two-dimensional coordinate system formed by three axes (for example, the Y axis) to the farthest polygon coincides with the specific direction of the third axis. Since it is further rotated, it is possible to collate the polygon model that is scheduled to be output to the three-dimensional object shaping apparatus and the restriction model registered in the restriction model database with their angles completely matched. Become.

また、本発明第7の態様では、前記ポリゴン照合手段は、角度(アングル)に依存しない角度非依存照合処理と、角度に依存する角度依存照合処理を行う2種の処理から構成され、前記角度非依存照合処理で適合した場合のみ、前記角度依存照合処理を実行するようにしていることを特徴とする。   Further, in the seventh aspect of the present invention, the polygon collating means is composed of two types of processes for performing an angle-independent collation process that does not depend on an angle (angle) and an angle-dependent collation process that depends on an angle. The angle-dependent collation process is executed only when it is matched by the independent collation process.

本発明第7の態様によれば、ポリゴン照合として、はじめに角度(アングル)に依存しない角度非依存照合処理を行い、角度非依存照合処理で適合(類似)した場合のみ、角度依存照合処理を実行するようにしたので、大きく異なるモデルについては、少ない処理負荷で迅速に非類似と判定することができ、全体として効率的な判定が可能となる。   According to the seventh aspect of the present invention, as the polygon matching, first, the angle-independent matching process that does not depend on the angle (angle) is performed, and the angle-dependent matching process is executed only when the angle-independent matching process is matched (similar). As a result, models that are significantly different can be quickly determined as dissimilar with a small processing load, and as a whole, efficient determination is possible.

また、本発明第8の態様では、前記ポリゴン照合手段は、前記角度非依存照合処理として、前記対象モデルを構成するポリゴンの面積の総和値と、前記規制モデルを構成するポリゴンの面積の総和値を算出し、2つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする。   In the eighth aspect of the present invention, as the angle-independent collation processing, the polygon collating unit may calculate a total area value of polygons constituting the target model and a total area value of polygons constituting the restriction model. Is calculated, and when the absolute value of the difference between the two total values is smaller than a predetermined threshold value, the conformity determination is performed.

本発明第8の態様によれば、角度非依存照合処理として、対象モデルを構成するポリゴンの面積の総和値と、規制モデルを構成するポリゴンの面積の総和値を算出し、2つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合(類似)判定するようにしたので、比較的簡易な演算によりしきい値と比較する値を算出することができ、迅速な適否判定が可能となる。   According to the eighth aspect of the present invention, as the angle-independent collation processing, the total value of the areas of the polygons constituting the target model and the total value of the areas of the polygons constituting the restriction model are calculated, and the two sum values are calculated. Since the determination of conformity (similarity) is made when the absolute value of the difference is smaller than a predetermined threshold value, a value to be compared with the threshold value can be calculated by a relatively simple calculation, and quick determination of appropriateness can be made. It becomes possible.

また、本発明第9の態様では、前記ポリゴン照合手段は、前記角度非依存照合処理として、前記対象モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値と、前記規制モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値を算出し、2つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする。   In the ninth aspect of the present invention, as the angle-independent collation processing, the polygon collating unit includes a sum total value of pyramid volumes having the polygon constituting the target model as a bottom surface and the reference point as a vertex, The sum of the volume of the pyramid with the polygon constituting the restriction model as the base and the reference point as the apex is calculated, and the conformity determination is made when the absolute value of the difference between the two sums is smaller than a predetermined threshold value. It is characterized by.

本発明第9の態様によれば、角度非依存照合処理として、対象モデルを構成するポリゴンを底面として基準点を頂点とする角錐の体積の総和値と、規制モデルを構成するポリゴンを底面として基準点を頂点とする角錐の体積の総和値を算出し、2つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合(類似)判定するようにしたので、比較的簡易な演算によりしきい値と比較する値を算出することができ、迅速な適否判定が可能となる。   According to the ninth aspect of the present invention, as the angle-independent collation processing, the total value of the pyramid volumes whose base point is the polygon constituting the target model and the reference point is the vertex, and the polygon that constitutes the restriction model is the base Since the sum total value of the pyramid volumes with the point at the apex is calculated and the absolute value of the difference between the two sum values is smaller than a predetermined threshold value, it is determined to be compatible (similar), so a relatively simple calculation As a result, a value to be compared with the threshold value can be calculated, and quick determination of suitability can be made.

また、本発明第10の態様では、前記ポリゴン照合手段は、前記角度非依存照合処理として、前記対象モデルを構成するポリゴンの面積の総和値と、前記規制モデルを構成するポリゴンの面積の総和値を算出し、2つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合(類似)判定し、適合判定された場合のみ、前記対象モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値と、前記規制モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値を算出し、2つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合(類似)判定するようにしていることを特徴とする。   In the tenth aspect of the present invention, as the angle-independent collation processing, the polygon collating unit may calculate a total area value of polygons constituting the target model and a total area value of polygon areas constituting the restriction model. When the absolute value of the difference between the two sums is smaller than a predetermined threshold value, it is determined to be compatible (similar), and only when it is determined to be compatible, the polygon constituting the target model is used as the bottom and the reference point The sum of the volume of the pyramid with the apex as the vertex and the sum of the volume of the pyramid with the reference point as the apex with the polygon constituting the regulation model as the bottom are calculated, and the absolute value of the difference between the two sums is predetermined It is characterized in that a conformity (similarity) determination is made when the threshold value is smaller than.

本発明第10の態様によれば、角度非依存照合処理として、対象モデルを構成するポリゴンの面積の総和値と、規制モデルを構成するポリゴンの面積の総和値を算出し、2つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合(類似)判定し、適合判定された場合のみ、対象モデルを構成するポリゴンを底面として基準点を頂点とする角錐の体積の総和値と、規制モデルを構成するポリゴンを底面として基準点を頂点とする角錐の体積の総和値を算出し、2つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合(類似)判定するようにしたので、迅速かつ確実にしきい値と比較する値を算出することができ、迅速な適否判定が可能となる。   According to the tenth aspect of the present invention, as the angle-independent collation processing, a total value of the areas of the polygons constituting the target model and a total value of the areas of the polygons constituting the restriction model are calculated, and the two sum values are calculated. When the absolute value of the difference is smaller than a predetermined threshold value, a conformity (similarity) determination is made, and only when the conformance determination is made, Calculating the sum of the pyramid volume with the base of the polygon that makes up the regulation model and the reference point as the apex, and determining whether the absolute value of the difference between the two sums is smaller than a predetermined threshold As a result, a value to be compared with the threshold value can be calculated quickly and reliably, and a quick determination of suitability can be made.

また、本発明第11の態様では、前記ポリゴン照合手段は、前記角度依存照合処理として、前記対象モデル、前記規制モデルそれぞれについて、構成するポリゴンの頂点座標の平均であるポリゴン平均座標が最も近いポリゴン同士でポリゴン平均座標間の距離を算出し、ポリゴン平均座標間の距離の総和値を算出し、前記総和値の1ポリゴンあたりの平均値が所定のしきい値より小さい場合に適合(類似)判定するようにしていることを特徴とする。   In the eleventh aspect of the present invention, as the angle-dependent collation processing, the polygon collating unit may include a polygon having the closest average polygon coordinates that are averages of vertex coordinates of the polygons constituting the target model and the restriction model. Calculate the distance between the average polygon coordinates between each other, calculate the sum of the distances between the average polygon coordinates, and determine if the average value per polygon of the total value is smaller than a predetermined threshold value. It is characterized by doing so.

本発明第11の態様によれば、角度依存照合処理として、対象モデル、規制モデルそれぞれについて、構成するポリゴンの頂点座標の平均であるポリゴン平均座標が最も近いポリゴン同士でポリゴン平均座標間の距離を算出し、ポリゴン平均座標間の距離の総和値を算出し、総和値の1ポリゴンあたりの平均値が所定のしきい値より小さい場合に適合(類似)判定するようにしたので、簡易な角度非依存照合で類似と判定されたモデルに対して再判定を行い、規制する必要のないポリゴンモデルを誤って規制することがないように判定精度を上げることが可能となる。規制すべきポリゴンモデルに対して見逃して出力を許可してしまう場合は、少なくともユーザからのクレームは起こらないが、その逆の場合は、ユーザからのクレーム発生につながり本技術を搭載した3Dプリンタ装置に対する信頼性も失われる。本発明第11の態様によれば、そのような信頼の失墜を防ぐことに貢献できる。   According to the eleventh aspect of the present invention, as the angle-dependent collation process, for each of the target model and the restriction model, the distance between the polygon average coordinates is calculated between the polygons whose polygon average coordinates that are the average of the vertex coordinates of the polygons that are the closest to each other. Since the total value of the distances between the average polygon coordinates is calculated and the average value per polygon of the total value is smaller than a predetermined threshold value, it is determined to be suitable (similar). Re-determination is performed on models that are determined to be similar by the dependency collation, and the determination accuracy can be improved so that polygon models that do not need to be regulated are not erroneously regulated. If the polygon model to be regulated is overlooked and output is permitted, at least no complaint from the user will occur, but in the opposite case, the 3D printer apparatus equipped with the present technology will lead to the occurrence of complaint from the user Reliability is also lost. According to the eleventh aspect of the present invention, it is possible to contribute to preventing such loss of trust.

また、本発明第12の態様では、前記ポリゴン照合手段は、前記角度依存照合処理として、前記対象モデル、前記規制モデルそれぞれについて、構成するポリゴンの頂点座標の平均であるポリゴン平均座標が最も近いポリゴン同士で、対応する頂点間の距離を算出し、当該距離の全ポリゴンについての総和値を算出し、前記総和値の1ポリゴンあたりの平均値が所定のしきい値より小さい場合に適合(類似)判定するようにしていることを特徴とする。   In the twelfth aspect of the present invention, as the angle-dependent collation processing, the polygon collating unit may determine whether the polygon average coordinate that is the average of the vertex coordinates of the polygons constituting the target model and the restriction model is the closest. The distance between corresponding vertices is calculated between each other, the total value for all the polygons of the distance is calculated, and the case where the average value per polygon of the total value is smaller than a predetermined threshold value (similar) It is characterized by making it judge.

本発明第12の態様によれば、角度依存照合処理として、対象モデル、規制モデルそれぞれについて、構成するポリゴンの頂点座標の平均であるポリゴン平均座標が最も近いポリゴン同士で、対応する頂点間の距離を算出し、距離の全ポリゴンについての総和値を算出し、総和値の1ポリゴンあたりの平均値が所定のしきい値より小さい場合に適合(類似)判定するようにしたので、簡易な角度非依存照合で類似と判定されたモデルに対して再判定を行い、規制する必要のないポリゴンモデルを誤って規制することがないように本発明第9の態様より更に判定精度を上げることが可能となる。   According to the twelfth aspect of the present invention, as the angle-dependent collation processing, for each of the target model and the regulation model, the distance between the corresponding vertices between the polygons having the closest polygon average coordinates, which is the average of the vertex coordinates of the polygons constituting the target model, Since the total value for all the polygons of the distance is calculated, and the average value per polygon of the total value is smaller than a predetermined threshold value, the conformity (similarity) is determined. It is possible to improve the determination accuracy further than the ninth aspect of the present invention so that the model determined to be similar by the dependency collation is re-determined and the polygon model that does not need to be regulated is not erroneously regulated. Become.

また、本発明第13の態様では、前記規制モデルに含まれるポリゴンの数が所定の値以下になるようにポリゴンを削減する第2のポリゴン削減手段と、前記ポリゴンが削減された規制モデルに対して、当該規制モデルの基準点が3次元座標の原点になるように前記規制モデルを移動させ、前記基準点から最も遠いポリゴンまでの最長距離より所定の微小量(d)だけ縮小した範囲に含まれる距離となるポリゴンの方向を主軸候補として複数抽出し、抽出された主軸候補のうち所定の条件を満足する1つの主軸候補を主軸として選出し、選出された主軸が所定の長さになるように前記規制モデルをスケーリング調整し、前記主軸の方向が第1の軸(例えばZ軸)に一致するように前記規制モデルを回転させることにより、正規化された規制モデルを作成する第2のポリゴン正規化手段と、を備えた規制モデル正規化装置により正規化された規制モデルを受信し、受信した規制モデルを前記規制モデルデータベースに登録する規制モデル登録手段を更に有することを特徴とする。   According to a thirteenth aspect of the present invention, there is provided a second polygon reduction means for reducing polygons so that the number of polygons included in the restriction model is a predetermined value or less, and a restriction model with the polygons reduced. The restriction model is moved so that the reference point of the restriction model becomes the origin of the three-dimensional coordinates, and is included in a range reduced by a predetermined minute amount (d) from the longest distance from the reference point to the farthest polygon. A plurality of polygon directions that are the distance to be measured are extracted as main axis candidates, and one main axis candidate that satisfies a predetermined condition is selected as the main axis candidate from the extracted main axis candidates, so that the selected main axis has a predetermined length. The regulation model is scaled, and the regulation model is rotated so that the direction of the main axis coincides with a first axis (for example, the Z-axis), thereby obtaining a normalized regulation model. And a restriction model registration means for receiving a restriction model normalized by a restriction model normalization device comprising: a second polygon normalization means for creating a restriction model registration means for registering the received restriction model in the restriction model database. It is characterized by that.

本発明第13の態様によれば、規制モデルに含まれるポリゴンの数が所定の値以下になるようにポリゴンを削減する第2のポリゴン削減手段、ポリゴンが削減された規制モデルに対して、規制モデルの基準点が3次元座標の原点になるように規制モデルを移動させ、基準点から最も遠いポリゴンまでの最長距離より所定の微小量(d)だけ縮小した範囲に含まれる距離となるポリゴンの方向を主軸候補として複数抽出し、抽出された主軸候補のうち所定の条件を満足する1つの主軸候補を主軸として選出し、選出された主軸が所定の長さになるように規制モデルをスケーリング調整し、主軸の方向が第1の軸(例えばZ軸)に一致するように規制モデルを回転させることにより、所定の位置、スケール、傾きに正規化された規制モデルを作成する第2のポリゴン正規化手段を備えた規制モデル正規化装置を別途用意し、この規制モデル正規化装置から正規化された規制モデルを受信し、受信した規制モデルを規制モデルデータベースに登録するようにしたので、規制モデルデータベースの更新を遠隔地から迅速に行うことが可能となる。   According to the thirteenth aspect of the present invention, the second polygon reduction means for reducing polygons so that the number of polygons included in the restriction model is equal to or less than a predetermined value, the restriction model with reduced polygons is restricted. The restriction model is moved so that the reference point of the model is the origin of the three-dimensional coordinates, and the polygon that has the distance included in the range that is reduced by a predetermined minute amount (d) from the longest distance from the reference point to the farthest polygon. Extract multiple directions as main axis candidates, select one main axis candidate that satisfies a predetermined condition from the extracted main axis candidates, and adjust the scaling of the regulation model so that the selected main axis has a predetermined length Then, by rotating the restriction model so that the direction of the main axis coincides with the first axis (for example, Z axis), a restriction model normalized to a predetermined position, scale, and inclination is created. A regulation model normalizing device having a second polygon normalizing means is separately prepared, and the normalized regulation model is received from the regulation model normalizing device, and the received regulation model is registered in the regulation model database. Therefore, it becomes possible to quickly update the regulatory model database from a remote location.

また、本発明第14の態様では、前記ポリゴン削減手段によるポリゴン削減前の対象モデルを、接続された立体物造形装置に出力する手段と、前記立体物造形装置による立体物の造形処理と並行して実行される前記ポリゴンモデル照合手段により、出力を規制すべきであると判定された場合に、前記立体物造形装置に、前記ポリゴン削減前の対象モデルの出力中止命令を出力する手段と、を更に備えることを特徴とする。   Further, in the fourteenth aspect of the present invention, in parallel to the means for outputting the target model before polygon reduction by the polygon reduction means to the connected three-dimensional object shaping apparatus, and the three-dimensional object shaping process by the three-dimensional object shaping apparatus. Means for outputting an output stop command of the target model before the polygon reduction to the three-dimensional object shaping apparatus when it is determined by the polygon model matching means that is executed that the output should be restricted. It is further provided with the feature.

本発明第14の態様によれば、ポリゴン削減前の対象モデルを、接続された立体物造形装置に出力し、並行して実行されるポリゴンモデル照合手段による照合の結果、出力を規制すべきであると判定された場合に、立体物造形装置に、ポリゴン削減前の対象モデルの出力中止命令を出力するようにしたので、時間のかかる立体物の造形を遅延させることなく、出力不適の場合にのみ、出力を中止することが可能となる。   According to the fourteenth aspect of the present invention, the target model before polygon reduction should be output to the connected three-dimensional object shaping apparatus, and the output should be regulated as a result of the collation performed by the polygon model collation means executed in parallel. When it is determined that there is an output stop command for the target model before polygon reduction, it is output to the three-dimensional object modeling device, so if it is inappropriate to output without delaying the modeling of the three-dimensional object that takes time Only the output can be canceled.

また、本発明第15の態様では、ネットワークを介して対象モデルを受信する対象モデル受信手段と、前記ポリゴンモデル照合手段により判定された出力適否に基づくデータを前記対象モデルの送信元に送信する出力適否データ送信手段と、を更に有することを特徴とする。   In the fifteenth aspect of the present invention, the target model receiving means for receiving the target model via the network, and the output for transmitting data based on the output suitability determined by the polygon model matching means to the transmission source of the target model And a suitability data transmission means.

本発明第15の態様によれば、ネットワークを介して対象モデルを受信し、出力適否判定により得られた出力適否に基づくデータを対象モデルの送信元に送信するようにしたので、出力適否の判定をクラウド型で提供することができ、出力側で複雑な処理を行う必要がない。更に、規制モデルデータベースをクラウド側で一元管理でき、3Dプリンタ等の立体物造形装置ごとに接続されている出力制御用PC内で規制モデルデータベースを管理する必要がないため、常に最新の規制モデルデータベースに基づいて出力適否判定を行うことが可能になる。   According to the fifteenth aspect of the present invention, the target model is received via the network, and data based on the output propriety obtained by the output propriety determination is transmitted to the transmission source of the target model. Can be provided in cloud form, and there is no need to perform complicated processing on the output side. In addition, the regulation model database can be centrally managed on the cloud side, and it is not necessary to manage the regulation model database in the output control PC connected to each 3D object shaping apparatus such as a 3D printer. It is possible to determine whether or not output is appropriate based on the above.

本発明によれば、人間による判断を行わなくても、的確にポリゴンモデルの出力規制を行うことが可能となる。   According to the present invention, it is possible to accurately control the output of a polygon model without performing human judgment.

本発明の一実施形態に係る立体物造形用データ出力規制装置100を含む立体物造形システムのハードウェア構成図である。1 is a hardware configuration diagram of a three-dimensional object formation system including a three-dimensional object formation data output restriction device 100 according to an embodiment of the present invention. 本発明の一実施形態に係る立体物造形用データ出力規制装置の構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the data output control apparatus for solid object modeling which concerns on one Embodiment of this invention. 本発明の一実施形態に係る立体物造形用データ出力規制装置の処理概要を示すフローチャートである。It is a flowchart which shows the process outline | summary of the data output control apparatus for solid object shaping which concerns on one Embodiment of this invention. ステップS100のポリゴン削減処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the polygon reduction process of step S100. ポリゴン削減手段10によるグループ分類処理の詳細を示すフローチャートである。4 is a flowchart showing details of group classification processing by polygon reduction means 10. ポリゴン削除の基本原理を示す図である。It is a figure which shows the basic principle of polygon deletion. ポリゴン削除処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of a polygon deletion process. ポリゴン削除処理により生じる問題を説明するための図である。It is a figure for demonstrating the problem which arises by a polygon deletion process. 隔離された小体積グループの削除処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the deletion process of the isolated small volume group. 図9のステップS44における最小間隔の算出処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the calculation process of the minimum space | interval in step S44 of FIG. 従来のポリゴン正規化の問題点を示す図である。It is a figure which shows the problem of the conventional polygon normalization. ステップS200のポリゴン正規化処理の第1の手法を示すフローチャートである。It is a flowchart which shows the 1st method of the polygon normalization process of step S200. 第1の手法によるポリゴン正規化処理の概要を示す図である。It is a figure which shows the outline | summary of the polygon normalization process by a 1st method. 第1の手法によるポリゴン正規化処理の概要を示す図である。It is a figure which shows the outline | summary of the polygon normalization process by a 1st method. ステップS200のポリゴン正規化処理の第2の手法を示すフローチャートである。It is a flowchart which shows the 2nd method of the polygon normalization process of step S200. 第2の手法によるポリゴン正規化処理の概要を示す図である。It is a figure which shows the outline | summary of the polygon normalization process by a 2nd method. 第2の手法によるポリゴン正規化処理の概要を示す図である。It is a figure which shows the outline | summary of the polygon normalization process by a 2nd method. 第2の手法によるポリゴン正規化処理の概要を示す図である。It is a figure which shows the outline | summary of the polygon normalization process by a 2nd method. ポリゴン照合処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of a polygon collation process. 総面積に基づくポリゴン照合処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the polygon collation process based on a total area. 体積に基づくポリゴン照合処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the polygon collation process based on a volume. 座標値に基づくポリゴン照合処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the polygon collation process based on a coordinate value. 変形例における立体物造形用データ出力規制装置を含む立体物造形システムのハードウェア構成図である。It is a hardware block diagram of the solid object modeling system containing the data output control apparatus for solid object modeling in a modification. クラウド型の立体物造形システムのハードウェア構成図である。It is a hardware block diagram of a cloud type solid thing modeling system. クラウド型の立体物造形システムの機能ブロック図である。It is a functional block diagram of a cloud type solid thing modeling system. 正規化前のオリジナルのポリゴンモデルを示す図である。It is a figure which shows the original polygon model before normalization. 図26の規制モデル、対象モデルに対して、従来方式により正規化を行った状態を示す図である。It is a figure which shows the state which normalized by the conventional system with respect to the restriction | limiting model and object model of FIG. 図26の規制モデル、対象モデルに対して、本実施形態の第1の手法により正規化を行った状態を示す図である。It is a figure which shows the state which normalized by the 1st method of this embodiment with respect to the restriction | limiting model and object model of FIG.

以下、本発明の好適な実施形態について図面を参照して詳細に説明する。
<1.装置構成>
図1は、本発明の一実施形態に係る立体物造形用データ出力規制装置100を含む立体物造形システムのハードウェア構成図である。本実施形態に係る立体物造形用データ出力規制装置100は、汎用のコンピュータで実現することができ、図1に示すように、CPU(Central Processing Unit)1と、コンピュータのメインメモリであるRAM(Random Access Memory)2と、CPU1が実行するプログラムやデータを記憶するためのハードディスク、フラッシュメモリ等の大容量の記憶装置3と、キーボード、マウス等のキー入力I/F(インターフェース)4と、3Dプリンタやデータ記憶媒体等の外部装置とデータ通信するためのデータ入出力I/F(インターフェース)5と、液晶ディスプレイ等の表示デバイスである表示部6と、を備え、互いにバスを介して接続されている。
DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, preferred embodiments of the invention will be described in detail with reference to the drawings.
<1. Device configuration>
FIG. 1 is a hardware configuration diagram of a three-dimensional object formation system including a three-dimensional object formation data output restriction device 100 according to an embodiment of the present invention. The three-dimensional object modeling data output restriction device 100 according to the present embodiment can be realized by a general-purpose computer. As shown in FIG. 1, a CPU (Central Processing Unit) 1 and a RAM (a main memory of the computer) Random Access Memory) 2, a large-capacity storage device 3 such as a hard disk or flash memory for storing programs and data executed by the CPU 1, a key input I / F (interface) 4 such as a keyboard and a mouse, and 3D A data input / output I / F (interface) 5 for data communication with an external device such as a printer or a data storage medium and a display unit 6 which is a display device such as a liquid crystal display are connected to each other via a bus. ing.

3Dプリンタ7は、汎用の3Dプリンタであり、立体物を表現したポリゴンモデルである立体物造形用データを基に樹脂、石膏等の素材を加工して立体物を造形する立体物造形装置である。3Dプリンタ7は、データ処理部7aと出力部7bを有している。3Dプリンタ7のデータ処理部7aは、データ入出力I/F5に接続されており、データ入出力I/F5から受け取った立体物造形用データを基に、出力部7bが立体物を造形するようになっている。図1では、立体物造形用データ出力規制装置100と3Dプリンタ7は分離した形態で示されているが、現在市販されている殆どの3Dプリンタ製品には立体物造形用データ出力規制装置100の構成要素である、CPU1、RAM2、記憶装置3、キー入力I/F4(汎用コンピュータ向けキーボード・マウスではなく、テンキーレベルの数種のボタン)、データ入出力I/F5、表示部6(数行の文字を表示可能な小型液晶パネル、タッチパネルを重畳させキー入力I/F4を兼ねることも多い)も小規模ながら重複して備えている。従って、3Dプリンタ7自体が外部記憶媒体経由で立体物造形用データを直接受け取り、単独で立体物を造形する運用も可能になっている(特に民生用の3Dプリンタではこちらの形態の方が多い)。すなわち、図1に示した立体物造形システムを1つの筐体に収めて、“3Dプリンタ”という製品として流通することも多い。   The 3D printer 7 is a general-purpose 3D printer, and is a three-dimensional object forming apparatus that forms a three-dimensional object by processing a material such as resin or gypsum based on three-dimensional object modeling data that is a polygon model representing a three-dimensional object. . The 3D printer 7 includes a data processing unit 7a and an output unit 7b. The data processing unit 7a of the 3D printer 7 is connected to the data input / output I / F 5 so that the output unit 7b models the three-dimensional object based on the three-dimensional object modeling data received from the data input / output I / F 5. It has become. In FIG. 1, the three-dimensional object formation data output restriction device 100 and the 3D printer 7 are shown in a separated form, but most of the 3D printer products currently on the market include the three-dimensional object formation data output restriction device 100. Constituent elements, such as CPU1, RAM2, storage device 3, key input I / F4 (not a keyboard / mouse for general-purpose computers, but several buttons at a numeric keypad level), data input / output I / F5, display unit 6 (several lines) A small liquid crystal panel capable of displaying the above characters and a touch panel are often superimposed to serve as a key input I / F 4). Accordingly, the 3D printer 7 itself can directly receive the three-dimensional object modeling data via the external storage medium, and can be operated to model the three-dimensional object alone (particularly this is more common in a 3D printer for consumer use). ). That is, the three-dimensional object modeling system shown in FIG. 1 is often housed in one housing and distributed as a product called “3D printer”.

図2は、本実施形態に係る立体物造形用データ出力規制装置の構成を示す機能ブロック図である。図2において、10はポリゴン削減手段、20はポリゴン正規化手段、30はポリゴンモデル照合手段、40は対象モデル記憶手段、50は規制モデルデータベースである。   FIG. 2 is a functional block diagram illustrating a configuration of the three-dimensional object formation data output restriction device according to the present embodiment. In FIG. 2, 10 is a polygon reduction means, 20 is a polygon normalization means, 30 is a polygon model collation means, 40 is a target model storage means, and 50 is a restriction model database.

ポリゴン削減手段10は、対象モデル記憶手段40に記憶されたポリゴンモデルである対象モデルを構成するポリゴンを削減する。ポリゴン正規化手段20は、ポリゴンが削減されたポリゴンモデルに対して、所定の位置、スケール、アングルに正規化する処理を行う。ポリゴンモデル照合手段30は、正規化後のポリゴンモデルを、規制モデルデータベース50内のポリゴンモデルである各規制モデルと照合し、出力適否の判定を行う。   The polygon reduction unit 10 reduces the polygons constituting the target model that is a polygon model stored in the target model storage unit 40. The polygon normalization means 20 performs processing for normalizing the polygon model from which polygons are reduced to a predetermined position, scale, and angle. The polygon model collating unit 30 collates the normalized polygon model with each regulation model, which is a polygon model in the regulation model database 50, and determines whether or not the output is appropriate.

ポリゴン削減手段10、ポリゴン正規化手段20、ポリゴンモデル照合手段30は、CPU1が、記憶装置3に記憶されているプログラムを実行することにより実現される。対象モデル記憶手段40は、出力適否の判定対象となるポリゴンモデルである対象モデルを記憶した記憶手段であり、記憶装置3により実現される。ポリゴンモデルとは、ポリゴンの集合により三次元空間における所定の立体形状を表現したデータであり、3Dプリンタ等の立体物造形装置に立体物造形用データとして出力されるものである。本実施形態では、ポリゴンモデルのデータ形式としてSTL(Standard Triangulated Language)を採用している。規制モデルデータベース50は、規制対象となるポリゴンモデルである規制モデルを記憶してデータベース化したものであり、記憶装置3により実現される。   The polygon reduction unit 10, the polygon normalization unit 20, and the polygon model collation unit 30 are realized by the CPU 1 executing a program stored in the storage device 3. The target model storage unit 40 is a storage unit that stores a target model, which is a polygon model that is a determination target of output suitability, and is realized by the storage device 3. The polygon model is data representing a predetermined three-dimensional shape in a three-dimensional space by a set of polygons, and is output as three-dimensional object modeling data to a three-dimensional object modeling apparatus such as a 3D printer. In this embodiment, STL (Standard Triangulated Language) is adopted as the data format of the polygon model. The restriction model database 50 stores a restriction model, which is a polygon model to be restricted, into a database, and is realized by the storage device 3.

図2に示した各構成手段は、現実には図1に示したように、コンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。なお、本明細書において、コンピュータとは、CPU等の演算処理部を有し、データ処理が可能な装置を意味し、パーソナルコンピュータなどの汎用コンピュータだけでなく、製品としての“3Dプリンタ”に組み込まれたボードコンピュータも含む。   Each component shown in FIG. 2 is actually realized by installing a dedicated program in hardware such as a computer and its peripheral devices as shown in FIG. That is, the computer executes the contents of each means according to a dedicated program. In this specification, the computer means an apparatus having an arithmetic processing unit such as a CPU and capable of data processing, and is incorporated not only in a general-purpose computer such as a personal computer but also in a “3D printer” as a product. Board computer included.

図1に示した記憶装置3には、CPU1を動作させ、コンピュータを、立体物造形用データ出力規制装置として機能させるための専用のプログラムが実装されている。この専用のプログラムを実行することにより、CPU1は、ポリゴン削減手段10、ポリゴン正規化手段20、ポリゴンモデル照合手段30としての機能を実現することになる。また、記憶装置3は、対象モデル記憶手段40、規制モデルデータベース50として機能するだけでなく、立体物造形用データ出力規制装置としての処理に必要な様々なデータを記憶する。   In the storage device 3 shown in FIG. 1, a dedicated program for operating the CPU 1 and causing the computer to function as a three-dimensional object formation data output restriction device is mounted. By executing this dedicated program, the CPU 1 realizes functions as the polygon reduction means 10, the polygon normalization means 20, and the polygon model matching means 30. The storage device 3 not only functions as the target model storage unit 40 and the restriction model database 50 but also stores various data necessary for processing as the three-dimensional object formation data output restriction device.

<2.処理動作>
<2.1.前処理>
次に、図1、図2に示した立体物造形用データ出力規制装置の処理動作について説明する。まず、規制モデルデータベース50に登録する対象となるポリゴンモデルである規制モデルを作製する。これは、規制対象となるポリゴンモデルである規制モデルについて、ポリゴンの削減、ポリゴンの正規化をすることにより行われる。この結果、規制モデルを構成するポリゴンの数が、所定数以下となり、正規化されて規制モデルデータベース50に登録される。規制モデルのポリゴンの削減、ポリゴンの正規化については、後述する立体物造形用データ出力規制装置における処理と同様に行うことができる。規制モデルのポリゴンの削減、ポリゴンの正規化は、立体物造形用データ出力規制装置で行ってもよいし、別のコンピュータで同様のプログラムを実行することにより行ってもよい。
<2. Processing action>
<2.1. Pretreatment>
Next, the processing operation of the three-dimensional object formation data output restriction device shown in FIGS. 1 and 2 will be described. First, a restriction model that is a polygon model to be registered in the restriction model database 50 is created. This is performed by reducing polygons and normalizing polygons for a restriction model that is a polygon model to be restricted. As a result, the number of polygons constituting the restriction model becomes equal to or less than the predetermined number, and is normalized and registered in the restriction model database 50. The polygon reduction and normalization of the restriction model can be performed in the same manner as the processing in the three-dimensional object formation data output restriction device described later. The polygon reduction and normalization of the restriction model may be performed by the three-dimensional object formation data output restriction device or by executing the same program on another computer.

<2.2.処理概要>
次に、図1、図2に示した立体物造形用データ出力規制装置の処理動作について説明する。図3は、本発明の一実施形態に係る立体物造形用データ出力規制装置の処理概要を示すフローチャートである。まず、ポリゴン削減手段10が、対象モデル記憶手段40から、適否判定対象のポリゴンモデルである対象モデルを読み込み、対象モデルを構成するポリゴンを削減する(ステップS100)。次に、ポリゴンが削減された対象モデルの正規化を行う(ステップS200)。続いて、正規化された対象モデルと、規制モデルデータベース50に登録されたポリゴンモデルである規制モデルとの照合を行う(ステップS300)。
<2.2. Process Overview>
Next, the processing operation of the three-dimensional object formation data output restriction device shown in FIGS. 1 and 2 will be described. FIG. 3 is a flowchart showing a processing outline of the three-dimensional object formation data output restriction device according to the embodiment of the present invention. First, the polygon reduction unit 10 reads a target model, which is a polygon model subject to suitability determination, from the target model storage unit 40, and reduces the polygons constituting the target model (step S100). Next, normalization of the target model from which polygons are reduced is performed (step S200). Subsequently, the normalized target model is collated with a restriction model that is a polygon model registered in the restriction model database 50 (step S300).

<2.3.ポリゴン削減処理>
まず、ステップS100のポリゴン削減処理について説明する。図4は、ポリゴン削減処理の詳細を示すフローチャートである。図4の例では、対象モデルが複数の領域に分類され、領域ごとのポリゴン集合として記録されている場合を示している。領域とは、1つの立体物を複数に分けた領域であり、部品により組み立てられた物品であれば、各部品に相当するものである。まず、ポリゴン削減手段10が、対象モデル記憶手段40から、1つの領域について対象モデルのポリゴン集合を読み込み、複数のグループに分類する(ステップS110)。次に、各グループのポリゴン集合に対して、ポリゴン削減手段10は、ポリゴン削除処理を実行する(ステップS120)。ポリゴン削減手段10は、全グループについてポリゴン削除処理が終了したか否かを判定し(ステップS130)、全グループについて終了していない場合は、未処理のグループに対してステップS120のポリゴン削除処理を実行する。全グループに対するポリゴン削除処理が終了した場合は、ポリゴン削減手段10は、隔離された小体積グループの削除を行う(ステップS140)。続いて、ポリゴン削減手段10は、全グループのポリゴン集合の合成を行う(ステップS150)。ポリゴン削減手段10が、全領域について処理が終了したか否かを判定し(ステップS160)、全領域について終了していない場合は、未処理の領域に対してステップS110〜S150の処理を実行する。全領域に対する処理が終了した場合は、ポリゴン削減手段10が、全領域の領域別ポリゴン集合の合成を行う(ステップS170)。
<2.3. Polygon reduction processing>
First, the polygon reduction process in step S100 will be described. FIG. 4 is a flowchart showing details of the polygon reduction process. The example of FIG. 4 shows a case where the target model is classified into a plurality of areas and recorded as a polygon set for each area. The region is a region obtained by dividing one solid object into a plurality of parts, and corresponds to each part as long as it is an article assembled by parts. First, the polygon reduction unit 10 reads the polygon set of the target model for one region from the target model storage unit 40 and classifies it into a plurality of groups (step S110). Next, the polygon reduction means 10 performs a polygon deletion process with respect to the polygon set of each group (step S120). The polygon reduction means 10 determines whether or not the polygon deletion process has been completed for all groups (step S130). If the polygon deletion process has not been completed for all groups, the polygon deletion process of step S120 is performed on the unprocessed group. Run. When the polygon deletion processing for all groups is completed, the polygon reduction unit 10 deletes the isolated small volume group (step S140). Subsequently, the polygon reduction means 10 synthesizes the polygon set of all groups (step S150). The polygon reduction unit 10 determines whether or not the process has been completed for all the areas (step S160). If the process has not been completed for all the areas, the processes of steps S110 to S150 are performed on the unprocessed areas. . When the processing for all the regions is completed, the polygon reduction unit 10 synthesizes the region-specific polygon set for all regions (step S170).

<2.3.1.グループ分類処理>
まず、ステップS110におけるグループ分類処理について説明する。図5は、ポリゴン削減手段10によるグループ分類処理の詳細を示すフローチャートである。ポリゴン削減手段10は、まず、初期設定を行う(ステップS11)。具体的には、読み込んだ領域別ポリゴン集合を構成するポリゴン数P、ポリゴンを特定する変数p(p=0,・・・,P−1)、探索ステータスSt(p)、グループ属性G(p)、グループを特定する変数gを設定する。探索ステータスSt(p)は、0、1、2のいずれかの値をとる。St(p)=0はグループに未分類の状態、St(p)=1はグループに分類された状態、St(p)=2は、そのポリゴンに隣接するポリゴンである隣接ポリゴンがグループに分類された状態を示す。さらに、ステップS11においては、p=0,・・・,P−1の全てのpについてSt(p)=G(p)=0、g=1と初期設定する。
<2.3.1. Group classification processing>
First, the group classification process in step S110 will be described. FIG. 5 is a flowchart showing details of the group classification processing by the polygon reduction means 10. The polygon reduction means 10 first performs an initial setting (step S11). Specifically, the number of polygons P constituting the read area-specific polygon set, variables p (p = 0,..., P−1) for specifying the polygons, search status St (p), group attribute G (p ), A variable g for specifying the group is set. The search status St (p) takes one of 0, 1, and 2. St (p) = 0 is an unclassified group state, St (p) = 1 is a grouped state, and St (p) = 2 is an adjacent polygon that is a polygon adjacent to the polygon. Indicates the state that has been performed. Further, in step S11, all p of p = 0,..., P−1 are initially set as St (p) = G (p) = 0 and g = 1.

次に、全ポリゴンより、St(p)=G(p)=0となるポリゴンpを1つ抽出する(ステップS12)。初期状態では、全てSt(p)=G(p)=0であるので、初回は必ず抽出が行われる。St(p)=G(p)=0となるポリゴンpが複数存在する場合は、例えばpの値が最も小さいものを抽出する。ステップS12において、St(p)=G(p)=0となるポリゴンpが存在しない場合、すなわち、全てのp=0,・・・,P−1について、St(p)=2である場合、g−1個のグループに分離できたものとしてグループ分類処理を終了する。なお、ステップS12において、St(p)=1である状態は存在しないため、St(p)は“0”か“2”のいずれかの状態である。St(p)=G(p)=0となるポリゴンpが抽出できた場合は、抽出したポリゴンpに対応する探索ステータスSt(p)=1、グループ属性G(p)=gに設定する。   Next, one polygon p satisfying St (p) = G (p) = 0 is extracted from all the polygons (step S12). In the initial state, all are St (p) = G (p) = 0, so that the first extraction is always performed. When there are a plurality of polygons p with St (p) = G (p) = 0, for example, the one having the smallest value of p is extracted. In step S12, when there is no polygon p with St (p) = G (p) = 0, that is, when all p = 0,..., P−1, St (p) = 2. , The group classification process is terminated assuming that it has been separated into g−1 groups. In step S12, since there is no state where St (p) = 1, St (p) is either “0” or “2”. When a polygon p satisfying St (p) = G (p) = 0 can be extracted, the search status St (p) = 1 corresponding to the extracted polygon p is set to group attribute G (p) = g.

ステップS12において、St(p)=G(p)=0となるポリゴンpを1つ抽出し、抽出したポリゴンpに対応する探索ステータスSt(p)=1、グループ属性G(p)=gに設定した場合は、全ポリゴンより、St(q)=1となるポリゴンqを1つ抽出する(ステップS13)。qはポリゴンを特定する変数であり、ポリゴンpと同様、q=0,・・・,P−1内のいずれかの整数値をとる。St(q)=1となるポリゴンqが複数存在する場合は、例えばqの値が最も小さいものを抽出する。ステップS13において、St(q)=1となるポリゴンqが存在しない場合、すなわち、全てのSt(q)=0または2である場合、グループを特定する変数gを1インクリメント(g←g+1)する(ステップS14)。そしてステップS12に戻り、次のグループへの分類を行う。   In step S12, one polygon p with St (p) = G (p) = 0 is extracted, the search status St (p) = 1 corresponding to the extracted polygon p, and the group attribute G (p) = g are set. If set, one polygon q satisfying St (q) = 1 is extracted from all polygons (step S13). q is a variable for specifying a polygon, and takes an integer value in q = 0,... When there are a plurality of polygons q with St (q) = 1, for example, the one having the smallest q value is extracted. In step S13, if there is no polygon q satisfying St (q) = 1, that is, if all St (q) = 0 or 2, the variable g for specifying the group is incremented by 1 (g ← g + 1). (Step S14). And it returns to step S12 and classify | categorizes into the following group.

ステップS13において、St(q)=1となるポリゴンqを1つ抽出した場合、全ポリゴンより、St(r)=G(r)=0であって、抽出されたポリゴンqと2頂点を共有する隣接ポリゴンrを全て抽出する(ステップS15)。rはポリゴンを特定する変数であり、ポリゴンp、qと同様、r=0,・・・,P−1内のいずれかの整数値をとる。“ポリゴンqと2頂点を共有する”とは、ポリゴンqと一つの辺を共有することを意味する。すなわち、隣接ポリゴンrは一つの辺を共有することによりポリゴンqと隣接するポリゴンである。抽出された隣接ポリゴンについては、それぞれ探索ステータスSt(r)=1、グループ属性G(r)=gに設定する。   In step S13, when one polygon q with St (q) = 1 is extracted, St (r) = G (r) = 0 from all the polygons, and the extracted polygon q and two vertices are shared. All adjacent polygons r are extracted (step S15). r is a variable for specifying a polygon, and takes an integer value in r = 0,..., P−1, similarly to polygons p and q. “Share two vertices with polygon q” means that one side is shared with polygon q. That is, the adjacent polygon r is a polygon adjacent to the polygon q by sharing one side. The extracted adjacent polygons are set to search status St (r) = 1 and group attribute G (r) = g, respectively.

次に、ポリゴンqの探索ステータスSt(q)=2に設定する(ステップS16)。すなわち、ポリゴンqについては、隣接ポリゴンを設定した後の状態とする。そして、ステップS13に戻って、全ポリゴンの中から、St(q)=1となるポリゴンqを1つ抽出する。   Next, the search status St (q) = 2 for the polygon q is set (step S16). That is, the polygon q is in a state after the adjacent polygon is set. Then, returning to step S13, one polygon q satisfying St (q) = 1 is extracted from all the polygons.

図5に示したフローチャートでは、ステップS12、S13、S14で構成されるループと、ステップS13、S15、S16で構成されるループの2つのループ処理が存在する。ステップS12、S13、S14で構成されるループでは、グループに未分類のポリゴンを抽出してグループに分類し(ステップS12)、グループに分類済みのポリゴンの中から1つを隣接ポリゴン探索用のポリゴンとして抽出できない場合(ステップS13)は、そのグループに分類すべきポリゴンは、存在しないものとして、次のグループに移行(g←g+1)する(ステップS14)。ステップS12、S13、S14で構成されるループでは、連続する一塊のポリゴン群を一つのグループとして分類する。したがって、ステップS13において、St(q)=1となるポリゴンが存在しない場合には、グループに分類済みのいずれかのポリゴンに隣接するポリゴンが存在しないことになるので、グループgへの分類を終え、グループg+1への分類に移行するのである。   In the flowchart shown in FIG. 5, there are two loop processes: a loop constituted by steps S12, S13 and S14 and a loop constituted by steps S13, S15 and S16. In the loop composed of steps S12, S13, and S14, polygons that are not classified into groups are extracted and classified into groups (step S12), and one of the polygons that have been classified into groups is searched for adjacent polygons. If it cannot be extracted as (step S13), it is assumed that there is no polygon to be classified into the group, and the process proceeds to the next group (g ← g + 1) (step S14). In the loop composed of steps S12, S13, and S14, a group of continuous polygons is classified as one group. Therefore, in step S13, if there is no polygon with St (q) = 1, there is no polygon adjacent to any polygon already classified in the group, so the classification into group g is finished. , The process proceeds to the group g + 1 classification.

ステップS13、S15、S16で構成されるループでは、グループに分類済みのポリゴンの中から1つを隣接ポリゴン探索用のポリゴンqとして抽出し(ステップS13)、全ポリゴンの中からポリゴンqと2頂点を共有するポリゴンを隣接ポリゴンrとして抽出し(ステップS15)、抽出できた場合も抽出できない場合も、探索用のポリゴンqの探索ステータスSt(q)を、ポリゴンqに隣接するポリゴンの探索を終えた状態であるSt(q)=2に設定する。   In the loop composed of steps S13, S15, and S16, one of the polygons classified into groups is extracted as a polygon q for searching for adjacent polygons (step S13), and polygon q and two vertices are extracted from all the polygons. Is extracted as an adjacent polygon r (step S15), and the search status St (q) of the search polygon q is finished regardless of whether it can be extracted or not. In this state, St (q) = 2 is set.

ステップS12、S13、S14で構成されるループと、ステップS13、S15、S16で構成されるループの2つのループ処理を用いることにより、全P個のポリゴンが、2頂点を共有して連続するポリゴン群ごとにグループに分類される。1頂点しか共有しないポリゴンのみで隣接している場合は、別のグループとして分類されることになる。図5に従った処理を実行することにより領域別ポリゴン集合を構成するポリゴンは複数のグループに分類されることになる。   By using two loop processes, a loop composed of steps S12, S13, and S14, and a loop composed of steps S13, S15, and S16, all P polygons are continuous polygons sharing two vertices. Each group is classified into groups. When only polygons that share only one vertex are adjacent to each other, they are classified as another group. By executing the processing according to FIG. 5, the polygons constituting the region-specific polygon set are classified into a plurality of groups.

<2.3.2.ポリゴン削除処理>
次に、ステップS120におけるポリゴン削減手段10によるポリゴン削除処理について説明する。図6は、ポリゴン削除の基本原理を示す図である。ポリゴン集合は、現実には、空間における三次元の値をもつポリゴン群であるが、図6の例では、説明の便宜上、二次元の値をもつポリゴン群を示している。図6(a)の例では、削除前、18個のポリゴンからなるポリゴン群を示している。
<2.3.2. Polygon deletion processing>
Next, the polygon deletion process by the polygon reduction means 10 in step S120 will be described. FIG. 6 is a diagram showing the basic principle of polygon deletion. The polygon set is actually a polygon group having a three-dimensional value in space, but the example of FIG. 6 shows a polygon group having a two-dimensional value for convenience of explanation. In the example of FIG. 6A, a polygon group consisting of 18 polygons is shown before deletion.

図7は、ポリゴン削減手段10によるポリゴン削除処理の詳細を示すフローチャートである。まず、ポリゴン削減手段10は、ポリゴン集合を構成する全ポリゴンを対象として、各ポリゴンの面積および周長を算出する(ステップS21)。次に、ポリゴン削減手段10は、算出された面積と周長を乗じた値が最小となるポリゴンを削除対象ポリゴンとして選定する(ステップS22)。図6の例では、図6(b)に示すように、3個の頂点E、J、Kで構成されるポリゴンEJKが削除対象ポリゴンとして選定される。   FIG. 7 is a flowchart showing details of polygon deletion processing by the polygon reduction means 10. First, the polygon reduction means 10 calculates the area and perimeter of each polygon for all polygons constituting the polygon set (step S21). Next, the polygon reduction unit 10 selects a polygon having a minimum value obtained by multiplying the calculated area and circumference as a polygon to be deleted (step S22). In the example of FIG. 6, as shown in FIG. 6B, a polygon EJK composed of three vertices E, J, and K is selected as a deletion target polygon.

続いて、ポリゴン削減手段10は、削除対象ポリゴンの3辺のうち最短の1辺を削除対象辺として選定し、選定した削除対象辺の中点を算出する(ステップS23)。図6の例では、図6(c)に示すように、削除対象ポリゴンEJKの辺JKが削除対象辺として選定される。さらに、辺JKの中点Oが算出される。   Subsequently, the polygon reduction unit 10 selects the shortest one of the three sides of the deletion target polygon as the deletion target side, and calculates the midpoint of the selected deletion target side (step S23). In the example of FIG. 6, as shown in FIG. 6C, the side JK of the deletion target polygon EJK is selected as the deletion target side. Further, the midpoint O of the side JK is calculated.

次に、ポリゴン削減手段10は、削除対象ポリゴンを削除する(ステップS24)。これによりポリゴン数が1つ削減されることになる。次に、ポリゴン削減手段10は、削除対象ポリゴンの削除対象辺と頂点を共有していた削除頂点共有ポリゴンを順次選定する(ステップS25)。削除対象ポリゴンの削除対象辺と2頂点を共有(すなわち辺を共有)している削除頂点共有ポリゴンが選定された場合には、ポリゴン削減手段10は、その削除頂点共有ポリゴンを削除する(ステップS26)。図6の例では、3個の頂点J、K、Nで構成されるポリゴンJKNが削除される。これによりさらにポリゴン数が1つ削減されることになる。削除対象ポリゴンの削除対象辺と1頂点を共有している削除頂点共有ポリゴンが選定された場合には、ポリゴン削減手段10は、共有頂点をステップS23で算出された中点に補正し、面積および周長を再算出する(ステップS27)。図6の例では、図6(c)と図6(d)を比較するとわかるように、ポリゴンEHJ→ポリゴンEHO、ポリゴンEFK→ポリゴンEFO、ポリゴンHJM→ポリゴンHOM、ポリゴンJMN→ポリゴンOMN、ポリゴンFKN→ポリゴンFONに変更される。この結果、図6の例では、図6(a)の時点では、18個あったポリゴンが、図6(d)の時点では、16個に削減される。   Next, the polygon reduction unit 10 deletes the deletion target polygon (step S24). As a result, the number of polygons is reduced by one. Next, the polygon reduction unit 10 sequentially selects the deleted vertex shared polygons that share the vertex with the deletion target side of the deletion target polygon (step S25). When a deleted vertex shared polygon is selected that shares two vertices with the deletion target side of the polygon to be deleted (that is, the side is shared), the polygon reduction means 10 deletes the deleted vertex shared polygon (step S26). ). In the example of FIG. 6, a polygon JKN composed of three vertices J, K, and N is deleted. This further reduces the number of polygons by one. When a deleted vertex shared polygon that shares one vertex with the deletion target side of the deletion target polygon is selected, the polygon reduction means 10 corrects the shared vertex to the midpoint calculated in step S23, The circumference is recalculated (step S27). In the example of FIG. 6, as can be seen by comparing FIG. 6C and FIG. 6D, the polygon EHJ → polygon EHO, the polygon EFK → polygon EFO, the polygon HJM → polygon HOM, the polygon JMN → polygon OMN, and the polygon FKN. → Changed to polygon FON. As a result, in the example of FIG. 6, the 18 polygons at the time of FIG. 6A are reduced to 16 at the time of FIG. 6D.

ステップS25〜ステップS27の処理を終えたら、ポリゴン削減手段10は、削減後の全ポリゴン数が、設定された目標値以下となっているか否かを判定する(ステップS28)。目標値としては、事前に任意の値を設定することができる。判定の結果、全ポリゴン数が目標値以下となっていない場合は、ステップS22に戻って、ポリゴン削減手段10は、残っているポリゴンの中から、面積と周長を乗じた値が最小となるポリゴンを削除対象ポリゴンとして選定する。ステップS28における判定の結果、全ポリゴン数が目標値以下である場合は、ポリゴン削減処理を終了する。図7のフローチャートに従った処理を実行することにより、各グループについて設定された目標値以下になるように、ポリゴン数が削減されることになる。   When the processes of steps S25 to S27 are completed, the polygon reduction unit 10 determines whether the total number of polygons after the reduction is equal to or less than the set target value (step S28). As the target value, an arbitrary value can be set in advance. As a result of the determination, if the total number of polygons is not less than or equal to the target value, the process returns to step S22, and the polygon reduction means 10 minimizes the value obtained by multiplying the remaining polygons by the area and the circumference. A polygon is selected as a polygon to be deleted. If the result of determination in step S28 is that the total number of polygons is less than or equal to the target value, the polygon reduction process is terminated. By executing the processing according to the flowchart of FIG. 7, the number of polygons is reduced so as to be equal to or less than the target value set for each group.

<2.3.3.小体積グループ削除処理>
次に、ステップS140におけるポリゴン削減手段10による隔離された小体積グループの削除処理について説明する。ここで、隔離された小体積グループの削除処理の説明に先立ち、隔離された小体積グループの削除処理を行う理由について説明しておく。図8は、ポリゴン削除処理により生じる問題を説明するための図である。図8(a)は、ステップS110のグループ分類処理を終えた直後の2グループのポリゴン群を示している。図8(a)の例では、頂点D、E、Kを含む左側のグループと、頂点D’、E’、K’を含む右側のグループが存在する。頂点DとD’、頂点EとE’、頂点KとK’がそれぞれ3Dプリンタの解像度以下である場合、この2グループのポリゴン群を3Dプリンタで出力すると、頂点DとD’、頂点EとE’、頂点KとK’は樹脂等により連結され、2グループは連結した物体として出力される。すなわち、2グループは物理的には接着されている。
<2.3.3. Small volume group deletion processing>
Next, the process of deleting the isolated small volume group by the polygon reduction unit 10 in step S140 will be described. Here, prior to the description of the processing for deleting the isolated small volume group, the reason for performing the processing for deleting the isolated small volume group will be described. FIG. 8 is a diagram for explaining a problem caused by polygon deletion processing. FIG. 8A shows two groups of polygon groups immediately after the group classification process in step S110 is completed. In the example of FIG. 8A, there are a left group including vertices D, E, and K and a right group including vertices D ′, E ′, and K ′. If the vertices D and D ′, the vertices E and E ′, and the vertices K and K ′ are less than the resolution of the 3D printer, respectively, when these two groups of polygons are output by the 3D printer, the vertices D and D ′, E ′, vertices K and K ′ are connected by resin or the like, and the two groups are output as connected objects. That is, the two groups are physically bonded.

図8(a)に示した右側のグループのポリゴン群に対して、ステップS120におけるポリゴン削除処理を実行すると、図8(b)に示すように、ポリゴンE’FK’が削除対象ポリゴンとして選定される。さらに、図8(c)に示すように、削除対象ポリゴンE’FK’の最短辺E’Fが削除対象辺として選定され、辺E’Fの中点Oが算出される。そして、図8(d)に示すように、削除対象ポリゴンE’FK’と、削除頂点共有ポリゴンD’E’Fが削除される。   When the polygon deletion process in step S120 is performed on the right-side group of polygons shown in FIG. 8A, the polygon E′FK ′ is selected as the deletion target polygon as shown in FIG. 8B. The Further, as shown in FIG. 8C, the shortest side E'F of the deletion target polygon E'FK 'is selected as the deletion target side, and the midpoint O of the side E'F is calculated. Then, as shown in FIG. 8D, the deletion target polygon E'FK 'and the deletion vertex shared polygon D'E'F are deleted.

図8(a)と図8(d)を比較するとわかるように、左右の2つのグループは、ポリゴン削除処理前に比べて、ポリゴン削除処理後には、より離れてしまっている。図8(d)に示した2グループの距離が、3Dプリンタの解像度を超えると、2グループのポリゴン群を3Dプリンタで出力した場合、2グループは別の物体として出力される。2つのグループがともに大きな物体となれば、問題はない。しかし、一つが非常に小さな物体となる場合、例えば、一方のグループが本体であって、他方のグループが本体に付属するヒゲのようなものである場合、本体と別に出力されたヒゲは、3Dプリンタ内に紛れ込み、機械詰まり等の問題を引き起こす恐れがある。このような問題を除去するため、上述のヒゲのような隔離された小体積グループの削除処理を行うのである。   As can be seen from a comparison between FIG. 8A and FIG. 8D, the two groups on the left and right sides are further apart after the polygon deletion process than before the polygon deletion process. When the distance between the two groups shown in FIG. 8D exceeds the resolution of the 3D printer, when the two groups of polygons are output by the 3D printer, the two groups are output as different objects. If the two groups are both large objects, there is no problem. However, when one becomes a very small object, for example, when one group is a main body and the other group is like a beard attached to the main body, the whiskers output separately from the main body are 3D. There is a risk that it may get into the printer and cause problems such as machine clogging. In order to eliminate such a problem, an isolated small volume group such as the above-mentioned beard is deleted.

図9は、ポリゴン削減手段10による隔離された小体積グループの削除処理の詳細を示すフローチャートである。ポリゴン削減手段10は、まず、グループごとに全ポリゴンの全頂点を対象として、X、Y、Zぞれぞれの方向の最大値および最小値を算出する(ステップS41)。この結果、グループgに対して、最小値Xmin(g)、最大値Xmax(g)、最小値Ymin(g)、最大値Ymax(g)、最小値Zmin(g)、最大値Zmax(g)が得られる。次に、ポリゴン削減手段10は、グループごとに外接直方体の体積を算出する(ステップS42)。具体的には、以下の〔数式1〕に従った処理を実行することにより、グループgの外接直方体の体積V(g)を算出する。   FIG. 9 is a flowchart showing details of the processing for deleting the isolated small volume group by the polygon reduction means 10. First, the polygon reduction unit 10 calculates the maximum value and the minimum value in the X, Y, and Z directions for all vertices of all polygons for each group (step S41). As a result, for group g, minimum value Xmin (g), maximum value Xmax (g), minimum value Ymin (g), maximum value Ymax (g), minimum value Zmin (g), maximum value Zmax (g) Is obtained. Next, the polygon reduction means 10 calculates the volume of the circumscribed cuboid for each group (step S42). Specifically, the volume V (g) of the circumscribed cuboid of the group g is calculated by executing the processing according to the following [Formula 1].

〔数式1〕
V(g)=(Xmax(g)−Xmin(g))×(Ymax(g)−Ymin(g))×(Zmax(g)−Zmin(g))
[Formula 1]
V (g) = (Xmax (g) −Xmin (g)) × (Ymax (g) −Ymin (g)) × (Zmax (g) −Zmin (g))

ポリゴン削減手段10は、全グループに対してステップS41、S42の処理を実行する。これにより、全グループについて、外接直方体の体積が得られる。次に、ポリゴン削減手段10は、全グループの中で外接直方体の体積が最小となるグループを特定する(ステップS43)。そして、ポリゴン削減手段10は、特定したグループと他の全てのグループとの最小間隔を算出する(ステップS44)。ステップS44における最小間隔の算出処理の詳細については後述する。   The polygon reduction unit 10 executes the processes of steps S41 and S42 for all groups. Thereby, the volume of a circumscribed rectangular parallelepiped is obtained for all groups. Next, the polygon reduction unit 10 identifies a group in which the volume of the circumscribed rectangular parallelepiped is the smallest among all the groups (Step S43). Then, the polygon reduction unit 10 calculates the minimum interval between the identified group and all other groups (step S44). Details of the minimum interval calculation process in step S44 will be described later.

続いて、ポリゴン削減手段10は、ステップS44において算出された最小間隔が所定のしきい値以上か否かを判定する(ステップS45)。最小間隔と比較するための所定のしきい値としては、3Dプリンタ出力時に0.2mmに相当する数値とすることが好ましい。判定の結果、最小間隔が所定のしきい値以上である場合は、体積最小のグループが、最も近いグループとも所定の距離以上離れていることになるので、ポリゴン削減手段10は、体積最小のグループを削除する処理を行う(ステップS46)。ステップS45における判定の結果、最小間隔が所定のしきい値未満である場合は、体積最小のグループが、最も近いグループと3Dプリンタの解像度以下に近接していることになるので、ポリゴン削減手段10は、体積最小のグループを削除する処理を行わない。   Subsequently, the polygon reduction unit 10 determines whether or not the minimum interval calculated in step S44 is equal to or greater than a predetermined threshold value (step S45). The predetermined threshold for comparison with the minimum interval is preferably a numerical value corresponding to 0.2 mm at the time of 3D printer output. As a result of the determination, if the minimum interval is equal to or greater than a predetermined threshold value, the minimum volume group is separated from the nearest group by a predetermined distance or more. Is deleted (step S46). If the result of determination in step S45 is that the minimum interval is less than the predetermined threshold value, the group with the smallest volume is close to the closest group and below the resolution of the 3D printer. Does not perform the process of deleting the smallest volume group.

ステップS46におけるグループの削除を行った場合、削除を行わなかった場合のいずれにおいても、そのグループについては処理済みとする。そして、ステップS43に戻って、未処理のグループの中で外接直方体の体積が最小となるグループを特定する。ステップS43〜ステップS46の処理を繰り返し、全てのグループに対する処理を終えたら、隔離された小体積グループの削除処理を終了する。   When the group is deleted in step S46, the group is processed in any case where the deletion is not performed. And it returns to step S43 and specifies the group from which the volume of a circumscribed rectangular parallelepiped becomes the smallest among unprocessed groups. When the processing of step S43 to step S46 is repeated and the processing for all the groups is completed, the processing for deleting the isolated small volume group is ended.

ステップS44における最小間隔の算出処理の詳細について説明する。図10は、図9のステップS44における最小間隔の算出処理の詳細を示すフローチャートである。ポリゴン削減手段10は、初期値として、最小間隔を示す変数dminに所定以上の値を設定する。dminに与える初期値としては、グループ間の最小間隔としてあり得ない大きな値を設定しておけばよい。そして、ポリゴン削減手段10は、全グループの中から、グループgより体積が大きい1つのグループhを抽出する(ステップS47)。この結果、グループhについて、最小値Xmin(h)、最大値Xmax(h)、最小値Ymin(h)、最大値Ymax(h)、最小値Zmin(h)、最大値Zmax(h)が得られる。次に、ポリゴン削減手段10は、X、Y、Zの各方向別に2グループ間の差分の最小値を算出する(ステップS48)。具体的には、以下の〔数式2〕に従った処理を実行することにより、X方向の差分の最小値dx、Y方向の差分の最小値dy、Z方向の差分の最小値dzを算出する。   Details of the minimum interval calculation processing in step S44 will be described. FIG. 10 is a flowchart showing details of the minimum interval calculation processing in step S44 of FIG. The polygon reduction means 10 sets a value greater than or equal to a predetermined value for the variable dmin indicating the minimum interval as an initial value. As an initial value given to dmin, a large value that cannot be set as a minimum interval between groups may be set. Then, the polygon reduction unit 10 extracts one group h having a volume larger than that of the group g from all the groups (Step S47). As a result, the minimum value Xmin (h), the maximum value Xmax (h), the minimum value Ymin (h), the maximum value Ymax (h), the minimum value Zmin (h), and the maximum value Zmax (h) are obtained for the group h. It is done. Next, the polygon reduction means 10 calculates the minimum value of the difference between the two groups for each of the X, Y, and Z directions (step S48). Specifically, the minimum value dx of the difference in the X direction, the minimum value dy of the difference in the Y direction, and the minimum value dz of the difference in the Z direction are calculated by executing processing according to the following [Equation 2]. .

〔数式2〕
dx=Min{|Xmax(g)−Xmin(h)|,|Xmin(g)−Xmax(h)|}
dy=Min{|Ymax(g)−Ymin(h)|,|Ymin(g)−Ymax(h)|}
dz=Min{|Zmax(g)−Zmin(h)|,|Zmin(g)−Zmax(h)|}
[Formula 2]
dx = Min {| Xmax (g) -Xmin (h) |, | Xmin (g) -Xmax (h) |}
dy = Min {| Ymax (g) -Ymin (h) |, | Ymin (g) -Ymax (h) |}
dz = Min {| Zmax (g) -Zmin (h) |, | Zmin (g) -Zmax (h) |}

続いて、ポリゴン削減手段10は、算出された方向別最小値のうち最大のものをグループ間最小値とし、グループ間最小値を、既に処理済みの他のグループ間における全グループ間最小値と比較し、小さい方を全グループ間最小値とする処理を行う(ステップS49)。具体的には、ステップS48において算出された3つの方向別最小値dx、dy、dzのうち、最大の値をとるグループ間最小値Max(dx、dy、dz)とdminを比較し、Max(dx、dy、dz)<dminの場合、dmin=Max(dx、dy、dz)とする。これにより、dminには、グループ間最小値の中で最小の値となる全グループ間最小値が記録されることになる。   Subsequently, the polygon reduction unit 10 sets the maximum value among the calculated minimum values for each direction as the minimum value between groups, and compares the minimum value between groups with the minimum value between all groups among other groups that have already been processed. Then, the process of setting the smaller one as the minimum value between all groups is performed (step S49). Specifically, among the three direction-specific minimum values dx, dy, and dz calculated in step S48, the inter-group minimum value Max (dx, dy, dz) that takes the maximum value is compared with dmin, and Max ( When dx, dy, dz) <dmin, dmin = Max (dx, dy, dz). As a result, the minimum value between all groups, which is the minimum value among the minimum values between groups, is recorded in dmin.

ステップS47、S48、S49の処理を繰り返して実行し、グループgより体積が大きい全てのグループに対する処理を終えたら、図10に示した最小間隔の算出処理を終了し、図9のステップS45に進んで、最小間隔dminとしきい値との比較を行うことになる。   When the processes of steps S47, S48, and S49 are repeatedly executed and the processes for all the groups having a volume larger than the group g are finished, the minimum interval calculation process shown in FIG. Thus, the minimum interval dmin is compared with the threshold value.

<2.3.4.ポリゴン集合の合成>
図4のフローチャートに示したように、ステップS150においては、ポリゴン削減手段10が、全グループのポリゴン集合の合成を行って更新された領域別ポリゴン集合を得る。また、ステップS170においては、ポリゴン削減手段10が、全領域の領域別ポリゴン集合の合成を行って合成ポリゴン集合を得る。いずれの合成処理も、ヘッダ部を除く領域別ポリゴン集合を単純に結合し、ヘッダ部に合算されたポリゴン数を記録することにより行われる。合成ポリゴン集合は、ポリゴンが削減された対象モデルとなる。
<2.3.4. Polygon set composition>
As shown in the flowchart of FIG. 4, in step S150, the polygon reduction unit 10 combines the polygon sets of all groups to obtain an updated polygon set by region. Further, in step S170, the polygon reduction means 10 synthesizes a polygon set for each region of all areas to obtain a composite polygon set. Both synthesis processes are performed by simply combining the polygon sets for each area excluding the header portion and recording the total number of polygons in the header portion. The composite polygon set is a target model from which polygons are reduced.

<2.4.ポリゴン正規化処理>
次に、ステップS200のポリゴン正規化処理について説明する。出願人は、上記特許文献4において、対象モデルの基準点から最も遠いポリゴンまでの最長距離が所定の長さになるように対象モデルをスケーリング調整し、最長距離の方向がZ軸に一致するように対象モデルを回転させることにより、所定の位置、スケール、傾きに正規化し、規制モデルと照合する技術を提案している。特許文献4においては、最長距離の方向を主軸とするため、対象モデルに対称性があると、基準点は一意的に定まるものの、基準点から同一距離をもつポリゴンが複数存在し、基準点から最長距離のポリゴン平均点の方向で定義される主軸は複数の主軸候補の中から、距離計算に含有する誤差成分の大小関係で決定されてしまうため、選択される主軸がモデルごとにバラツキが生じ一意的に定まらない(各ポリゴンのXYZ座標が実数値で記録されているため、スケーリング、回転等の実数乗算を伴う演算操作により誤差が累積し、誤差の累積のされ方がポリゴンごとに異なる)。例えば、規制モデルおよび対象モデルの各々に同一の最長距離をもつ主軸候補が6つ存在する場合、基準点からポリゴン平均点までの距離の大小関係だけで判断しようとすると、6つの候補の中のどれが選択されるかを予測することは数学的に困難で、サイコロを振る感覚で決定される。対象モデル内で所定の順番にポリゴンが配置されたポリゴン配列の先頭(通常ポリゴン番号の最小のもの)から主軸候補を探索し、最初に見つかった最長距離のポリゴンを主軸に選定する方法に統一しても、物理的には同一距離であっても、後続するポリゴンの方が計算誤差分だけ距離がわずかながら長ければ、後続のポリゴンの方向が主軸に選定される可能性がある。すると、規制モデルと対象モデルとで異なった主軸を選定することもあり得る。この場合、互いに異なる主軸を基準にアングル補正が行われるが、完全対称形であれば、異なる主軸を基準に補正された形状も同一になるため照合に支障はない。しかし、非対称な部分があると、異なる主軸を基準に補正された形状の一部が不整合になり適切な照合が行えないという問題がある。
<2.4. Polygon normalization processing>
Next, the polygon normalization process in step S200 will be described. In the above-mentioned Patent Document 4, the applicant adjusts the scale of the target model so that the longest distance from the reference point of the target model to the farthest polygon becomes a predetermined length so that the direction of the longest distance matches the Z axis. A technique is proposed in which the target model is normalized to a predetermined position, scale and inclination by rotating the target model, and collated with the regulation model. In Patent Document 4, since the direction of the longest distance is the main axis, if the target model has symmetry, the reference point is uniquely determined, but there are a plurality of polygons having the same distance from the reference point. The main axis defined in the direction of the longest distance polygon average point is determined by the size of the error component included in the distance calculation from the multiple main axis candidates, so the selected main axis varies from model to model. Not uniquely determined (Because the XYZ coordinates of each polygon are recorded as real values, errors accumulate due to arithmetic operations involving real number multiplication such as scaling and rotation, and how errors are accumulated varies from polygon to polygon) . For example, if there are six principal axis candidates having the same longest distance in each of the restriction model and the target model, when trying to determine only by the magnitude relationship of the distance from the reference point to the polygon average point, Predicting which one will be selected is mathematically difficult and is determined by the feeling of rolling the dice. Search for candidate spindles from the top of the polygon array (usually the polygon with the smallest polygon number) where polygons are arranged in the specified order in the target model, and unify the method to select the longest distance polygon found first as the spindle. However, even if the distance is physically the same, if the subsequent polygon is slightly longer by a calculation error, the direction of the subsequent polygon may be selected as the main axis. Then, different spindles may be selected for the regulation model and the target model. In this case, angle correction is performed with reference to different principal axes. However, in the case of perfect symmetry, the shape corrected with reference to different principal axes is the same, so there is no problem in verification. However, if there is an asymmetric part, there is a problem that a part of the shape corrected with respect to different main axes becomes inconsistent and proper matching cannot be performed.

図11は、従来のポリゴン正規化の問題点を示す図である。図11(a)(b)のいずれも、左側が対象モデル、右側が規制モデルを示している。図11(a)は、対象モデル、規制モデルがともに完全対称形である場合を示している。図11(a)の例では、主軸候補1と主軸候補2の2つの最長距離方向が主軸として選ばれる可能性がある。このとき、図11(a)に示すように、対象モデルでは実線表記の主軸候補1が主軸として選ばれ、規制モデルでは破線表記の主軸候補2が主軸として選ばれたとしても、適切な照合を行うことが可能である。しかし、図11(b)に示すように完全対称形でない場合は、対象モデルでは実線表記の主軸候補1が主軸として選ばれ、規制モデルでは破線表記の主軸候補2が主軸として選ばれた場合、適切な照合を行うことが難しい。このような問題に対して、本発明では、ポリゴン正規化処理について新たに2通りの手法を提案する。   FIG. 11 is a diagram showing problems of conventional polygon normalization. 11A and 11B, the left side shows the target model, and the right side shows the restriction model. FIG. 11A shows a case where the target model and the regulation model are both completely symmetric. In the example of FIG. 11A, the two longest distance directions of the main axis candidate 1 and the main axis candidate 2 may be selected as the main axes. At this time, as shown in FIG. 11 (a), even if the main axis candidate 1 indicated by the solid line is selected as the main axis in the target model and the main axis candidate 2 indicated by the broken line is selected as the main axis in the restriction model, appropriate verification is performed. Is possible. However, as shown in FIG. 11 (b), when it is not completely symmetric, in the target model, the principal axis candidate 1 indicated by the solid line is selected as the principal axis, and in the restriction model, the candidate main axis candidate 2 indicated by the broken line is selected as the principal axis. It is difficult to perform proper verification. In order to deal with such a problem, the present invention proposes two new methods for polygon normalization processing.

<2.4.1.ポリゴン正規化処理(第1の手法)>
ステップS200におけるポリゴン正規化処理には、2通りの手法がある。まず、第1の手法について説明する。図12は、ステップS200のポリゴン正規化処理の第1の手法を示すフローチャートである。ここでは、ステップS100においてポリゴン数が削減された対象モデルのポリゴン数N、ポリゴンを特定する変数i(i=0,・・・,N−1)とし、各ポリゴンiの頂点を(Xk(i),Yk(i),Zk(i))と定義されたものとする。kは頂点番号を示しており、本実施形態では、ポリゴンが三角形であるため、k=0,1,2の3つの値をとる。
<2.4.1. Polygon normalization processing (first method)>
There are two methods for polygon normalization processing in step S200. First, the first method will be described. FIG. 12 is a flowchart showing a first method of polygon normalization processing in step S200. Here, the number N of polygons of the target model in which the number of polygons has been reduced in step S100, and the variable i (i = 0,..., N−1) for specifying the polygon are set, and the vertex of each polygon i is set to (Xk (i ), Yk (i), Zk (i)). k indicates a vertex number, and in this embodiment, since the polygon is a triangle, it takes three values, k = 0, 1, and 2.

まず、ステップS100においてポリゴン数が削減された対象モデルにおける基準点を算出する(ステップS201)。具体的には、ポリゴンモデルを構成する各ポリゴンについて、頂点の平均となる平均点を算出し、ポリゴンモデルを構成するN個のポリゴンの平均点の平均値をポリゴンモデルの基準点として算出する。具体的には、まず、以下の〔数式3〕に従った処理を実行することにより、各ポリゴンの平均点(Xc(i),Yc(i),Zc(i))を算出する。   First, a reference point in the target model in which the number of polygons is reduced in step S100 is calculated (step S201). Specifically, for each polygon constituting the polygon model, an average point that is the average of the vertices is calculated, and an average value of the average points of N polygons that constitute the polygon model is calculated as a reference point of the polygon model. Specifically, first, an average point (Xc (i), Yc (i), Zc (i)) of each polygon is calculated by executing processing according to the following [Equation 3].

〔数式3〕
Xc(i)={X0(i)+X1(i)+X2(i)}/3
Yc(i)={Y0(i)+Y1(i)+Y2(i)}/3
Zc(i)={Z0(i)+Z1(i)+Z2(i)}/3
[Formula 3]
Xc (i) = {X0 (i) + X1 (i) + X2 (i)} / 3
Yc (i) = {Y0 (i) + Y1 (i) + Y2 (i)} / 3
Zc (i) = {Z0 (i) + Z1 (i) + Z2 (i)} / 3

次に、以下の〔数式4〕に従った処理を実行することにより、ポリゴンモデルの基準点(Xg,Yg,Zg)を算出する。   Next, a reference point (Xg, Yg, Zg) of the polygon model is calculated by executing processing according to the following [Equation 4].

〔数式4〕
Xg={Σi=0,N-1Xc(i)}/N
Yg={Σi=0,N-1Yc(i)}/N
Zg={Σi=0,N-1Zc(i)}/N
[Formula 4]
Xg = {Σ i = 0, N−1 Xc (i)} / N
Yg = {Σi = 0, N−1 Yc (i)} / N
Zg = {Σ i = 0, N−1 Zc (i)} / N

上記〔数式4〕において、Σの添え字の“i=0,N−1”は、iが0からN−1の全ての整数をとる場合について、総和を求めることを示している。以下の数式においても同様である。図13および図14は、ポリゴン正規化処理の第1の手法の概要を示す図である。図13および図14において大きな直方体と小さな直方体で示した物体は、対象モデルの一例である。図13(a)は、XYZの三次元空間における正規化前の対象モデルを示している。   In the above [Expression 4], the subscript “i = 0, N−1” of Σ indicates that the sum is obtained when i is an integer from 0 to N−1. The same applies to the following equations. 13 and 14 are diagrams showing an outline of the first method of polygon normalization processing. The object shown in FIG. 13 and FIG. 14 as a large cuboid and a small cuboid is an example of a target model. FIG. 13A shows a target model before normalization in an XYZ three-dimensional space.

次に、対象モデルの移動を行う(ステップS202)。具体的には、基準点(Xg,Yg,Zg)が三次元座標の原点(0,0,0)に位置するように、対象モデルを構成する全てのポリゴンを移動する。具体的には、以下の〔数式5〕に従った処理を実行することにより、対象モデルを移動する。   Next, the target model is moved (step S202). Specifically, all the polygons constituting the target model are moved so that the reference point (Xg, Yg, Zg) is located at the origin (0, 0, 0) of the three-dimensional coordinates. Specifically, the target model is moved by executing processing according to the following [Equation 5].

〔数式5〕
Xk(i)←Xk(i)−Xg
Yk(i)←Yk(i)−Yg
Zk(i)←Zk(i)−Zg
[Formula 5]
Xk (i) ← Xk (i) -Xg
Yk (i) ← Yk (i) −Yg
Zk (i) ← Zk (i) -Zg

移動後、上記〔数式3〕に従った処理を実行することにより、各ポリゴンの平均点(Xc(i),Yc(i),Zc(i))を再算出する。   After the movement, the average point (Xc (i), Yc (i), Zc (i)) of each polygon is recalculated by executing the processing according to the above [Equation 3].

次に、原点に移動後の基準点(Xg,Yg,Zg)から各ポリゴンの平均点までの距離を算出し、そのうち最長である最長距離を求める(ステップS203)。具体的には、以下の〔数式6〕に従った処理を実行することにより、最長距離Lmaxを算出する。   Next, the distance from the reference point (Xg, Yg, Zg) after moving to the origin to the average point of each polygon is calculated, and the longest longest distance is obtained (step S203). Specifically, the longest distance Lmax is calculated by executing processing according to the following [Equation 6].

〔数式6〕
Lmax
=Maxi=0,N-1{(Xc(i))2+(Yc(i))2+(Zc(i))21/2
={(Xc(im))2+(Yc(im))2+(Zc(im))21/2
[Formula 6]
Lmax
= Max i = 0, N-1 {(Xc (i)) 2 + (Yc (i)) 2 + (Zc (i)) 2 } 1/2
= {(Xc (im)) 2 + (Yc (im)) 2 + (Zc (im)) 2 } 1/2

上記〔数式6〕において、Maxの添え字の“i=0,N−1”は、iが0からN−1の全ての整数をとる場合における、最大値を選択することを示している。以下の数式においても同様である。また、“im”は、基準点との距離が最大となるポリゴンである最遠ポリゴンのポリゴン番号を示している。   In the above [Expression 6], the subscript “i = 0, N−1” of Max indicates that the maximum value is selected when i takes all integers from 0 to N−1. The same applies to the following equations. “Im” indicates the polygon number of the farthest polygon which is the polygon having the maximum distance from the reference point.

次に、主軸候補を複数抽出する(ステップS204)。具体的には、基準点(Xg,Yg,Zg)から各ポリゴンの平均点までの距離が、最長距離Lmax−微小量d以上となる主軸候補を全て抽出する。微小量dは、浮動小数点演算の誤差等で端数に相違がある程度のものであり、物理的に最長距離Lmaxと一致するとみなせるものを設定することができる。したがって、微小量dとしては、Lmax×0.00001〜Lmax×0.001の範囲で設定することができるが、本実施形態では、d=Lmax×0.0001に設定している。ステップS204では、以下の〔数式7〕に示した条件を満たすポリゴンiに対応する主軸候補を抽出する。   Next, a plurality of spindle candidates are extracted (step S204). Specifically, all the spindle candidates whose distance from the reference point (Xg, Yg, Zg) to the average point of each polygon is equal to or greater than the longest distance Lmax−the minute amount d are extracted. The minute amount d has a certain difference in fraction due to an error in floating-point arithmetic, etc., and can be set so as to be physically coincident with the longest distance Lmax. Therefore, the minute amount d can be set in the range of Lmax × 0.00001 to Lmax × 0.001, but in this embodiment, it is set to d = Lmax × 0.0001. In step S204, candidate spindles corresponding to the polygon i satisfying the condition shown in [Formula 7] below are extracted.

〔数式7〕
{(Xc(i))2+(Yc(i))2+(Zc(i))21/2≧Lmax−d
[Formula 7]
{(Xc (i)) 2 + (Yc (i)) 2 + (Zc (i)) 2 } 1/2 ≧ Lmax−d

主軸候補には、基準点と抽出されたポリゴンiの平均点とを結ぶ線分の長さが〔数式7〕に示した条件を満たすものが全て抽出される。したがって、主軸候補は、方向と長さを持つ線分となる。主軸候補には、最長距離となったものは当然含まれる。すなわち最遠ポリゴンimに対応するものも主軸候補として選ばれる。この結果、図13(b)に示すように、基準点が原点(0,0,0)と一致し、複数の主軸候補が抽出される。図13(b)では、主軸候補1と主軸候補2の2つが、主軸候補として抽出された例を示し、その内の一方は必ず最長距離となった最遠ポリゴンimを示すものになっている。   As the main axis candidates, all those whose lengths of the line segment connecting the reference point and the average point of the extracted polygon i satisfy the condition shown in [Formula 7] are extracted. Therefore, the principal axis candidate is a line segment having a direction and a length. The spindle candidate naturally includes the longest distance candidate. That is, the one corresponding to the farthest polygon im is also selected as the principal axis candidate. As a result, as shown in FIG. 13B, the reference point coincides with the origin (0, 0, 0), and a plurality of spindle candidates are extracted. FIG. 13B shows an example in which two main spindle candidates 1 and 2 are extracted as main spindle candidates, and one of them shows the farthest polygon im having the longest distance. .

次に、主軸の選定およびスケーリングを行う(ステップS205)。具体的には、まず、規制モデルと対象モデルとではポリゴン構成が同一であるか、または同一でないとしてもポリゴン配列順序の大幅な入れ替えがないと仮定できる場合(CADデータ形式に逆変換され編集された場合など)、ポリゴン配列上で先頭に位置するポリゴンに対応する主軸候補を主軸に選定するという簡便な方法がとれる。ここで、先頭に位置するポリゴンに対応する主軸候補は、主軸候補の探索時に最初に抽出された主軸候補(その長さがLmaxに一致するもの)とは必ずしも一致しない。主軸候補は、その一方の端点がポリゴンの平均点であるため、そのポリゴンのポリゴン番号と対応付けて処理される。主軸候補の探索および主軸の選定処理は2回のプロセスに渡って行われる。第1回目のプロセスでは、基準点から最長距離をもつポリゴンを1つ特定し、この最長距離をLmaxとする。この段階で特定されたポリゴンはあくまで主軸候補の1つである。この時、同一の最長距離Lmaxをもつポリゴンが複数存在する場合、ポリゴン番号の小さい順に処理がなされていれば、ポリゴン番号が最小のものが、ポリゴン配列上で先頭に位置するポリゴンに対応する主軸候補として選定されることになる。第2回目のプロセスでは、基準点からの長さがLmax−d以上を満たすポリゴンを主軸候補として全て抽出する。この段階で抽出された複数個(2個以上)の主軸候補より、ポリゴン番号が最小のものを主軸として選定する。この段階で抽出された主軸候補が1つしか無い場合、即ち第1回目のプロセスで特定されたポリゴン以外に該当する他のポリゴンが見つからなかった場合は、当該ポリゴン平均点への方向が主軸として決定される。最長距離から所定の範囲内にあるものであれば、どれを選んでも同じであるため、事前に設定した規則に従って、例えばポリゴン番号が2番目に小さいもの、ポリゴン番号が最大のもの、等を選定することも可能である。平均点が(Xc(T),Yc(T),Zc(T))であるポリゴンTを主軸に選定した場合、以下の〔数式8〕に従った処理を実行することにより、主軸長さLTを算出する。   Next, the spindle is selected and scaled (step S205). Specifically, first, if the restriction model and the target model have the same polygon configuration, or if they are not the same, it can be assumed that there is no significant change in the polygon arrangement order (reverse conversion to CAD data format and editing). In this case, a simple method can be adopted in which a main axis candidate corresponding to the polygon located at the head of the polygon array is selected as the main axis. Here, the principal axis candidate corresponding to the polygon located at the head does not necessarily match the principal axis candidate (whose length matches Lmax) extracted first when searching for the principal axis candidate. The main axis candidate is processed in association with the polygon number of the polygon because one of the end points is the average point of the polygon. The search for the spindle candidate and the spindle selection process are performed over two processes. In the first process, one polygon having the longest distance from the reference point is specified, and this longest distance is set to Lmax. The polygon specified at this stage is only one of the main axis candidates. At this time, when there are a plurality of polygons having the same longest distance Lmax, if the processing is performed in order from the smallest polygon number, the one with the smallest polygon number corresponds to the main polygon corresponding to the first polygon on the polygon array. It will be selected as a candidate. In the second process, all polygons whose length from the reference point satisfies Lmax-d or more are extracted as main axis candidates. From the plural (two or more) principal axis candidates extracted at this stage, the one having the smallest polygon number is selected as the principal axis. If there is only one main axis candidate extracted at this stage, that is, if no other polygons other than the polygon specified in the first process are found, the direction to the average point of the polygon is the main axis. It is determined. As long as it is within the predetermined range from the longest distance, it is the same regardless of the choice, so according to the rules set in advance, for example, the polygon with the second smallest polygon number, the one with the largest polygon number, etc. It is also possible to do. When the polygon T having the average point (Xc (T), Yc (T), Zc (T)) is selected as the main axis, the main axis length LT is obtained by executing the processing according to the following [Equation 8]. Is calculated.

〔数式8〕
LT={(Xc(T))2+(Yc(T))2+(Zc(T))21/2
[Formula 8]
LT = {(Xc (T)) 2 + (Yc (T)) 2 + (Zc (T)) 2 } 1/2

続いて、スケーリングを行う。具体的には、以下の〔数式9〕に従った処理を実行することにより、主軸長さLTが基準長になるように各ポリゴンの頂点座標および平均点座標を補正する。   Subsequently, scaling is performed. Specifically, by executing processing according to the following [Equation 9], the vertex coordinates and average point coordinates of each polygon are corrected so that the spindle length LT becomes the reference length.

〔数式9〕
Xk'(i)=Xk(i)×100/LT
Yk'(i)=Yk(i)×100/LT
Zk'(i)=Zk(i)×100/LT
Xc'(i)={X0'(i)+X1'(i)+X2'(i)}/3
Yc'(i)={Y0'(i)+Y1'(i)+Y2'(i)}/3
Zc'(i)={Z0'(i)+Z1'(i)+Z2'(i)}/3
[Formula 9]
Xk ′ (i) = Xk (i) × 100 / LT
Yk ′ (i) = Yk (i) × 100 / LT
Zk ′ (i) = Zk (i) × 100 / LT
Xc ′ (i) = {X0 ′ (i) + X1 ′ (i) + X2 ′ (i)} / 3
Yc ′ (i) = {Y0 ′ (i) + Y1 ′ (i) + Y2 ′ (i)} / 3
Zc ′ (i) = {Z0 ′ (i) + Z1 ′ (i) + Z2 ′ (i)} / 3

上記〔数式9〕は、上記基準長を“100”とした場合を示している。ステップS205の処理により、各ポリゴンiの頂点は、(Xk'(i),Yk'(i),Zk'(i))、各ポリゴンiの平均点は(Xc'(i),Yc'(i),Zc'(i))となる。また、対象モデルは、図13(c)に示すように、主軸が選定され、選定された主軸の長さが基準長に変更される。   [Equation 9] shows a case where the reference length is set to “100”. By the processing of step S205, the vertexes of each polygon i are (Xk ′ (i), Yk ′ (i), Zk ′ (i)), and the average points of each polygon i are (Xc ′ (i), Yc ′ ( i), Zc ′ (i)). Further, as shown in FIG. 13C, the target model is selected as the main shaft, and the length of the selected main shaft is changed to the reference length.

次に、XZ座標上で主軸をZ軸正方向に揃えるようにY軸中心回転を行う(ステップS206)。具体的には、まず、以下の〔数式10〕に従った処理を実行することにより、主軸とZ軸正方向との角度Ang、主軸ポリゴンTの平均点Z座標Zc''Tを求める。なお、主軸ポリゴンとは、主軸の一方の端点がそのポリゴンの平均点となるポリゴンである。   Next, the Y-axis center rotation is performed so that the main axis is aligned in the positive Z-axis direction on the XZ coordinate (step S206). Specifically, first, an angle Ang between the main axis and the positive direction of the Z axis and an average point Z coordinate Zc ″ T of the main axis polygon T are obtained by executing processing according to the following [Equation 10]. The main-axis polygon is a polygon in which one end point of the main axis is an average point of the polygon.

〔数式10〕
Ang=−tan-1(Xc'(T)/Zc'(T))
Zc''(T)=cos(Ang)×Zc'(T)−sin(Ang)×Xc'(T)
[Formula 10]
Ang = −tan −1 (Xc ′ (T) / Zc ′ (T))
Zc ″ (T) = cos (Ang) × Zc ′ (T) −sin (Ang) × Xc ′ (T)

さらに、Zc''(T)の値に応じて場合分けし、以下の〔数式11〕に従った処理を実行することにより、回転後の対象モデルを求める。   Further, the target model after rotation is obtained by performing processing according to the following [Equation 11] depending on the value of Zc ″ (T).

〔数式11〕
i=0,・・・,N−1、k=0,1,2において、
1)Zc''(T)≧0の場合
Zk''(i)=cos(Ang)×Zk'(i)−sin(Ang)×Xk'(i)
Xk''(i)=sin(Ang)×Zk'(i)+cos(Ang)×Xk'(i)
Zc''(T)=cos(Ang)×Zc'(T)−sin(Ang)×Xc'(T)
Xc''(T)=sin(Ang)×Zc'(T)+cos(Ang)×Xc'(T)
2)Zc''(T)<0の場合
Zk''(i)=−cos(Ang)×Zk'(i)+sin(Ang)×Xk'(i)
Xk''(i)=−sin(Ang)×Zk'(i)−cos(Ang)×Xk'(i)
Zc''(T)=−cos(Ang)×Zc'(T)+sin(Ang)×Xc'(T)
Xc''(T)=−sin(Ang)×Zc'(T)−cos(Ang)×Xc'(T)
Zc''(T)の値に関わらず、平均点を更新する。
Xc''(i)={X0''(i)+X1''(i)+X2''(i)}/3
Zc''(i)={Z0''(i)+Z1''(i)+Z2''(i)}/3
[Formula 11]
i = 0,..., N−1, k = 0, 1, 2
1) When Zc ″ (T) ≧ 0 Zk ″ (i) = cos (Ang) × Zk ′ (i) −sin (Ang) × Xk ′ (i)
Xk ″ (i) = sin (Ang) × Zk ′ (i) + cos (Ang) × Xk ′ (i)
Zc ″ (T) = cos (Ang) × Zc ′ (T) −sin (Ang) × Xc ′ (T)
Xc ″ (T) = sin (Ang) × Zc ′ (T) + cos (Ang) × Xc ′ (T)
2) When Zc ″ (T) <0 Zk ″ (i) = − cos (Ang) × Zk ′ (i) + sin (Ang) × Xk ′ (i)
Xk ″ (i) = − sin (Ang) × Zk ′ (i) −cos (Ang) × Xk ′ (i)
Zc ″ (T) = − cos (Ang) × Zc ′ (T) + sin (Ang) × Xc ′ (T)
Xc ″ (T) = − sin (Ang) × Zc ′ (T) −cos (Ang) × Xc ′ (T)
The average score is updated regardless of the value of Zc ″ (T).
Xc ″ (i) = {X0 ″ (i) + X1 ″ (i) + X2 ″ (i)} / 3
Zc ″ (i) = {Z0 ″ (i) + Z1 ″ (i) + Z2 ″ (i)} / 3

ステップS206の処理により、対象モデルは、図13(d)に示すように、主軸がXZ平面においてZ軸正方向と重なるようになる。   As a result of the processing in step S206, as shown in FIG. 13D, the target model is such that the main axis overlaps the positive Z-axis direction on the XZ plane.

次に、YZ座標上で主軸をZ軸正方向に揃えるようにX軸中心回転を行う(ステップS207)。具体的には、まず、以下の〔数式12〕に従った処理を実行することにより、主軸とZ軸正方向との角度Ang、主軸ポリゴンの平均点Z座標Zc'''(m)を求める。   Next, X-axis center rotation is performed so that the main axis is aligned with the Z-axis positive direction on the YZ coordinates (step S207). Specifically, first, an angle Ang between the main axis and the positive direction of the Z axis and an average point Z coordinate Zc ′ ″ (m) of the main axis polygon are obtained by executing the processing according to the following [Equation 12]. .

〔数式12〕
Ang=−tan-1(Yc'(T)/Zc''(T))
Zc'''(T)=cos(Ang)×Zc''(T)−sin(Ang)×Yc'(T)
[Formula 12]
Ang = −tan −1 (Yc ′ (T) / Zc ″ (T))
Zc ′ ″ (T) = cos (Ang) × Zc ″ (T) −sin (Ang) × Yc ′ (T)

さらに、Zc'''(T)の値に応じて場合分けし、以下の〔数式13〕に従った処理を実行することにより、回転後の対象モデルを求める。   Further, the target model after rotation is obtained by performing processing according to the following [Equation 13] depending on the value of Zc ′ ″ (T).

〔数式13〕
i=0,・・・,N−1、k=0,1,2において、
1)Zc'''(T)≧0の場合
Zk'''(i)=cos(Ang)×Zk''(i)−sin(Ang)×Yk'(i)
Yk''(i)=sin(Ang)×Zk''(i)+cos(Ang)×Yk'(i)
2)Zc'''(T)<0の場合
Zk'''(i)=−cos(Ang)×Zk''(i)+sin(Ang)×Yk'(i)
Yk''(i)=−sin(Ang)×Zk''(i)−cos(Ang)×Yk'(i)
Zc''(T)の値に関わらず、平均点を更新する。
Yc''(i)={Y0''(i)+Y1''(i)+Y2''(i)}/3
Zc'''(i)={Z0'''(i)+Z1'''(i)+Z2'''(i)}/3
[Formula 13]
i = 0,..., N−1, k = 0, 1, 2
1) When Zc ′ ″ (T) ≧ 0 Zk ′ ″ (i) = cos (Ang) × Zk ″ (i) −sin (Ang) × Yk ′ (i)
Yk ″ (i) = sin (Ang) × Zk ″ (i) + cos (Ang) × Yk ′ (i)
2) When Zc ′ ″ (T) <0 Zk ′ ″ (i) = − cos (Ang) × Zk ″ (i) + sin (Ang) × Yk ′ (i)
Yk ″ (i) = − sin (Ang) × Zk ″ (i) −cos (Ang) × Yk ′ (i)
The average score is updated regardless of the value of Zc ″ (T).
Yc ″ (i) = {Y0 ″ (i) + Y1 ″ (i) + Y2 ″ (i)} / 3
Zc ′ ″ (i) = {Z0 ′ ″ (i) + Z1 ′ ″ (i) + Z2 ′ ″ (i)} / 3

ステップS207の処理により、対象モデルは、図13(e)に示すように、主軸がYZ平面においてZ軸正方向と重なるようになる。これにより、三次元空間において、対象モデルの主軸は、Z軸正方向と重なることになる。本実施形態では、主軸をZ軸の正方向に重ねたが、負方向に重ねるようにしてもよい。   As a result of the processing in step S207, as shown in FIG. 13E, the target model is such that the main axis overlaps the positive Z-axis direction on the YZ plane. Thereby, in the three-dimensional space, the main axis of the target model overlaps with the positive direction of the Z axis. In the present embodiment, the main axis is overlapped in the positive direction of the Z axis, but may be overlapped in the negative direction.

次に、対象モデルの副軸を求める(ステップS208)。具体的には、XY平面上で原点(0,0,0)から各ポリゴンの平均点までの距離を算出し、そのうち最長である最長距離の線分を副軸とする。具体的には、以下の〔数式14〕に従った処理を実行することにより、副軸長さLmax2を算出する。   Next, the secondary axis of the target model is obtained (step S208). Specifically, the distance from the origin (0, 0, 0) to the average point of each polygon is calculated on the XY plane, and the longest longest line segment is used as the secondary axis. Specifically, the sub-axis length Lmax2 is calculated by executing processing according to the following [Equation 14].

〔数式14〕
Lmax2=Maxi=0,N-1{(Xc''(i))2+(Yc(i)'')21/2
={(Xc''(T2))2+(Yc(T2)'')21/2
[Formula 14]
Lmax2 = Max i = 0, N−1 {(Xc ″ (i)) 2 + (Yc (i) ″) 2 } 1/2
= {(Xc ″ (T2)) 2 + (Yc (T2) ″) 2 } 1/2

上記〔数式14〕において、“T2”は、XY平面において基準点(原点)との二次元的距離が最大となるポリゴンのポリゴン番号を示している。副軸は、基準点(原点)と抽出されたポリゴンT2の二次元的平均点とを結ぶ線分として特定される。したがって、副軸は、方向と長さを持つ線分となる。ステップS208の処理により、対象モデルは、図13(f)に示すように、副軸が決定されることになる。   In the above [Equation 14], “T2” indicates the polygon number of the polygon having the maximum two-dimensional distance to the reference point (origin) on the XY plane. The minor axis is specified as a line segment connecting the reference point (origin) and the two-dimensional average point of the extracted polygon T2. Therefore, the minor axis is a line segment having a direction and a length. By the processing in step S208, the secondary axis of the target model is determined as shown in FIG.

次に、XY座標上で副軸をY軸正方向に揃えるようにZ軸中心回転を行う(ステップS209)。具体的には、まず、以下の〔数式15〕に従った処理を実行することにより、副軸とZ軸正方向との角度Ang、副軸ポリゴンの平均点Y座標Yc'''(T2)を求める。なお、副軸ポリゴンとは、副軸の一方の端点がそのポリゴンの平均点となるポリゴンである。   Next, Z-axis center rotation is performed so that the sub-axis is aligned with the Y-axis positive direction on the XY coordinates (step S209). Specifically, first, by executing processing according to the following [Formula 15], the angle Ang between the secondary axis and the positive direction of the Z axis, the average point Y coordinate Yc ′ ″ (T2) of the secondary axis polygon Ask for. The minor axis polygon is a polygon in which one end point of the minor axis is the average point of the polygons.

〔数式15〕
Ang=−tan-1(Xc''(T2)/Yc''(T2))
Yc'''(T2)=cos(Ang)×Yc''(T2)−sin(Ang)×Xc''( T2)
[Formula 15]
Ang = −tan −1 (Xc ″ (T2) / Yc ″ (T2))
Yc ′ ″ (T2) = cos (Ang) × Yc ″ (T2) −sin (Ang) × Xc ″ (T2)

さらに、Yc'''(T2)の値に応じて場合分けし、以下の〔数式16〕に従った処理を実行することにより、回転後の対象モデルを求める。   Further, the target model after rotation is obtained by performing a process according to the following [Equation 16] according to the value of Yc ′ ″ (T2).

〔数式16〕
i=0,・・・,N−1、k=0,1,2において、
1)Yc'''(T2)≧0の場合
Yk'''(i)=cos(Ang)×Yk''(i)−sin(Ang)×Xk''(i)
Xk'''(i)=sin(Ang)×Yk''(i)+cos(Ang)×Xk''(i)
2)Yc'''(T2)<0の場合
Yk'''(i)=−cos(Ang)×Yk''(i)+sin(Ang)×Xk''(i)
Xk'''(i)=−sin(Ang)×Yk''(i)−cos(Ang)×Xk''(i)
Yc'''(T2)の値に関わらず、平均点を更新する。
Xc'''(i)={X0'''(i)+X1'''(i)+X2'''(i)}/3
Yc'''(i)={Y0'''(i)+Y1'''(i)+Y2'''(i)}/3
[Formula 16]
i = 0,..., N−1, k = 0, 1, 2
1) When Yc ′ ″ (T2) ≧ 0 Yk ′ ″ (i) = cos (Ang) × Yk ″ (i) −sin (Ang) × Xk ″ (i)
Xk ′ ″ (i) = sin (Ang) × Yk ″ (i) + cos (Ang) × Xk ″ (i)
2) When Yc ′ ″ (T2) <0 Yk ′ ″ (i) = − cos (Ang) × Yk ″ (i) + sin (Ang) × Xk ″ (i)
Xk ′ ″ (i) = − sin (Ang) × Yk ″ (i) −cos (Ang) × Xk ″ (i)
The average score is updated regardless of the value of Yc ′ ″ (T2).
Xc ″ ′ (i) = {X0 ′ ″ (i) + X1 ′ ″ (i) + X2 ′ ″ (i)} / 3
Yc ′ ″ (i) = {Y0 ′ ″ (i) + Y1 ′ ″ (i) + Y2 ′ ″ (i)} / 3

ステップS209の処理により、対象モデルは、図14(g)に示すように、副軸がXY平面においてY軸正方向と重なるようになる。本実施形態では、副軸をY軸の正方向に重ねたが、負方向に重ねるようにしてもよい。   As a result of the processing in step S209, the target model is such that the secondary axis overlaps the positive Y-axis direction on the XY plane, as shown in FIG. In the present embodiment, the auxiliary shaft is overlapped in the positive direction of the Y axis, but may be overlapped in the negative direction.

上記処理の結果、正規化された対象モデルが得られる。正規化された対象モデルは、ポリゴン数N、ポリゴンを特定する変数i(i=0,・・・,N−1)とし、各ポリゴンiの頂点は(Xk'''(i),Yk'''(i),Zk'''(i))と定義される。kは頂点番号を示しており、本実施形態では、ポリゴンが三角形であるため、k=0,1,2の3つの値をとる。また、各ポリゴンiの平均点は(Xc'''(i),Yc'''(i),Zc'''(i))と定義される。ポリゴン正規化処理の結果、図14(h)に示すように、対象モデルは、所定の位置、スケール、傾きに正規化される。   As a result of the above processing, a normalized target model is obtained. The normalized target model has a polygon number N and a variable i (i = 0,..., N−1) for specifying the polygon, and the vertex of each polygon i is (Xk ′ ″ (i), Yk ′). '' (I), Zk ′ '' (i)). k indicates a vertex number, and in this embodiment, since the polygon is a triangle, it takes three values, k = 0, 1, and 2. The average point of each polygon i is defined as (Xc ′ ″ (i), Yc ′ ″ (i), Zc ′ ″ (i)). As a result of the polygon normalization process, the target model is normalized to a predetermined position, scale, and inclination as shown in FIG.

<2.4.2.ポリゴン正規化処理(第2の手法)>
次に、ステップS200におけるポリゴン正規化処理の第2の手法について説明する。前述の第1の方法では、規制モデルと対象モデルとでポリゴン構成が同一か、同一でないとしても、ポリゴン配列順序の入れ替えがないと仮定できるという適用条件があり、この仮定が成り立たない場合は全て、以下に述べる第2の手法の適用になる。図15は、ステップS200のポリゴン正規化処理の第2の手法を示すフローチャートである。第1の手法の場合と同様、ステップS100においてポリゴン数が削減された対象モデルのポリゴン数N、ポリゴンを特定する変数i(i=0,・・・,N−1)とし、各ポリゴンiの頂点を(Xk(i),Yk(i),Zk(i))と定義されたものとする。kは頂点番号を示しており、本実施形態では、ポリゴンが三角形であるため、k=0,1,2の3つの値をとる。
<2.4.2. Polygon normalization processing (second method)>
Next, a second method of polygon normalization processing in step S200 will be described. In the first method described above, there is an application condition that it is possible to assume that the polygon arrangement order is not changed even if the restriction model and the target model have the same polygon configuration or not, and all cases where this assumption does not hold. The second method described below is applied. FIG. 15 is a flowchart showing a second method of polygon normalization processing in step S200. As in the case of the first method, the number N of polygons of the target model in which the number of polygons has been reduced in step S100 and the variable i (i = 0,..., N−1) for specifying the polygon are used. The vertices are defined as (Xk (i), Yk (i), Zk (i)). k indicates a vertex number, and in this embodiment, since the polygon is a triangle, it takes three values, k = 0, 1, and 2.

まず、ステップS100においてポリゴン数が削減された対象モデルにおける基準点を算出する(ステップS211)。具体的には、図12に示した第1の手法のステップS201と同様、上記〔数式3〕に従った処理を実行することにより、各ポリゴンの平均点(Xc(i),Yc(i),Zc(i))を算出する。   First, a reference point in the target model in which the number of polygons is reduced in step S100 is calculated (step S211). Specifically, the average point (Xc (i), Yc (i) of each polygon is obtained by executing the processing according to the above [Equation 3] as in step S201 of the first method shown in FIG. , Zc (i)).

次に、第1の手法のステップS201と同様、上記〔数式4〕に従った処理を実行することにより、ポリゴンモデルの基準点(Xg,Yg,Zg)を算出する。   Next, the polygon model reference point (Xg, Yg, Zg) is calculated by executing the processing according to the above [Equation 4] as in step S201 of the first method.

図16〜図18は、ポリゴン正規化処理の第2の手法の概要を示す図である。図16〜図18において大きな直方体と小さな直方体で示した物体は、対象モデルの一例である。図16(a)は、XYZの三次元空間における正規化前の対象モデルを示している。   16 to 18 are diagrams showing an outline of the second method of polygon normalization processing. In FIGS. 16 to 18, an object represented by a large cuboid and a small cuboid is an example of a target model. FIG. 16A shows a target model before normalization in an XYZ three-dimensional space.

次に、対象モデルの移動を行う(ステップS212)。具体的には、図12に示した第1の手法のステップS202と同様、上記〔数式5〕に従った処理を実行することにより、対象モデルを移動する。   Next, the target model is moved (step S212). Specifically, as in step S202 of the first method shown in FIG. 12, the target model is moved by executing the process according to [Formula 5].

移動後、上記〔数式3〕に従った処理を実行することにより、各ポリゴンの平均点(Xc(i),Yc(i),Zc(i))を再算出する。   After the movement, the average point (Xc (i), Yc (i), Zc (i)) of each polygon is recalculated by executing the processing according to the above [Equation 3].

次に、原点に移動後の基準点(Xg,Yg,Zg)から各ポリゴンの平均点までの距離を算出し、そのうち最長である最長距離を求める(ステップS213)。具体的には、図12に示した第1の手法のステップS203と同様、上記〔数式6〕に従った処理を実行することにより、最長距離Lmaxを算出する。   Next, the distance from the reference point (Xg, Yg, Zg) after moving to the origin to the average point of each polygon is calculated, and the longest distance among them is obtained (step S213). Specifically, the longest distance Lmax is calculated by executing the process according to the above [Equation 6] as in step S203 of the first method shown in FIG.

次に、主軸候補を複数抽出する(ステップS214)。具体的には、図12に示した第1の手法のステップS204と同様、上記〔数式7〕に示した条件を満たすポリゴンに対応する主軸候補を全て抽出する。   Next, a plurality of spindle candidates are extracted (step S214). Specifically, as in step S204 of the first method shown in FIG. 12, all spindle candidates corresponding to polygons that satisfy the condition shown in [Formula 7] are extracted.

主軸候補には、基準点と抽出されたポリゴンの平均点とを結ぶ線分の長さが〔数式7〕に示した条件を満たすものが全て抽出される。したがって、主軸候補は、方向と長さを持つ線分となる。主軸候補には、最長距離となったものは当然含まれる。すなわち最遠ポリゴンimに対応するものも主軸候補として選ばれる。この結果、図16(b)に示すように、基準点が原点(0,0,0)と一致し、複数の主軸候補が抽出される。図16(b)では、主軸候補1と主軸候補2の2つが、主軸候補として抽出された例を示し、その内の一方は必ず最長距離となった最遠ポリゴンimを示すものになっている。   As the main axis candidates, all those whose lengths of the line segment connecting the reference point and the average point of the extracted polygons satisfy the condition shown in [Formula 7] are extracted. Therefore, the principal axis candidate is a line segment having a direction and a length. The spindle candidate naturally includes the longest distance candidate. That is, the one corresponding to the farthest polygon im is also selected as the principal axis candidate. As a result, as shown in FIG. 16B, the reference point coincides with the origin (0, 0, 0), and a plurality of spindle candidates are extracted. FIG. 16B shows an example in which two main spindle candidates 1 and 2 are extracted as main spindle candidates, and one of them shows the farthest polygon im having the longest distance. .

次に、各主軸候補に対してスケーリングを行う(ステップS215)。具体的には、M個の主軸候補(図16例ではM=2)より主軸候補mを順次選出する(m=1,...,M)。まず、図16(c)に示す通り主軸候補1(m=1)を選出する。主軸候補mに対応するポリゴンをtmとすると、tmについて、以下の〔数式17〕に従った処理を実行することにより、主軸候補長さL(tm)を算出する。   Next, scaling is performed for each spindle candidate (step S215). Specifically, the spindle candidate m is sequentially selected from the M spindle candidates (M = 2 in the example of FIG. 16) (m = 1,..., M). First, candidate spindle 1 (m = 1) is selected as shown in FIG. Assuming that the polygon corresponding to the main spindle candidate m is tm, the main spindle candidate length L (tm) is calculated for tm by executing the processing according to the following [Equation 17].

〔数式17〕
L(tm)={(Xc(tm))2+(Yc(tm))2+(Zc(tm))21/2
[Formula 17]
L (tm) = {(Xc (tm)) 2 + (Yc (tm)) 2 + (Zc (tm)) 2 } 1/2

続いて、スケーリングを行う。具体的には、以下の〔数式18〕に従った処理を実行することにより、主軸候補長さL(tm)が基準長になるように各ポリゴンの頂点座標および平均点座標を補正する。   Subsequently, scaling is performed. Specifically, by executing processing according to the following [Equation 18], the vertex coordinates and average point coordinates of each polygon are corrected so that the principal axis candidate length L (tm) becomes the reference length.

〔数式18〕
Xk'(i)=Xk(i)×100/L(tm)
Yk'(i)=Yk(i)×100/L(tm)
Zk'(i)=Zk(i)×100/L(tm)
Xc'(i)={X0'(i)+X1'(i)+X2'(i)}/3
Yc'(i)={Y0'(i)+Y1'(i)+Y2'(i)}/3
Zc'(i)={Z0'(i)+Z1'(i)+Z2'(i)}/3
[Formula 18]
Xk ′ (i) = Xk (i) × 100 / L (tm)
Yk ′ (i) = Yk (i) × 100 / L (tm)
Zk ′ (i) = Zk (i) × 100 / L (tm)
Xc ′ (i) = {X0 ′ (i) + X1 ′ (i) + X2 ′ (i)} / 3
Yc ′ (i) = {Y0 ′ (i) + Y1 ′ (i) + Y2 ′ (i)} / 3
Zc ′ (i) = {Z0 ′ (i) + Z1 ′ (i) + Z2 ′ (i)} / 3

上記〔数式18〕は、上記基準長を“100”とした場合を示している。ステップS215の処理により、各ポリゴンiの頂点は、(Xk'(i),Yk'(i),Zk'(i))、各ポリゴンiの平均点は(Xc'(i),Yc'(i),Zc'(i))となる。また、対象モデルは、図16(c)に示すように、1つの主軸候補mの長さが基準長となる。   The above [Formula 18] shows a case where the reference length is “100”. Through the processing in step S215, the vertices of each polygon i are (Xk ′ (i), Yk ′ (i), Zk ′ (i)), and the average points of each polygon i are (Xc ′ (i), Yc ′ ( i), Zc ′ (i)). In the target model, as shown in FIG. 16C, the length of one principal axis candidate m is a reference length.

次に、XZ座標上で主軸候補mをZ軸正方向に揃えるようにY軸中心回転を行う(ステップS216)。具体的には、まず、以下の〔数式19〕に従った処理を実行することにより、主軸候補mとZ軸正方向との角度Ang、主軸候補ポリゴンtmの平均点Z座標Zc''(tm)を求める。なお、主軸候補ポリゴンtmとは、主軸候補mの一方の端点がそのポリゴンの平均点となるポリゴンである。   Next, the Y-axis center rotation is performed so that the principal axis candidate m is aligned in the positive Z-axis direction on the XZ coordinate (step S216). Specifically, first, by executing the processing according to the following [Equation 19], the angle Ang between the principal axis candidate m and the positive Z-axis direction, the average point Z coordinate Zc ″ (tm) of the principal axis candidate polygon tm ) The spindle candidate polygon tm is a polygon in which one end point of the spindle candidate m is an average point of the polygons.

〔数式19〕
Ang=−tan-1(Xc'(tm)/Zc'(tm))
Zc''(tm)=cos(Ang)×Zc'(tm)−sin(Ang)×Xc'(tm)
[Formula 19]
Ang = −tan −1 (Xc ′ (tm) / Zc ′ (tm))
Zc ″ (tm) = cos (Ang) × Zc ′ (tm) −sin (Ang) × Xc ′ (tm)

さらに、Zc''(tm)の値に応じて場合分けし、以下の〔数式20〕に従った処理を実行することにより、回転後の対象モデルを求める。   Further, the target model after rotation is obtained by performing processing according to the following [Equation 20] according to the case according to the value of Zc ″ (tm).

〔数式20〕
i=0,・・・,N−1、k=0,1,2において、
1)Zc''(tm)≧0の場合
Zk''(i)=cos(Ang)×Zk'(i)−sin(Ang)×Xk'(i)
Xk''(i)=sin(Ang)×Zk'(i)+cos(Ang)×Xk'(i)
Zc''(tm)=cos(Ang)×Zc'(tm)−sin(Ang)×Xc'(tm)
Xc''(tm)=sin(Ang)×Zc'(tm)+cos(Ang)×Xc'(tm)
2)Zc''(tm)<0の場合
Zk''(i)=−cos(Ang)×Zk'(i)+sin(Ang)×Xk'(i)
Xk''(i)=−sin(Ang)×Zk'(i)−cos(Ang)×Xk'(i)
Zc''(tm)=−cos(Ang)×Zc'(tm)+sin(Ang)×Xc'(tm)
Xc''(tm)=−sin(Ang)×Zc'(tm)−cos(Ang)×Xc'(tm)
Zc''(tm)の値に関わらず、平均点を更新する。
Xc''(i)={X0''(i)+X1''(i)+X2''(i)}/3
Zc''(i)={Z0''(i)+Z1''(i)+Z2''(i)}/3
[Formula 20]
i = 0,..., N−1, k = 0, 1, 2
1) When Zc ″ (tm) ≧ 0 Zk ″ (i) = cos (Ang) × Zk ′ (i) −sin (Ang) × Xk ′ (i)
Xk ″ (i) = sin (Ang) × Zk ′ (i) + cos (Ang) × Xk ′ (i)
Zc ″ (tm) = cos (Ang) × Zc ′ (tm) −sin (Ang) × Xc ′ (tm)
Xc ″ (tm) = sin (Ang) × Zc ′ (tm) + cos (Ang) × Xc ′ (tm)
2) When Zc ″ (tm) <0 Zk ″ (i) = − cos (Ang) × Zk ′ (i) + sin (Ang) × Xk ′ (i)
Xk ″ (i) = − sin (Ang) × Zk ′ (i) −cos (Ang) × Xk ′ (i)
Zc ″ (tm) = − cos (Ang) × Zc ′ (tm) + sin (Ang) × Xc ′ (tm)
Xc ″ (tm) = − sin (Ang) × Zc ′ (tm) −cos (Ang) × Xc ′ (tm)
The average score is updated regardless of the value of Zc ″ (tm).
Xc ″ (i) = {X0 ″ (i) + X1 ″ (i) + X2 ″ (i)} / 3
Zc ″ (i) = {Z0 ″ (i) + Z1 ″ (i) + Z2 ″ (i)} / 3

ステップS216の処理により、対象モデルは、図16(d)に示すように、主軸候補mがXZ平面においてZ軸正方向と重なるようになる。   As a result of the processing in step S216, in the target model, as shown in FIG. 16D, the main axis candidate m overlaps with the positive Z-axis direction on the XZ plane.

次に、YZ座標上で主軸候補mをZ軸正方向に揃えるようにX軸中心回転を行う(ステップS217)。具体的には、まず、以下の〔数式21〕に従った処理を実行することにより、主軸とZ軸正方向との角度Ang、主軸候補ポリゴンtmの平均点Z座標Zc'''(tm)を求める。   Next, X-axis center rotation is performed so that the main axis candidate m is aligned in the Z-axis positive direction on the YZ coordinates (step S217). Specifically, first, by executing the processing according to the following [Formula 21], the angle Ang between the main axis and the positive direction of the Z axis, the average point Z coordinate Zc ′ ″ (tm) of the main axis candidate polygon tm Ask for.

〔数式21〕
Ang=−tan-1(Yc'(tm)/Zc''(tm))
Zc'''(t)=cos(Ang)×Zc''(t)−sin(Ang)×Yc'(t)
[Formula 21]
Ang = −tan −1 (Yc ′ (tm) / Zc ″ (tm))
Zc ′ ″ (t) = cos (Ang) × Zc ″ (t) −sin (Ang) × Yc ′ (t)

さらに、Zc'''(tm)の値に応じて場合分けし、以下の〔数式22〕に従った処理を実行することにより、回転後の対象モデルを求める。   Further, the target model after rotation is obtained by performing processing according to the following [Equation 22] depending on the value of Zc ′ ″ (tm).

〔数式22〕
i=0,・・・,N−1、k=0,1,2において、
1)Zc'''(tm)≧0の場合
Zk'''(i)=cos(Ang)×Zk''(i)−sin(Ang)×Yk'(i)
Yk''(i)=sin(Ang)×Zk''(i)+cos(Ang)×Yk'(i)
2)Zc'''(tm)<0の場合
Zk'''(i)=−cos(Ang)×Zk''(i)+sin(Ang)×Yk'(i)
Yk''(i)=−sin(Ang)×Zk''(i)−cos(Ang)×Yk'(i)
Zc''(tm)の値に関わらず、平均点を更新する。
Yc''(i)={Y0''(i)+Y1''(i)+Y2''(i)}/3
Zc'''(i)={Z0'''(i)+Z1'''(i)+Z2'''(i)}/3
[Formula 22]
i = 0,..., N−1, k = 0, 1, 2
1) When Zc ′ ″ (tm) ≧ 0 Zk ′ ″ (i) = cos (Ang) × Zk ″ (i) −sin (Ang) × Yk ′ (i)
Yk ″ (i) = sin (Ang) × Zk ″ (i) + cos (Ang) × Yk ′ (i)
2) When Zc ′ ″ (tm) <0 Zk ′ ″ (i) = − cos (Ang) × Zk ″ (i) + sin (Ang) × Yk ′ (i)
Yk ″ (i) = − sin (Ang) × Zk ″ (i) −cos (Ang) × Yk ′ (i)
The average score is updated regardless of the value of Zc ″ (tm).
Yc ″ (i) = {Y0 ″ (i) + Y1 ″ (i) + Y2 ″ (i)} / 3
Zc ′ ″ (i) = {Z0 ′ ″ (i) + Z1 ′ ″ (i) + Z2 ′ ″ (i)} / 3

ステップS217の処理により、対象モデルは、図16(e)に示すように、主軸候補mがYZ平面においてZ軸正方向と重なるようになる。これにより、三次元空間において、対象モデルの主軸候補mは、Z軸正方向と重なることになる。本実施形態では、主軸候補mをZ軸の正方向に重ねたが、負方向に重ねるようにしてもよい。   As a result of the processing in step S217, as shown in FIG. 16E, in the target model, the main axis candidate m overlaps with the positive Z-axis direction on the YZ plane. Thereby, in the three-dimensional space, the principal axis candidate m of the target model overlaps with the positive direction of the Z axis. In the present embodiment, the principal axis candidate m is overlapped in the positive direction of the Z axis, but may be overlapped in the negative direction.

次に、現在処理中の主軸候補mに対応する副軸候補mを求める(ステップS218)。具体的には、XZ平面上で原点(0,0,0)から各ポリゴンの平均点までの二次元的な距離を算出し、そのうち最長である最長距離Lmax3をもつポリゴンtm2の平均点の方向を副軸候補mとする。具体的には、以下の〔数式23〕に従った処理を実行することにより、副軸候補mに対応するポリゴンをtm2として、副軸候補mの長さLmax3(最長距離)を算出する。   Next, a sub-axis candidate m corresponding to the main-axis candidate m currently being processed is obtained (step S218). Specifically, the two-dimensional distance from the origin (0, 0, 0) to the average point of each polygon is calculated on the XZ plane, and the direction of the average point of the polygon tm2 having the longest longest distance Lmax3 among them is calculated. Is a sub-axis candidate m. Specifically, by executing the processing according to the following [Equation 23], the length Lmax3 (longest distance) of the sub-axis candidate m is calculated using tm2 as the polygon corresponding to the sub-axis candidate m.

〔数式23〕
Lmax3=Maxi=0,N-1{(Xc''(i))2+(Yc''(i))21/2
={(Xc''(tm2))2+(Yc''(tm2))21/2
[Formula 23]
Lmax3 = Max i = 0, N−1 {(Xc ″ (i)) 2 + (Yc ″ (i)) 2 } 1/2
= {(Xc ″ (tm2)) 2 + (Yc ″ (tm2)) 2 } 1/2

ステップS218の処理により、対象モデルは、図16(f)に示すように、副軸候補mが決定されることになる。続いて、ステップS215に戻り、次の主軸候補である主軸候補2(m=2)を選出し、図16(b)に示す初期状態の対象モデルに戻って、新たな主軸候補2に基づいて同様にスケーリングを行う。その結果を図17(g)に示す。同様に、ステップS216に進み、図17(h)に示すように、主軸候補2がXZ平面においてZ軸正方向と重なるようにする。そしてステップS217に進み、図17(i)に示すように、主軸候補2がYZ平面においてZ軸正方向と重なるようにし、三次元空間において、対象モデルの主軸候補2がZ軸正方向と重なるようにする。更に、ステップS218に進み、図17(j)に示すように、主軸候補2に対応する副軸候補2を求める。図16・17に示されるモデル例については、2種類の主軸候補と副軸候補のセットを選出するだけで済むが、一般的には、ステップS214において抽出されたM個の主軸候補m(m=1,...,M)に対して、ステップS215〜ステップS218を繰り返して実行し、各主軸候補mに対応する副軸候補mを得る必要がある。   By the process of step S218, the sub-axis candidate m is determined for the target model as shown in FIG. Subsequently, the process returns to step S215, and the next main spindle candidate main spindle candidate 2 (m = 2) is selected. The process returns to the target model in the initial state shown in FIG. Scaling is performed in the same way. The result is shown in FIG. Similarly, the process proceeds to step S216, and as shown in FIG. 17H, the principal axis candidate 2 is overlapped with the positive direction of the Z axis in the XZ plane. Then, the process proceeds to step S217, and as shown in FIG. 17 (i), the main axis candidate 2 overlaps the Z axis positive direction on the YZ plane, and the main axis candidate 2 of the target model overlaps the Z axis positive direction in the three-dimensional space. Like that. Further, the process proceeds to step S218, and a sub-axis candidate 2 corresponding to the main axis candidate 2 is obtained as shown in FIG. In the model examples shown in FIGS. 16 and 17, it is only necessary to select a set of two types of main axis candidates and sub axis candidates, but in general, M main axis candidates m (m) extracted in step S214. = 1,..., M), it is necessary to repeatedly execute steps S215 to S218 to obtain sub-axis candidates m corresponding to the respective main-axis candidates m.

次に得られた複数の副軸候補の中から副軸を決定する(ステップS219)。具体的には、各副軸候補m(m=1,...,M)について、XYZ座標上で三次元的な距離L(m)を算出し、距離L(m)が最大となる副軸候補mを副軸として決定する。ただし、二番目に大きい距離L(ms)との差が所定値dd未満である場合には、最大のL(m)をML(m)としたとき、距離L(m)がML(m)−dd以上になる副軸候補mを全て抽出し、抽出された副軸候補mそれぞれについて、副軸候補mに対応する主軸候補mとの内積S(m)=(主軸候補mベクトル,副軸候補mベクトル)を算出し、内積S(m)の正負符号を考慮してその値が最大となる副軸候補mを副軸として決定するとともに、対応する主軸候補mが主軸として決定される。即ち、主軸候補の長さが長く、副軸候補の長さが長く、主軸候補と副軸候補とのなす角が0に近い副軸候補mが副軸に決定されやすい。ここで、所定値ddとしては、最大のL(m)をML(m)としたとき、ML(m)×0.00001〜ML(m)×0.001の範囲で設定することができるが、本実施形態では、dd=ML(m)×0.0001に設定している。距離L(m)、内積S(m)は、以下の〔数式24〕に従った処理を実行することにより算出される。   Next, a sub-axis is determined from the plurality of sub-axis candidates obtained (step S219). Specifically, for each sub-axis candidate m (m = 1,..., M), a three-dimensional distance L (m) is calculated on the XYZ coordinates, and the sub-axis having the maximum distance L (m) is calculated. The axis candidate m is determined as the secondary axis. However, when the difference from the second largest distance L (ms) is less than the predetermined value dd, the distance L (m) is ML (m) when the maximum L (m) is ML (m). Extract all sub-axis candidates m that are equal to or greater than -dd, and for each extracted sub-axis candidate m, the inner product S (m) = (main-axis candidate m vector, sub-axis) with the main-axis candidate m corresponding to the sub-axis candidate m (Candidate m vector) is calculated, and the sub-axis candidate m having the maximum value is determined as the sub-axis in consideration of the sign of the inner product S (m), and the corresponding main-axis candidate m is determined as the main axis. That is, the main axis candidate is long, the sub axis candidate is long, and the sub axis candidate m whose angle between the main axis candidate and the sub axis candidate is close to 0 is easily determined as the sub axis. Here, the predetermined value dd can be set in a range of ML (m) × 0.00001 to ML (m) × 0.001, where ML (m) is the maximum L (m). In this embodiment, dd = ML (m) × 0.0001 is set. The distance L (m) and the inner product S (m) are calculated by executing processing according to the following [Equation 24].

〔数式24〕
L(m)={(Xc(tm2))2+(Yc(tm2))2+(Zc(tm2))21/2
S(m)=Xc(tm)×Xc(tm2)+Yc(tm)×Yc(tm2)+Zc(tm)×Zc(tm2)
[Formula 24]
L (m) = {(Xc (tm2)) 2 + (Yc (tm2)) 2 + (Zc (tm2)) 2 } 1/2
S (m) = Xc (tm) × Xc (tm2) + Yc (tm) × Yc (tm2) + Zc (tm) × Zc (tm2)

副軸は、M個の副軸候補mの中から選定したものであるため、基準点(原点)と抽出されたポリゴンの二次元的平均点とを結ぶ線分として特定されており、方向と長さを持つ線分となる。ステップS219の処理により、対象モデルは、図17(k)に示す例では、図16(f)にて抽出された副軸候補1が副軸として決定されることになる。   Since the minor axis is selected from M minor axis candidates m, the minor axis is specified as a line segment connecting the reference point (origin) and the two-dimensional average point of the extracted polygon. It becomes a line segment with length. Through the processing in step S219, the target model is determined such that the sub-axis candidate 1 extracted in FIG. 16 (f) is the sub-axis in the example shown in FIG. 17 (k).

副軸が決定したら、その副軸候補m(図17例ではm=1)を抽出する基になった主軸候補mを主軸として選定する。主軸は、主軸候補の中から選定したものであるため、基準点と抽出されたポリゴンの平均点とを結ぶ線分として特定されており、方向と長さを持つ線分となる。   When the sub-axis is determined, the main axis candidate m from which the sub-axis candidate m (m = 1 in the example of FIG. 17) is extracted is selected as the main axis. Since the main axis is selected from the main axis candidates, it is specified as a line segment connecting the reference point and the average point of the extracted polygons, and is a line segment having a direction and a length.

主軸および副軸が決定したら、ステップS215に戻り、図16(b)に示す初期状態の対象モデルに戻って、決定された主軸(主軸候補1)に基づいて同様にステップS215からステップS219までの処理をやり直すことになるが、主軸候補1に基づくこれらの一連の処理は、図16(c)から図16(f)に示される通り既に実行しているため、これらの処理履歴が保存されていれば、その結果を用いて次のステップS220に進むことができる。具体的には、図17(k)の状態から図16(f)の状態に戻した上でステップS220に進み、XY座標上で副軸をY軸正方向に揃えるようにZ軸中心回転を行う(ステップS220)。具体的には、まず、第1の手法と同様、上記〔数式15〕においてポリゴンT2をtm2に置換した上で、〔数式15〕に従った処理を実行することにより、副軸とZ軸正方向との角度Ang、最遠ポリゴンの平均点Y座標Yc'''(tm2)を求める。   When the main axis and the sub axis are determined, the process returns to step S215, returns to the target model in the initial state shown in FIG. 16B, and similarly from step S215 to step S219 based on the determined main axis (main axis candidate 1). Although the processing will be performed again, these series of processing based on the spindle candidate 1 have already been executed as shown in FIG. 16C to FIG. 16F, so that these processing histories are stored. If so, it is possible to proceed to the next step S220 using the result. Specifically, after returning from the state of FIG. 17 (k) to the state of FIG. 16 (f), the process proceeds to step S220, and the Z-axis rotation is performed so that the sub-axis is aligned in the Y-axis positive direction on the XY coordinates. This is performed (step S220). Specifically, as in the first method, first, the polygon T2 is replaced with tm2 in [Formula 15], and then the process according to [Formula 15] is executed, so An angle Ang with the direction and an average point Y coordinate Yc ′ ″ (tm2) of the farthest polygon are obtained.

さらに、Yc'''(tm2)の値に応じて場合分けし、第1の手法と同様、上記〔数式16〕においてポリゴンT2をtm2に置換した上で、〔数式16〕に従った処理を実行することにより、回転後の対象モデルを求める。   Further, the case is classified according to the value of Yc ′ ″ (tm2). Similarly to the first method, the polygon T2 is replaced with tm2 in the above [Expression 16], and then the process according to [Expression 16] is performed. By executing, the target model after rotation is obtained.

ステップS220の処理により、対象モデルは、図17(l)に示すように、副軸がXY平面においてY軸正方向と重なるようになる。本実施形態では、副軸をY軸の正方向に重ねたが、負方向に重ねるようにしてもよい。   As a result of the processing in step S220, as shown in FIG. 17L, the target model is such that the minor axis overlaps with the positive Y-axis direction on the XY plane. In the present embodiment, the auxiliary shaft is overlapped in the positive direction of the Y axis, but may be overlapped in the negative direction.

上記処理の結果、与えられた対象モデルごとに一意的に決定された主軸および副軸に基づいて正規化された対象モデルが得られる。正規化された対象モデルは、ポリゴン数N、ポリゴンを特定する変数i(i=0,・・・,N−1)とし、各ポリゴンiの頂点は(Xk'''(i),Yk'''(i),Zk'''(i))と定義される。kは頂点番号を示しており、本実施形態では、ポリゴンが三角形であるため、k=0,1,2の3つの値をとる。また、各ポリゴンiの平均点は(Xc'''(i),Yc'''(i),Zc'''(i))と定義される。ポリゴン正規化処理の結果、図18(m)に示すように、対象モデルは、所定の位置、スケール、傾きに正規化される。   As a result of the above process, a target model normalized based on the main axis and the sub axis uniquely determined for each given target model is obtained. The normalized target model has a polygon number N and a variable i (i = 0,..., N−1) for specifying the polygon, and the vertex of each polygon i is (Xk ′ ″ (i), Yk ′). '' (I), Zk ′ '' (i)). k indicates a vertex number, and in this embodiment, since the polygon is a triangle, it takes three values, k = 0, 1, and 2. The average point of each polygon i is defined as (Xc ′ ″ (i), Yc ′ ″ (i), Zc ′ ″ (i)). As a result of the polygon normalization process, the target model is normalized to a predetermined position, scale, and inclination as shown in FIG.

<2.5.ポリゴン照合処理>
次に、ステップS300のポリゴン照合処理について説明する。図19は、ポリゴン照合処理の概要を示すフローチャートである。ポリゴン照合処理においては、ポリゴンモデル照合手段30は、規制モデルデータベース50に登録された規制モデルを1つずつ抽出し(ステップS301)、ステップS200において正規化された対象モデルと照合を行う。本実施形態では、ポリゴンモデル照合手段30は、図19に示すように、総面積に基づく照合処理(ステップS310)、体積に基づく照合処理(ステップS320)、座標値に基づく照合処理(ステップS330)の3つの照合処理を順に行う。先に行った照合処理の結果、適合(すなわち類似)と判定された場合にのみ、次の照合処理に進む。不適合(すなわち非類似)と判定された場合には、ステップS301に戻って次の規制モデルとの照合を行う。3つの照合処理のうち、総面積に基づく照合処理および体積に基づく照合処理は、角度に依存しない角度非依存照合処理であり、座標値に基づく照合処理は、角度に依存する角度依存照合処理である。3つの照合処理全てにおいて適合(すなわち類似)と判定された場合は、その対象モデルは、規制モデルと類似していることになるので、出力不適との判定がなされる。規制モデルデータベース50に登録された全ての規制モデルとの照合が不適合であった場合には、その対象モデルは、どの規制モデルとも非類似になるので、出力適正との判定がなされる。
<2.5. Polygon matching process>
Next, the polygon matching process in step S300 will be described. FIG. 19 is a flowchart showing an outline of the polygon matching process. In the polygon matching process, the polygon model matching unit 30 extracts the regulation models registered in the regulation model database 50 one by one (step S301), and performs matching with the target model normalized in step S200. In the present embodiment, as shown in FIG. 19, the polygon model matching unit 30 performs a matching process based on the total area (step S310), a matching process based on the volume (step S320), and a matching process based on the coordinate values (step S330). The three matching processes are performed in order. Only when it is determined that the result is the matching (ie, similar) as a result of the matching process performed earlier, the process proceeds to the next matching process. When it is determined as non-conforming (that is, dissimilar), the process returns to step S301 and collation with the next restriction model is performed. Of the three matching processes, the matching process based on the total area and the matching process based on the volume are angle-independent matching processes that do not depend on the angle, and the matching process based on the coordinate values is an angle-dependent matching process that depends on the angle. is there. If it is determined that all three matching processes are suitable (that is, similar), the target model is similar to the restriction model, and therefore, it is determined that the output is inappropriate. If the comparison with all the restriction models registered in the restriction model database 50 is incompatible, the target model is dissimilar to any restriction model, and therefore it is determined that the output is appropriate.

<2.5.1.総面積に基づくポリゴン照合処理>
まず、図19に示した3つの照合処理のうち、ステップS310の総面積に基づくポリゴン照合処理について説明する。図20は、総面積に基づくポリゴン照合処理の詳細を示すフローチャートである。ステップS200において、正規化された対象モデルは、(Xk'''(i),Yk'''(i),Zk'''(i))で示したが、数式が繁雑になることを避けるため、ステップS300においては、改めて、正規化された対象モデルを、ポリゴン数N、ポリゴンを特定する変数i(i=0,・・・,N−1)とし、各ポリゴンiの頂点を(Xk(i),Yk(i),Zk(i))と定義されたものとする。kは、k=0,1,2の3つの値をとる頂点番号とする。
<2.5.1. Polygon matching based on total area>
First, among the three matching processes shown in FIG. 19, the polygon matching process based on the total area in step S310 will be described. FIG. 20 is a flowchart showing details of the polygon matching process based on the total area. In step S200, the normalized target model is indicated by (Xk ′ ″ (i), Yk ′ ″ (i), Zk ′ ″ (i)), but avoids complicated expressions. Therefore, in step S300, the normalized target model is set to the polygon number N, the variable i (i = 0,..., N−1) for specifying the polygon, and the vertex of each polygon i is set to (Xk). (I), Yk (i), Zk (i)). k is a vertex number having three values of k = 0, 1, and 2.

ポリゴンモデル照合手段30は、まず、正規化された対象モデルを構成する各ポリゴンiの面積Sp(i)、N個のポリゴンの面積Sp(i)の総和である総面積SNを以下の〔数式25〕に従った処理を実行することにより算出する(ステップS311)。   The polygon model matching means 30 first calculates the area Sp (i) of each polygon i constituting the normalized target model and the total area SN which is the sum of the areas Sp (i) of N polygons as follows: 25] is executed by executing the processing according to (25).

〔数式25〕
Vx=[Y1(i)−Y0(i)]×[Z2(i)−Z0(i)]−[Z1(i)−Z0(i)]×[ Y2(i)−Y0(i)]
Vy=[Z1(i)−Z0(i)]×[X2(i)−X0(i)]−[X1(i)−X0(i)]×[ Z2(i)−Z0(i)]
Vz=[X1(i)−X0(i)]×[Y2(i)−Y0(i)]−[Y1(i)−Y0(i)]×[X2(i)−X0(i)]
Sp(i)=0.5×[Vx(i)2+Vy(i)2+Vz(i)2]1/2
SN=Σi=0,N-1Sp(i)
[Formula 25]
Vx = [Y1 (i) -Y0 (i)] * [Z2 (i) -Z0 (i)]-[Z1 (i) -Z0 (i)] * [Y2 (i) -Y0 (i)]
Vy = [Z1 (i) -Z0 (i)] * [X2 (i) -X0 (i)]-[X1 (i) -X0 (i)] * [Z2 (i) -Z0 (i)]
Vz = [X1 (i) -X0 (i)] * [Y2 (i) -Y0 (i)]-[Y1 (i) -Y0 (i)] * [X2 (i) -X0 (i)]
Sp (i) = 0.5 × [Vx (i) 2 + Vy (i) 2 + Vz (i) 2 ] 1/2
SN = Σ i = 0, N-1 Sp (i)

次に、ポリゴンモデル照合手段30は、ステップS311における処理と同様に、上記〔数式25〕に従った処理を、変数を変えて、H個のポリゴンで構成される規制モデルに対して実行し、規制モデルの総面積SHを算出する。(ステップS312)。   Next, the polygon model matching means 30 executes the process according to the above [Equation 25] on the restriction model composed of H polygons by changing the variable, similarly to the process in step S311. The total area SH of the regulation model is calculated. (Step S312).

続いて、ポリゴンモデル照合手段30は、正規化された対象モデルの総面積SNと規制モデルの総面積SHの面積差分dSを、を以下の〔数式26〕に従った処理を実行することにより算出する(ステップS313)。   Subsequently, the polygon model matching means 30 calculates the area difference dS between the total area SN of the normalized target model and the total area SH of the restriction model by executing processing according to the following [Equation 26]. (Step S313).

〔数式26〕
dS=|SH−SN|/(SH+SN)
[Formula 26]
dS = | SH-SN | / (SH + SN)

上記〔数式26〕においては、後に判定しきい値と比較するために、総面積の和(SH+SN)で除算することにより正規化している。上記〔数式26〕に示すように面積差分dSは、総面積の差分の絶対値となっている。   In the above [Equation 26], normalization is performed by dividing by the sum of the total areas (SH + SN) for later comparison with the determination threshold. As shown in the above [Equation 26], the area difference dS is an absolute value of the difference of the total area.

面積差分dSが得られたら、ポリゴンモデル照合手段30は、面積差分dSと判定しきい値との比較を行う(ステップS314)。面積差分dSが判定しきい値より小さい場合は、適合と判定し、面積差分dSが判定しきい値以上である場合は、不適合と判定する。判定しきい値としては、適宜設定可能であるが、ここでは、0.01としてある。   When the area difference dS is obtained, the polygon model matching unit 30 compares the area difference dS with the determination threshold value (step S314). When the area difference dS is smaller than the determination threshold value, it is determined as conforming, and when the area difference dS is equal to or larger than the determination threshold value, it is determined as nonconforming. The determination threshold can be set as appropriate, but here it is set to 0.01.

<2.5.2.体積に基づく照合処理>
次に、ステップS320の体積に基づくポリゴン照合処理について説明する。図21は、体積に基づくポリゴン照合処理の詳細を示すフローチャートである。ステップS300においては、正規化された対象モデルを、ポリゴン数N、ポリゴンを特定する変数i(i=0,・・・,N−1)とし、各ポリゴンiの頂点を(Xk(i),Yk(i),Zk(i))と定義しており、さらに、各ポリゴンiの平均点を、(Xc(i),Yc(i),Zc(i))と定義する。
<2.5.2. Verification based on volume>
Next, the polygon matching process based on the volume in step S320 will be described. FIG. 21 is a flowchart showing details of a polygon matching process based on volume. In step S300, the normalized target model is set to the number of polygons N, the variable i for specifying the polygons (i = 0,..., N−1), and the vertices of each polygon i are set to (Xk (i), Yk (i), Zk (i)) and the average point of each polygon i is defined as (Xc (i), Yc (i), Zc (i)).

ポリゴンモデル照合手段30は、各ポリゴンについて、各ポリゴンを底面とし、基準点(重心)を頂点とする角錐の体積V(i)を算出し、N個のポリゴンについての体積V(i)の総和VNを算出する(ステップS321)。具体的には、まず、上記〔数式25〕に従った処理を実行して各ポリゴンiの面積Sp(i)を算出する。そして、以下の〔数式27〕に従った処理を実行することにより、各ポリゴンの法線ベクトル(Nx(i),Ny(i),Nz(i))を算出する。   The polygon model matching means 30 calculates, for each polygon, a pyramid volume V (i) with each polygon as a bottom surface and a reference point (centroid) as a vertex, and the sum of the volumes V (i) for N polygons. VN is calculated (step S321). Specifically, first, processing according to the above [Equation 25] is executed to calculate the area Sp (i) of each polygon i. Then, the normal vector (Nx (i), Ny (i), Nz (i)) of each polygon is calculated by executing processing according to the following [Equation 27].

〔数式27〕
Vs(i)=[Vx(i)2+Vy(i)2+Vz(i)2]1/2
Nx(i)=Vx(i)/Vs(i)
Ny(i)=Vy(i)/Vs(i)
Nz(i)=Vz(i)/Vs(i)
[Formula 27]
Vs (i) = [Vx (i) 2 + Vy (i) 2 + Vz (i) 2 ] 1/2
Nx (i) = Vx (i) / Vs (i)
Ny (i) = Vy (i) / Vs (i)
Nz (i) = Vz (i) / Vs (i)

角錐の高さは、平均点から原点方向のベクトルとポリゴンの法線ベクトルとの内積の絶対値で算出できるので、以下の〔数式28〕に従った処理を実行することにより、ポリゴンiを底面とする角錐の体積V(i)、およびN個のポリゴンについての角錐の体積総和VNを算出する。   The height of the pyramid can be calculated by the absolute value of the inner product of the vector in the origin direction from the average point and the normal vector of the polygon. Therefore, by executing the processing according to [Equation 28] below, the polygon i is A pyramid volume V (i) and a pyramid volume sum VN for N polygons are calculated.

〔数式28〕
V(i)=Sp(i)|Xc(i)×Nx(i)+Yc(i)×Ny(i)+Zc(i)×Nz(i)|/3
VN=Σi=0,N-1V(i)
[Formula 28]
V (i) = Sp (i) | Xc (i) * Nx (i) + Yc (i) * Ny (i) + Zc (i) * Nz (i) | / 3
VN = Σ i = 0, N-1 V (i)

次に、ポリゴンモデル照合手段30は、ステップS321における処理と同様に、上記〔数式27〕、〔数式28〕に従った処理を、変数を変えて、H個のポリゴンで構成される規制モデルに対して実行し、規制モデルの体積総和VHを算出する。(ステップS322)。   Next, the polygon model collating means 30 changes the processing according to the above [Equation 27] and [Equation 28] to a restriction model composed of H polygons by changing the variables, similarly to the processing in step S321. This is executed for the volume sum VH of the regulation model. (Step S322).

続いて、ポリゴンモデル照合手段30は、正規化されたポリゴンモデルの体積総和VNと規制モデルの体積総和VHの体積差分dVを、を以下の〔数式29〕に従った処理を実行することにより算出する(ステップS323)。   Subsequently, the polygon model matching means 30 calculates a volume difference dV between the normalized volume sum VN of the polygon model and the volume sum VH of the restriction model by executing a process according to the following [Equation 29]. (Step S323).

〔数式29〕
dV=|VH−VN|/(VH+VN)
[Formula 29]
dV = | VH−VN | / (VH + VN)

上記〔数式29〕においては、後に判定しきい値と比較するために、体積総和の和(VH+VN)で除算することにより正規化している。上記〔数式29〕に示すように体積差分dVは、体積総和の差分の絶対値となっている。   In the above [Equation 29], normalization is performed by dividing by the sum of volume sums (VH + VN) for later comparison with the determination threshold. As shown in the above [Equation 29], the volume difference dV is an absolute value of the difference of the volume sum.

体積差分dVが得られたら、ポリゴンモデル照合手段30は、体積差分dVと判定しきい値との比較を行う(ステップS324)。体積差分dVが判定しきい値より小さい場合は、適合と判定し、体積差分dVが判定しきい値以上である場合は、不適合と判定する。判定しきい値としては、適宜設定可能であるが、ここでは、0.001としてある。   When the volume difference dV is obtained, the polygon model matching unit 30 compares the volume difference dV with the determination threshold value (step S324). When the volume difference dV is smaller than the determination threshold value, it is determined as conforming, and when the volume difference dV is equal to or larger than the determination threshold value, it is determined as non-conforming. The determination threshold can be set as appropriate, but here it is 0.001.

<2.5.3.座標値に基づく照合処理>
次に、ステップS330の座標値に基づくポリゴン照合処理について説明する。図22は、座標値に基づくポリゴン照合処理の詳細を示すフローチャートである。ここでは、対象モデルの各ポリゴンiの平均点を、(Xcn(i),Ycn(i),Zcn(i))(i:ポリゴン番号=0,・・・、N−1)と定義し、規制モデルの各ポリゴンjの平均点を、(Xch(j),Ych(j),Zch(j))(j:ポリゴン番号=0,・・・、H−1)と定義する。
<2.5.3. Collation processing based on coordinate values>
Next, polygon matching processing based on the coordinate values in step S330 will be described. FIG. 22 is a flowchart showing details of polygon matching processing based on coordinate values. Here, the average point of each polygon i of the target model is defined as (Xcn (i), Ycn (i), Zcn (i)) (i: polygon number = 0,..., N−1), The average point of each polygon j of the restriction model is defined as (Xch (j), Ych (j), Zch (j)) (j: polygon number = 0,..., H−1).

ポリゴンモデル照合手段30は、まず、初期設定を行い、D=0,i=0とする(ステップS331)。Dは判定しきい値と比較する際、距離総和として出力される変数である。i=0は、対象モデルで最初に処理されるポリゴンのポリゴン番号である。次に、j=0,dmin=BIGに設定する(ステップS332)。j=0は、規制モデルで最初に処理されるポリゴンのポリゴン番号である。dminは初期値BIGに設定される。BIGとしては、dminとして取り得ない程度の大きな値を設定しておく。   First, the polygon model matching unit 30 performs initial setting to set D = 0 and i = 0 (step S331). D is a variable that is output as the total distance when compared with the determination threshold. i = 0 is the polygon number of the polygon processed first in the target model. Next, j = 0 and dmin = BIG are set (step S332). j = 0 is the polygon number of the polygon processed first in the restriction model. dmin is set to the initial value BIG. BIG is set to a large value that cannot be taken as dmin.

次に両モデルにおいて特定されたポリゴン同士の平均点座標距離dKを算出する(ステップS333)。具体的には、以下の〔数式30〕に従った処理を実行することにより算出する。   Next, the average point coordinate distance dK between the polygons specified in both models is calculated (step S333). Specifically, it is calculated by executing processing according to the following [Equation 30].

〔数式30〕
dK=[(Xch(j)−Xcn(i))2+(Ych(j)−Ycn(i)) 2 +(Zch(j)−Zcn(i))2]1/2
[Formula 30]
dK = [(Xch (j) −Xcn (i)) 2 + (Ych (j) −Ycn (i)) 2 + (Zch (j) −Zcn (i)) 2 ] 1/2

上記〔数式30〕に示すように平均点座標距離dKは、平均点座標の差分の二乗平方根であり、平均点座標間の距離を示している。次に、算出した平均点座標距離dKとdminを比較する(ステップS334)。dKがdminより小さい場合は、dmin=dKとする(ステップS335)。そして、jを1だけインクリメントして規制モデルの処理対象ポリゴンを変更し(ステップS336)、規制モデルのポリゴン番号jとポリゴン数Hを比較する(ステップS337)。   As shown in the above [Equation 30], the average point coordinate distance dK is the square root of the difference between the average point coordinates, and indicates the distance between the average point coordinates. Next, the calculated average point coordinate distance dK and dmin are compared (step S334). If dK is smaller than dmin, dmin = dK is set (step S335). Then, j is incremented by 1 to change the processing target polygon of the restriction model (step S336), and the polygon number j and the polygon number H of the restriction model are compared (step S337).

比較の結果、jがHより小さい場合は、対象モデルの1つのポリゴンに対して規制モデルの全てのポリゴンの処理が終わっていないため、ステップS333に戻って、平均点座標距離の算出を行う。対象モデルの1つのポリゴンに対して規制モデルの全てのポリゴンについて、ステップS333〜ステップS336の処理を実行した後には、j=Hとなるので、ステップS338に進む。   As a result of comparison, if j is smaller than H, the processing of all the polygons of the restriction model for one polygon of the target model has not been completed, so the process returns to step S333 to calculate the average point coordinate distance. Since j = H after executing the processing of step S333 to step S336 for all polygons of the restriction model for one polygon of the target model, the process proceeds to step S338.

ステップS333〜ステップS336の処理を繰り返すことにより、dminには、対象モデルの1つのポリゴンと規制モデルの各ポリゴンの距離のうち、最小の値である距離最小値が記録される。これは、対象モデルの1つのポリゴンと最も近い規制モデルのポリゴンとの距離となる。次に、この距離最小値dminをDに加算する(ステップS338)。そして、iを1だけインクリメントして対象モデルの処理対象ポリゴンを変更し、対象モデルのポリゴン番号iとポリゴン数Nを比較する(ステップS339)。   By repeating the processing of steps S333 to S336, the minimum distance value that is the minimum value among the distances between one polygon of the target model and each polygon of the restriction model is recorded in dmin. This is the distance between one polygon of the target model and the polygon of the nearest restriction model. Next, this distance minimum value dmin is added to D (step S338). Then, i is incremented by 1 to change the processing target polygon of the target model, and the polygon number i and the polygon number N of the target model are compared (step S339).

比較の結果、iがNより小さい場合は、対象モデルの全てのポリゴンに対して処理が終わっていないため、ステップS332に戻って、対象モデルの次のポリゴンに対して処理を行う。対象モデルの全てのポリゴンについて、ステップS332〜ステップS338の処理を実行した後には、i=Nとなるので、ステップS340に進む。   If i is smaller than N as a result of the comparison, the processing has not been completed for all polygons of the target model, so the process returns to step S332 to perform processing for the next polygon of the target model. After all the polygons of the target model have been processed in steps S332 to S338, i = N, so the process proceeds to step S340.

ステップS332〜ステップS338の処理を繰り返すことにより、Dには、対象モデルの各ポリゴンに対する距離最小値dminの総和が記録される。   By repeating the processing of steps S332 to S338, the total of the minimum distance values dmin for each polygon of the target model is recorded in D.

距離総和Dが得られたら、ポリゴンモデル照合手段30は、距離総和Dを対象モデルのポリゴン数Nで除した値D/Nと判定しきい値との比較を行う(ステップS340)。D/Nは、距離の総和値である距離総和Dの1ポリゴンあたりの平距均値となる。D/Nが判定しきい値より小さい場合は、適合と判定し、D/Nが判定しきい値以上である場合は、不適合と判定する。判定しきい値としては、適宜設定可能であるが、ここでは、10.0としてある。   When the distance sum D is obtained, the polygon model collating means 30 compares a value D / N obtained by dividing the distance sum D by the number N of polygons of the target model with a determination threshold value (step S340). D / N is the average distance per polygon of the distance sum D, which is the sum of the distances. When D / N is smaller than the determination threshold, it is determined as conforming, and when D / N is equal to or greater than the determination threshold, it is determined as non-conforming. The determination threshold can be set as appropriate, but is 10.0 here.

本実施形態では、ポリゴン同士の平均点座標間の距離、およびその総和を算出するようにしたが、平均点に代えてポリゴン同士の対応する頂点間の距離、およびその総和を算出するようにしてもよい。   In this embodiment, the distance between the average point coordinates of the polygons and the total sum thereof are calculated. However, instead of the average point, the distance between the corresponding vertices of the polygons and the total sum thereof are calculated. Also good.

<3.3Dプリンタへのデータ出力>
ポリゴンモデル照合手段30により出力適正と判定された場合には、立体物造形装置である3Dプリンタ7へ対象ポリゴンモデルを出力する。一方、ポリゴンモデル照合手段30により出力不適と判定された場合には、立体物造形装置である3Dプリンタへ対象モデルを出力しない。また、出力適正か否かの判定に時間がかかる場合には、3Dプリンタ7で対象モデルの出力を開始し、3Dプリンタ7の出力処理(立体物造形処理)と並行して出力適正か否かの判定を行い、出力不適であると判定された場合に出力中止命令を3Dプリンタ7に出力するようにしてもよい。この際、オペレータから見れば、対象モデルの出力という一つの命令を行うことにより、3Dプリンタにおける立体物造形処理が開始されることが確認できるだけで、並行して出力適正か否かの判定のための処理の実行が開始されることは気付かれない。
<Data output to 3.3D printer>
When the polygon model matching means 30 determines that the output is appropriate, the target polygon model is output to the 3D printer 7 which is a three-dimensional object shaping apparatus. On the other hand, if the polygon model matching means 30 determines that the output is inappropriate, the target model is not output to the 3D printer that is a three-dimensional object forming apparatus. If it takes time to determine whether or not the output is appropriate, the 3D printer 7 starts outputting the target model, and whether or not the output is appropriate in parallel with the output process (three-dimensional object modeling process) of the 3D printer 7. If it is determined that the output is inappropriate, an output stop command may be output to the 3D printer 7. At this time, from the viewpoint of the operator, it is only possible to confirm that the three-dimensional object shaping process in the 3D printer is started by issuing a single command to output the target model, and in parallel to determine whether the output is appropriate or not. It is not noticed that the execution of the process is started.

<4.規制モデルの正規化および登録について>
上記実施形態では、規制モデルデータベース50に既に正規化がなされた規制モデルが登録された場合について説明したが、規制モデルデータベース50に正規化されていない規制モデルを登録しておき、この規制モデルに対して、上記実施形態において対象モデルに対して行ったようにポリゴンの削減、正規化を行い、正規化後の規制モデルと、上記正規化後の対象モデルを用いて照合を行うようにしてもよい。この場合、規制モデルデータベース50に登録されている正規化されていない各規制モデルは、ポリゴン削減手段10によりポリゴンが削減され、ポリゴン正規化手段20により正規化された後、ポリゴンモデル照合手段30により、正規化後の対象モデルとの照合が行われる。
<4. About normalization and registration of regulatory models>
In the above embodiment, a case has been described in which a regulation model that has already been normalized is registered in the regulation model database 50. However, a regulation model that has not been normalized is registered in the regulation model database 50, and the regulation model is registered in this regulation model. On the other hand, polygon reduction and normalization are performed as in the above-described embodiment, and matching is performed using the normalized regulation model and the normalized target model. Good. In this case, each regulation model that is not normalized and registered in the regulation model database 50 has polygons reduced by the polygon reduction means 10 and normalized by the polygon normalization means 20 and then is normalized by the polygon model matching means 30. The collation with the target model after normalization is performed.

また、変形例として、ポリゴンモデル照合手段30を備えた立体物造形用データ出力規制装置とは、別の場所で規制モデルの正規化を行って正規化された規制モデルを、立体物造形用データ出力規制装置にネットワークを介して送信して登録するようにしてもよい。   Further, as a modification, the three-dimensional object modeling data output restriction device provided with the polygon model matching means 30 is different from the three-dimensional object shaping data obtained by normalizing the restriction model at a different location. You may make it transmit and register to an output control apparatus via a network.

図23は、変形例における立体物造形用データ出力規制装置を含む立体物造形システムのハードウェア構成図である。図23に示した立体物造形システムにおいて、立体物造形用データ出力規制装置101は、図1に示した立体物造形用データ出力規制装置100の構成に、インターネット等の公衆ネットワークと通信するためのネットワーク通信部8を備えた構成となっている。規制モデル正規化装置102は、汎用のコンピュータで実現することができ、図23に示すように、CPU(Central Processing Unit)1aと、コンピュータのメインメモリであるRAM(Random Access Memory)2aと、CPU1aが実行するプログラムやデータを記憶するためのハードディスク、フラッシュメモリ等の大容量の記憶装置3aと、キーボード、マウス等のキー入力I/F(インターフェース)4aと、データ記憶媒体等の外部装置とデータ通信するためのデータ入出力I/F(インターフェース)5aと、液晶ディスプレイ等の表示デバイスである表示部6aと、インターネット等の公衆ネットワークと通信するためのネットワーク通信部8aを備え、互いにバスを介して接続されている。立体物造形用データ出力規制装置101のネットワーク通信部8と規制モデル正規化装置102のネットワーク通信部8aは互いに通信を行い、規制モデル正規化装置102から立体物造形用データ出力規制装置101へ正規化された規制モデルの送信を行うことが可能になっている。   FIG. 23 is a hardware configuration diagram of a three-dimensional object formation system including a three-dimensional object formation data output restriction device according to a modification. In the three-dimensional object formation system shown in FIG. 23, the three-dimensional object formation data output restriction device 101 communicates with the public network such as the Internet in the configuration of the three-dimensional object formation data output restriction device 100 shown in FIG. 1. The network communication unit 8 is provided. The regulation model normalization apparatus 102 can be realized by a general-purpose computer. As shown in FIG. 23, a CPU (Central Processing Unit) 1a, a RAM (Random Access Memory) 2a that is a main memory of the computer, and a CPU 1a A large-capacity storage device 3a such as a hard disk or flash memory for storing programs and data executed by the computer, a key input I / F (interface) 4a such as a keyboard and a mouse, and an external device such as a data storage medium and data A data input / output I / F (interface) 5a for communication, a display unit 6a, which is a display device such as a liquid crystal display, and a network communication unit 8a for communicating with a public network such as the Internet, are connected via a bus. Connected. The network communication unit 8 of the three-dimensional object formation data output restriction device 101 and the network communication unit 8a of the restriction model normalization device 102 communicate with each other, and the restriction model normalization device 102 transfers the data to the three-dimensional object formation data output restriction device 101. It is possible to send a regulated model.

図23では、立体物造形用データ出力規制装置101と3Dプリンタ7は分離した形態で示されているが、現在市販されている殆どの3Dプリンタ製品には立体物造形用データ出力規制装置101の構成要素である、CPU1、RAM2、記憶装置3、キー入力I/F4(汎用コンピュータ向けキーボード・マウスではなく、テンキーレベルの数種のボタン)、データ入出力I/F5、表示部6(数行の文字を表示可能な小型液晶パネル、タッチパネルを重畳させキー入力I/F4を兼ねることも多い)、ネットワーク通信部8(無線LAN機能)も小規模ながら重複して備えている。従って、3Dプリンタ7自体が外部記憶媒体やインターネット経由で立体物造形用データを直接受け取り、単独で立体物を造形する運用も可能になっている(特に民生用の3Dプリンタではこちらの形態の方が多い)。すなわち、図23に示した立体物造形用データ出力規制装置101および3Dプリンタ7を1つの筐体に収めて、“3Dプリンタ”という製品として流通することも多い。   In FIG. 23, the three-dimensional object formation data output restriction device 101 and the 3D printer 7 are shown in a separated form, but most of the 3D printer products currently on the market include the three-dimensional object formation data output restriction device 101. Constituent elements, such as CPU1, RAM2, storage device 3, key input I / F4 (not a keyboard / mouse for general-purpose computers, but several buttons at a numeric keypad level), data input / output I / F5, display unit 6 (several lines) A small liquid crystal panel capable of displaying the above characters, a touch panel is often superimposed to serve also as a key input I / F 4), and a network communication unit 8 (wireless LAN function) is provided in a small but overlapping manner. Therefore, the 3D printer 7 itself can directly receive the data for modeling a three-dimensional object via an external storage medium or the Internet, and can be operated to model a three-dimensional object alone (particularly in the case of a consumer 3D printer, this form Many). That is, the three-dimensional object formation data output restriction device 101 and the 3D printer 7 shown in FIG. 23 are often housed in one housing and distributed as a product called “3D printer”.

規制モデル正規化装置102においては、CPU1aが、記憶装置3aに記憶されているプログラムを実行することにより、第2のポリゴン削減手段、第2のポリゴン正規化手段、規制モデル送信手段が実現される。規制モデル正規化装置102で実現される第2のポリゴン削減手段、第2のポリゴン正規化手段は、立体物造形用データ出力規制装置100で実現されるポリゴン削減手段10、ポリゴン正規化手段20と同様の機能を有し、規制モデルのポリゴンを削減し、規制モデルの正規化を行う。規制モデル送信手段は、正規化された規制モデルを立体物造形用データ出力規制装置101に送信する。立体物造形用データ出力規制装置101では、ネットワーク通信部8が、規制モデル正規化装置102から規制モデルを受信すると、CPU1が所定のプログラムを実行して規制モデル登録手段として機能し、受信した規制モデルを記憶装置3で実現される規制モデルデータベース50に登録する。   In the restriction model normalization apparatus 102, the CPU 1a executes the program stored in the storage device 3a, thereby realizing the second polygon reduction means, the second polygon normalization means, and the restriction model transmission means. . The second polygon reduction means and the second polygon normalization means realized by the restriction model normalization device 102 are the polygon reduction means 10 and the polygon normalization means 20 realized by the three-dimensional object formation data output restriction device 100. It has the same function, reduces the restriction model polygon, and normalizes the restriction model. The restriction model transmission means transmits the normalized restriction model to the three-dimensional object formation data output restriction device 101. In the three-dimensional object formation data output restriction device 101, when the network communication unit 8 receives the restriction model from the restriction model normalization apparatus 102, the CPU 1 executes a predetermined program to function as a restriction model registration unit, and the received restriction is received. The model is registered in the regulation model database 50 realized by the storage device 3.

<5.クラウド型の立体物造形システム>
本発明は、クラウド型の立体物造形システムに適用することも可能である。図24は、クラウド型の立体物造形システムのハードウェア構成図である。図24に示した立体物造形システムにおいて、出力制御用PC201は、図23において立体物造形用データ出力規制装置101として示したコンピュータと同等のハードウェア構成を有する。すなわち、出力制御用PC201は、CPU11、RAM12、記憶装置13、キー入力I/F14、データ入出力I/F15、表示部16、ネットワーク通信部18を備え、互いにバスを介して接続されている。
<5. Cloud-type 3D object modeling system>
The present invention can also be applied to a cloud-type three-dimensional object modeling system. FIG. 24 is a hardware configuration diagram of a cloud-type three-dimensional object modeling system. In the three-dimensional object formation system shown in FIG. 24, the output control PC 201 has the same hardware configuration as the computer shown as the three-dimensional object formation data output restriction device 101 in FIG. That is, the output control PC 201 includes a CPU 11, a RAM 12, a storage device 13, a key input I / F 14, a data input / output I / F 15, a display unit 16, and a network communication unit 18, which are connected to each other via a bus.

処理サーバ202は、本発明に係る立体物造形用データ出力規制装置としての機能を備えるものであり、汎用のコンピュータに専用のプログラムを組み込むことにより実現することができる。図24に示すように、CPU11a、RAM12a、記憶装置13a、キー入力I/F14aと、データ入出力I/F15aと、表示部16aと、ネットワーク通信部18aを備え、互いにバスを介して接続されている。出力制御用PC201のネットワーク通信部18と処理サーバ202のネットワーク通信部18aは互いに通信を行い、処理サーバ202から出力制御用PC201へ出力適否の判定に基づく出力適否データの送信を行うことが可能になっている。図24では、出力制御用PC201と3Dプリンタ7は分離した形態で示されているが、図23の例と同様、3Dプリンタ製品に出力制御用PC201の構成要素である、CPU11、RAM12、記憶装置13、キー入力I/F14、データ入出力I/F15、表示部16、ネットワーク通信部18を重複して備えていてもよい。   The processing server 202 has a function as a three-dimensional object modeling data output restriction device according to the present invention, and can be realized by incorporating a dedicated program into a general-purpose computer. As shown in FIG. 24, a CPU 11a, a RAM 12a, a storage device 13a, a key input I / F 14a, a data input / output I / F 15a, a display unit 16a, and a network communication unit 18a are connected to each other via a bus. Yes. The network communication unit 18 of the output control PC 201 and the network communication unit 18a of the processing server 202 communicate with each other and can transmit output suitability data from the processing server 202 to the output control PC 201 based on the judgment of output suitability. It has become. In FIG. 24, the output control PC 201 and the 3D printer 7 are shown in a separated form. However, as in the example of FIG. 23, the CPU 11, RAM 12, and storage device that are components of the output control PC 201 in the 3D printer product. 13, a key input I / F 14, a data input / output I / F 15, a display unit 16, and a network communication unit 18 may be provided.

図25は、クラウド型の立体物造形システムの機能ブロック図である。クラウド型の立体物造形システムを構成する処理サーバ202は、図2に示した立体物造形用データ出力規制装置の各手段に加えて、対象モデル受信手段60、出力適否データ送信手段70を備えた構成となっている。図2に示した立体物造形用データ出力規制装置と同等の機能を有するものについては、同一符号を付して説明を省略する。対象モデル受信手段60は、出力制御用PC201から送信された対象モデルを受信して対象モデル記憶手段40に登録する手段であり、CPU11aが所定のプログラムを実行するとともに、ネットワーク通信部18aを制御することにより実現される。出力適否データ送信手段70は、ポリゴンモデル照合手段30により判定された出力適否に基づくデータを出力制御用PC201に送信する手段であり、CPU11aが所定のプログラムを実行するとともに、ネットワーク通信部18aを制御することにより実現される。   FIG. 25 is a functional block diagram of a cloud-type three-dimensional object modeling system. The processing server 202 constituting the cloud-type three-dimensional object modeling system includes a target model receiving unit 60 and an output suitability data transmitting unit 70 in addition to each unit of the three-dimensional object modeling data output restriction device shown in FIG. It has a configuration. Components having the same functions as those of the three-dimensional object formation data output restriction device shown in FIG. The target model receiving unit 60 is a unit that receives the target model transmitted from the output control PC 201 and registers it in the target model storage unit 40. The CPU 11a executes a predetermined program and controls the network communication unit 18a. Is realized. The output suitability data transmitting means 70 is means for sending data based on the output suitability determined by the polygon model matching means 30 to the output control PC 201, and the CPU 11a executes a predetermined program and controls the network communication section 18a. It is realized by doing.

処理サーバ202は、インターネット等のネットワークに接続され、多数の出力制御用PCからアクセス可能になっている。クラウド型の立体物造形システムの「クラウド型」とは、3Dプリンタにより立体物を出力する出力側でなく、出力側からネットワークを介した遠隔地のコンピュータにおいて、規制すべきか否かを判定することを意味する。従来のサーバ型コンピュータでは多数のユーザのアクセスが集中すると応答性が遅くなりユーザに迷惑をかけることが多かったが、クラウド型では仮想化技術によりコンピュータの物理的構成を動的に変更することが可能になるため、常に安定した応答性を維持できるという特徴がある。処理サーバ202は物理的には複数台のコンピュータにより実現されるのが一般的である。   The processing server 202 is connected to a network such as the Internet and can be accessed from a number of output control PCs. The “cloud type” of the cloud-type three-dimensional object modeling system is to determine whether or not to regulate on the remote computer via the network from the output side, not the output side that outputs the three-dimensional object by the 3D printer. Means. In conventional server-type computers, when many users' access concentrates, responsiveness slows down and often inconveniences users. However, in cloud-type computers, the physical configuration of computers can be changed dynamically using virtualization technology. Since it becomes possible, there is a feature that a stable response can always be maintained. Generally, the processing server 202 is physically realized by a plurality of computers.

図24、図25に示したクラウド型の立体物造形システムの処理動作について説明する。出力制御用PC201において、利用者がキー入力I/F14を介して出力したい対象モデルを指定すると、CPU11は、記憶装置13に記憶されている指定された対象モデルを抽出し、対象モデルを特定する識別情報であるモデルIDを付与する。そして、CPU11は、モデルIDが付与された対象モデルを、記憶装置13に事前に設定されているURL等のアドレス宛に、ネットワーク通信部18を介して送信する。並行してCPU11は、モデルIDが付与された対象モデルを、データ入出力I/F15を介して3Dプリンタ7のデータ処理部7aに送信する。データ処理部7a内のプリンタキューには、出力制御用PC201から受信した対象モデルが保持され、出力ジョブとして待機状態となる。この時、3Dプリンタ出力における前処理であるポリゴン形式のデータを積層形式のデータに変換する処理のみ実行させるようにし、積層形式のデータに変換された段階で待機状態にする手法もとることができる。このデータ処理負荷もそれなりに高いため、この間に出力適否判定が完了すれば、ユーザ側に余分な待ち時間を感じさせないようすることができる。   The processing operation of the cloud-type three-dimensional object modeling system shown in FIGS. 24 and 25 will be described. In the output control PC 201, when the user specifies a target model to be output via the key input I / F 14, the CPU 11 extracts the specified target model stored in the storage device 13 and specifies the target model. A model ID, which is identification information, is assigned. Then, the CPU 11 transmits the target model to which the model ID is assigned to an address such as a URL set in advance in the storage device 13 via the network communication unit 18. In parallel, the CPU 11 transmits the target model to which the model ID is assigned to the data processing unit 7a of the 3D printer 7 via the data input / output I / F 15. The target model received from the output control PC 201 is held in the printer queue in the data processing unit 7a, and is in a standby state as an output job. At this time, it is possible to execute only the process of converting the polygon format data, which is the pre-processing in the 3D printer output, into the data in the stack format, and to enter the standby state when the data is converted into the stack format data. . Since this data processing load is also reasonably high, if the output propriety determination is completed during this time, it is possible to prevent the user from feeling an extra waiting time.

処理サーバ202では、対象モデル受信手段60が、出力制御用PC201から送信された対象モデルを受信すると、その対象モデルを対象モデル記憶手段40に記憶する。ここからは、図3に示したフローチャートに従って、ポリゴン削減手段10、ポリゴン正規化手段20、ポリゴンモデル照合手段30が処理を行い、受信した対象モデルの出力適否を判定する。出力適否の結果である出力適否データは、ポリゴンモデル照合手段30から出力適否データ送信手段70に渡される。そして、出力適否データ送信手段70は、対象モデルの送信元(アクセス元)である出力制御用PC201に、モデルIDを付加した出力適否データを送信する。   In the processing server 202, when the target model receiving unit 60 receives the target model transmitted from the output control PC 201, the target model is stored in the target model storage unit 40. From here, according to the flowchart shown in FIG. 3, the polygon reduction means 10, the polygon normalization means 20, and the polygon model collation means 30 perform processing to determine whether the received target model is suitable for output. Output propriety data, which is a result of output propriety, is transferred from the polygon model matching unit 30 to the output propriety data transmitting unit 70. Then, the output suitability data transmitting means 70 transmits the output suitability data with the model ID added to the output control PC 201 which is the transmission source (access source) of the target model.

出力制御用PC201では、ネットワーク通信部18が、処理サーバ202から出力適否データを受信すると、CPU11が、受信した出力適否データを、データ入出力I/F15を介して3Dプリンタ7のデータ処理部7aに送信する。データ処理部7aは、受信した出力適否データに付与されたモデルIDでプリンタキュー内の出力ジョブを参照する。そして、出力適否データが“適”である場合、データ処理部7aは、その出力ジョブを待機状態から出力状態に変更し、出力部7bに対象モデルを出力する。出力適否データが“否”である場合、データ処理部7aは、その出力ジョブを破棄する。すなわち、プリンタキューから削除する。   In the output control PC 201, when the network communication unit 18 receives the output suitability data from the processing server 202, the CPU 11 sends the received output suitability data to the data processing unit 7 a of the 3D printer 7 via the data input / output I / F 15. Send to. The data processing unit 7a refers to the output job in the printer queue by using the model ID given to the received output suitability data. When the output suitability data is “suitable”, the data processing unit 7a changes the output job from the standby state to the output state, and outputs the target model to the output unit 7b. If the output suitability data is “NO”, the data processing unit 7a discards the output job. That is, it is deleted from the printer queue.

<6.ポリゴンモデル正規化事例>
図26〜図28に、従来と本発明によるポリゴン正規化処理の比較事例を示す。図26〜図28のいずれにおいても、左側に規制モデル、右側に対象モデルを示している。図26は、正規化前のオリジナル(実際にはポリゴン削減後)のポリゴンモデルを示す図である。図26では、規制モデル、対象モデルは同一のモデルであるが、紙面に対して座標系を揃えてあるが、正規化前であるため、両者は位置、スケール、傾きが異なっている。単純に最長距離を主軸とする場合、図26の例では、2つの主軸候補1、主軸候補2が存在することになる。
<6. Polygon model normalization example>
26 to 28 show comparative examples of polygon normalization processing according to the prior art and the present invention. In any of FIGS. 26 to 28, the restriction model is shown on the left side and the target model is shown on the right side. FIG. 26 is a diagram showing an original polygon model before normalization (actually after polygon reduction). In FIG. 26, the restriction model and the target model are the same model, but the coordinate system is aligned with respect to the paper surface. However, since they are before normalization, they are different in position, scale, and inclination. When the longest distance is simply used as the main axis, two main axis candidates 1 and main axis candidate 2 exist in the example of FIG.

図27は、図26の規制モデル、対象モデルに対して、従来方式により正規化を行った状態を示す図である。2つの主軸候補が存在する場合であっても、従来方式では、最遠ポリゴンに対応する主軸候補を主軸として選択するため、演算処理の誤差により、異なった主軸が選択されてしまう場合がある。図27の例では、規制モデルでは、主軸候補1が主軸として選択され、対象モデルでは、主軸候補2が主軸として選択されている。このため、両モデルの位置、傾きが揃わない。したがって、このまま照合処理を行っても不適合と判定されてしまう。   FIG. 27 is a diagram illustrating a state in which normalization is performed on the restriction model and the target model in FIG. 26 by the conventional method. Even in the case where there are two main axis candidates, in the conventional method, a main axis candidate corresponding to the farthest polygon is selected as the main axis, and therefore, different main axes may be selected due to an error in calculation processing. In the example of FIG. 27, the candidate spindle 1 is selected as the spindle in the restriction model, and the candidate spindle 2 is selected as the spindle in the target model. For this reason, the position and inclination of both models are not aligned. Therefore, even if the matching process is performed as it is, it is determined as non-conforming.

図28は、図26の規制モデル、対象モデルに対して、本実施形態の第1の手法により正規化を行った状態を示す図である。2つの主軸候補が存在する場合であっても、本実施形態の第1の手法では、最遠ポリゴンに対応する主軸以外のものが選択される可能性が高いため、演算処理の誤差に影響されず、同一の主軸が選択される可能性が高まる。図28の例では、規制モデルでは、主軸候補1が主軸として選択され、対象モデルでも、主軸候補1が主軸として選択されている。このため、両モデルの位置、傾きが揃う。したがって、照合処理を行うと適合と判定される。   FIG. 28 is a diagram illustrating a state in which the regulation model and the target model in FIG. 26 are normalized by the first method of the present embodiment. Even in the case where there are two main axis candidates, the first method of the present embodiment is likely to be selected other than the main axis corresponding to the farthest polygon, so that it is affected by the error of the arithmetic processing. Therefore, the possibility that the same main axis is selected increases. In the example of FIG. 28, the candidate spindle 1 is selected as the spindle in the restriction model, and the candidate spindle 1 is also selected as the spindle in the target model. For this reason, the position and inclination of both models are aligned. Therefore, it is determined to be compatible when the matching process is performed.

<7.変形例等>
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、処理対象のポリゴンを三角形としたが、四角形以上の多角形であってもよい。
<7. Modified example>
The preferred embodiments of the present invention have been described above. However, the present invention is not limited to the above embodiments, and various modifications can be made. For example, in the above embodiment, the processing target polygon is a triangle, but it may be a quadrilateral or more.

また、上記実施形態では、ポリゴンモデル照合手段30は、総面積に基づく照合処理、体積に基づく照合処理、座標値に基づく照合処理の3つの照合処理を行うようにしたが、上記3つの照合処理のうち、1つまたは2つの照合処理を実行するようにしてもよい。   In the above-described embodiment, the polygon model matching unit 30 performs the three matching processes of the matching process based on the total area, the matching process based on the volume, and the matching process based on the coordinate values. Of these, one or two matching processes may be executed.

また、上記実施形態では、ポリゴン正規化手段20は、主軸をZ軸に合わせ、副軸をY軸に合わせて回転するようにしたが、主軸、副軸をそれぞれ異なる軸に合わせるのであれば、主軸をX軸またはY軸に合わせてもよいし、副軸をX軸またはZ軸に合わせてもよい。   In the above embodiment, the polygon normalizing means 20 is configured to rotate the main axis to the Z axis and the sub axis to the Y axis. However, if the main axis and the sub axis are respectively adjusted to different axes, The main axis may be aligned with the X axis or Y axis, and the secondary axis may be aligned with the X axis or Z axis.

1、1a、11、11a・・・CPU(Central Processing Unit)
2、2a、12、12a・・・RAM(Random Access Memory)
3、3a、13、13a・・・記憶装置
4、4a、14、14a・・・キー入力I/F
5、5a、15、15a・・・データ入出力I/F
6、6a、16、16a・・・表示部
7・・・3Dプリンタ(立体物造形装置)
7a・・・データ処理部
7b・・・出力部
8、8a、18、18a・・・ネットワーク通信部
10・・・ポリゴン削減手段
20・・・ポリゴン正規化手段
30・・・ポリゴンモデル照合手段
40・・・対象モデル記憶手段
50・・・規制モデルデータベース
60・・・対象モデル受信手段
70・・・出力適否データ送信手段
100、101・・・立体物造形用データ出力規制装置
102・・・規制モデル正規化装置
201・・・出力制御用PC
202・・・処理サーバ(立体物造形用データ出力規制装置)
1, 1a, 11, 11a... CPU (Central Processing Unit)
2, 2a, 12, 12a ... RAM (Random Access Memory)
3, 3a, 13, 13a ... Storage device 4, 4a, 14, 14a ... Key input I / F
5, 5a, 15, 15a ... Data I / O I / F
6, 6a, 16, 16a ... display unit 7 ... 3D printer (three-dimensional object modeling apparatus)
7a ... Data processing unit 7b ... Output unit 8, 8a, 18, 18a ... Network communication unit 10 ... Polygon reduction means 20 ... Polygon normalization means 30 ... Polygon model matching means 40 ... Target model storage means 50 ... Restriction model database 60 ... Target model reception means 70 ... Output propriety data transmission means 100, 101 ... Data output restriction device for three-dimensional object formation 102 ... Restriction Model normalizer 201 ... PC for output control
202... Processing server (three-dimensional object shaping data output restriction device)

Claims (16)

ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、
出力を規制すべきポリゴンモデルである規制モデルが登録された規制モデルデータベースと、
出力対象のポリゴンモデルである対象モデルに含まれるポリゴンの数が所定の値以下になるようにポリゴンを削減するポリゴン削減手段と、
前記ポリゴンが削減された対象モデルに対して、当該対象モデルの基準点が3次元座標の原点になるように前記対象モデルを移動させ、前記基準点から最も遠いポリゴンまでの最長距離より所定の微小量だけ縮小した範囲に含まれるポリゴンを前記基準点から見た方向を主軸候補として複数抽出し、抽出された主軸候補のうち所定の条件を満足する1つの主軸候補を主軸として選出し、選出された主軸が所定の長さになるように前記対象モデルをスケーリング調整し、前記主軸の方向が第1の軸に一致するように前記対象モデルを回転させることにより、正規化された対象モデルを作成するポリゴン正規化手段と、
前記正規化された対象モデルを前記規制モデルデータベースに登録されている規制モデルと照合し、出力を規制すべきか否かを判定するポリゴンモデル照合手段と、
を備えることを特徴とする立体物造形用データ出力規制装置。
A device for determining whether or not to regulate when outputting a polygon model expressed as a set of polygons to a three-dimensional object modeling apparatus as three-dimensional object modeling data,
A regulation model database in which a regulation model, which is a polygon model whose output should be regulated, is registered;
Polygon reduction means for reducing polygons so that the number of polygons included in the target model which is a polygon model to be output is a predetermined value or less;
The target model is moved so that the reference point of the target model is the origin of the three-dimensional coordinates with respect to the target model from which the polygons are reduced, and a predetermined minute distance from the longest distance to the polygon farthest from the reference point. A plurality of polygons included in a range reduced by an amount are extracted as main axis candidates in the direction viewed from the reference point, and one main axis candidate that satisfies a predetermined condition is selected and selected from the extracted main axis candidates. Create a normalized target model by scaling the target model so that the main axis has a predetermined length, and rotating the target model so that the direction of the main axis matches the first axis Polygon normalization means to
A polygon model collating means for collating the normalized target model with a regulation model registered in the regulation model database and determining whether or not to regulate the output;
A data output restriction device for three-dimensional object modeling, comprising:
前記対象モデルの基準点は、各ポリゴンの頂点座標の平均であるポリゴン平均座標を、前記対象モデルに含まれるポリゴンについて算出した平均値として与えられるものであることを特徴とする請求項1に記載の立体物造形用データ出力規制装置。   The reference point of the target model is a polygon average coordinate that is an average of vertex coordinates of each polygon, and is given as an average value calculated for polygons included in the target model. 3D object shaping data output regulation device. 前記ポリゴン正規化手段は、前記対象モデル内で所定の順番にポリゴンが配置されたポリゴン配列上で先頭に位置するポリゴンに対応する主軸候補を、前記所定の条件を満足する1つの主軸候補とするようにしていることを特徴とする請求項1または請求項2に記載の立体物造形用データ出力規制装置。   The polygon normalization means sets a candidate for a spindle corresponding to the first polygon on the polygon array in which polygons are arranged in a predetermined order in the target model as one spindle candidate that satisfies the predetermined condition. The three-dimensional object formation data output restriction device according to claim 1 or 2, wherein the three-dimensional object formation data output restriction device is configured as described above. 前記ポリゴン正規化手段は、抽出された複数の主軸候補の各々に対して、主軸候補が所定の長さになるように前記対象モデルをスケーリング調整し、前記主軸候補の方向が前記第1の軸に一致するように前記対象モデルを回転させた後に、回転後の前記対象モデルが第2の軸と第3の軸で形成される2次元座標系に投影された前記基準点から最も遠いポリゴンまでの最長距離方向を副軸候補として各主軸候補ごとに選出するようにし、前記基準点から3次元的距離が最長であるか、または、それぞれ対応する主軸候補との内積値が最も大きい副軸候補を特定し、当該副軸候補に対応する主軸候補を、前記所定の条件を満足する1つの主軸候補とするようにしていることを特徴とする請求項1または請求項2に記載の立体物造形用データ出力規制装置。   The polygon normalization means adjusts the scale of the target model so that the principal axis candidate has a predetermined length for each of the extracted plurality of principal axis candidates, and the direction of the principal axis candidate is the first axis. After rotating the target model so as to coincide with the target model, the rotated target model is a polygon farthest from the reference point projected on the two-dimensional coordinate system formed by the second axis and the third axis. Is selected for each main spindle candidate as a sub-axis candidate, and the sub-axis candidate has the longest three-dimensional distance from the reference point or the inner product value with the corresponding main axis candidate. The three-dimensional object modeling according to claim 1 or 2, wherein a principal axis candidate corresponding to the sub-axis candidate is set as one principal axis candidate that satisfies the predetermined condition. Data output rules Apparatus. 前記ポリゴン正規化手段は、前記選出された主軸の方向を、前記第1の軸の正または負の一方の特定方向に一致させるため、前記第1の軸と第2の軸で形成される2次元座標系に投影された前記主軸の方向が前記第1の軸の前記特定方向に一致するように前記対象モデルを回転させた後に、前記第1の軸と第3の軸で形成される2次元座標系に投影された前記主軸の方向が前記第1の軸の前記特定方向に一致するように前記対象モデルを回転させるようにしていることを特徴とする請求項1から請求項4のいずれか一項に記載の立体物造形用データ出力規制装置。   The polygon normalization means is formed of the first axis and the second axis in order to match the direction of the selected main axis with one of the positive and negative specific directions of the first axis. 2 formed by the first axis and the third axis after rotating the target model so that the direction of the principal axis projected onto the dimensional coordinate system matches the specific direction of the first axis. 5. The object model according to claim 1, wherein the target model is rotated so that a direction of the principal axis projected onto a dimensional coordinate system coincides with the specific direction of the first axis. The three-dimensional object modeling data output restriction device according to claim 1. 前記ポリゴン正規化手段は、前記選出された主軸の方向が前記第1の軸の前記特定方向に一致するように前記対象モデルを回転させた後に、前記第2の軸と前記第3の軸で形成される2次元座標系に投影された基準点から最も遠いポリゴンまでの最長距離方向が前記第3の軸の前記特定方向に一致するように前記対象モデルを更に回転させるようにしていることを特徴とする請求項5に記載の立体物造形用データ出力規制装置。   The polygon normalizing means rotates the target model so that the direction of the selected principal axis coincides with the specific direction of the first axis, and then uses the second axis and the third axis. The target model is further rotated so that the longest distance direction from the reference point projected on the formed two-dimensional coordinate system to the farthest polygon coincides with the specific direction of the third axis. The three-dimensional object formation data output restriction device according to claim 5, 前記ポリゴン照合手段は、角度に依存しない角度非依存照合処理と、角度に依存する角度依存照合処理を行う2種の処理から構成され、前記角度非依存照合処理で適合した場合のみ、前記角度依存照合処理を実行するようにしていることを特徴とする請求項1から請求項6のいずれか一項に記載の立体物造形用データ出力規制装置。   The polygon collating means is composed of two types of processes for performing an angle-independent collation process that does not depend on an angle and an angle-dependent collation process that depends on an angle. The collation processing is executed, and the three-dimensional object formation data output restriction device according to any one of claims 1 to 6. 前記ポリゴン照合手段は、前記角度非依存照合処理として、前記対象モデルを構成するポリゴンの面積の総和値と、前記規制モデルを構成するポリゴンの面積の総和値を算出し、2つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする請求項7に記載の立体物造形用データ出力規制装置。   The polygon matching means calculates, as the angle-independent matching process, a total area value of polygons constituting the target model and a total area value of polygons constituting the restriction model, and a difference between the two total values 8. The three-dimensional object formation data output restriction device according to claim 7, wherein the conformity determination is performed when the absolute value of the three-dimensional object is smaller than a predetermined threshold value. 前記ポリゴン照合手段は、前記角度非依存照合処理として、前記対象モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値と、前記規制モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値を算出し、2つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする請求項7に記載の立体物造形用データ出力規制装置。   The polygon collating means, as the angle-independent collating process, uses a total value of pyramid volumes having the polygon constituting the target model as a bottom surface and the reference point as a vertex, and a polygon constituting the restriction model as a bottom surface. 8. The sum of volume values of a pyramid having a reference point as an apex is calculated, and conformity determination is performed when the absolute value of the difference between the two sum values is smaller than a predetermined threshold value. The data output regulation device for three-dimensional object modeling described in 1. 前記ポリゴン照合手段は、前記角度非依存照合処理として、前記対象モデルを構成するポリゴンの面積の総和値と、前記規制モデルを構成するポリゴンの面積の総和値を算出し、2つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合判定し、
適合判定された場合のみ、
前記対象モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値と、前記規制モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値を算出し、2つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする請求項7に記載の立体物造形用データ出力規制装置。
The polygon matching means calculates, as the angle-independent matching process, a total area value of polygons constituting the target model and a total area value of polygons constituting the restriction model, and a difference between the two total values If the absolute value of is less than a predetermined threshold,
Only when the conformity is judged
Calculates the sum of the pyramid volume with the polygon constituting the target model as the base and the reference point as the apex, and the sum of the pyramid volumes with the reference point as the apex and the polygon constituting the restriction model as the base 8. The three-dimensional object formation data output restriction device according to claim 7, wherein the conformity determination is performed when the absolute value of the difference between the two total values is smaller than a predetermined threshold value.
前記ポリゴン照合手段は、前記角度依存照合処理として、前記対象モデル、前記規制モデルそれぞれについて、構成するポリゴンの頂点座標の平均であるポリゴン平均座標が最も近いポリゴン同士でポリゴン平均座標間の距離を算出し、ポリゴン平均座標間の距離の総和値を算出し、前記総和値の1ポリゴンあたりの平均値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする請求項7から請求項10のいずれか一項に記載の立体物造形用データ出力規制装置。   The polygon matching means calculates the distance between the polygon average coordinates of the polygons closest to the average vertex coordinates of the polygons constituting each of the target model and the restriction model as the angle-dependent matching process. 8. A sum total value of distances between polygon average coordinates is calculated, and the conformity determination is performed when the average value per polygon of the sum total value is smaller than a predetermined threshold value. The data output regulation apparatus for three-dimensional object shaping | molding as described in any one of Claim 10. 前記ポリゴン照合手段は、前記角度依存照合処理として、前記対象モデル、前記規制モデルそれぞれについて、構成するポリゴンの頂点座標の平均であるポリゴン平均座標が最も近いポリゴン同士で、対応する頂点間の距離を算出し、当該距離の全ポリゴンについての総和値を算出し、前記総和値の1ポリゴンあたりの平均値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする請求項7から請求項10のいずれか一項に記載の立体物造形用データ出力規制装置。   The polygon matching means, as the angle-dependent matching process, calculates the distance between corresponding vertices between polygons having the closest polygon average coordinates, which is the average of the vertex coordinates of the polygons constituting each of the target model and the restriction model. The total value of all the polygons at the distance is calculated, and when the average value per polygon of the total value is smaller than a predetermined threshold value, the conformity determination is performed. The data output restriction device for three-dimensional object modeling according to any one of claims 7 to 10. 前記規制モデルに含まれるポリゴンの数が所定の値以下になるようにポリゴンを削減する第2のポリゴン削減手段と、
前記ポリゴンが削減された規制モデルに対して、当該規制モデルの基準点が3次元座標の原点になるように前記規制モデルを移動させ、前記基準点から最も遠いポリゴンまでの最長距離より所定の微小量だけ縮小した範囲に含まれる距離となるポリゴンの方向を主軸候補として複数抽出し、抽出された主軸候補のうち所定の条件を満足する1つの主軸候補を主軸として選出し、選出された主軸が所定の長さになるように前記規制モデルをスケーリング調整し、前記主軸の方向が第1の軸に一致するように前記規制モデルを回転させることにより、正規化された規制モデルを作成する第2のポリゴン正規化手段と、を備えた規制モデル正規化装置により正規化された規制モデルを受信し、受信した規制モデルを前記規制モデルデータベースに登録する規制モデル登録手段を更に有することを特徴とする請求項1から請求項12のいずれか一項に記載の立体物造形用データ出力規制装置。
A second polygon reduction means for reducing polygons so that the number of polygons included in the restriction model is a predetermined value or less;
The restriction model is moved with respect to the restriction model in which the polygon is reduced so that the reference point of the restriction model becomes the origin of the three-dimensional coordinates, and a predetermined minute distance is obtained from the longest distance to the polygon farthest from the reference point. A plurality of polygon directions corresponding to the distance included in the range reduced by the amount are extracted as main axis candidates, and one main axis candidate satisfying a predetermined condition is selected as the main axis candidate from the extracted main axis candidates, and the selected main axis is selected. Second, creating a normalized regulation model by adjusting the scaling of the regulation model to a predetermined length and rotating the regulation model so that the direction of the main axis coincides with the first axis A regulation model normalized by a regulation model normalization device, and the received regulation model is registered in the regulation model database. Three-dimensional object modeling data output regulation device as claimed in any one of claims 12, characterized by further comprising a regulating model registration means for.
前記ポリゴン削減手段によるポリゴン削減前の対象モデルを、接続された立体物造形装置に出力する手段と、
前記立体物造形装置による立体物の造形処理と並行して実行される前記ポリゴンモデル照合手段により、出力を規制すべきであると判定された場合に、前記立体物造形装置に、前記ポリゴン削減前の対象モデルの出力中止命令を出力する手段と、
を更に備えることを特徴とする請求項1から請求項12のいずれか一項に記載の立体物造形用データ出力規制装置。
Means for outputting the target model before polygon reduction by the polygon reduction means to a connected three-dimensional object shaping apparatus;
When it is determined that the output should be regulated by the polygon model collating unit executed in parallel with the three-dimensional object modeling process by the three-dimensional object modeling apparatus, the three-dimensional object modeling apparatus before the polygon reduction is performed. Means for outputting an output stop command for the target model of
The data output regulation device for three-dimensional object formation according to any one of claims 1 to 12, further comprising:
ネットワークを介して対象モデルを受信する対象モデル受信手段と、
前記ポリゴンモデル照合手段により判定された出力適否に基づくデータを前記対象モデルの送信元に送信する出力適否データ送信手段と、
を更に有することを特徴とする請求項1から請求項14のいずれか一項に記載の立体物造形用データ出力規制装置。
A target model receiving means for receiving a target model via a network;
Output propriety data transmitting means for transmitting data based on the output propriety determined by the polygon model matching means to the transmission source of the target model;
The data output regulation device for three-dimensional object formation according to any one of claims 1 to 14, further comprising:
コンピュータを、請求項1から請求項15のいずれか一項に記載の立体物造形用データ出力規制装置として機能させるためのプログラム。   A program for causing a computer to function as the three-dimensional object formation data output restriction device according to any one of claims 1 to 15.
JP2014162218A 2014-08-08 2014-08-08 Data output restriction device for 3D object modeling Expired - Fee Related JP6375768B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014162218A JP6375768B2 (en) 2014-08-08 2014-08-08 Data output restriction device for 3D object modeling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014162218A JP6375768B2 (en) 2014-08-08 2014-08-08 Data output restriction device for 3D object modeling

Publications (2)

Publication Number Publication Date
JP2016036993A JP2016036993A (en) 2016-03-22
JP6375768B2 true JP6375768B2 (en) 2018-08-22

Family

ID=55528519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014162218A Expired - Fee Related JP6375768B2 (en) 2014-08-08 2014-08-08 Data output restriction device for 3D object modeling

Country Status (1)

Country Link
JP (1) JP6375768B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6980373B2 (en) 2016-09-30 2021-12-15 キヤノン株式会社 Programs, information processing devices, and control methods for information processing devices
TW201819157A (en) * 2016-11-22 2018-06-01 三緯國際立體列印科技股份有限公司 Method for printing colored object of 3D printer
CN111768464B (en) * 2019-04-01 2023-09-19 珠海金山办公软件有限公司 A graphics adjustment method and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375831B (en) * 2010-08-13 2014-09-10 富士通株式会社 Three-dimensional model search device and method thereof and model base generation device and method thereof
US10204178B2 (en) * 2013-02-04 2019-02-12 Authentise Inc. System, method, and program product for digital production management

Also Published As

Publication number Publication date
JP2016036993A (en) 2016-03-22

Similar Documents

Publication Publication Date Title
JP4950787B2 (en) Image processing apparatus and method
Dang et al. Semantic grasping: planning task-specific stable robotic grasps
JP2006520054A (en) Image matching from invariant viewpoints and generation of 3D models from 2D images
DE102023134987A1 (en) REPLICATING PHYSICAL ENVIRONMENTS AND GENERATING 3D ASSETS TO CREATE SYNTHETIC SCENES
Li et al. A central profile-based 3D face pose estimation
JP4752433B2 (en) Modeling system, modeling method and program
JP6318701B2 (en) Data output restriction device for 3D object modeling
JP6375768B2 (en) Data output restriction device for 3D object modeling
CN119871410B (en) Robot operation method, robot, medium, device and program product
CN101794290B (en) Colour three-dimensional model search method based on vision cognitive characteristic
JP6369116B2 (en) Data output restriction device for 3D object modeling
JP2007058401A (en) Authentication device, authentication method, and program
JP6369117B2 (en) Data output restriction device for 3D object modeling
JP2019018446A (en) Data output restriction device for 3D object modeling
JP2018075755A (en) Data output restriction device for 3D object modeling
Oğuz et al. Point cloud registration with quantile assignment
JP6409513B2 (en) Data output restriction device for 3D object modeling
JP2023167320A (en) Learning model generation device, joint point detection device, learning model generation method, joint point detection method, and program
Yakushiji et al. Shape space estimation by higher-rank of SOM
JP2015208982A (en) Data output restriction device for 3D object modeling
JP2016038729A (en) Data output regulation device and system for three-dimensional molding
KR20180082171A (en) Method and syste for creating three dimension character
JP2016224791A (en) Data output restriction device for 3D object modeling
JP6451932B2 (en) Data output restriction device for 3D object modeling
JP4525523B2 (en) Authentication system, authentication method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180518

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180709

R150 Certificate of patent or registration of utility model

Ref document number: 6375768

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees