世界を動かす技術を、日本語で。

Show HN: Chili3d – オープンソースのブラウザベースの3D CADアプリケーション

349日前

概要

Chili3D は、 オープンソース のブラウザベース3D CADアプリケーション。 OpenCascade をWebAssemblyにコンパイルし、 Three.js と統合。 インストール不要で 高性能なモデリング・編集・レンダリング を実現。 多彩な モデリング・編集・測定・ドキュメント管理 機能を搭載。 多言語対応 や直感的なUIも特徴。

Chili3D:ブラウザベース3D CADの新基準

  • Chili3D は、 GitHub (https://github.com/xiangechen/chili3d)で公開中のオープンソースプロジェクト
  • OpenCascade をWebAssembly化し、 Three.js と連携することでブラウザ上で ネイティブに近いパフォーマンス を実現
  • ローカルインストール不要、オンラインですぐに 3Dモデリング・編集・レンダリング が可能

主な機能

  • モデリングツール
    • 基本形状(ボックス、円柱、円錐など)、2Dスケッチ(直線、円弧、円など)の作成
    • ブーリアン演算、押し出し、回転体生成などの高度な操作
  • スナップ・トラッキング
    • 幾何学的特徴や作業平面、軸への正確なスナップ
    • 精密なアラインメント作業の支援
  • 編集ツール
    • 面取り、フィレット、トリムなどの形状修正
    • 移動、回転、ミラーなどの変換操作
    • フィーチャー削除やサブシェイプ操作などの高度編集
  • 計測ツール
    • 角度や長さの測定
    • 長さ・面積・体積の合計計算
  • ドキュメント管理
    • ドキュメントの作成・保存・読み込み機能
    • Undo/Redo履歴管理
    • STEP、IGES、BREPフォーマットのインポート/エクスポート対応
  • ユーザーインターフェース
    • Officeライクなコマンド体系
    • 階層型アセンブリ管理
    • ダイナミック作業平面、3Dビュー操作
  • 多言語対応
    • 内蔵i18nサポート
    • 現在、中国語・英語に対応

Chili3Dの特徴と今後の展望

  • ウェブ技術 を活用した、 新世代CAD体験 の提供
  • オープンソースならではの 拡張性・コミュニティ貢献 の可能性
  • 今後の 多機能化・多言語化 の進展に期待

Hackerたちの意見

すごいね!ツールアイコンがちょっと変な名前になってるのが気になるけど。「ベッセル」とか「コーナーを注ぐ」とか(2回も)、それに「断面から」とか。英語の翻訳と合わせて、もっと馴染みのあるCAD用語にするための作業が必要そうだね。今は使いづらいし、キューブを作ろうとしたら中国語の翻訳に切り替わっちゃったし、簡単に変更できる方法もなさそう。

印象的だけど、制約やスケッチを作る方法が見当たらないな。(ウェブアプリなのがちょっと残念だけど、進歩ってこういうことなんだよね。)

Chromebookを使っている学校で働いている者として、こういうウェブアプリが存在するのは嬉しい。特に学生が3Dプリンターにファイルをエクスポートできるなら、使えるツールの幅が広がるからね。ただ、教師であり親としても、Chromebookが子供たちにウェブアプリ以外の世界を知らなくさせてしまうのが心配だよ。(ファイルシステムとかもね。)子供がポスターを作るのを見てると、オンラインで画像を探して、コピー&ペーストして自動背景除去ツールに入れて、画像編集ソフトにペーストして透かしを消して、Canvaにペーストしてテキストと組み合わせる、って感じ。私はPixelmator Pro(またはAffinityやPhotoshop)で全部できるよって見せたら、3つの頭があるみたいな顔されちゃった。

ブラウザも「ネイティブ」アプリと同じくらい強力だよ。これがその例だね。ブラウザアプリは、ユーザーを独自のOSやその企業から解放してくれる。もちろん、Linuxを使えばそれを回避できるけど、なぜ一度書いて、世界中の学生やエンジニアが簡単にファイルを共有・開けるようにしないの?アップデート:新しいノートPCでは、これがネイティブアプリよりも速いよ。リンクをクリックしてから30秒以内に形を描き始めてたし。他のツールの登録やメールの煩わしさ、2FAなどの悪夢と比べると、全然楽だよ。あ、ほとんどの場合コストもね!アップデート2:このチームとは、オンラインでこのツールについての投稿を見ただけで、特に関係はないよ。最近SketchUp/AutoCad/Revitの世界を探ってたから、これは本当にワクワクするね。特に未来にとって意味することが。

もちろんHNだから、みんなウェブアプリについてのサイドコメントに飛びついてるけど、君が言ったもっと重要で価値のあるポイントは、制約とスケッチについてだったよね。それに関連して、真のパラメトリックデザイン、これはCADパッケージが真剣に受け止められるためには重要だと思う。

「OpenCascade (OCCT) を WebAssembly にコンパイルして」どのジオメトリカーネルを使うのか気になってた!こういうのが少ないのが面白い。ソリッドモデリングの一部はほぼ40年前のもの(パラソリッド)だから、これって大変だろうね。

GISのためにちょっとBREPやってるんだけど、2Dの線分だけでも問題がかなり難しい。エッジ(言葉遊びだけど)ケースがたくさんあるからね。型システムがすごく役立つから、Rustがここでは勝ちそうだね(そんな感じのプロジェクトを見た気がする)。それはさておき、CAD(個人使用)では、Fusion 360からFreeCAD 1.0にほとんどプロジェクトなしで切り替えたけど、後者の方が圧倒的に速いよ。

こういう幾何学の問題にどうアプローチするのがベストか、もっと読みたいな。

コーナーケースは難しいかもしれないけど、3Dジオメトリの基本的な数学的表現は変わってないと思う。ParasolidやASICのライセンス費用が妥当なら、新しいものをゼロから作る商業的なインセンティブはあまりないよね。今の市場のトレンドは、AutodeskやHexagonが買収ラッシュして、たくさんのCADやCAMソフトを買ったことで、統合が進んでる感じ。

これめっちゃいい感じ!FreeCADもこんなインターフェースだったらいいのに。私はパラメトリックモデルを作るのにPythonインターフェースを使うのが好きなタイプだけど、これは本当にクールだね!トラック[1]の状況について知ってる人いる?彼らは自分たちのCADカーネルでオープンソースのCADプログラムを実装するつもりなのかな?それも期待できるプロジェクトに見える。 [1] https://github.com/ricosjp/truck

CADmiumはトラックカーネルで作られてるけど、CADmiumは2024年6月以降、リポジトリの活動がないみたい。 https://github.com/CADmium-Co/CADmium それにFornjotカーネルもあるよ。 https://github.com/hannobraun/Fornjot

これめっちゃいいね!FreeCADにこういうインターフェースがあったらいいな。FreeCADのインターフェースのどこが嫌なの?

PMIや注釈、何かのビューが全然ないみたい?

えっと…すごいね。君の説明を読んで、「おもちゃみたいな3Dプロジェクトだろうな、きっと遅いし機能も足りない」と思ったんだけど。実際、いい仕事してるけど、あまりにもシンプルに見てしまったせいで何かを見落としたかも?君への批判じゃなくて、自分の観察としてね。数分見ただけなのに、これってかなり素晴らしいよ。結構速いし、他のツールから来た人にはUIも比較的わかりやすい感じ。とにかく、他の部分と同じくらいクリーンに見えるし。OpenSUSE Tumbleweed用のFusion 360がサポートされてないのがイライラしてたから、これでちょっと助かったかも。ありがとう!

かなり良さそうだし、頑張って続けてほしいな。製造業者や3Dプリンター会社(EasyEDAがPCB製造でやったみたいに)と組んで、カジュアルユーザーが数クリックで自分の作品を製造できるようにするといいと思うよ。

Slant3Dの人たちに連絡してみる価値があるかも。彼らのテレポート3Dプリントサービスは、統合エディタがあったらもっと良くなるかもしれないね?

これにプログラム的なインターフェースはあるの?TinkerCadのブロックコーディングのことを考えてたんだけど。

君の質問にはあまり答えてないけど、ここでOpenCascadeがWebAssemblyで動いてるから、もしかしたらcadqueryやbuild123dもそんなことができるかもね。

すごくいい仕事してるね!パフォーマンスもUIも期待できそう。3D市場には直感的で見た目も良いインターフェースを提供できないツールがたくさんあるから、こういうプロジェクトがもっと増えるといいな!

最近、誰かが「街から3Dプリンターへ」って投稿してたのを見たけど、これの方がさらにすごいね。