Repolode
Sandflow-ai

Sandflow-ai/sand3d

LLMが生成しやすいよう、Blenderのbpyを使って3Dオブジェクトを名前付きパーツからなる短いプログラムで記述するPythonライブラリ。

スター
1,009
フォーク
114
未解決の Issue
2
最終コミット
昨日

これは何?

sand3dでは、プロファイル、ソリッド、編集、フレーム、ジョイント、アセンブリを組み合わせた短いPythonプログラムで3Dオブジェクトを記述し、Blenderのbpyモジュール上で実行できます。パーツ、エッジ、面は手作業で計算した座標ではなく名前で参照でき、同じプログラムからは常に同じメッシュが生成されます。

単一のエクスポート呼び出しでGLB、URDF、USDA、OBJ、STLに出力でき、USDのバリエーションはUSD独自のツールで生成します。可動範囲を設定したジョイント(hinge、slide、continuous)はエクスポート形式にも引き継がれるため、ドアや引き出しが動く洗濯機のような関節構造を持つオブジェクトも、そのまま記述して出力できます。

ドキュメントには、LLMのシステムプロンプトでの利用を想定した約3,600トークンのコンパクトなAPIリファレンスと、複数パーツからなるアセンブリのガイドラインが含まれています。Objaverse、CADモデル、NVIDIA SimReadyなどを元にしたsand3dプログラムのオープンデータセットが複数公開されており、ライセンスはCC BY 4.0です。

主な機能

  • 01座標を直接指定する代わりに、名前付きのプロファイル、ソリッド、編集、フレームからオブジェクトを構築できます。
  • 02関節構造を持つオブジェクト向けに、種類、軸、可動範囲を指定してジョイントを定義できます。
  • 03単一の呼び出しでGLB、URDF、USDA、OBJ、STLに出力できます。
  • 04LLMのシステムプロンプトに収まるコンパクトなAPIリファレンスが付属します。
  • 05同じプログラムから常に同じメッシュを生成します。

ユースケース

  • 短いテキストプログラムからLLMにパラメトリックな3Dパーツを生成させる。
  • URDFなどのロボティクスや物理シミュレーション向け形式への出力に使う、ジョイント付きオブジェクトを作成する。
  • プロシージャルに記述したモデルを、ビューアやOmniverseのパイプライン向けにGLBまたはUSDで出力する。
  • モデルの学習や評価に使う、読みやすい3Dプログラムのデータセットを構築する。

クイックスタート

  1. 1

    pipでsand3dをインストールします(Python 3.13または3.11が必要です)

    pip install sand3d
  2. 2

    sand3d APIを使ってプログラムを書き、s3d.exportでGLB、URDF、USDA、OBJ、またはSTLにエクスポートします

使う前に知っておきたいこと

  • Python 3.12用のbpy wheelはなく、bpy 5.2以降はIntel Mac向けのwheelもないため、これらの環境ではPython 3.11を使う必要があります。
  • インストールにはbpyモジュールとしてBlenderが含まれているため、依存関係が重くなります。

収録されている特集

トピック

よくある質問

sand3d とは?
LLMが生成しやすいよう、Blenderのbpyを使って3Dオブジェクトを名前付きパーツからなる短いプログラムで記述するPythonライブラリ。 sand3dでは、プロファイル、ソリッド、編集、フレーム、ジョイント、アセンブリを組み合わせた短いPythonプログラムで3Dオブジェクトを記述し、Blenderのbpyモジュール上で実行できます。パーツ、エッジ、面は手作業で計算した座標ではなく名前で参照でき、同じプログラムからは常に同じメッシュが生成されます。
sand3d は無料で使えますか?ライセンスは?
sand3d は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
sand3d は今もメンテナンスされていますか?
活発にメンテナンス中。sand3d の最終コミットは 2026年11月6日 です。
sand3d は何に使えますか?
短いテキストプログラムからLLMにパラメトリックな3Dパーツを生成させる。 URDFなどのロボティクスや物理シミュレーション向け形式への出力に使う、ジョイント付きオブジェクトを作成する。 プロシージャルに記述したモデルを、ビューアやOmniverseのパイプライン向けにGLBまたはUSDで出力する。 モデルの学習や評価に使う、読みやすい3Dプログラムのデータセットを構築する。
sand3d のインストール方法は?
pipでsand3dをインストールします(Python 3.13または3.11が必要です): pip install sand3d sand3d APIを使ってプログラムを書き、s3d.exportでGLB、URDF、USDA、OBJ、またはSTLにエクスポートします
sand3d はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/Sandflow-ai/sand3d

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

OpenCASCADEを基盤とする、あらゆるサイズの実物を設計できるオープンソースのクロスプラットフォーム対応3Dパラメトリックモデラー。

生産性・アプリ#cad#3d-modeling#parametric-design
3.5万+163 今週6364C++LGPL-2.1活発にメンテナンス更新 2 時間前