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

ブラウザ上のオープンソースCAD(Solvespace)

概要

  • SolveSpace の実験的なWebバージョンについての説明
  • Emscripten でコンパイルされ、ブラウザ上で動作
  • デスクトップ版に比べて 速度低下やバグ が存在
  • 小規模なモデルなら 十分に実用的
  • バグ報告や自前ホスティング方法の案内

SolveSpace 実験的Webバージョンについて

  • SolveSpace は本来、デスクトップ向けに開発された 3D CADソフトウェア
  • 本バージョンは Emscripten を利用してブラウザ上で動作可能
  • コンパクトな設計 のため、Web版でも意外と快適な動作
  • 速度の低下や 多くの未修正バグ が存在
  • 小規模モデルの場合、 十分に使える操作性
  • このWebバージョンは 最新開発ブランチ からビルド
  • デスクトップ版にはない 独自の問題 が発生する可能性
  • バグ報告は 通常通り 受け付け

ホスティングとネットワーク依存性

  • このWebバージョンは 初回ロード後にネットワーク依存なし
  • 自分のサーバーで 静的Webコンテンツとしてホスティング 可能
  • ソースをビルドし、 通常の静的ファイル として配布や運用が可能

注意事項

  • 実験的機能 のため、安定性や互換性に留意
  • 利用時は 予期しない問題 が発生する場合あり
  • 問題発生時は バグ報告 を推奨

Hackerたちの意見

最近、FreeCadをどんどん使ってるけど、solvespaceはSendCutSend/Oshcut用のレーザー切断パーツをデザインするのに軽量で素晴らしいツールだよ。ブラウザで動くようになったのもいいね。

最近のFreeCADはすごいよ。木工プロジェクトでAutodesk Fusion 360を完全に置き換えちゃった。機能も豊富で、UIもわかりやすいし、機能の深さが驚異的。FreeCADはBlenderやInkspaceみたいになってきてて、商業用の代替品とほぼ同等の能力を持ってる。ただ、レンダリングの部分はもうちょっと発展してほしいかな。

SolveSpaceはパラメトリックCADの面白いアプローチだけど、開発がかなり遅れてるし、基本的な機能(例えば面取りとか)ができないみたい。Dune 3Dはかなり効果的な後継者っぽいね。0: https://github.com/solvespace/solvespace/issues/149 1: https://dune3d.org/

Dune3Dは裏でSolveSpaceを使ってるよ。

FreeCADはSolveSpaceの制限がないし、UXも今は結構良いよ。そっちに移ったんだ。

フィレットと面取りが次の大きな取り組みだよ。すぐには期待しないでほしいけど、リストのトップに移ったからね。一般的なケースでは非常に難しいから、すべてのケースをカバーするわけではないよ。数年前に実験を試みたことがあって、https://github.com/solvespace/solvespace/issues/453#issuecom... それは直線の押し出しの上か下しかできなかったんだ。今回はそれよりも一般的なものになる予定だよ。3つのフィレットが交わるコーナーをやるのはあまり楽しみじゃないけどね;-)

必要なのは天才だけだよ。無限のclaudeとcodexクレジットがあれば、3Dプリントや加工の分野でFusion 360を置き換えられるはず。みんなで素晴らしいCADエンジンを作るために集まらないのが悲しいよ。オープンソースには本当に必要なのに!Gimpは残念だし、Photoshopはどんどん制限されてる。解決できる頭の良い人たちが何もしてないのがもったいない。

Dune3DはFreeCADと比べてどうなの?

マウスホイールでスクロールしたら、原点が画面からずれちゃった。Parasolidカーネルのオープンソースの「クリーンルーム」再実装ってあるのかな?Solidworksのやり方がAutodeskより好きなんだよね。

マウスホイールでズームできるけど、軸の範囲は画面に固定されてるよ。最初に画面に円を描くと、もっと直感的になると思う。空間を移動するには右クリックを使って、ズームはスクロールホイールで、回転はShift+右クリックでできるよ。急に否定する前にちょっと遊んでみたらどう?SolidworksやAutodeskのユーザーには、CADツールはちゃんと理解するのに少し時間がかかるってことは言わなくてもわかるよね :-)

これは予想通りの動作だよ。ズームはカーソルの中心に向かって行われるからね。AutodeskのAutocadやInventorなど、他の多くの2D/3Dエディタでも同じ動作をするよ。MS Paintでもそうだし。カーソルを原点にぴったり合わせれば、ずれたようには見えないよ。

迷ったらfを押して、現在の図面を画面にフィットさせてね。ちなみに、SolveSpaceで作業するのはキーボードショートカットを使えばすごく早いよ。ほとんどのことがショートカットキーでできるから、探す必要もないし、メニューを見れば覚えられるよ。ナビゲーションの超短い「入門コース」はダウンロードページの一番下にある「クイックスタート」セクションにあるよ。https://solvespace.com/download.pl ホームページの「デモ動画」もいいスタート地点だね。その後は「チュートリアル」と「リファレンス」で、好きなだけ詳しく学べるよ! :-)

これは独自のバックエンド/エンジンを使ってるの?LLMからCADツール[0]を作ってるんだけど、選べるバックエンドやオプションがたくさんあって困ってる。LLMの最適な表現を探してるところなんだ。今のところOpenSCADが一番機能が充実してると思うけど、もっと深く掘り下げる必要があるね。もしアドバイスがあれば大歓迎![0]: https://GrandpaCAD.com

OpenSCADを試してみたけど、ウェブに表示するのがすごく遅いね。公式のwasmを使ってるの?それとも他の方法?

OpenSCADは今のところ最も優れた機能を持つ選択肢だと思う。 OpenSCADが大好きだけど、その結論には強く反対だな。OpenSCADの言語ができることはブーリアン演算だけで、さらにエンジンはポリゴン(実際には三角形)メッシュにしかそれを実装できない。これは現代の商業用CADエンジンができることからは程遠いよ。例えば、以下のことはOpenSCADを使って実現するのが非常に難しい、あるいは指定するのも難しい。

  • スムーズな表面、特にスプラインベースのもの
  • 任意の2つの表面間のフィレットや面取り
  • 表面のトリミング
  • 部分的に構築されたモデルをクエリして、その結果を次の構築に使うこと(例えば、2つのスムーズな表面の間の最短セグメントを見つけて、その周りにシリンダーを作り、2つの表面でフィレットを作るのは、OpenSCADの範囲内では本当に厄介なことだよ)
  • 最後に、OpenSCADにはネイティブな制約ソルバーがない。言語にもエンジンにも(SolveSpaceのように)。 あなたがやりたいことを誤解しているかもしれないけど、掘り下げていくのは正しいことだと思うよ。

そうだね。実際、改善されたスケッチ制約解決を示すために書かれたと思う(2D版もあるし)。残念ながら、スケッチが良くなった以外は、エンジンはOpenCascadeほどの能力はないね。

今日これに出くわしたんだ:https://github.com/gumyr/build123d - LLMがPythonコードを書くのに問題ないみたいだね…

今はFreeCADを使うのに慣れてるけど、これも試してみるつもりだよ。

すごい作品だね!ちょっと気になる点があるんだけど、ウィンドウ内にレンダリングされたテキストがすごくひどいピクセルフォントを使ってるのはなんで?フォントがピクセルグリッドにレンダリングされるときに、ヒンティングやスナッピングが全くない状態になってるみたい。

デスクトップ版でも全く同じフォントを使ってるし、たぶん完全に意図的だと思うよ。

GNU unifontを使ってるんだけど、ビットマップフォントなんだよね。テキストがちょっと伸びちゃうバグがあるかも。実はこのリリース前にWindowsでも同じことがあったんだ。

うーん、でもクリーンな自己逆転ダイヤモンドスレッド、逆転部分も含めてできるのかな?詳しくはここを見てね:https://news.ycombinator.com/item?id=47580583

ブラウザでのCADについての私の考えはこちら!https://vcad.io Rustでフルカーネルを実装して、wasmにコンパイルしたよ:https://github.com/ecto/vcad

じゃあ、LLMにRustコードを書かせてCADデザインを生成させることができるの?

NURBSに対応してるの?STEPのインポートはできるって書いてあるけど、エクスポートはできないの?

ファイルが見つかりませんでした: "https://huggingface.co/campedersen/cad0-mini/resolve/main/on..."

高価でサポートもイマイチな有料プラグインやニッチな製品を置き換えるために、ブラウザベースのCAD/デザイン製品を作るのはどれくらい現実的なんだろうってずっと考えてたんだ。期待できそうだね!

このプロジェクトの進展を見れてめっちゃワクワクしてる!ロフトが可能になったら、FreeCADは終わりだね。

チャンバーがないから、ロフトを待ってるのは無駄だと思うよ。

ちょっと気になるんだけど、なんでFreeCADの終焉にそんなに興奮してるの?今のところ、半プロや趣味のプロジェクトには結構使えるけど。