はじめに

リリースします Aspose.3D FOSS for Python, Python 純粋なライブラリで、一般的な 3D ファイル形式の読み取り、書き込み、変換を行います。このライブラリは PyPI で次の名前で公開されています aspose-3d-foss, MIT ライセンスを採用し、外部依存は一切ありません。.

プログラムから 3D ファイルを検査または変換する必要があったことがあるなら(メッシュの頂点数を取得したり、OBJ のジオメトリを処理スクリプトに流し込んだり、STL ファイルを一括で glTF に変換してウェブビューアで表示したり)、このライブラリはそのような用途向けに作られています。グラフィックドライバやネイティブ拡張モジュール、クラウド接続は不要です。.


含まれるもの

コアシーングラフ

すべてのファイルは Scene 元のファイルのノード階層を鏡像するオブジェクトです。ノードは Transform (平行移動、回転、スケール) と、以下のような 1 つ以上の付随エンティティ Mesh, Camera, または Light.

ジオメトリアクセス

Mesh オブジェクトは次を公開します:

  • control_points: 頂点位置のリストとして Vector4 (x, y, z, w)
  • polygons: 任意の多角形の頂点数(三角形だけでなく)を含む面インデックスリストのリスト
  • get_element(VertexElementType): 法線、UV、頂点カラー、スムージンググループのための名前付き頂点データレイヤーを取得します

マテリアル

LambertMaterial および PhongMaterial OBJから読み取ったマテリアルプロパティを保持します .mtl ファイル(ambient、diffuse、specular、emissive、transparency、shininess)。マテリアルは、対応フォーマットにおいてロード–セーブの往復を経ても保持されます。.

数学ユーティリティ

Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, および BoundingBox はジオメトリ計算用の軽量値型として含まれています。.

アニメーション

この AnimationClip, AnimationNode, KeyframeSequence, および KeyFrame クラスは、glTFやCOLLADAなど、キー フレーム アニメーション データを保持するフォーマットからのデータへのアクセスを提供します。.


クイックスタート

pip install aspose-3d-foss

3D ファイルをロードし、すべてのメッシュの頂点数を出力します::

from aspose.threed import Scene
from aspose.threed.entities import Mesh

scene = Scene.from_file("model.obj")

def visit(node):
    for entity in node.entities:
        if isinstance(entity, Mesh):
            print(f"{node.name}: {len(entity.control_points)} vertices, "
                  f"{len(entity.polygons)} polygons")
    for child in node.child_nodes:
        visit(child)

visit(scene.root_node)

同じファイルを glTF に変換:

from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions

scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())

これが完全なプログラムです。設定ファイルは不要、API キーも不要、ネットワーク呼び出しもありません。.


サポートされているフォーマット

フォーマットExtension(s)読み込み保存メモ
Wavefront OBJ.objはいはい.mtl マテリアルのロードに対応
STL.stlはいはいバイナリとASCII; 座標系反転オプション
glTF 2.0.gltf, .glbはいはいGLB(自己完結型バイナリ)に対応
COLLADA.daeはいはいColladaSaveOptions 利用可能 flip_coordinate_system, enable_materials, indented
3MF.3mfはいはい3Dプリントのワークフローに適しています
FBX.fbx部分的N/Aトークナイザーのみ;完全パーサは進行中

フォーマットの検出はファイル拡張子から自動的に行われます。フォーマット固有のロードおよび保存オプション(ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions)は細かい制御のために利用可能です。.


オープンソースかつ無料

このライブラリは MIT ライセンスです。商用アプリケーションでの使用、改変、再配布が制限なく可能です。ソースは GitHub の Aspose 組織で入手できます。.

利用階層やトークン制限、テレメトリはありません。ライブラリはすべてローカルで処理を行います。.

依存関係: なし。このパッケージは純粋なPythonホイールとしてインストールされ、C拡張やサードパーティのランタイム要件はありません。.


はじめに


結論

Aspose.3D FOSS for Python 26.1.0 は、ツール、パイプライン、Web アプリケーションで使用される一般的な 3D ファイルフォーマット(OBJ、STL、glTF、COLLADA、3MF)を、統一された Python API とインストールの手間なしでカバーします。バグや未対応のエッジケース、追加が必要なフォーマットに遭遇した場合は、GitHub で issue を作成してください。ライブラリは積極的にメンテナンスしており、貢献を歓迎します。.