A3DObject / SceneObject / CustomObject

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 A3DObject

Example

ExampleExampleExampleExample
namestrخواندن/نوشتننام قابل خواندن برای انسان از شیء. به‌صورت پیش‌فرض یک رشته خالی است.
propertiesPropertyCollectionخواندنمجموعهٔ ویژگی‌های پویا که به این شیء پیوست شده است. آن را پیمایش کنید یا از find_property() برای جستجوهای نام‌دار.

Example

find_property(property_name)

در جستجوی یک ویژگی نام‌دار در شیء PropertyCollection و بازگردانید Property نمونه، یا None اگر یافت نشد.

ExampleExampleExample
property_namestrنامی که باید جستجو شود.

بازمی‌گرداند: 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 اگر ویژگی وجود نداشته باشد.

ExampleExampleExample
propertystrنام ویژگی.

باز می‌گرداند: Any

val = node.get_property("name")
print(val)   # "origin"

set_property(property, value)

مقدار یک ویژگی نام‌گذاری‌شده را تنظیم می‌کند. اگر ویژگی هنوز وجود نداشته باشد، آن را ایجاد می‌کند.

ExampleExampleExample
propertystrنام ویژگی.
valueAnyمقدار جدید.

باز می‌گرداند: None

node.set_property("layer", 3)
print(node.get_property("layer"))   # 3

remove_property(property)

یک ویژگی نام‌گذاری‌شده را از مجموعه حذف می‌کند.

ExampleExampleExample
property`strProperty`

بازمی‌گرداند: boolTrue اگر ویژگی یافت شده و حذف شده باشد.


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 SceneObject

Example

A3DObjectSceneObject

ویژگی‌های اضافی

ExampleExampleExampleExample
scene`SceneNone`خواندن/نوشتن
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 CustomObject

Example

A3DObjectCustomObject

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

موارد مرتبط

 فارسی