A3DObject, SceneObject, CustomObject — Aspose.3D Python API Reference
بسته: aspose.threed (aspose-3d-foss 26.1.0)
این سه کلاس پایهٔ سلسلهمراتبی کلاسهای Aspose.3D را تشکیل میدهند. هر شیء عمومی در کتابخانه از A3DObject, که یک نام و یک مجموعهٔ ویژگیهای پویا فراهم میکند. SceneObject گسترش میدهد A3DObject با ردیابی عضویت صحنه. CustomObject یک زیرکلاس سبک و ملموس برای ذخیرهٔ متادیتای دلخواه کاربر است.
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
یک زیرکلاس سبک وزن از 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