Property
Property mewakili satu medan metadata bernama, berjenis tunggal yang dilampirkan kepada mana-mana A3DObject (termasuk Node, Mesh, AnimationClip, dll.). Sifat diakses melalui PropertyCollection yang dikembalikan oleh obj.properties. Anda boleh membaca, menulis, dan menyenaraikan sifat untuk menyimpan data yang ditakrifkan pengguna bersama elemen adegan.
from aspose.threed import PropertyProperty objek biasanya tidak dibina secara langsung oleh kod aplikasi. Ia dicipta dengan memanggil A3DObject.get_property() atau ditemui melalui A3DObject.find_property().
| ————————- | ————————- | ————————- |
| name | str | Nama sifat |
| value | Any | Nilai awal (pilihan) |
| ————————- | ————————- | ——————————————————————————————— |
| name | str | Nama sifat baca-sahaja |
| value | Any | Nilai semasa; boleh dibaca dan ditulis |
| value_type | type | Python type daripada nilai semasa; mengembalikan type(None) apabila value adalah None |
| ————————————- | ————————- | ————————————————————————————————————————————————- |
| get_extra(name) | Any | Mendapatkan medan metadata tambahan bernama yang disimpan pada sifat ini |
| set_extra(name, value) | None | Menetapkan medan metadata tambahan yang dinamakan |
| get_bind_point(anim, create) | BindPoint | None | Mengembalikan titik ikatan animasi untuk sifat ini dalam konteks yang diberikan AnimationNode; pass create=True untuk membuat satu jika tiada |
| get_keyframe_sequence(anim, create) | KeyframeSequence | None | Mengembalikan urutan keyframe untuk sifat ini dalam yang diberikan AnimationNode |
from aspose.threed import Scene
scene = Scene()
node = scene.root_node.create_child_node("tagged_node")
# Access the property collection
props = node.properties
# Get a property by name (read raw value)
val = node.get_property("name")
print(val) # "tagged_node"
# Find a property object
prop = node.find_property("name")
if prop is not None:
print(prop.name) # "name"
print(prop.value) # "tagged_node"
print(prop.value_type) # <class 'str'>
# Enumerate all properties
for p in props:
print(f" {p.name} = {p.value!r}")
# Store a custom value on a property (extra metadata)
if prop:
prop.set_extra("ui_label", "Scene Origin Node")
label = prop.get_extra("ui_label")
print(label) # "Scene Origin Node"