Giriş

Yayınlıyoruz Aspose.3D FOSS Python için, okuma, yazma ve yaygın 3D dosya formatlarını dönüştürmek için saf-Python bir kütüphane. Kütüphane PyPI’de şu adla yayınlanıyor aspose-3d-foss, MIT lisansı taşır ve dış bağımlılıkları yoktur.

Eğer bir zaman 3D dosyalarını programlı olarak incelemeniz veya dönüştürmeniz gerekti (mesh vertex sayılarını çıkarmak, OBJ geometrisini bir işleme betiğine yönlendirmek, ya da STL dosyalarını web görüntüleyici için glTF’ye toplu dönüştürmek) bu kütüphane bu kullanım durumu için inşa edilmiştir. Bir grafik sürücüsü, yerel uzantı modülü veya herhangi bir bulut bağlantısı gerektirmez.


Neler Dahildir

Temel Sahne Grafiği

Her dosya bir Scene orijinal dosyanın düğüm hiyerarşisini yansıtan bir nesneye yüklenir. Düğümler Transform (çeviri, dönüş, ölçek) ve aşağıdakiler gibi bir veya daha fazla eklenmiş varlık taşır Mesh, Camera, ya da Light. Sahne grafiği kaynak formatına bakılmaksızın aynı olduğundan, geometriyi dolaşmak ve işlemek için yazılan kod, tüm desteklenen formatlarda değişiklik yapmadan çalışır.

Geometri Erişimi

Mesh nesneler şunları sunar:

  • control_points: köşe konumlarının listesi olarak Vector4 (x, y, z, w)
  • polygons: çokgen indeks listelerinin listesi (keyfi çokgen çokluğu, sadece üçgenler değil)
  • get_element(VertexElementType): normalar, UV’ler, köşe renkleri ve yumuşatma grupları için adlandırılmış köşe veri katmanlarını alır

Materyaller

LambertMaterial ve PhongMaterial OBJ’den okunan malzeme özelliklerini taşır .mtl dosyalar (ambient, diffuse, specular, emissive, transparency, shininess). Malzemeler, bunları destekleyen formatlarda yükleme–kaydetme döngüsünden sağ çıkar.

Matematik Araçları

Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, ve BoundingBox geometri hesaplamaları için hafif value types olarak dahil edilir.

Animasyon

Bu AnimationClip, AnimationNode, KeyframeSequence, ve KeyFrame sınıfları, glTF ve COLLADA gibi bunu taşıyan formatlardan anahtar kare animasyon verilerine erişim sağlar.


Hızlı Başlangıç

pip install aspose-3d-foss

Bir 3D dosyası yükleyin ve her ağın köşe sayısını yazdırın:

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)

Aynı dosyayı glTF formatına dönüştürün:

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

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

Bu, tam programdır. Yapılandırma dosyası yok, API anahtarı yok, ağ çağrısı yok.


Desteklenen Biçimler

BiçimExtension(s)YükleKaydetNotlar
Wavefront OBJ.objEvetEvet.mtl malzeme yükleme destekleniyor
STL.stlEvetEvetİkili ve ASCII; koordinat sistemi ters çevirme seçeneği
glTF 2.0.gltf, .glbEvetEvetGLB (kendine ait ikili) destekleniyor
COLLADA.daeEvetEvetColladaSaveOptions ile mevcut flip_coordinate_system, enable_materials, indented
3MF.3mfEvetEvet3D baskı iş akışları için uygun
FBX.fbxKısmiN/AYalnızca belirteçleyici; tam ayrıştırıcı üzerinde çalışılıyor

Biçim algılaması dosya uzantısından otomatik olarak yapılır. Biçim‑özel yükleme ve kaydetme seçenekleri (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) ince ayarlı kontrol için mevcuttur.


Açık Kaynak ve Ücretsiz

Kütüphane MIT lisanslıdır. Ticari uygulamalarda kullanabilir, değiştirebilir ve kısıtlama olmaksızın yeniden dağıtabilirsiniz. Kaynak, Aspose organizasyonu altında GitHub’da mevcuttur.

Kullanım katmanları, token sınırlamaları ve telemetri yoktur. Kütüphane tüm işleme işlemlerini yerel olarak gerçekleştirir.

Bağımlılıklar: yok. Paket, C uzantısı ve üçüncü taraf çalışma zamanı gereksinimi olmadan saf-Python tekerleği olarak kurulur.


Başlarken


Sonuç

Aspose.3D FOSS for Python 26.1.0, araçlar, işlem hatları ve web uygulamalarında kullanılan en yaygın 3D dosya formatlarını (OBJ, STL, glTF, COLLADA ve 3MF) tutarlı bir Python API’si ve kurulum zorluğu olmadan kapsar. Bir hata, desteklenmeyen bir uç durum veya eklenmesini istediğiniz bir formatla karşılaşırsanız, lütfen GitHub’da bir sorun açın. Kütüphaneyi aktif olarak sürdürüyoruz ve katkılara açığız.