Hardcraft|CADのパッチ構造からリトポする無料Blenderアドオン

Blender

Vitaliy Yablonskiy氏(@polozad)が、CADのエクスポートをリトポロジーするBlenderアドオン「Hardcraft」の公開アルファ版をGitHubで配布しています。PlasticityのブリッジやSTEPファイルから読み込んだメッシュに残っているCADの面構造を読み取り、パッチとカーブに分けたうえで、曲面にはクワッド、平面や切り欠きには三角を割り当てる仕組みです。無料で、最新版は2026年9月10日公開のv0.8.8-alpha.1です。

CADの面構造を読んでリトポする

作者はHardcraftを、汎用のリメッシャーでも、すべてをクワッドにするリトポツールでもないと説明しています。エクスポートされたメッシュは三角形の集まりですが、その中にはCADのトポロジーが残っていて、それを読んでクワッドが向く場所にクワッドを、そうでない場所に三角を返す、というのが作者の説明です。

  • 境界はCADが正解、内部は自由: パッチの境界はCADの曲面に合わせ直して固定し、内部を展開して充填。シルエットはCADから取るため、クワッドと三角が混ざっても形は崩れないという設計
  • クワッドは必要な場所だけ: 曲面は構造化グリッド・チューブ・ロフト、平面やフィーチャ、切り欠きは三角。フィレットの帯には手で描くようなループの流れ
  • Cover: CADの分割が欲しいメッシュより細かいとき、つながった面のまとまりに1枚のパッチを載せる機能(Alt+F)
  • パラメトリックな調整: スパン数・密度・コンター・インセット・強制三角化、リラックスやソフトムーブのブラシまで、パッチ単位でメッシュのデータブロックに保存。アンドゥ・保存・再フィルをまたいで保持

作者は2026年9月7日に、約3分のデモ動画をXに投稿しています。デモに使われたSTEPファイルは@ThatNgonGuy氏の提供で、この記事のアイキャッチもこの動画から切り出しています。

作業はPATCHとCURVEの2つのモードで

公式ドキュメントでは、作業の流れを次のように示しています。

  • CADソース: Plasticityのブリッジ、またはSTEP
  • Detect: パッチとカーブの検出
  • PATCH: パッチを選んで充填
  • CURVE: カーブを切って調整
  • Commit: 溶接とUV

クイックスタートのページは、最初のきれいなメッシュができるまで約10分としています。Coverの動きは、作者が8月31日に投稿した短い動画で見られます。

v0.8.8の主な変更点

  • 密度の決め方を1つの数値に統一: スパンはすべてシルエット許容差から算出。Low / Mid / Highの3プリセット(0.2 / 0.1 / 0.05。Lowは一周するリングを16で頭打ち)から、ターゲットを作る前に選択
  • スパンをターゲット単位で一括で解く方式: グリッドの対辺、チューブの両端、フィレット角の3本の弧が同じ本数に。同じ半径の弧は4・8・12・16・24・32・48・64のいずれかの共通のリング数
  • 直線は1スパンのまま: 手で変えない限り、充填や解き直しで本数が変わらない仕様
  • チューブ: エルボーやU字に曲がったチューブは曲がりに沿って列を配置。コーンは両端をそれぞれの本数のまま充填
  • 本数の理由を表示: Report selected facesで、各辺のスパン数が決まった経緯をたどれる機能
  • 高速化: 400アイランドの部品でターゲット作成が0.7秒から0.14秒に。11k三角形のスマートフィルでのドラッグが40msから7msに

既存のターゲットは作ったときのスパンを保つので、新しい解き方を使うにはNew Targetを作り直す必要があります。変更点の全体はチェンジログにまとまっています。

アルファ版の制約

作者は、実際の制作のリトポ作業に合わせて開発していて変化が速く、既定値の調整や機能の追加が続くとしています。既知の問題のページで挙げられている主な点は次のとおりです。

  • ライブの追従はなし: CADの変更は自動では反映されず、読み直しは明示的に実行。STEPはRe-import CAD、PlasticityはRebind Targetで、パッチやスパンの設定を新しいソースへ移行。CAD側で作り直された曲面のパッチは、元の充填を失って作り直し
  • 大きく複雑な曲面: 少ないカーブで囲まれた大きな曲面は最も難しい入力。エクスポート前に論理的な単位へ分割するのが最も効果的、というのが作者の説明
  • Autoはカーブの調整で充填の種類が変わる場合あり: 結果で判定しているための仕様。固定したいときは種類を明示的に指定

価格・入手先

価格無料
対応バージョンBlender 5.0以降(5.0 / 5.1 / 5.2 LTSで検証)
対応OSWindows / macOS / Linux(STEP用コンバーターのパッケージはWindowsのみ)
作者Vitaliy Yablonskiy氏
入手先GitHub

アドオン本体はピュアPythonで、PlasticityのブリッジやOBJから読み込むなら単体で動きます。STEPの読み込みだけは、OpenCASCADEをBlenderのPythonの中で読み込めないため、別パッケージのコンバーター(hardcraft-cadtools)が必要です。コンバーターはユーザー単位でインストールされて管理者権限は不要、ネットワークも使いません。署名はされていないので初回にSmartScreenの警告が出ることがあり、リリースごとにSHA-256が掲載されています。インストール手順は公式ドキュメントにまとまっています。

管理人のひとこと

CADの面の境界は正解として固定して、中を埋めるところだけを調整の対象にする、という線引きがはっきりしています。平らな面は三角のままでも陰影は変わらず、手をかけたいのは曲面の流れのほうなので、クワッドと三角を最初から使い分ける作りはモデルを作る側の感覚に近いです。

ただ、今のところ対応はBlender 5.0以降だけです。4.5で止めている環境なら、同じようにPlasticity由来の形状をパッチ単位で扱う有償のPatchGAPもあります。アルファの間は既定値もどんどん変わるそうなので、しばらくはリリースノートを追いかけたいですね。

コメント

タイトルとURLをコピーしました