Pengantar

Kami melepaskan Aspose3D FOSS untuk Python, sebuah perpustakaan Python murni untuk membaca, menulis dan mengkonversi format file 3D umum. Perpustakaan ini diterbitkan di PyPI sebagai aspose-3d-foss, membawa lisensi MIT, dan memiliki nol ketergantungan eksternal.

Jika Anda pernah perlu memeriksa atau mengkonversi file 3D secara programatis (mengekstrak hitungan sumbu mesh, geometry OBJ pipa ke dalam skrip pemrosesan, atau batch-convert STL files to glTF untuk viewer web), perpustakaan ini dibangun untuk kasus penggunaan itu. Tidak memerlukan driver grafis, modul ekstensi asli, ataupun koneksi cloud apa pun.


Apa yang Termasuk?

Grafik Adegan Inti

Setiap file dimuat ke dalam sebuah Scene objek yang mencerminkan hierarki node file asli. Node carry Transform (terjemahan, rotasi, skala) dan satu atau lebih entitas yang terikat seperti: Mesh, Camera, atau Light.Grafik adegan adalah sama terlepas dari format sumber, jadi kode yang ditulis untuk berjalan dan proses geometri bekerja di semua format yang didukung tanpa modifikasi.

Akses Geometri

Mesh objek mengekspos:

  • control_points: daftar posisi puncak sebagai: Vector4 (x, y, z, w)
  • polygons: daftar indeks wajah (poligon arity sewenang-wenang, bukan hanya segitiga)
  • get_element(VertexElementType): mengambil lapisan data vertex yang diberi nama untuk normal, UV, warna vertexes dan kelompok smoothing

Bahan-bahan

LambertMaterial dan (b) PhongMaterial membawa sifat material yang dibaca dari OBJ. .mtl Bahan bertahan dari beban menyimpan perjalanan pulang untuk format yang mendukungnya.

Utilitas Matematika

Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, dan BoundingBox dimasukkan sebagai jenis nilai ringan untuk perhitungan geometri.

Animasi

Pengelolaan AnimationClip, AnimationNode, KeyframeSequence, dan KeyFrame kelas memberikan akses ke data animasi keyframe dari format yang membawa itu, seperti glTF dan COLLADA.


Memulai dengan cepat

asposefoss/3d is not yet published — build from source until it ships. See the project README for build instructions.

Muat file 3D dan cetak jumlah vertex dari setiap mesh:

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)

Mengkonversi file yang sama ke glTF:

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

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

Itu program lengkap. tidak ada file konfigurasi, tak ada kunci API, tidak panggilan jaringan.


Format yang Didhukung

Format (Inggris)Extension(s)BebanSimpanCatatan
OBJ.objYa, aku tahu.Ya, aku tahu..mtl material yang didukung beban
STL.stlYa, aku tahu.Ya, aku tahu.Binary dan ASCII; opsi flip sistem koordinat
glTF (Penggunaan).gltf, .glbYa, aku tahu.Ya, aku tahu..glb (biner mandiri) didukung
COLLADA.daeYa, aku tahu.Ya, aku tahu.ColladaSaveOptions tersedia dengan: flip_coordinate_system, enable_materials, indented
3MF.3mfYa, aku tahu.Ya, aku tahu.Cocok untuk alur kerja pencetakan 3D
FBX.fbxBagian-bagianN/ATokenizer saja; full parser sedang berlangsung

Deteksi format otomatis dari ekstensi file. Opsi loading dan menyimpan khusus untuk format (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) tersedia untuk kontrol halus.


Open Source dan Gratis

Perpustakaan ini dilisensikan MIT. Anda dapat menggunakannya dalam aplikasi komersial, memodifikasinya, dan mendistribusikannya tanpa batasan. Sumbernya tersedia di GitHub di bawah organisasi Aspose .

Tidak ada tingkat penggunaan, tidak ada batas token dan tidak adanya telemetri. Perpustakaan melakukan semua pemrosesan secara lokal.

Ketergantungan:Paket ini diinstal sebagai roda Python murni tanpa ekstensi C dan tidak ada persyaratan waktu runtime pihak ketiga.


Memulai


Kesimpulan

3D FOSS untuk Python 26.1.0 mencakup format file 3d yang paling umum digunakan dalam alat, pipa dan aplikasi web (OBJ, STL, glTF, COLLADA, dan 3MF) dengan API Python yang konsisten dan tanpa gesekan instalasi. Jika Anda menemukan bug, kasus tepi yang tidak didukung, atau format yang perlu ditambahkan, silakan buka masalah di GitHub. Kami secara aktif memelihara perpustakaan dan menyambut kontribusi.