परिचय
हम जारी कर रहे हैं Aspose.3D FOSS Python के लिए, एक शुद्ध-Python लाइब्रेरी पढ़ने, लिखने और सामान्य 3D फ़ाइल फ़ॉर्मेट्स को परिवर्तित करने के लिए। लाइब्रेरी PyPI पर प्रकाशित है जैसा कि aspose-3d-foss, MIT लाइसेंस रखती है, और शून्य बाहरी निर्भरताएँ हैं।.
यदि आपको कभी प्रोग्रामेटिक रूप से 3D फ़ाइलों का निरीक्षण या रूपांतरण करने की आवश्यकता पड़ी है (जैसे मेष वर्टेक्स गिनती निकालना, OBJ ज्योमेट्री को प्रोसेसिंग स्क्रिप्ट में पाइप करना, या वेब व्यूअर के लिए STL फ़ाइलों को glTF में बैच-परिवर्तित करना), तो यह लाइब्रेरी उसी उपयोग केस के लिए बनाई गई है। इसे ग्राफ़िक्स ड्राइवर, नेटिव एक्सटेंशन मॉड्यूल, या किसी क्लाउड कनेक्शन की आवश्यकता नहीं होती।.
क्या शामिल है
कोर सीन ग्राफ
हर फ़ाइल को एक Scene ऑब्जेक्ट में लोड किया जाता है जो मूल फ़ाइल की नोड पदानुक्रम को प्रतिबिंबित करता है। नोड्स रखते हैं Transform (translation, rotation, scale) और एक या अधिक संलग्न इकाइयाँ जैसे Mesh, Camera, या Light. सीन ग्राफ स्रोत फ़ॉर्मेट की परवाह किए बिना समान रहता है, इसलिए ज्यामिति को चलाने और प्रोसेस करने के लिए लिखा गया कोड सभी समर्थित फ़ॉर्मेट्स में बिना संशोधन के काम करता है।.
ज्योमेट्री एक्सेस
Mesh ऑब्जेक्ट्स एक्सपोज़ करते हैं:
control_points: वर्टेक्स स्थितियों की सूची के रूप मेंVector4(x, y, z, w)polygons: फेस इंडेक्स सूचियों की सूची (मनमाना बहुभुज अरेटी, केवल त्रिकोण नहीं)get_element(VertexElementType): नॉर्मल्स, UVs, वर्टेक्स रंग, और स्मूदिंग ग्रुप्स के लिए नामित वर्टेक्स डेटा लेयर्स को प्राप्त करता है
मैटेरियल्स
LambertMaterial और PhongMaterial OBJ से पढ़े गए सामग्री गुणों को ले जाता है .mtl फ़ाइलें (ambient, diffuse, specular, emissive, transparency, shininess). सामग्री उन फ़ॉर्मेट्स के लिए जो उनका समर्थन करते हैं, लोड‑सेव राउंड ट्रिप को सहन करती हैं।.
गणित उपयोगिताएँ
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, और BoundingBox ज्यामिति गणनाओं के लिए हल्के मूल्य प्रकारों के रूप में शामिल किए गए हैं।.
एनिमेशन
यह AnimationClip, AnimationNode, KeyframeSequence, और KeyFrame classes 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 कुंजियाँ नहीं, कोई नेटवर्क कॉल नहीं।.
Supported Formats
| फ़ॉर्मैट | Extension(s) | लोड | सेव | नोट्स |
|---|---|---|---|---|
| Wavefront OBJ | .obj | हाँ | हाँ | .mtl सामग्री लोडिंग समर्थित |
| STL | .stl | हाँ | हाँ | बाइनरी और ASCII; कोऑर्डिनेट-सिस्टम फ़्लिप विकल्प |
| glTF 2.0 | .gltf, .glb | हाँ | हाँ | GLB (self-contained binary) समर्थित |
| 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 एक्सटेंशन नहीं और कोई तृतीय-पक्ष रनटाइम आवश्यकताएँ नहीं हैं।.
शुरू करना
- इंस्टॉल:
pip install aspose-3d-foss - कैसे करें: फ़ाइलें लोड करना: कैसे लोड करें 3D मॉडल Python में
- कैसे करें: फ़ाइलें परिवर्तित करना: कैसे परिवर्तित करें 3D मॉडल Python में
- API संदर्भ: Aspose.3D Python के लिए FOSS API संदर्भ
- PyPI: aspose-3d-foss पर PyPI
निष्कर्ष
Aspose.3D FOSS for Python 26.1.0 टूलिंग, पाइपलाइन, और वेब अनुप्रयोगों में उपयोग किए जाने वाले सबसे सामान्य 3D फ़ाइल फ़ॉर्मेट (OBJ, STL, glTF, COLLADA, और 3MF) को एक सुसंगत Python API और बिना इंस्टॉलेशन जटिलता के कवर करता है। यदि आप किसी बग, असमर्थित किनारे के मामले, या किसी ऐसे फ़ॉर्मेट का सामना करते हैं जिसे जोड़ने की आवश्यकता है, तो कृपया GitHub पर एक इश्यू खोलें। हम लाइब्रेरी को सक्रिय रूप से बनाए रखते हैं और योगदान का स्वागत करते हैं।.