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