ソリッド間のブーリアン演算ではまれに計算誤差によって誤った演算結果になることがあります。こうした場合には「形状の高精度化」を行うと正しい演算結果が得られる可能性があります。
例えば以下の例では回転押し出しで作成した、側面が2面に別れた円筒のふちを球とのブーリアン演算を使って削り取ろうとして失敗しています。
このような場合、以下のような手順で形状の高精度化を行います。
失敗したブーリアン演算の結果(下記の例では「Cut」)をモデルツリー上で選択して削除し、いったん演算を取り消します。
OpenSCAD ワークベンチへ移動します。
モデルツリーでブーリアン演算対象の形状のひとつを選択した後、ツールバーにある形状の高精度化を実行します(メニューの [OpenSCAD]-[Refine Shape Feature] からも実行できます)。
同じ手順を繰り返してブーリアン演算対象となる全ての形状を高精度化します。
なお高精度化時には、形状を表現する上で不要なエッジが取り除かれることがあります(例では円筒側面を二分しているエッジ)。
パートワークベンチへ戻り、高精度化した後の形状を使用して再度、ブーリアン演算を行うと正しい演算結果が得られます。
高精度化してブーリアン演算を行った場合のモデルツリーは以下のようになります。
同様の形状高精度化はパートワークベンチのメニュー [Part]-[Create a copy]-[Refine shape] からも実行できます。ただしこの場合にはOpenSCAD ワークベンチの高精度化ツールとは異なり、高精度化の前後でヒストリーが途切れるので、モデルツリー上で高精度化前の形状のパラメーターを変更してもそれが最終形状にパラメトリックに反映されなくなります。