仕組み¶
このページは読まなくても使えますが、Seamless CAD がなぜこういう挙動をするのかを 説明しています。寄せられる「おかしい」という報告の多くは、ここに書いた設計の 結果として起きています。
形状を計算しているのは Blender ではない¶
Blender 標準のモデリング機能はポリゴンメッシュを扱いますが、Seamless CAD は 違います。形状は工業用 B-Rep カーネルである OpenCASCADE (OCCT) が計算し、 それは Blender とは別のプロセスとして動いています。Blender は結果を受け取って 描画しているだけです。
このことから、次の点が導かれます。
- アドオンは実行ファイル(
cad_server.exe)を同梱しています。これがカーネル本体で、 ネットワークサービスではありません。現状 Windows 専用なのもこのためです - 最初の Start Seamless CAD に少し時間がかかるのは、このプロセスを起動して いるからです
- 曲面は厳密です。円柱は数学的な円柱であって、多角柱ではありません。ビューポートに 見えているのは、その厳密な曲面を表示のために近似したメッシュです
- Blender のメッシュ編集ツールは CAD 形状には効きません。本物の Blender メッシュが 必要なら Bake to Mesh を通す必要があります
プロキシと結果¶
Feature Tree の各項目には、ビューポート上に軽量なプロキシオブジェクトが対応 しています。選択したり動かしたりしているのはこのプロキシで、位置・回転・ スケールを保持しています。
G / R / S でプロキシを動かすと、Blender が 「プロキシが動いた」とアドオンに伝え、カーネルが再計算し、描画される結果が追従 します。Blender の標準的な視点操作やトランスフォームがそのまま使えるのは、 プロキシがただの Blender オブジェクトだからです。
Feature Tree はレイヤーではなくプログラム¶
Feature Tree は上から下へ評価されます。各項目の Operation
(Base / Add (Fuse) / Subtract (Cut) / Intersect (Common))が、それより上の
すべてを積み上げた結果に対して、どう合成するかを指定します。
つまり順序に意味があり、順序を変えれば結果が変わります。ブーリアンの前に置いた フィレットと、後に置いた同じフィレットは、別の稜線を丸めます。
Base は特別扱いする価値があります。これは積み上げてきた結果を捨てて、そこから
やり直します。ツリーの途中にある Base は、事実上そこで履歴を二分します。この
とき Property Editor には Separate Previous to New Part が現れ、捨てられる側を
別パーツとして切り出せます。放置して無効なまま残すより、こちらのほうが扱えます。
ロールバック¶
Feature Tree の各行の右端にあるピンのアイコンがロールバックポイントです。 評価はそこで止まり、それ以降の行はグレーアウトして無視されます。
途中の状態を確認したいときや、履歴の前のほうを編集するあいだ、それ以降を 再計算させたくないときに使います。ピンを外せば全体の評価に戻ります。
履歴の途中に操作を挿し込むことはできません。新しい項目は常にツリーの末尾に 追加されます。ピンを刺したまま作成した場合もそうで、ピンより下に置かれるため 評価されません。Feature Tree と Part を参照してください。
ロールバックで隠れている間は無効になる操作があります。Edit Sketch がその一つで、 黙って何も起きないのではなく「Hidden by rollback point」と表示されます。
面と稜線の同一性 — Cleanup が手動である理由¶
Fillet、Chamfer、Shell、Draft といった操作は「この座標にある稜線」を記憶している のではありません。カーネルのトポロジー上の特定の面・稜線の同一性への参照を 保持しています。後から寸法を変えてもこれらの操作が壊れないのは、そのためです。 稜線が移動しても、フィレットは同じ稜線を指したままです。
Cleanup (Unify) が手動操作で、自動適用されないのもこれが理由です。同一平面上の 面を統合すると、統合された面の同一性が失われます。その面を参照していたフィレットや オフセットは、対象を見失います。書き出し前には有用な操作ですが、生きた履歴の途中で 使うと破壊的なので、判断はあなたに委ねられています。
選択が Blender の通常の選択ではなく、専用の Selection Mode で行われるのも同じ 仕組みからきています。選んでいるのはメッシュの要素ではなく、カーネルのトポロジー だからです。
表示の品質と、実際の品質は別物¶
Linear と Curvature の設定は、厳密な曲面を表示用の三角形に変換する細かさを 決めます。影響するのは見た目だけです。モデルそのものは変わりませんし、厳密な曲面を 書き出す STEP エクスポートにも影響しません。
表示品質が出力に効く唯一の場面が Bake to Mesh で、だからこそ Use High Quality Bake という別設定があります。表示は粗く軽いままで作業しつつ、 ベイクだけ細かくできます。
Fast Modifier Preview と Live Boolean Preview はさらに踏み込んで、ドラッグ中は 高速な経路で計算した近似結果を表示します。手を離したときの結果は常に厳密に計算 されています。プレビューがおかしく見えることがあれば、その正体はこれです。 気になるなら切ってください。