- OpenCascadeをWebAssemblyにコンパイルし、Three.jsと連携することで、ブラウザ上でほぼネイティブ級の3D CADモデリング・編集・レンダリングを実現したオープンソースプロジェクト
- ボックス、円柱、回転体などの3D形状生成、2Dスケッチ、ブール演算、押し出し・ロフト・スイープ、オフセットなど、多様なCADモデリング機能をサポート
- オブジェクト/ワークプレーンスナップ、軸トラッキング、特徴点の自動検出、視覚的トラッキングガイドなど、精密な設計・編集を支援する機能を提供
- 面取り/フィレット/トリム/分割、移動/回転/ミラーなどの高度な編集、長さ・面積・体積の計測、ドキュメント管理および産業標準フォーマット(STEP、IGES、BREP)の入出力機能を内蔵
- オフィススタイルのUI、階層型アセンブリ管理、多言語(i18n、中国語・英語対応)インターフェース、3Dビューポート/カメラ制御など、実務志向のユーザー体験を提供
概要
- Chili3DはTypeScriptで開発されたブラウザベースのオープンソース3D CADアプリケーション
- OpenCascade(OCCT)をWebAssemblyに変換し、Three.jsと組み合わせることで、インストール不要でWeb上から直接、高性能な3Dモデリング/編集/レンダリングが可能
主な機能
-
モデリングツール
- 基本3D図形: ボックス、円柱、円錐、球、ピラミッドなどを生成
- 2Dスケッチ: 線、円弧、円、楕円、長方形、多角形、ベジェ曲線
- 高度な演算: ブール演算(和、差、積)、押し出し、回転、スイープ、ロフト、オフセット、断面生成
-
精密スナップ・トラッキング
- オブジェクトスナップ: 点、エッジ、面などの幾何学的特徴点に正確にスナップ
- ワークプレーン/軸トラッキング、自動特徴点検出、視覚ガイドにより、複雑な3D位置合わせを容易に実現
-
編集ツール
- 角の丸め(フィレット)、面取り、トリム、分割、移動、回転、ミラーなど多様な3D/2D編集
- フィーチャー削除、サブシェイプ操作、コンパウンドオブジェクトの分解などの高度な編集
-
計測・文書化
- 角度・長さの計測、総延長/面積/体積の計算
- ドキュメントの作成/保存/読み込み、完全なUndo/Redo、STEP/IGES/BREP入出力
-
ユーザーインターフェース
- オフィススタイルのコマンド構成、階層型アセンブリ管理、動的ワークプレーン、3Dビューポート/カメラ位置の保存などをサポート
- 多言語(中国語・英語)インターフェース、i18n構造により追加言語の貢献も可能
技術スタック
- フロントエンド: TypeScript, Three.js
- 3Dエンジン: OpenCascade(WebAssembly)
- ビルド: Rspack、テスト: Jest
オープンソース開発状況
- アルファ(Alpha)段階で、API/機能/ドキュメントは継続的に改善中
- 破壊的変更やドキュメント未整備、一部の必須機能が未実装の状態
貢献・ライセンス
- コード/バグ/フィードバックなど、オープンソースへの貢献を歓迎
- AGPL-3.0ライセンス(商用利用に関する問い合わせは別途可能)
1件のコメント
Hacker Newsのコメント
最初に説明を読んだときは、ただのありふれた3Dのトイプロジェクトだろうと思っていたが、実際に触ってみると驚きだった。ものすごく高速で、UIも他のツールから移ってきた立場でもかなり直感的に感じられる。Fusion 360をOpenSUSE Tumbleweedで使えず、ずっと残念に思っていたが、このツールがその穴を埋めてくれそう。感謝したい気持ち
「OpenCascade(OCCT)をWebAssemblyにコンパイルして使用」という部分を見て、どのジオメトリカーネルを選んだのか気になった。中核となるソリッドモデリングライブラリは、実際のところ何十年も前から使われているものばかりで(Parasolidはほぼ40年もの)、新しく作るのは本当に難しいのだろうと思う
GIS用途でBREPを扱っているが、2Dの単純な線分だけでも本当に複雑な問題になる。例外ケースが非常に多い領域だ。型システムが大いに役立つので、Rustベースで作業するオープンソースがあるならかなり希望が持てる。ちなみにFusion 360からFreecad 1.0に移ってみたが、Freecadはプロジェクト数こそほとんどないものの、圧倒的に速くなっているのを体感した
3Dジオメトリの根本的な数学構造は、長い間ほとんど変わっていない。ParasolidやASICsのようなカーネルのライセンス費用がそれほど高くないなら、わざわざ新しいソリューションを一から作る必要性はあまりない。最近の市場は、AutodeskやHexagonのようなCAD/CAMソフトウェア企業が買収・統合を続けている流れだ。OpenCASCADEも元は商用ソフトウェアだったが、十分な顧客を確保できずオープンソース化されたケース
オープンソースのジオメトリカーネルは実際ほとんどない。目立つのはOpenCascadeとCGALくらいだが、他にもあるのか気になる
こうしたジオメトリの問題をうまく解く方法について、もっと読んでみたい
驚嘆すべきレベルだが、まだconstraintsやsketchesのような機能をどう実装しているのかはよく見えない。そしてWebアプリとして出ているのは少し惜しい点でもある。ただ、変化の流れとして受け止めている
学校でChromebookを使っている立場からすると、こういうWebアプリがあるのは本当にありがたい。学生たちが3Dプリンターで出力までできるなら、ツール選択の幅がずっと広がる。ただ、教師であり親でもある立場としては、Chromebookしか経験していない子どもたちがローカルアプリやファイルシステムを知らないままになるのは心配だ。子どもがポスターを作るとき、画像を探して複数のWebツールにコピー&ペーストを繰り返しているが、AffinityやPhotoshopのようなデスクトップアプリなら一度で済むと伝えても、まったくピンと来ていない感じが何とも不思議だ
現在のバージョンにはまだその機能はないが、今後パラメトリックコンポーネントの形で追加される予定
Webアプリかどうかよりも、constraintsやsketchesなどのパラメトリック設計がどれほど重要かにもっと注目すべきだと思う。個人的には、こうした部分こそがCADプログラムが本格的なものとして受け止められるための核心的要素だ
ブラウザもネイティブアプリに劣らないほど強力になり得ることを示す事例だ。ブラウザベースであることでOS依存がなくなり、世界中のエンジニアや学生がファイル共有やオープンを簡単に行える利点が大きい。新しいノートPCでは、むしろネイティブアプリより速いと感じることさえある。会員登録、メール、2FAなどの面倒なしに30秒で描き始められる。多くの他ツールと比べて、コストなどさまざまな面で利点がある。最近SketchUp、AutoCAD、Revitなどを使っていてこのツールを見つけたので、将来が本当に楽しみだ
ツールアイコンの名前がやや馴染み薄く、しっくり来ない部分があった。たとえば「Bessel」「pour corner」「From the cross section」は、CADでよく使われる英語用語に変える必要がある。使っている最中に言語が突然中国語に切り替わったが、英語に戻す簡単な方法がなくて困った
素晴らしい仕事だと思う。特にDassaultやAutodeskなど少数の企業が支配する分野で、オープンソースのプロジェクトが出てくるのを見るたびにうれしくなる。最近はLLMなどAI活用によって、コンテキスト認識型CADの領域が生まれることにも期待している
本当にすごい。OnShapeのような製品をずっと探していた。こういうツールなら数百ドルでも喜んで払うつもりだ。OnShapeのライセンスは高すぎて、1,000ドルを超える金額を出すのは負担が大きいと思う
OnShapeの社員として言うと、実利用の目的が非商用で、文書が公開でも問題ないなら、OnShapeの無料版で十分使えると思う。現在のOnShapeが維持・拡張・性能を保証している技術スタックは非常に複雑で、運用コストも相当かかる
OnShapeの無料プランも、個人的にはかなり太っ腹に感じる
インターフェースがとても気に入った。FreeCADにもこういう形があれば本当にいいのにと思う。個人的にはPythonインターフェースでパラメトリックモデルを作るスタイルだが、このプロジェクトはかなり素晴らしいと感じる。TruckプロジェクトのCADカーネルがオープンソースCADとして実装される予定があるのか気になる。Truck という現在のプロジェクトはとても有望に見える
CADmiumはTruckカーネルベースだ。ただしCADmiumは2024年6月以降ほとんど活動がなく、参考までに CADmium のリンク。さらに Fornjotカーネル もある
FreeCADのインターフェースのどこが気に入らないのか、具体的に知りたい
本当によくできたプロジェクトだと思う。ぜひこのまま発展し続けてほしい。特にPCB製造でEasyEDAがメーカーと連携したように、3Dプリンターや製造業者(例: EasyEDA)と組んで、一般ユーザーが自分のデザインを数クリックで簡単に製造まで進められるようになってほしい
これほどの性能とUIを同時に備えたプロジェクトは珍しく、本当に期待している。直感的で見た目にも明快なインターフェースを持つ3Dプログラムは思ったより少ないので、とても歓迎したい。今後もこういうプロジェクトがもっと増えてほしい
UIがMicrosoft製品を思い起こさせるが、その点がむしろかなり好印象だ。一般的な3D CADツールと比べて何が違うと思っているのか、そしてなぜこうしたツールを作るに至ったのか、その動機が気になる