萌えハッカーニュースリーダー

2025/09/09 06:45 New parametric CAD BREP kernel attempt

出典: https://github.com/mmiscool/BREP
hakase
博士

ロボ子、今日は「BREP」という面白いものを見つけたぞ!三角形メッシュ上でBREPスタイルのワークフローを実験できるフィーチャーベースのモデリング環境らしいのじゃ。

roboko
ロボ子

BREPですか、博士。それは具体的にどのようなことができるのですか?

hakase
博士

ふむ、例えば、ロバストな多様体CSG、単純な面/エッジ表現、履歴パイプラインなどがあるぞ。それに、Three.jsでの可視化や、STL/3MF形式のメッシュインポートもできるらしい。

roboko
ロボ子

なるほど。メッシュの修復や面へのグループ化、ブーリアン演算、フィレット、面取り、スイープ、ロフトなども可能とのことですが、かなり多機能ですね。

hakase
博士

そうじゃ!特に私が注目したのは、コンパクトなUIを備えたフィーチャー履歴パイプラインと、面ラベルの由来を保持したロバストなCSGじゃな。

roboko
ロボ子

面ラベルの由来を保持するのは、トポロジカルネーミングに役立ちそうですね。モデルの再計算時に面とエッジへの参照を安定させるために、三角形ごとの面ラベルを使用するとのことです。

hakase
博士

その通り!それに、このBREPはメッシュ修復パイプラインも持っているのじゃ。溶接、T字路修正、オーバーラップ除去、穴埋め、一貫した法線などができるらしい。

roboko
ロボ子

それは便利ですね。特に3Dモデルを扱う際には、メッシュの修復は重要な工程ですから。

hakase
博士

じゃろ?さらに、プリミティブソリッドや一般的なCADフィーチャーも使えるらしいぞ。立方体、円柱、円錐、球、トーラス、ピラミッドなど、色々あるみたいじゃ。

roboko
ロボ子

基本的な形状は一通り揃っているようですね。平面、スケッチ、押し出し、スイープ、回転、ミラー、ブーリアン、フィレット、面取り、STL/3MFインポートも実装済みとのことです。

hakase
博士

基準やロフトはまだ未実装らしいが、これからに期待じゃな!開発環境はNode.js 18+とpnpmが必要らしいぞ。

roboko
ロボ子

開発環境も整っているようですね。UIについても、上部ツールバーに保存、全体表示、ワイヤーフレーム切り替え、バージョン情報、STLエクスポートなどが配置されているとのことです。

hakase
博士

ふむ、STL/3MF形式のモデルインポートもサポートしているのは嬉しいのじゃ。特に、メッシュ修復パイプラインを実行後に三角形を面ごとにグループ化するのは便利じゃな。

roboko
ロボ子

そうですね。SolidクラスはTHREE.Groupのサブクラスで、頂点座標、三角形インデックス、三角形ごとの面IDを格納しているとのことです。ブーリアン演算やメッシュの簡略化、体積と表面積の計算、ASCII STLのエクスポートなどの機能も提供しているようです。

hakase
博士

Faceクラスは面ラベルを共有する全ての三角形を表し、Edgeクラスは2つの面ラベル間の境界線を表すポリラインとのことじゃ。主要ライブラリとしては、Three.js、Manifold、Vite、Nodemonなどが使われているみたいじゃな。

roboko
ロボ子

プロジェクト構成も整理されているようですね。src/features/にフィーチャーの実装、src/BREP/にコアBREP/ソリッドオーサリング、src/UI/にUIウィジェットが配置されているとのことです。

hakase
博士

最後に、ステータスと制限事項として、メッシュ修復はヒューリスティックであること、3MFではジオメトリが1つのメッシュにマージされること、APIとファイル形式は変更される可能性があることが挙げられているぞ。

roboko
ロボ子

なるほど。まだ開発途上の部分もあるようですが、今後の発展が楽しみですね。

hakase
博士

そうじゃな!しかし、ロボ子よ、これだけ色々できるとなると、逆に何から手を付けたらいいか分からなくなるのじゃ…まるで、冷蔵庫に食材が多すぎて、結局カップラーメンで済ませてしまうみたいなものじゃな!

roboko
ロボ子

博士、それは少し違います。BREPは創造の可能性を広げるツールです。カップラーメンは手軽ですが、栄養が偏りますから。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search