A3DObject, SceneObject, CustomObject — Aspose.3D Python API Reference
الحزمة: aspose.threed (aspose-3d-foss 26.1.0)
تشكل هذه الفئات الثلاث الأساس لهرمية الفئات Aspose.3D. كل كائن عام في المكتبة يرث من A3DObject,، التي توفر اسمًا ومجموعة خصائص ديناميكية. SceneObject يمتد A3DObject مع تتبع عضوية المشهد. CustomObject هو فئة فرعية خفيفة الوزن من Concrete لتخزين بيانات تعريف المستخدم العشوائية.
A3DObject
فئة القاعدة الجذرية لجميع الكائنات المدارة بواسطة Aspose.3D. كل كائن مسمى في المكتبة — Node, Mesh, AnimationClip, Material,، وما إلى ذلك — يرث من A3DObject.
from aspose.threed import A3DObjectExample
| Example | Example | Example | Example |
|---|---|---|---|
name | str | قراءة/كتابة | اسم قابل للقراءة من قبل الإنسان للكائن. القيمة الافتراضية هي سلسلة فارغة. |
properties | PropertyCollection | قراءة | مجموعة الخصائص الديناميكية المرتبطة بهذا الكائن. قم بالتكرار عليها أو استخدم find_property() للبحث بالاسم. |
Example
find_property(property_name)
ابحث عن خاصية مسماة في كائن هذا PropertyCollection وأعد الـ Property مثيل، أو None إذا لم يتم العثور عليه.
| Example | Example | Example |
|---|---|---|
property_name | str | الاسم للبحث عنه. |
الإرجاع: Property | None
from aspose.threed import Scene
scene = Scene()
node = scene.root_node.create_child_node("origin")
prop = node.find_property("name")
if prop is not None:
print(prop.value) # "origin"get_property(property)
إرجاع القيمة الحالية لخاصية مسماة، أو None إذا لم تكن الخاصية موجودة.
| Example | Example | Example |
|---|---|---|
property | str | اسم الخاصية. |
يعيد: Any
val = node.get_property("name")
print(val) # "origin"set_property(property, value)
عيّن قيمة خاصية مسماة. ينشئ الخاصية إذا لم تكن موجودة مسبقًا.
| Example | Example | Example |
|---|---|---|
property | str | اسم الخاصية. |
value | Any | القيمة الجديدة. |
يعيد: None
node.set_property("layer", 3)
print(node.get_property("layer")) # 3remove_property(property)
أزل خاصية مسماة من المجموعة.
| Example | Example | Example |
|---|---|---|
property | `str | Property` |
الإرجاع: bool — True إذا تم العثور على الخاصية وإزالتها.
Example
from aspose.threed import Scene
scene = Scene()
node = scene.root_node.create_child_node("my_node")
# Set and retrieve a custom property
node.set_property("export_lod", 2)
print(node.get_property("export_lod")) # 2
# Enumerate all properties
for prop in node.properties:
print(f" {prop.name} = {prop.value!r}")
# Find and inspect a specific property
p = node.find_property("name")
if p:
print(p.value_type) # <class 'str'>SceneObject
Example A3DObject مع إشارة إلى المالك Scene. Node, Entity, والفئات ذات الصلة ترث من SceneObject.
from aspose.threed import SceneObjectExample
A3DObject → SceneObject
خصائص إضافية
| Example | Example | Example | Example |
|---|---|---|---|
scene | `Scene | None` | قراءة/كتابة |
from aspose.threed import Scene
scene = Scene()
node = scene.root_node.create_child_node("child")
print(node.scene is scene) # True (Node inherits SceneObject)CustomObject
فئة فرعية خفيفة الوزن من concrete A3DObject التي تحمل اسمًا فقط و عشوائي PropertyCollection. استخدمه لإرفاق بيانات وصفية حرة الشكل إلى مشهد دون إنشاء فئة فرعية لأي نوع كيان.
from aspose.threed import CustomObjectExample
A3DObject → CustomObject
Example
CustomObject(name: str = None)Example
from aspose.threed import CustomObject, Scene
# Attach pipeline metadata to a node as a custom object
meta = CustomObject("render_settings")
meta.set_property("max_bounces", 8)
meta.set_property("use_denoiser", True)
scene = Scene()
# Store as a user property on the root node
scene.root_node.set_property("render_meta", meta.name)
print(meta.get_property("max_bounces")) # 8