# Polygon Optimizer (ポリゴン最適化)

セクション名 [PLYGNOPTIMIZE]

## Process_(プロセス番号)

実行するプロセスを指定する。
指定されたプロセスはプロセス番号の昇順で実行される。
プロセス番号は0から開始し連番であること。
使用するパラメーター名の後ろに"_(プロセス番号)"をつけることで、該当プロセス内でのパラメーター設定を上書きすることが可能。
例:

    Process_3=RepairAllShortEdge
    PhShortLength_3=0.01
    .....
    Process_5=RepairAllShortEdge
    PhShortLength_5=0.1

- 選択肢
  - AutoHeal: 自動修正
  - Smooth: 平滑化
  - SharpenEdge: ピン角強調
  - Remesh: リメッシュ
  - Wrap: ラッピング
  - Offset: オフセット
  - Decimate: 簡略化
  - FillHole: 穴埋め
  - Stitch: スティッチ
  - RepairAllSharpEdge: シャープエッジの一括修正
  - DeleteSharpEdgeAndFillHole: シャープエッジの削除と穴埋め
  - RepairAllShortEdge: 短いエッジの一括修正
  - RepairAllLongEdge: 長いエッジの一括修正
  - RepairAllSliverTriangle: 微小角のあるフェースの一括修正
  - RepairAllSmallShell: 微小シェルの一括修正
  - RepairAllSmallVolume: 微小ボリュームの一括修正
  - RepairAllCavity: 内部空洞の一括修正
  - RepairOverlappingTriangles: 三角形間の干渉を修正
  - Retopology: メッシュ再構成
  - DenoisePointCloud: 点群平滑化
  - RemovePointCloudOutliers: 点群異常値除去
  - GeneratePolygons: 点群ポリゴン化
  - BreakPolygons: ポリゴン解除
  - End: 以降の処理を行わない

## ProcessNumberMax

プロセス番号の最大値を指定する。
指定された数字以下のプロセスまでが実行対象となる。

- 値: 整数値

## プロセス AutoHeal

### PhTolerance

修正用距離トレランスを指定する。
正の実数値
指定しない場合はポリゴンエッジの長さから自動判別される

- デフォルト値:

### ModifyPolygonFreeEdge

フリーエッジを修正する

- デフォルト値: 0
- 選択肢
  - 0: 修正しない
  - 1: 修正する

### ModifyPolygonSharpEdge

シャープエッジを修正する

- デフォルト値: 0
- 選択肢
  - 0: 修正しない
  - 1: 修正する

### ModifyPolygonShortEdge

短いエッジを修正する

- デフォルト値: 0
- 選択肢
  - 0: 修正しない
  - 1: 修正する

### ModifyPolygonLongEdge

長いエッジを修正する

- デフォルト値: 0
- 選択肢
  - 0: 修正しない
  - 1: 修正する

### ModifyPolygonSliverTriangle

微小角のあるフェースを修正する

- デフォルト値: 0
- 選択肢
  - 0: 修正しない
  - 1: 修正する

### ModifyPolygonSmallShell

微小シェルを修正する

- デフォルト値: 0
- 選択肢
  - 0: 修正しない
  - 1: 修正する

### ModifyPolygonSmallVolume

微小ボリュームを修正する

- デフォルト値: 0
- 選択肢
  - 0: 修正しない
  - 1: 修正する

### ModifyPolygonCavity

内部空洞を修正する

- デフォルト値: 0
- 選択肢
  - 0: 修正しない
  - 1: 修正する

### ModifyTunnel

トンネルを修正する。

- デフォルト値: 0
- 選択肢
  - 0: 修正しない
  - 1: 修正する

### ModifyHandle

ハンドルを修正する。

- デフォルト値: 0
- 選択肢
  - 0: 修正しない
  - 1: 修正する

### ModifyFoldedPolygon

折り返しを修正する。

- デフォルト値: 0
- 選択肢
  - 0: 修正しない
  - 1: 修正する

### MaxHoleWidth

修正対象の穴幅の最大値を指定する。
正の実数値
指定しない場合はポリゴンエッジの長さから自動判別する。

- デフォルト値:

### HoleExceptMostOuter

最大穴幅の穴を修正対象から除外する

- デフォルト値: 0
- 選択肢
  - 0: 除外しない
  - 1: 除外する

### ModifyFilledSurface

穴埋めした面を修正する

- デフォルト値: 1
- 選択肢
  - 0: 修正しない
  - 1: 修正する

### WeightOfOutsideForHole

穴埋めした面を修正する際の外側の形状の重みを指定する。
0.0～1.0の実数値
0.0: 面積を最小化する
1.0: 曲率を均一化する

- デフォルト値: 1

### HoleFillingQuality

穴埋め結果の品質レベルを指定する。値が大きいほど品質は向上するが処理時間はかかる。

- デフォルト値: 3
- 選択肢
  - 1: 低い(速度優先)
  - 2: やや低い(品質考慮の速度優先)
  - 3: 標準(既定値)
  - 4: 高い(品質優先)

### PhSharpAngle

シャープエッジと判定する角度の最大値を指定する。
正の実数値

- デフォルト値: 10

### PhShortLength

短いエッジと判定する長さの最大値を指定する。
正の実数値

- デフォルト値: 0.01

### PhLongLength

長いエッジと判定する長さの最小値を指定する。
正の実数値

- デフォルト値: 10

### PhSliverAngle

微小角のあるフェースと判定する角度の最大値を指定する。
正の実数値

- デフォルト値: 1.5

### PhTinyArea

微小シェルと判定する面積の最大値を指定する。
正の実数値

- デフォルト値: 0.001

### PhTinyVolume

微小ボリュームと判定する体積の最大値を指定する。
正の実数値

- デフォルト値: 0.0001

### MaxCavityVolume

修正対象の内部空洞の体積の最大値を指定する。
正の実数値
指定しない場合はポリゴンモデルの大きさから自動判別される。

- デフォルト値:

### FoldedPolygonAngle

折り返しと判定する角度の最大値を指定する。
フェース間の角度が指定した角度より小さい場合折り返しと判定され修正される。
正の実数値を指定する。
(ModifyFoldedPolygon=1の場合のみ有効)

- デフォルト値: 45

## プロセス Smooth

### SmoothNum

平滑化処理内部の計算回数を指定する。
正の整数を指定する。
回数が少ないほどポリゴンが平滑化され回数が多いほど元形状に近い結果となる。

- デフォルト値: 3

## プロセス SharpenEdge

### SharpenNum

ピン角強調処理の実行回数を指定する。
正の整数を指定する。

- デフォルト値: 20

## プロセス Remesh

### PhTolerance

修正用距離トレランスを指定する。
正の実数値
指定なしの場合はポリゴンエッジの長さから自動判別される。

- デフォルト値:

### RemeshLongEdgeLen

調整対象のエッジ長の最大値を指定する。
RemeshShortEdgeLenより大きな値でなければならない。
正の実数値
指定なしの場合はポリゴンエッジの長さから自動判別される。

- デフォルト値:

### RemeshShortEdgeLen

調整対象のエッジ長の最小値を指定する。
RemeshLongEdgeLenより小さな値でなければならない。
正の実数値
指定なしの場合はポリゴンエッジの長さから自動判別される。

- デフォルト値:

### RemeshIter

リメッシュ処理の実行回数を指定する。
正の整数を指定する。

- デフォルト値: 3

## プロセス Wrap

### MinVoxelSizeForWrap

ボクセル分割の分割能を指定する。
小さい値を設定すると形状の再現性は良くなるが、処理時間/メモリー使用量が増加する。
正の実数値
指定なしの場合はポリゴンモデルの大きさから自動判別される。

- デフォルト値:

### FillingTolForWrap

ポリゴン同士の隙間を埋めるトレランスを指定する。
正の実数値

- デフォルト値: 0

### WrapSimplify

ラッピング後にポリゴンを簡略化する

- デフォルト値: 0
- 選択肢
  - 0: 簡略化しない
  - 1: 簡略化する

### WrapDeleteOriginal

元形状を削除する

- デフォルト値: 1
- 選択肢
  - 0: 削除しないアセンブリーに含まれないパートを集めた新規アセンブリーを構成した上でトップアセンブリーごとに新規パートが追加される
  - 1: 削除する結果は1つのパートのみとなる

## プロセス Offset

### PolygonOffset

オフセット値を指定する。
負の値は反対方向にオフセットされる。
実数値

- デフォルト値: 0

### PolygonOffsetSolidConstruction

オフセット面と元形状を利用して閉じたソリッドを構成する

- デフォルト値: 0
- 選択肢
  - 0: 構成しない
  - 1: 構成する

## プロセス Decimate

### PhTolerance

修正用距離トレランスを指定する。
正の実数値
指定なしの場合はポリゴンエッジの長さから自動判別される。

- デフォルト値:

### DecimateTargetRatio

目標三角形数割合を指定する。
DecimateTargetNumと共に指定した場合この値が優先される。
0.0～1.0の実数値

- デフォルト値: 0.8

### DecimateTargetNum

目標三角形数を指定する。
DecimateTargetRatioと共に指定した場合DecimateTargetRatioの値が優先される。
正の整数

- デフォルト値:

## プロセス FillHole

### PhTolerance

修正用距離トレランスを指定する。
正の実数値
指定なしの場合はポリゴンエッジの長さから自動判別される。

- デフォルト値:

### MaxHoleWidth

修正対象の穴幅の最大値を指定する。
正の実数値
指定なしの場合はポリゴンエッジの長さから自動判別される。

- デフォルト値:

### HoleExceptMostOuter

最大穴幅の穴を修正対象から除外する

- デフォルト値: 0
- 選択肢
  - 0: 除外しない
  - 1: 除外する

### ModifyFilledSurface

穴埋めした面を修正する

- デフォルト値: 1
- 選択肢
  - 0: 修正しない
  - 1: 修正する

### WeightOfOutsideForHole

穴埋めした面を修正する際の外側の形状の重みを指定する。
0.0～1.0の実数値
0.0: 面積を最小化する
1.0: 曲率を均一化する

- デフォルト値: 1

### HoleFillingQuality

穴埋め結果の品質レベルを指定する。値が大きいほど品質は向上するが処理時間はかかる。

- デフォルト値: 3
- 選択肢
  - 1: 低い(速度優先)
  - 2: やや低い(品質考慮の速度優先)
  - 3: 標準(既定値)
  - 4: 高い(品質優先)

## プロセス Stitch

### PolygonStitch

スティッチ対象の溝幅の最大値を指定する。
正の実数値

- デフォルト値: 0.01

### PhShortLength

短いエッジと判定する長さの最大値を指定する。
正の実数値

- デフォルト値: 0.01

## プロセス RepairAllSharpEdge

### PhTolerance

修正用距離トレランスを指定する。
正の実数値
指定なしの場合はポリゴンエッジの長さから自動判別される。

- デフォルト値:

### PhSharpAngle

シャープエッジと判定する角度の最大値を指定する。
正の実数値

- デフォルト値: 10

## プロセス DeleteSharpEdgeAndFillHole

### PhTolerance

修正用距離トレランスを指定する。
正の実数値
指定なしの場合はポリゴンエッジの長さから自動判別される。

- デフォルト値:

### PhSharpAngle

シャープエッジと判定する角度の最大値を指定する。
正の実数値

- デフォルト値: 10

### HoleFillingQuality

穴埋め結果の品質レベルを指定する。値が大きいほど品質は向上するが処理時間はかかる。

- デフォルト値: 3
- 選択肢
  - 1: 低い(速度優先)
  - 2: やや低い(品質考慮の速度優先)
  - 3: 標準(既定値)
  - 4: 高い(品質優先)

## プロセス RepairAllShortEdge

### PhTolerance

修正用距離トレランスを指定する。
正の実数値
指定なしの場合はポリゴンエッジの長さから自動判別される。

- デフォルト値:

### PhShortLength

短いエッジと判定する長さの最大値を指定する。
正の実数値

- デフォルト値: 0.01

## プロセス RepairAllLongEdge

### PhLongLength

長いエッジと判定する長さの最小値を指定する。
正の実数値

- デフォルト値: 10

## プロセス RepairAllSliverTriangle

### PhTolerance

修正用距離トレランスを指定する。
正の実数値
指定なしの場合はポリゴンエッジの長さから自動判別される。

- デフォルト値:

### PhSliverAngle

微小角のあるフェースと判定する角度の最大値を指定する。
正の実数値

- デフォルト値: 1.5

## プロセス RepairAllSmallShell

### PhTinyArea

微小シェルと判定する面積の最大値を指定する。
正の実数値

- デフォルト値: 0.001

## プロセス RepairAllSmallVolume

### PhTinyVolume

微小ボリュームと判定する体積の最大値を指定する。
正の実数値

- デフォルト値: 0.0001

## プロセス RepairAllCavity

### MaxCavityVolume

修正対象の内部空洞の体積の最大値を指定する。
正の実数値
指定なしの場合はポリゴンモデルの大きさから自動判別される。

- デフォルト値:

## プロセス RepairOverlappingTriangles

### OverlappingTolerance

ポリゴンの干渉判定に使用する距離トレランスを指定する。
指定した距離以下で重なっていると判定されたポリゴン領域がマージされる。
正の実数値を指定する。

- デフォルト値: 1

## プロセス Retopology

### RetopologyFidelity

元形状への依存度を指定する。

- デフォルト値: 5
- 選択肢
  - 0: 依存度最低
  - 1: 依存度低
  - 2: 依存度低～中
  - 3: 依存度中～高
  - 4: 依存度高
  - 5: 依存度最高

## プロセス DenoisePointCloud

### FairingRadius

点群平滑化の影響領域を、球の半径で指定する。[mm]
各点は指定された半径以内の周辺点を参考に位置が変更される。
値が大きいほど平滑化の度合いが大きくなり詳細の形状は無視される場合がある。
正の実数値を指定する。
値を指定しない場合は自動計算した値が使用される。

- デフォルト値:

### ResultDataSize

平滑化処理とあわせてデータサイズの削減(点の間引き)を行う。
元のデータサイズに対する平滑化後のデータサイズの割合を指定する。
正の実数値(0 ～ 1)を指定する。

- デフォルト値: 1

## プロセス RemovePointCloudOutliers

### OutlierDistance

異常値の判定に使用する距離を指定する。[mm]
正の実数値を指定する。
点群に含まれる点が、隣接する点の距離がパラメーターOutlierDistanceの値未満の場合を同一グループとしてグループ分けされ、含まれる点の数が少ない(パラメーターOutlierSizeの値以下)グループ内の点は異常値として除去される。

- デフォルト値: 100

### OutlierSize

異常値の判定に使用する点の数を指定する。
点群に含まれる点が距離でグループ分けされ、含まれる点の数が少ない(パラメーターOutlierSizeの値以下)グループ内の点は異常値として除去される。
正の整数値を指定する。

- デフォルト値: 10

## プロセス GeneratePolygons

### PoissonMeshFineness

作成するポリゴンの細かさを指定する。

- デフォルト値: 10
- 選択肢
  - 6: とても粗い
  - 7: 粗い
  - 8: やや粗い
  - 9: 普通
  - 10: やや細かい
  - 11: 細かい
  - 12: とても細かい

### PoissonTrimmingArea

Poisson曲面メッシュ作成時のトリム量を指定する。
点群の密度が小さい箇所で期待に反してポリゴンに穴が開いてしまう場合はトリム量を小さくすることで穴ができにくくなる。
逆に密度が小さい箇所をそのまま穴としたい場合はトリム量を大きくしてください。

- デフォルト値: 3
- 選択肢
  - 0: とても小さい
  - 1: 小さい
  - 2: やや小さい
  - 3: 普通
  - 4: やや大きい
  - 5: 大きい
  - 6: とても大きい

## プロセス BreakPolygons