UNISYS TECHNOLOGY REVIEW

第 129 号，SEP. 2016

3D プリンタ造形に必要なポリゴン編集機能
Polygon Editing Functions for 3D-Printing

谷 本 茂 樹要

約3D プリンタの入力データはポリゴンモデルと呼ばれ，造形物の表面を三角形群で表現するモデルである．CAD や計測から得られるポリゴンモデルは，細長い三角形，三角形同士の重なりや交差，ポリゴンの欠損など問題のある箇所を含むため，3D プリントするとエラーになることや，望ましくない形が造形されることがある．このような箇所を検出し，編集する必要がある．さらに，三角形数を削減することや，厚みの薄い立体にする処理も必要である．この文書では，3D プリンタで造形するケースを例に，ポリゴンモデルの形状を編集する機能について解説する．
Abstract The input data of the 3D printer are called a polygon model which is a geometric model represents the surface of the target shape with triangles. Polygon models created by CAD system or producedby measurement may contain defect portion such as sharp triangles, overlapping or intersecting triangles,
or deficient polygon. These defect portions lead to errors in 3D printing or to creation of undesirable result
shapes. These problems must be detected and edited. Furthermore, the functions to reduce the number oftriangles and to create a thin solid are necessary. We explain these functions to edit polygon models bytaking 3D printing as an example.

1.

は

じ

め

に

3D プリンタの普及が進んでいる．個人が 3D プリンタを購入し，家庭で 3D プリントするケー
スから，製造業で試作品，金型，製品を製造するケース，さらに医療，建築，美術，考古学で使われるケースなど，3D プリンタは幅広く利用されている．3D プリンタによる造形は，材料を多層に積み重ね，付着させて造形物を作るので，付加製造（Additive Manufacturing）と呼ばれる．付加製造は，型が不要なため，複雑な形状を造形でき製品デザインの自由度が増すことや，金型と治具を設計，作成する時間，工数，費用，技能を節約できることなど大きなメリッ
トがある．
3D プリンタの入力になる造形物の形状データは，ポリゴンモデル（Polygon Model）と呼
ばれ，計算機の 3 次元空間に多数の三角形を隙間や重なりなく敷き詰めて，物体の表面の形を表現するモデルである．ポリゴンとは，多角形のことであるが，3D プリンタでは計算機内の形状処理が容易な（凸多角形で，平面性が保証される）三角形が用いられている．
ポリゴンモデルの作成には，大きく分けて次の二通りの方法がある．
1） CAD（Computer Aided Design）や CG（Computer Graphics）などのソフトウェアで形状モデルを作り，それをポリゴンモデルに変換する．
2） 非接触光学式測定装置（以降光学式スキャナ）や X 線 CT（Computed Tomography）
装置（以降 CT）を使って物体を計測し，計測データからポリゴンモデルを作成する．
3D プリンタにポリゴンモデルが渡ると，まずスライサ（slicer）と呼ばれる 3D プリンタの（97）51

52（98）

付属ソフトウェアで，ポリゴンモデルの等高線を求める．次に造形機で下から順に等高線の内側の領域をプリントし，積み重ねて造形物を作る．
CAD や計測から得られるポリゴンモデルをそのまま 3D プリンタに渡すと，スライサでエラーが生じることや，望む形の造形物が得られないことがある．そのため，ポリゴンモデルに含まれる問題箇所を検出し修正する必要がある．さらにポリゴンモデルに対して，造形には不要な箇所の除去，スムージング，データ量削減などの編集処理も行われる．
日本ユニシス・エクセリューションズ株式会社（以降，UEL）は，ポリゴン編集処理の技
術的な課題を調査し解決することを目的に，2012 年に理化学研究所内に共同研究チームを設［1］

立して，ポリゴンに関する形状処理の研究を進めている ．UEL は研究成果をもとに，2014
年にポリゴンモデル編集ソフトウェア POLYGON EDITOR をリリースした．2015 年には後継ソリューションとして機能や操作性を強化した POLYGONALmeister をリリースした．
本文書では，2 章でポリゴンモデルについて説明し，3 章でポリゴン編集機能のイメージを把握しやすいように編集操作の実例を示す．4 章では 3D プリンタ造形の準備に必要なポリゴンモデルの編集機能を解説し，いくつかの機能については POLYGONALmeister（リリース予定の機能を含む）を例に処理のアルゴリズムを簡単に説明する．5 章では，UEL のポリゴン戦略とソリューションについて述べる．
2. ポリゴンモデル
2. 1 データ構造
この節では，ポリゴンモデルの一般的なデータ構造について説明する．ポリゴンモデルを構成する三角形の面をフェイス（face），辺をエッジ（edge）と呼ぶ（図 1（a））．各フェイスは，
隣接するフェイスと，一つのエッジとその両端の 2 頂点が一致する状態で連結する（図 1（b））．
連結しているフェイスの集まりをシェル（shell）と呼ぶ．ポリゴンモデルは，一つ以上のシェ
ルで構成される．例えば，中空部を持つ立体は，外側のシェルと内側の中空部分のシェルを持
つ．外周や穴というシェル境界（shell boundary）を持つシェルを開シェル（open shell），立体を構成するシェルのようにシェル境界のないシェルを閉シェル（closed shell）と呼ぶ．
フェイスの三つの頂点は順序をつけて管理されている．表側からフェイスを見ると，三つの頂点は反時計回りに並ぶという規則があり，この規則によりフェイスの表裏が決まる（図 1（c））．シェルにも表裏の区別があり，シェルの表裏は，シェルに属す各フェイスの表裏と一致する．閉シェルでは，空気に触れる側が表，物体の存在する側が裏である．
エッジは二つのフェイスの境界である．ただし，シェル境界のエッジは一つのフェイスだけの境界である．

図 1 ポリゴンモデル

3D プリンタ造形に必要なポリゴン編集機能

2. 2（99）53

データ授受ファイル

ポリゴンモデルは三角形の集まりなので，データ授受に使われるファイルの形式も，CADで使われるデータ交換ファイル形式に比べると単純である．最もよく使われるのは，三角形の幾何情報だけを持つ STL（Stereolithography）形式である．他にも，データ授受のファイル
形式はいくつかあり，色などの属性や，シェルなどのモデル構成情報を持つ形式もある．
CAD では，異なるソフトウェアの間でデータを授受すると，面間の離れなど許容誤差の違
いや，曲面表現方法の違いなどが原因で，正常にデータ交換できないことがよくある．ポリゴ
ンモデルは構造が単純なので，データ交換で問題が発生することは少なく，円滑にデータが流通する．
3. ポリゴンモデル編集例＊1

バラの生花を CT で計測し，ポリゴンモデルを作成した ．このポリゴンモデルは，約 300
万個のフェイスで構成されている．このポリゴンモデルを以下のように編集操作した後，3Dプリントした（図 2）．
1） 計測データから作られたポリゴンモデルには，ノイズなどのためにバラの周りや内部に，1825 個の小さなシェルが浮いている（図 3）．これらのシェルを削除する． ⇒4. 1. 5 項 小さなシェル参照．
2） 不正な接続や自己交差などのポリゴンモデルとして正しくない形状や，CT の計測デー
タから作成したポリゴンモデルによく現れる段差や，突起，袋穴，貫通穴を検出し取り除く（図 4）． ⇒4. 1 節 クリーニング，4. 7 節 立体穴埋めとデフィーチャ参照．

3） 花弁の内側にある雌蕊や雄蕊は 3D プリントしないので，内側に隠れたフェイス群を取り除く（図 5（a））． ⇒4. 6 節 ラッピング参照．

4） 造形物の強度を保ち，花弁の間に残る不要な造形材料を取り除きやすくするために，花弁の間の狭い隙間を埋める（図 5（b））．埋めた箇所を図に矢印で示す． ⇒4. 7 節 立

体穴埋めとデフィーチャ，4. 9 節 分割参照．
5） ポリゴンモデルを滑らかにする（図 6）． ⇒4. 2 節 スムージング参照．

6） 3D プリンタによっては，入力ポリゴンモデルのフェイス数に上限が設けられているため，フェイス数を削減する．5）までの処理で，フェイス数は約 160 万に減少している．
さらに，フェイス数が十分の一になるように削減した（図 7）． ⇒ 4. 3 節 簡略化参照．

図 2 バラのポリゴンモデル

54（100）

図 3 小さなシェル

図4

問題のある形状の修正

図 5 不要箇所除去

3D プリンタ造形に必要なポリゴン編集機能（101）55

図 6 スムージング

図 7 簡略化

4. ポリゴンの形状編集機能
この章では，3 章の編集操作で使用している機能をはじめ，主なポリゴンモデルの編集機能＊2について説明する ．
4. 1 クリーニング
CAD や計測から得られるポリゴンモデルは，作成直後のままでは 3D プリントできない様々な問題を含んでいることが多い．たとえば，3 章で説明した編集作業前のバラのポリゴンモデ
ルを，POLYGONALmeister のクリーニング機能で検査すると，約 42,000 箇所の問題が検出される．検出された問題箇所は，自動的に修正されることが望ましい．自動処理では解消できない問題が残る場合，利用者は他の機能を使って個々の問題を解消する．そのため，利用者が行う修正操作はわかりやすく簡単である必要がある．
問題箇所を残したまま編集操作を進めると，問題が拡大する可能性がある．そのため，ポリゴンデータを入手したら，まずクリーニング機能を実行して問題箇所の有無を検査し，問題箇所があれば修正する必要がある．また，編集操作中にソフトウェアの不備や利用者の誤操作により問題箇所を作り出すこともあるため，3D プリンタなどの他システムにデータを渡す前にも，クリーニング処理を実行して，問題箇所がない状態にしておく必要がある．

56（102）

この節では，ポリゴンモデルに含まれる様々な種類の問題について説明する．なお，3D プ
リンタの造形方法やスライサの性能によっては，問題箇所を含んだままのポリゴンモデルでも支障なく造形できることがある．
4. 1. 1 表裏の不一致
2. 1 節で述べたように，フェイスには表裏の区別がある．シェル内のフェイスの表裏が揃っていることを検査し，表裏の合っていないフェイスがあれば，そのフェイスの表裏を合わせる必要がある．表裏の一致の検査には，フェイスごとの頂点の順序を使う．図 8 で，フェイス A，フェイス B の頂点は，それぞれ 1 → 2 → 3 の順に並ぶ．フェイス A と B の境界のエッジに注
目する．このエッジでは，頂点の順序（辿り方）が，フェイス A は図の下から上，フェイス
B は上から下と，異なる向きに辿っている．このように，エッジの両側で辿る向きが異なる場
合，二つのフェイスの表裏は一致している．もし，フェイスの表裏が一致していなければ，どちらかのフェイスの頂点の並び順を逆にすればいい．どちらのフェイスの表裏を変えるかという判断は，シェル内で表裏を変える必要のあるフェイスの多少で決められる．

2

3

1

䝣䜵䜲䝇A

䛣䛾䜶䝑䝆䛻ὀ┠

䝣䜵䜲䝇B

3

1 2

図 8 フェイスの表裏の一致検査

4. 1. 2 不正な連結
2. 1 節で述べたように，エッジは一つまたは二つのフェイスの境界である．一つのエッジが三つ以上のフェイスの境界になる箇所は，ポリゴンモデルが枝分かれしていることになり，正しくない連結状態である．ポリゴンを扱う多くのソフトウェアは，エッジは高々二つのフェイスの境界であることを前提に開発されているので，不正な連結箇所があると正常に処理できな
いことがある．また，スライス処理でも等高線に枝分かれが生じる．図 9 のように，三つ以上のフェイスの境界になるエッジを検出して，連結状態を修正し不要なフェイスを削除する必要
がある．

図9

不正な連結の例

3D プリンタ造形に必要なポリゴン編集機能（103）57

4. 1. 3 小さなフェイス取り除いても形状にほとんど影響を与えない小さなフェイスは，データ量を多くするだけなので，除去することが望ましい．とくに，
1） 2 頂点がほぼ一致する三角形（短いエッジを介して隣接するフェイスも小さなフェイスなので一緒に除去する）
2） 3 頂点がほぼ直線状に並ぶ三角形
は，フェイスの法線を精度良く求められないなどソフトウェアの数値計算を不安定にする可能性があるので除去すべきである．小さなフェイスを取り除く処理は，フェイスを削除してシェ
ルに穴をあけるのではなく，穴があかないように周囲のフェイスの形を変える処理である．
POLYGONALmeister では，上記 1）2）の小さなフェイスを，それぞれ次のように除去している（図 10）．
1）の場合：3 辺のなかで最も短いエッジの両端の頂点を一つの頂点にまとめることにより，短いエッジに隣接する 2 フェイスを除去する．
2）の場合：3 辺のなかで最も長いエッジの両側の三角形でエッジを入れ替える．エッジを入れ替えるとは，辺 AB を共有する△ ABC と△ BAD があるとき，辺 AB を削除して辺 CDを作る処理．すなわち，△ ABC と△ BAD を削除し，△ ADC と△ BCD を作る処理である．
1) 2㡬Ⅼ䛜䜋䜌୍⮴䛩䜛䜿䞊䝇2) 3㡬Ⅼ䛜䜋䜌┤⥺ୖ䛻୪䜆䜿䞊䝇
A

C

B

A

D
図 10

C

B
D

小さなフェイスの除去

4. 1. 4 鋭三角形
小さなフェイス（4. 1. 3 項参照）で検出するほど極端に小さく（細長く）なくても，図 11のように，隣接するフェイスと折れて連結している細長いフェイスは，ポリゴンモデルにわず
かな段差を作る原因になる．このようなフェイスを検出して，段差を解消する必要がある．
CAD で円柱側面をポリゴン化すると，細長い三角形列が帯状に作られることがあるが，このような滑らかに接続している箇所の細長い三角形は除去せず，段差を作る細長い三角形を除去する必要がある．
なお，4. 1. 3 項の小さなフェイスと同じ方法で，鋭三角形を除去する．

図 11

鋭三角形の例

58（104）

4. 1. 5 小さなシェル
3 章のバラの例で示したように，計測から得られるポリゴンモデルでは，計測のノイズや巣と呼ばれる物体内部の成型不良による空隙が，宙に浮いた小さなシェルとして含まれていることがある．このような不要なシェルを，検出して削除する必要がある．なお，計測したデータを巣のある状態でシミュレーション（simulation）する用途もある．この場合には，物体外部のシェルだけを削除する．
4. 1. 6 隙間や穴図 12 は，手の石膏模型を光学式スキャナで計測して得たポリゴンモデルである．図の濃い色の部分は，計測データを得られないために生じるシェルにあいた穴である．指の間など測定物に光が当たりにくい箇所や色の黒い箇所では，光学式スキャナによる計測で，データを得られないことがある．また，面間に隣接関係がついていない CAD データをポリゴン化する場合
も，シェル内やシェル間にスリット状の隙間があくことがある．このような隙間や穴は，スラ
イス処理の等高線が閉じない原因になるので，検出して埋める必要がある．

図 12

計測データの欠損による穴の例

穴を埋めるために作られるフェイス群には，形が正三角形に近いこと，大きさが穴周辺の三角形に近いこと，フェイス間の折れが少ないことなどが求められる．また，穴周辺のフェイスとの滑らかな接続が求められることもある．
図 13（a）は，機械部品の表面を光学式スキャナで計測し，ポリゴン化したモデルである．穴の周りは計測品質が悪くポリゴンに凹凸が生じる．このまま穴埋めすると穴に作られるフェイス群が歪む（図 13（b））．そのため，デフィーチャ機能（4. 7 節参照）などを使い，穴の周りの乱れを取り除いて埋める（図 13
（c）
）
．

図 13

穴周辺の乱れの例

3D プリンタ造形に必要なポリゴン編集機能（105）59

4. 1. 7 折り畳み
図 14（a）には，両側のフェイスが大きく（法線ベクトル間の角度が 180 度近く）折れているエッジ（図 14（b））と，他のフェイスの陰になり隠れているフェイス（図 14（c））がある．
ポリゴンを作成，編集するソフトウェアが，誤ってこのような折り畳まれた形状を作る．例
えば，図 15（a）のひし形の 4 頂点とひし形内部の 1 点を結んで三角形を四つ作ると，（b）や（c）のようになるが，（d）のように折り畳まれた三角形を作ることもできる．
折り畳み箇所ではスライス処理の等高線に急激な折れや重なりが生じるため，折り畳み箇所を検出し修正する必要がある．

図 14

(a)

(b)

折り畳みの例

(c)

図 15

(d)

折り畳みの発生例

4. 1. 8 自己交差
同一シェル内のフェイス同士が交差することを自己交差と呼ぶ．自己交差の例を二つ図 16に示す．
（a）はフェイス A とフェイス B，C，D が交差している．
（b）は交差により領域が分かれて見えるが，フェイス A とフェイス B が交差している．自己交差があると，スライス処理の等高線が交差するので，自己交差箇所を検出し，解消する必要がある．しかし，自己交差の原因，解消範囲，解消方法は様々で，自動的には交差を解消できないこともある．POLYGO-

図 16

自己交差の例

60（106）

NALmeister では，利用者が自己交差を修復する手段として，フェイス削除，穴埋めや，4. 7
節で説明するデフィーチャなどの機能を提供している．
4. 2 スムージング［2］

光学式スキャナの計測で得たポリゴンモデル には，測定点の精度内のバラツキやノイズ，
複数方向から採取した測定点群を合成する時の誤差などのために，微小な凹凸が生じる．また，
CT 計測から得たポリゴンモデルにも，装置の精度，ノイズや，投影像データから 3D 画像を再構成し，ポリゴンモデルを作成するまでのデータ処理が原因で，ポリゴンモデルに凹凸が生［3］じることがある ．このような凹凸を取り除き，滑らかにする機能がスムージングである．
通常，スムージング処理はフェイスの隣接関係は変えずに頂点の位置のみを変える．よく用いられるスムージングのアルゴリズムは，ラプラシアン・スムージング（Laplacian smoothing）と呼ばれ，ポリゴンモデルの各頂点を，その頂点の 1 近傍頂点群（エッジを介して隣に位置する頂点群）の重心に一定の割合で近づける（内分点に移動する）方法である（図 17）．
ラプラシアン・スムージングには，繰り返し実行していると，球面状のポリゴンモデルは縮み，フィレット（丸みを持った稜線）は平らな状態に近づくという問題がある．
多くの市販ソフトウェアはラプラシアン・スムージングを使っているが，POLYGONAL-

䛣䛾㡬Ⅼ䛻䝇䝮䞊䝆䞁䜾䜢⾜䛖

䠍㏆ഐ㡬Ⅼ⩌䛾㔜ᚰ

㡬Ⅼ䛸㔜ᚰ䜢⤖䜆⥺ศ䛾ෆศⅬ
図 17

図 18

ෆศⅬ䛻⛣ື

ラプラシアン・スムージング

スムージング方法の比較（上段：スムージング結果，下段：変形量の距離分布）

3D プリンタ造形に必要なポリゴン編集機能（107）61

meister は，頂点の座標値を平滑化するのではなく，各頂点の 1 近傍フェイス群（頂点を共有するフェイス群）のフェイス法線の共分散行列を平滑化することにより，フェイスの法線の向［4］

きを滑らかに変化させる土江らの方法 を採用している．図 18 の上段に，ラプラシアン・スムー
ジングと POLYGONALmeister のスムージングの結果を示す．下段には，スムージングによる変形量（実行前後の離れ）の分布を示す．色の濃い部分は離れが大きい．ラプラシアン・ス
ムージングは，フィレット部分で離れの大きいことがわかる．
POLYGONALmeister でスムージングを実行すると，ポリゴンモデルが徐々に滑らかになっていく変化の過程が表示される．利用者は，十分に滑らかになったと判断したら，処理の終了を待たずに処理を停止して，その時点のポリゴンモデルを正常な処理結果として得ることができる．この処理経過を表示する機能は，4.3 節の簡略化や 4.5 節のリメッシュにも実装されている．
4. 3 簡略化
3D プリンタのスライサは，入力するポリゴンモデルのデータ量（フェイス数）に上限を設けることがあるので，上限を超えるポリゴンモデルではフェイス数を減らす必要がある．デー
タ量が少なくなると，操作性，演算高速性，データ転送性，保存性も向上するため，簡略化機
能は付加製造だけでなく多くの用途で利用される．
フェイス数が減るので，ポリゴンモデルの形が変わることは避けられない．形の変化を抑えてフェイス数を多く減らすことが簡略化アルゴリズムの要件である．よく使われるフェイス数の削減方法は，エッジの両端頂点を近づけ一致させ，エッジの両側のフェイスを取り除く方法
である（図 19）．この方法で技術的に重要なのは次の 2 項目の算出方法である．
1） エッジの除去しやすさ：除去しても形状に与える影響が少ないエッジを探すために，エッジの削除しやすさを数値化する．
2） 頂点を一致させる位置：変形前のポリゴンモデルとの離れが小さいように，頂点を一致させる位置を決める．
［5］

この算出に，QEM（Quadric Error Metric） の手法がよく利用される．この手法では，対象エッジの両端頂点の 1 近傍フェイス群の各平面と，任意の点との距離の二乗和を求める関数（QEM 関数）を作る．QEM 関数の最小値が「エッジの除去しやすさ」，最小にする点が「頂点を一致させる位置」になる．
ᑐ㇟䜶䝑䝆

㡬Ⅼ䜢୍⮴䛥䛫䜛఩⨨

図 19ᑐ㇟䜶䝑䝆୧ഃ䛾2䝣䜵䜲䝇๐㝖䛧䚸࿘ᅖ䛾୕ゅᙧ䜢ኚᙧ

簡略化の処理理化学研究所の吉澤は，簡略化しても形状の特徴をより良く保持できるよう，QEM の「エッ［6］ジの除去しやすさ」を改良する研究をしていた ．この研究では，形状の特徴が尾根（凸稜線）や谷（凹稜線）という稜線に表れると考え，ポリゴンモデルから稜線を抽出し，稜線の近くで

62（108）はあまり簡略化せず，遠ざかるにしたがって強く簡略化するようにした．この研究をもとに［7］

POLYGONALmeister の簡略化を実装した ．約 7 万フェイスのポリゴンモデルを，1/10 のフェ
イス数に簡略化する例を図 20 に示す．
（b）の一般的な QEM による簡略化に比べ，（c）のPOLYGONALmeister の簡略化は，平坦な部分を強く簡略化し，曲る部分を弱く簡略化していることがわかる．

図 20

簡略化結果の比較

また，製造業など精度（簡略化前のポリゴンモデルからの離れの許容値）を重視する利用者のために，指示された精度の範囲内で，できるだけフェイス数を多く削減する簡略化も
POLYGONALmeister に実装している．この簡略化では，あらかじめ簡略化処理前の頂点群を保存しておく．除去しやすいエッジから順にエッジを除去するが，除去する前に，保存している頂点群とエッジ除去後のポリゴンモデルとの離れを調べ，許容値以上の離れが生じるならそのエッジを除去しないようにして，精度を保証している．
4. 4 細分割
ポリゴンモデルのフェイスが粗いと，3D プリンタの造形物が滑らかでなく，三角形群で表現されていることが目立つことがある．このときに細分割を行うと，ポリゴンモデルを滑らかにして，粗さを軽減する効果がある．細分割は，4. 3 節で述べた簡略化とは逆に，個々のフェイスを細かく分割し，ポリゴンモデルを滑らかにする処理である．分割された三角形が，分割前の三角形の平面上にあるのでは滑らかにならない．フェイスごとに，周りのフェイスとの幾何的な関係を使いフェイスのふくらみを推定する．そのふくらみに応じて，分割後の三角形を平面から少し浮いた位置に作り，ポリゴンモデルを滑らかにする．
［8］

理化学研究所では，三角形の 3 頂点の位置と法線ベクトルから長田パッチ という 2 次曲面式を作り，法線付き三角形の内部の点を簡易に補間する方法を研究していた．しかし，2 次式［9］で表現できる形状に制約があるため，清水は長田パッチを 3 次式に拡張する研究を行った ．
清水の研究をもとに POLYGONALmeister の細分割機能を実装した．
細分割の二つの課題と，その課題に施した対策について述べる．
一つ目の課題は，データ量の増加である．細分割後のフェイス数は各エッジの分割数の二乗倍になるため，分割数を大きくするとデータ量が膨大になる．増加を抑える対策には，利用者が指示する範囲内だけを細分割する方法や，形状に応じて適応的に細分割する方法がある．こ3D プリンタ造形に必要なポリゴン編集機能（109）63

こでは適応的細分割について説明する．ポリゴンモデルには平坦な部分も曲りの強い部分もあり，フェイスの大きさもまちまちである．POLYGONALmeister では各フェイスのふくらみを示す曲面式からフェイスの形状に応じた分割数を自動的に決めて細分割するようにした．図21 に適応的細分割の例を示す．
（a）は細分割前のポリゴンモデル．（b）は各エッジを一様に 5分割した結果である．ふくらみを表現でき，滑らかになっているが，フェイス数が（a）の 25 倍に増加する．（c）はエッジの最大分割数を 5 にして適応的に細分割をした結果である．
（b）と同様に滑らかになっているが，フェイス数は（b）の半分程度である．

図 21 適応的細分割

二つ目の課題は，シャープに折れている稜線が丸みを帯びることである．細分割するとフェイス間の折れ角度（法線ベクトルのなす角度）が小さくなるため，シャープさを保つ必要のある稜線も丸みを帯びる．POLYGONALmeister では，利用者が入力する角度以上に折れている稜線はシャープさを損なわないように，ふくらみを表す曲面式の作成方法を改良した．図22 には 90 度折れている稜線と，47 度折れている稜線がある．シャープさを保つ角度を 60 度に設定して細分割した．90 度の稜線はシャープさを保ち，47 度の稜線は丸みを帯びていることがわかる．

図 22

シャープな稜線を保持する細分割（60 度以上の折れを保持）

なお，細分割は簡略化後の形状をもとにふくらみを推定する処理なので，簡略化後のポリゴンモデルを細分割しても，簡略化前の形状を再現できるわけではない．また，細分割は局所的なフェイスの幾何情報からふくらみを推定するため，CAD 曲面のような多数のフェイスにまたがる大域的な滑らかさをポリゴンモデルに作り出すわけでもない．

64（110）

4. 5 リメッシュ
ポリゴンモデルに細長いフェイスなどの三角形品質が悪い箇所があると，3D プリンタの造形物にスジが生じることがある．この場合，リメッシュ機能を使って，ポリゴンモデルの各フェイスが正三角形に近くなるように再構成すると，造形物の表面の品質がよくなる．また，ポリゴンモデルをシミュレーションで使う場合にも，リメッシュは重要な機能である．
POLYGONALmeister のリメッシュは，ポリゴンモデル全体を均一の大きさにリメッシュするだけでなく，処理前のポリゴンモデルからの離れを抑えるために，平らな箇所は大きなフェイス，曲がっている箇所では小さなフェイスになるよう，形状の曲がり方に応じたサイズ
で適応的にリメッシュすることもできる（図 23）．

図 23

適応的リメッシュの例

4. 6 ラッピング
図 24 は，中空の二つの球が交差している形状から，外から見える部分の形状を作り出す操作である．このように，ポリゴンモデルの外側の形状だけを，新たなポリゴンモデルとして再構成する機能がラッピングである．3 章 3）のバラの花の内側に隠れたフェイス群は，ラッピ
ング機能で取り除いた．ラッピングという機能名は，ポリゴンモデルをラップで隙間があかないように包んだ時に作られるラップの形状をイメージして使われている．わずかにあいている
隙間があっても，その隙間を埋めてラッピングするソフトウェアも多い．

図 24

ラッピング

4. 7 立体穴埋めとデフィーチャ
3 章のバラの例で示したように，CT から得られるポリゴンモデルには，計測物に存在しないスパイク状の袋穴や，立体の一部が欠損しているような貫通穴があくことがある．POLYGONALmeister では，指定半径の球が入らない箇所を貫通穴や袋穴として自動的に検出し，検出した箇所を埋める「立体穴埋め」機能を提供している．さらに，自動的な穴埋めでは望む形
状にならないケースのために，穴の周囲をマウスで領域指示して，その部分のポリゴンを再構

3D プリンタ造形に必要なポリゴン編集機能（111）65

成する「デフィーチャ」機能も提供している（図 25）．デフィーチャ機能を使うと，貫通穴や袋穴だけでなく突起や歪みも除去できる．また，4. 1. 6 項で述べた穴周辺が乱れているケースのシェルの穴埋めにも有効に利用できる．

図 25

貫通穴を埋めるデフィーチャの例

4. 8 オフセット
ポリゴンモデルや CAD モデルのすべての面上点を，それぞれの法線方向に移動し，形状モデルを膨張/収縮させる処理はオフセットと呼ばれている．3D プリンタの造形物は，材料の使用量を削らすため，図 26（a）のように内部に中空部を作ることがある．中空化する処理では，ポリゴンモデルをオフセットして中空部のシェルを作り，作成したシェルの表裏を反転する．
面状のモデル（開シェルのポリゴンモデル）に厚みを付けて立体にする場合は，オフセット，
表裏反転の後，オフセット前とオフセット後のシェル境界をつなぐ側面のフェイス群を作り，シェルを一つにつなぎ立体にする（図 26
（b）
）．

図 26

オフセットの例

4. 9 分割
3D プリンタには造形物の寸法に制限があるため，大きな寸法のポリゴンモデルの場合，分割に適した位置で造形可能な大きさに分割する（図 27）．立体を面で切断，分離し，切り口に切断で使用した面を埋めこむ．切断面には，平面や，折れ線をスイープした面などが使われる．
また，分割した造形物同士が噛み合うように切断面に凹凸をつけることもある．
交線の折れ線列が複数本得られる場合に，その中から分割処理に使う交線列を選べると，バラの花弁の隙間を埋めるケース（3 章 4）参照）のように，ポリゴンモデルの一部に蓋をする
処理や部分的な切断処理で有効に使える．

66（112）

図 27

4. 10

分割の例

細部の編集

ポリゴンモデルの細部を変更したいときに，フェイス，エッジ，頂点というポリゴンモデルを構成する要素単位の編集機能を使う．
1） 頂点併合（図 28）
指示頂点（図では A）の 1 近傍頂点のいずれかの位置（図では B）に，指示頂点を移動し，一つの頂点にまとめる．

図 28

頂点併合の例

2） エッジ入れ替え
図 29 に例を二つ示す．指示エッジ（図では A と B を結ぶエッジ）に隣接する 2 フェイスの頂点（図では A，C，B，D）の中で，指示エッジの両端以外の 2 頂点（図では C と D）を結ぶエッジに，指示エッジを入れ替える．4. 1. 3 項の 3 頂点がほぼ直線上に並ぶ小さなフェイスの除去と同じ処理である．

図 29

エッジ入れ替えの例

3D プリンタ造形に必要なポリゴン編集機能

5.

（113）67

UEL のポリゴンソリューション
UEL が 現 在 開 発， 販 売 し て い る ポ リ ゴ ン ソ リ ュ ー シ ョ ン に は， 本 文 書 で と り あ げ た＊3

POLYGONALmeister と，CADmeister が あ る． ポ リ ゴ ン だ け を 使 用 す る 利 用 者 に は
POLYGONALmeister が，ポリゴンと CAD 曲面モデルの両方を使う利用者には CADmeisterが適している．両方のソリューションの図形処理部分は共通化されていて，いずれのソリュー
ションでも，同様の処理結果が得られる．
POLYGONALmeister は，数千万フェイスからなる大容量のポリゴンモデルでも操作できることや，3 次元形状モデルの操作の経験がない利用者にも容易に使うことができるわかりや
すい操作性を実現している．POLYGONALmeister は，付加製造だけでなく，シミュレーショ
ン，CAM（Computer Aided Manufacturing），計測物の検査，3D データビューイングなど広い用途に，利用業種を問わず適用されることをスコープに入れて開発している．
CADmeister は，設計で使われる CAD 曲面モデルと，計測したポリゴンモデルがデータベース内で共存し，利用者が CAD 曲面とポリゴンの区別を意識せず操作できる環境の提供を目指している．すでに，CADmeister では CAD 曲面モデルとポリゴンモデルの間の切断処理や集合演算ができる．従来，CAD 曲面モデルとポリゴンモデルは，表現方法が全く異なるため，エンジニアリングシステムは CAD 曲面を中心に，計測データ処理はポリゴンを中心に，独立して開発，発展してきた．CADmeister は，形状モデルを統合することにより，設計と計測を一体化するソリューションとして，製造業の設計工程を大きく変革する可能性を持っている．
6. お

わ

り

に

3D プリンタや計測装置の技術進化，普及に伴い，3 次元形状モデルの利用が急速に進んでいる．その形状モデルの中心的役割を担っているのがポリゴンモデルである．今後ポリゴンを扱うソフトウェアがますます重要になると考える．筆者らはポリゴンの図形処理技術をコアコ
ンピタンスに，エンジニアリングをはじめ，様々な分野に適用できるソリューションを提供していく所存である．利用者の課題を解決する先端の技術研究を続け，研究成果をソフトウェ
ア・ソリューションとして提供することにより，社会の発展に貢献したい．
理化学研究所のポリゴンの研究や，UEL の POLYGONALmeister の開発の過程で，多くのポリゴンに関わる人達から，課題，要望を集めた．また，VCAD システム研究会で行ったソ［10］

フトウェア評価では，開発途中のソフトウェアを会員が試用，評価する活動を行った ．このような支援と，理化学研究所の知財を活用することにより，短期間で POLYGONALmeisterを製品化することができ，感謝している．
3D プリンタ向けの形状修正，編集処理を例に，ポリゴンモデルの編集機能，図形処理アルゴリズムについて解説した．この文書が読者の参考になれば幸いである．
─────────＊ 1

バラや図 12 の手，図 26（a）の鋳物のポリゴンモデルは，理化学研究所で共同研究している
計測情報処理研究チームが所有している．
＊ 2 3D プリンティング時に造形物が垂れ下がらないようにポリゴンモデルの中空部や外部に支えの形状を作るが，本文書では説明を省略する．
＊ 3 UEL が開発販売している国産唯一の CAD/CAM/CAE（Computer Aided Design/Manufacturing/Engineering）統合システム．

68（114）

参考文献 ［ 1 ］ 谷本茂樹，「ポリゴンエンジニアリングの実現に向けた理化学研究所との共同研究」，
ユニシス技報，日本ユニシス，Vol. 32 No. 3 通巻 114 号，pp131-140,（2012）［ 2 ］ 長井超慧，「3D スキャナによる計算機への現物形状入力」，精密工学会誌，Vol. 79,
No6, pp497-501,（2013）［ 3 ］ 大竹豊，「産業応用における 3D スキャニング技術の活用」，精密工学会誌，Vol. 79,
No10, pp908-912,（2013）［ 4 ］ 土江庄一，東正毅，「法線テンソルによるメッシュの平滑化」，2012 年度精密工学会
春季大会学術講演会論文集，2012 年 3 月，P535-536．
［ 5 ］ M. Garland and P. Heckbert, Surface simpliﬁcation using quadric error metrics, In
Proc. of ACM SIGGRAPH, pp. 209-216,（1997）［ 6 ］ S. Yoshizawa, A. Belyaev and H-P. Seidel, Fast and robust detection of crest lines
on meshes, In Proc. of ACM Symposium on Solid and Physical Modeling, pp. 227-232,（2005）［ 7 ］ 佐久間孝広，田中修平，清水保弘，「メッシュサイズの変化が緩やかな適応的ポリゴ
ンメッシュ簡略化」，型技術，Vol. 28, No. 12,（2013）［ 8 ］ 長田隆，「三次元力学解析に関わる新しい要素技術」，理研シンポジウム ものつくり
情報技術統合化研究 第 4 回，理化学研究所，P75-86,（2004）［ 9 ］ 清水保弘，「長田パッチの 3 次への拡張」，ユニシス技報，日本ユニシス，Vol. 32
No. 3 通巻 114 号，pp141-162,（2012）［10］ 谷本茂樹，「ポリゴンエンジニアリングの研究」，計算工学，Vol. 9, No. 3, pp18-21,（2014）

執筆者紹介

谷 本 茂 樹（Shigeki Tanimoto）
1977 年大阪大学理学研究科修士課程修了．同年日本ユニバック（株）入社．CADCEUS の設計など，形状処理を中心に CAD シス
テムの開発に従事．2011 年日本ユニシス・エクセリューションズ（株）執行役員．2012 年同社技術主幹．理化学研究所計測情報処理研究チームリーダを兼務．VCAD システム研究会理事．