A3DObject / SceneObject / CustomObject

A3DObject, SceneObject, CustomObject — Aspose.3D Python API Reference

Paket: aspose.threed (aspose-3d-foss 26.1.0)

Dessa tre klasser utgör basen för Aspose.3D-klasshierarkin. Varje offentligt objekt i biblioteket ärver från A3DObject, som tillhandahåller ett namn och en dynamisk egenskapskollektion. SceneObject ärver A3DObject med spårning av scenmedlemskap. CustomObject är en lättviktig konkret underklass för att lagra godtycklig användarmetadata.


A3DObject

Rotbas-klassen för alla Aspose.3D hanterade objekt. Varje namngivet objekt i biblioteket — Node, Mesh, AnimationClip, Material, och så vidare — ärver från A3DObject.

from aspose.threed import A3DObject

Example

ExampleExampleExampleExample
namestrläsa/skrivaMänskligt läsbart namn på objektet. Standardvärdet är en tom sträng.
propertiesPropertyCollectionläsaDen dynamiska egenskapskollektionen som är knuten till detta objekt. Iterera den eller använd find_property() för namngivna uppslag.

Example

find_property(property_name)

Sök efter en namngiven egenskap i detta objekts PropertyCollection och returnera den Property instans, eller None om inte hittas.

ExampleExampleExample
property_namestrNamnet att söka efter.

Returnerar: 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)

Returnera det aktuella värdet för en namngiven egenskap, eller None om egenskapen inte finns.

ExampleExampleExample
propertystrEgenskapsnamn.

Returnerar: Any

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

set_property(property, value)

Sätt värdet för en namngiven egenskap. Skapar egenskapen om den ännu inte finns.

ExampleExampleExample
propertystrEgenskapsnamn.
valueAnyNytt värde.

Returnerar: None

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

remove_property(property)

Ta bort en namngiven egenskap från samlingen.

ExampleExampleExample
property`strProperty`

Returnerar: boolTrue om egenskapen hittades och togs bort.


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 med en referens till den ägande Scene. Node, Entity, och relaterade klasser ärver från SceneObject.

from aspose.threed import SceneObject

Example

A3DObjectSceneObject

Ytterligare egenskaper

ExampleExampleExampleExample
scene`SceneNone`läsa/skriva
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

En lättviktig konkret underklass av A3DObject som bara bär ett namn och en godtycklig PropertyCollection. Använd den för att bifoga fritt formulerad metadata till en scen utan att underklassa någon entitetstyp.

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

Se även

 Svenska