オープンソース
Show HN: SolidCraft – Rust製のオープンソース・パラメトリックCAD (MCPサポート付き)
Show HN: SolidCraft – Open-Source Parametric CAD in Rust (With MCP Support) (github.com)
要約
SolidCraftは、Rustで開発されたオープンソースのパラメトリック3D CADアプリケーションです。スケッチ、制約、フィーチャータイムラインによるソリッド構築が可能で、寸法変更によるモデルの再構築もサポートしています。デスクトップ、ブラウザ、AIエージェント(MCPサーバー経由)で利用でき、多様なOS向けのインストールオプションが提供されています。
全文翻訳
SolidCraft 純粋なRustで構築されたオープンソースのパラメトリック3D CADアプリケーションです。スケッチ、制約、パラメトリックフィーチャータイムラインを使用してソリッドを構築します。寸法を変更すると、モデルが再構築される様子を確認できます。デスクトップ、ブラウザで実行したり、組み込みのMCPサーバーを通じてAIエージェントにモデリングさせたりできます。空のデザインから作成したRaspberry Pi 4ケースの例:ボードのパラメータで寸法指定されたスケッチ、押し出し、フィレット、シェル、58 x 49 mmの穴の長方形上にパターン化されたM2.5スタンドオフ、ポートカットアウト、ベントスロット、そして色、その後パラメータで高さを24 mmから32 mmに変更すると、すべてが再構築されます。6倍速再生。デモスクリプトで録画されたフルビデオ。Windowsのダウンロード:インストーラーをダウンロードして実行します。ARM64および32ビットPC向け、またはインストールせずに実行できるポータブルzipとしても利用できます。macOS:ディスクイメージを開き、SolidCraftをApplicationsにドラッグします(Apple SiliconおよびIntel)。Linux:AppImageをダウンロードし、プログラムとして実行できるようにして開きます。または.deb(Ubuntu、Debian、Mint)または.rpm(Fedora、openSUSE)をインストールするか、Flatpakを使用します。Snapを使用する場合:sudo snap install solidcraft(Snap Storeまたは.snapファイル)。ARM64向け:AppImage、.deb、.rpm。Web:ブラウザで試してください、インストール不要です。ダウンロードはまだ署名されていません。Windowsでは、SmartScreenが警告を表示した場合、[詳細情報]を選択し、[実行しない]を選択してください。macOSでは、初回起動時にApplications内のSolidCraftを右クリックし、[開く]を選択してください。古いバージョン、チェックサム、その他のフォーマットはリリースページにあります。インストール詳細、以前のビルドからのアップグレード、ソースからのビルドについては、[Getting started]を参照してください。ドキュメント:SolidCraftブック(ユーザーガイド、開発者ガイド、コマンドリファレンス;ソースはdocs/bookにあります)。ステータス:初期段階ですが、簡単な部品には使用可能です。公開されている76個のリファレンス部品のうち75個が、解析またはFreeCADで計算された体積、面積、重心、バウンディングボックスと一致しています(docs/oracle.md);残りの1つは追跡中のバグです。これらのチェックは、完全な幾何学的またはワークフローの同等性を確立するものではありません。SolidCraftが持つコマンドは、docs/features.mdのエリア別にリストされており、ステータスと計画はROADMAP.mdにあります。未解決の作業と既知のバグはGitHub issuesにあり、協力歓迎です:CONTRIBUTING.mdを参照してください。動作するもの:原点平面、オフセット平面、または平面上のスケッチ:線、長方形、円、円弧、多角形、スロット、楕円、フィット/コントロールスプライン、円錐曲線、テキスト;construction geometry、投影、トリム、フィレット、面取り(原点のコーナーを含む)。新しい面アタッチメントは、サポートされているconstruction identityと選択されたインスタンスを保持します;ソースが見つからない場合は、明示的な平面修復ワークフローが表示されます。面アタッチメントを参照してください。明示的に閉じられたフィットスプラインと閉じられたassociative offsetは、周期的なC2補間を使用します。サポートされている凸状の線と円弧のオフセットは、インセットがコーナー円弧を消費する際にそのアイデンティティを保持し、リンクされた押し出しは現在の境界線に従います。関連性を壊すと、境界線がフリーズし、既存の押し出しは使用可能になります。カーブの描画と選択は、ズームと表示スケール(フィット時の小さな円や配置されたコンポーネント内のスケッチを含む)に共同で適応します。独自のソルバーによって解決される制約と寸法。既知のジオメトリに対して相対的に固定される点の配置は、構築によって正確に行われます(locaの交点とリジッドクラスター分解、Owen 1991およびFudos–Hoffmann 1997以降);残りはLevenberg–Marquardtが解決し、そのヤコビアンのランクが残りの自由度を与えます。制約:一致、曲線上の点、水平/垂直、平行、垂直、接線、曲率(G2)、等しい、同心、共線、中間点、対称、固定;線形、アライン、水平、垂直、点から線、半径、直径、角度、円弧スイープ、円弧長、スロット長寸法はパラメータによって駆動されます。過剰制約のある編集は拒否されます;完全に制約されたジオメトリは黒くなります。ドラッグすると、スケッチはフレームごとに解決され、ドラッグ終了時にモデルが一度再構築されます。線またはその両端を選択し、その寸法を入力してEnterキーを押すと、1つのアンドゥステップがコミットされます。フィット機能は、スケッチジオメトリをパレットとナビゲーションコントロールからクリアします。プロファイルは自動的に検出され、線で分割された領域やアウトライン内の穴も含まれます。新しくキャプチャされた完全な適応境界は、スプラインスパン数が変更されても、外側と穴のソースアイデンティティを保持します。部分的または曖昧な境界は対象外です。パラメトリックタイムライン上のフィーチャー:押し出し、回転、スイープ、ロフト、フィレット/面取り、シェル、ドラフト、穴、ねじ、パターン、ミラー、分割、結合、移動、construction geometry。タイムラインは段階的に再構築されます;フィーチャーは編集、抑制、名前変更、並べ替え、削除が可能です。サポートされているジオメトリと現在の制限については、ROADMAP.mdを参照してください。新しい回転フィーチャーは、反転した軸をまたぐ対称および両面角度配置を保持します;古いデザインは、再オープンまたは編集時に保存された規約を保持します。単位を認識する式(2 * width + 5 mm、angle / 2)、順序付けられたルール、フィーチャーの抑制、行ごとのボディマテリアル/外観を持つパラメータとコンフィギュレーション。ネストされたコンポーネントとインスタンス、ジョイント、モーションスタディ、コンタクトセット、干渉、マテリアルを考慮した質量プロパティを持つアセンブリ。記録されたボディ転送は、モデリング履歴とワールド配置を保持します;3Dスケッチワイヤーは、編集を通じて座標フレームを保持します。フランジ、ヘム、折り畳み/展開/再折り畳み、マテリアルカットアウト、フラットパターン、浅いプリズマティックポケット、正確な線/円弧/円のDXFアウトラインとベンドテーブルを持つシートメタル;プラスチックエンクロージャフィーチャーとルール。ポケットの深さと側面は、展開/再折り畳みで保持され、フラットプレビューとDXFでスルーホールのアウトラインとは別に表示されます。ファイル:ロスレスバイナリメッシュペイロードを持つデザインコンテナ(.solidcraft);プレーンJSONは、開く、名前を付けて保存、エクスポートのために引き続きサポートされています。デスクトップの[開く]機能は、ジオメトリを編集前にチェックしながら、保存された実験的なプレビュー(明示的なプレビュー:trueエンジンセーブ)を表示できます。STEP(ボディ名、色、アセンブリとしてのコンポーネント付きAP242;回転面はネイティブ平面、円筒、円錐、球、トーラスとして)、IGES 5.3(名前と色付きのマニフォールドソリッドB-rep)、3MF、STL(バイナリ/ASCII)、OBJへのエクスポート;3MF、STL、OBJはメッシュボディとしてインポート(レンダリング、測定、移動、エクスポート可能;ソリッドフィーチャーにはB-repボディが必要)。メッシュの変換は、サポートされている閉じられた定数断面部品を、平面および円筒面を持つパラメトリックソリッドとして再構築します;STEPインポート(AP203/AP214/AP242ソリッド、アセンブリ、単位、名前、色)およびIGESインポート(マニフォールドソリッドB-rep、またはソリッドに縫い合わされたトリムおよび境界付きサーフェス)は、後続のフィーチャーが構築されるベースフィーチャーとして機能します — .step/.stp/.igs/.igesファイルをインポートし、デザインに挿入するか、ウィンドウにドラッグします(docs/step-import.md)。デスクトップアプリ(egui + wgpu):ワークスペースタブ付きツールバー、ブラウザ、タイムライン、軸表示とナビゲーションバー付き3Dビューポート、スケッチツール、フィーチャーダイアログ、コマンドパレット、およびエージェントやテストが操作できるJSON-lines制御チャネル。フィーチャーエラーとヘルプは、関連するコンテキストとオプションでレビュー済みのスクリーンショットを含む編集可能な[Create Issue]ドラフトを開くことができます;GitHubを開いてもレポートは送信されません。ヘッドレスCLI solidcraft-cli:コマンドスクリプトの実行、測定(体積、面積、重心、面/エッジ/頂点数)、エクスポート、PNGスナップショットのレンダリング、リファレンスレシピの再生。MCPサーバー solidcraft-cli mcp:AIエージェントがヘッドレスまたは実行中のアプリで部品をモデリング、測定、表示します(下記参照)。ビルドと実行 cargo run --release -p solidcraft -- --sample # サンプル部品付きデスクトップアプリ cargo run --release -p solidcraft-cli -- commands # コマンドレジストリ cargo run --release -p solidcraft-cli -- run examples/bracket.json --out bracket.step cargo run --release -p solidcraft-cli -- snapshot examples/bracket.json --out bracket.png cargo run --release -p solidcraft -- part.step # STEPファイルを新しいデザインとして開く cargo run --release -p solidcraft-cli -- eval part.step # インポートされたSTEPファイルを測定 cargo xtask ci # fmt, clippy, tests, assets, layers, wasm Windowsビルド:cargo xwin build --release --target x86_64-pc-windows-msvc -p solidcraft。WindowsおよびLinuxでは、SolidCraftは接続された3Dデバイスを検出します。