Litmus — 話題のニュースを、深く読み解く。 RSS
ソフトウェア

無料パラメトリックCAD「SolidCraft」、Fusion出力と76件すべて一致

無料のオープンソースCAD「SolidCraft」は、Fusionで作った76個の参照部品すべてで体積・面積・トポロジーが一致した。対応範囲はFusion全機能の62%。無料でダウンロードして今日から試せる。

作業台の上で稼働している3Dプリンター(イメージ写真)

イメージ写真 記事の内容を撮影したものではありません。Photo by Jakub Zerdzicki on Pexels

この記事には Amazon アソシエイトのリンクを含みます。

3Dプリンターで自分用のケースや部品を設計したいが、Fusion 360のような本格的なCADは学習コストも重く、個人で使い続けるには気が引ける。そう感じて、無料の代替ソフトを探したことがある人もいるはずだ。

個人開発者が公開した「SolidCraft」(旧名SolveCraft)は、その候補の一つだ。無料でオープンソース、Fusionとほぼ同じ手順で部品を設計できる。何より、開発者自身が「Fusionで作った部品と出力を比べる」検証手順を公開している。この手順で、76個の参照部品すべてで体積・面積・トポロジーが一致したという(SolidCraft README)。この数字の中身を確かめていく。

無料でFusionと同じように設計できるのか

SolidCraftは、Rustで書かれたオープンソースのパラメトリック3D CADだ。ライセンスはMITかApache-2.0を選べるデュアルライセンスで、商用利用を含めて無料で使える(SolidCraft README)。

操作の流れはFusionに近い。平面にスケッチで線や円を描き、「この2本は平行」「この長さは20mm」といった拘束・寸法を付けてから、押し出しや回転で立体にする。作業は履歴(タイムライン)として残り、あとから寸法を変えると、変更した工程より後ろがすべて作り直される(SolidCraft README)。

READMEのデモでは、角丸の電子機器ケースを題材にしている。USBポートの位置を面に直接スケッチし、4つのボス(ねじ用の突起)を配置する。そのうえで幅を80mmから100mmへ、壁の厚さを2mmから3mmへ変えると、ケース全体が自動で作り直される(SolidCraft README)。「寸法を変えれば形がついてくる」というパラメトリックCADの核心にあたる操作が、無料ソフトでも使えることになる。

ここまでは「操作感が近い」という話だ。自分が本当に知りたいのは、出てくる形までFusionと同じになるのかという点だった。

同じように使えるとどう確かめているのか

開発者はこれを、印象や見た目の比較で済ませていない。「oracle(オラクル)」と呼ぶ検証の仕組みを作った。Fusionで実際に作った76個の参照部品を使い、SolidCraftで同じ手順を再現した結果を自動で突き合わせる(SolidCraft docs/oracle.md)。

比較するのは3つの軸だ。まずボディの数・体積・面積を、誤差1e-3(0.1%)以内で比べる。次に面・エッジ・頂点の数を、完全一致で比べる(SolidCraft docs/oracle.md)。体積や面積は「だいたい同じ形」であることの指標になるが、面や辺の数まで揃えようとするのは、もう一段厳しい条件になる。

結果は「76 / 76 cases pass」。未実装の機能を必要とするケースは0件だった(SolidCraft docs/oracle.md)。ただし、この76件がどういう内訳で一致しているのかに、もう少し踏み込む価値がある。

76件全部一致という数字の中身

76件のうち73件は、体積・面積・トポロジーをそのまま比べて一致した。残り3件(35・56・61番)だけは、面・エッジ・頂点の生の数が一致しなかった(SolidCraft docs/oracle.md)。

自分はここで引っかかった。体積と面積が合っているのに、面や辺の数が違うとはどういうことなのか。答えは、閉じた曲面をいくつのパッチに分割して表現するかという、ソフトごとの内部処理の違いにあった。この3件は、閉じた曲面パッチを1つにまとめ、継ぎ目(シーム)の辺と頂点を除いて数え直すと一致した(SolidCraft docs/oracle.md)。

見た目や体積が同じでも、曲面の分割の仕方が違えば面や辺の生の数は変わる。だからこの正規化の手順自体が、検証を甘くしないための工夫になっている。

他にも、Fusion側の挙動そのものに癖がある3件は個別に扱われている。螺旋状にスイープする49番では、Fusionが厳密なヘリックスではなく、ヘリックス上の点を通るスプラインでスイープする。この違いを踏まえ、寸法だけ0.5%以内で比較し、トポロジーの比較は外した。きつく曲げたスイープの50番には、Fusion側の既知のずれがある。報告される面積がPappusの定理による計算値の約3倍(740mm²対246.7mm²)になるため、面積は比較せず体積とトポロジーだけを見ている(SolidCraft docs/oracle.md)。

  • ボス・ヒンジのナックル(63番): Fusionの貫通押し出しの寸法処理に既知の差があり、Fusionが実際に使った寸法に合わせて再現している
  • Design Extensionが要るボス・リブ/溝・スナップフィット・座ぐり・樹脂ルールの5機能: Fusion側のオラクルアカウントにその拡張がないため、オートデスクが公開する説明と手計算の形状で照合している(SolidCraft docs/oracle.md)

「76件全部一致」の中には、単純な数値比較で済んだものと、ソフトの癖を踏まえて比較方法そのものを調整したものが混ざっている。ここまで理由を詰めて検証しているのを見て、自分は数字の信頼度を高く感じた。

全部一致なら、Fusionの機能はもう全部揃っているのか

ここで気になるのは、76件全部一致というなら、Fusionの機能はもうひととおり再現できているのか、という点だ。答えは「いいえ」になる。オラクルの76件は、現時点で実装済みの機能だけで組める部品が対象で、まだ実装していない機能は最初から比較の対象に入っていない。

実装の進み具合は、別のファイル(docs/parity.md)で追跡されている。そこでは「335 / 541 commands live (62%)」という数字が示されている(SolidCraft docs/parity.md)。SOLID・SKETCH・アセンブリ・板金・樹脂ケース向けの機能を対象に、Fusionの541個のコマンドのうち335個が動く、という意味だ。ただし、これは「対応範囲の広さ(breadth)」の指標にすぎない。機能の仕上がりの深さとは別だと、そのファイルには明記されている(SolidCraft docs/parity.md)。

この数字は日々動いている。発見元の記事では、10月11日時点の値として「541のうち328(61%)」が紹介されていた(FabScene)。1日後に確認した時点のdocs/parity.mdは、すでに335(62%)に更新されていた(SolidCraft docs/parity.md)。開発ペースの速さがうかがえる数字だ。

パネルごとの内訳を見ると、進み方には差がある。

050100%SKETCH 作成: 100%SOLID 構築: 95%SOLID 変更: 59%SOLID 組立: 57%SOLID 解析: 48%範囲選択: 0%100%95%59%57%48%0%SKETCH 作成SOLID 構築SOLID 変更SOLID 組立SOLID 解析範囲選択

スケッチを描いて形を作る基本操作は、SKETCH作成100%・SOLID構築95%とほぼ揃っている。一方、ウィンドウ選択やフィルタ選択といった範囲選択(SELECT)は、SOLID・SKETCHの両タブとも0%のまま手を付けられていない(SolidCraft docs/parity.md)。「62%」という数字だけを見ると、半分以上できていると思いがちだ。実際には「作る」操作が先に厚く実装され、「選ぶ」「調べる」操作が後回しになっている。

この偏りを踏まえると、自分はSolidCraftが向いているのは個々のパーツを一から組み立てていく単純な設計だと見ている。複数部品を選んで一括編集したり、干渉や公差を詳しく解析したりする用途では、まだ機能が薄いと考えたほうがよい。

今日から試すには

SolidCraftは、デスクトップ版(Windows・macOS・Linux・FreeBSD)、ブラウザ版(WebGPUまたはWebGL2)、CLIのいずれでも動く。公開から日が浅く、10月9日のv0.1.2から10月11日のv0.3.1まで、わずか2日でバージョンが何度も上がっている(SolidCraftタグ一覧)。最新版のv0.3.1は、GitHubのReleasesページからビルド済みファイルを無料でダウンロードできる(SolidCraft v0.3.1リリースページ)。

READMEのステータス表示は「early but usable for simple parts」、つまり初期段階だが簡単な部品には使えるという位置づけだ。曲面・図面・CAM・シミュレーションは、今のところ対象外になっている(SolidCraft README)。

もう一つ、Fusionにはない特徴がある。SolidCraftはMCP(Model Context Protocol)サーバーを内蔵している。solvecraft-cli mcpコマンドで起動すると、AIエージェントが部品の作成・寸法変更・体積測定・画面撮影までを呼び出せる(SolidCraft README)。Claude Codeならclaude mcp add solvecraft -- solvecraft-cli mcpの1行で追加できる。エージェントに「幅を100mmに変えて」と指示する使い方も視野に入る。

名前はもともと「SolveCraft」だったが、現在は「SolidCraft」に改名されている。設定ファイルの保存場所やCLIコマンド名は、互換性のため今も旧名の「SolveCraft」のままだ。v0.3.1時点のリリースファイル名にも、同じ旧名が使われている(SolidCraft README、v0.3.1リリースページ)。

READMEには「storytoldのcraftファミリーの一部」という記述もある。storytold(ArtCraft)は、Adobe製品を再現したPhotoCraft・VectorCraftや、Microsoft Office相当のWordCraftを公開しているチームだ。ただし、そのアプリ一覧にSolidCraft・SolveCraftは含まれていない。storytold自身も、CADCraftという別のCADアプリを開発中だ。ただしステータスは「In development」で、まだ公開されていない(ArtCraft公式サイト)。似た名前の別プロジェクトとして、混同しないほうがよい。

まとめ

SolidCraft(旧SolveCraft)は、Fusionに近い操作感を無料で使えるオープンソースのパラメトリックCADだ。開発者自身が、Fusionで作った76個の参照部品との出力比較(体積・面積・トポロジー)を検証手順ごと公開し、全件で一致を確認している。単純な数値一致だけでなく、曲面の分割方法の違いまで踏まえて正規化した上での一致という点に、検証の厳密さがある。

一方で、Fusionの全機能に対する対応範囲は62%(335/541)で、これは「作る」操作が中心の数字だ。範囲選択や詳細な解析といった「選ぶ・調べる」操作はまだ薄い。Windows・macOS・Linux・FreeBSD・ブラウザのいずれかで、GitHubのReleasesページから今日から無料で試せる。曲面・図面・CAM・シミュレーションにはまだ対応していない点は、踏まえておきたい。

この記事の先を読む本を探す

特定の本を勧めるものではありません。検索結果から、いまの版と目次を確かめて選んでください。

コメント

気づきや感想をどうぞ

記事への補足や、読んで考えたことをお寄せください。個人情報や、他の人を傷つける内容の投稿はお控えください。

コメントを読み込んでいます…

    ほかの記事

    最新の記事 →