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 A3DObjectOverview
| Overview | Overview | Overview | Overview |
|---|---|---|---|
name | str | читання/запис | Людсько-читабельна назва об’єкта. За замовчуванням — порожній рядок. |
properties | PropertyCollection | читання | Динамічна колекція властивостей, прикріплена до цього об’єкта. Перебирайте її або використовуйте find_property() для іменованих пошуків. |
Overview
find_property(property_name)
Шукайте іменовану властивість у цьому об’єкті PropertyCollection і поверніть the Property екземпляр, або None якщо не знайдено.
| Overview | Overview | Overview |
|---|---|---|
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 якщо властивість не існує.
| Overview | Overview | Overview |
|---|---|---|
property | str | Назва властивості. |
Повертає: Any
val = node.get_property("name")
print(val) # "origin"set_property(property, value)
Встановлює значення іменованої властивості. Створює властивість, якщо вона ще не існує.
| Overview | Overview | Overview |
|---|---|---|
property | str | Назва властивості. |
value | Any | Нове значення. |
Повертає: None
node.set_property("layer", 3)
print(node.get_property("layer")) # 3remove_property(property)
Видаляє іменовану властивість з колекції.
| Overview | Overview | Overview |
|---|---|---|
property | `str | Property` |
Повертає: bool — True якщо властивість була знайдена та видалена.
Overview
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
Overview A3DObject з посиланням на власника Scene. Node, Entity, і пов’язані класи успадковують від SceneObject.
from aspose.threed import SceneObjectOverview
A3DObject → SceneObject
Додаткові властивості
| Overview | Overview | Overview | Overview |
|---|---|---|---|
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 CustomObjectOverview
A3DObject → CustomObject
Overview
CustomObject(name: str = None)Overview
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