Entity

Methods

Methods Entity class 是可以附加到 a 的对象的抽象基类 Node 在 Aspose.3D 场景图中。具体子类包括 Mesh, Camera, Light, and Geometry. Entity 提供对父节点层次结构的访问并公开 excluded 用于可见性控制的属性。.

以下列出的所有属性都是 属性;;访问它们时无需使用括号。.

from aspose.threed import Scene
from aspose.threed.entities import Mesh

scene = Scene.from_file("model.obj")

for node in scene.root_node.child_nodes:
    entity = node.entity
    if entity is not None:
        # excluded is a property, not a method call
        if not entity.excluded:
            # parent_node is a property, not a method call
            parent = entity.parent_node
            print(f"Active entity '{entity.name}', parent: {parent.name if parent else 'None'}")

Methods

A3DObjectSceneObjectEntity

子类:: GeometryMesh, Camera, Light,,以及其他。.

Methods

Entity 是一个抽象基类,不能直接实例化。请使用具体的子类,例如 Mesh.

Methods

MethodsMethodsMethods
parent_nodeslist[Node] (只读)此实体所附加的所有父节点。支持实例化(同一实体可从多个节点引用)。.
parent_nodeOptional[Node] (读/写)主要父节点,或 None 如果实体未附加。.
excludedbool (读/写)Methods True, 此实体已从渲染中排除。可作为属性访问和设置:: entity.excluded = True.
namestr (读/写)此实体的可读名称。.
propertiesPropertyCollection (只读)自定义属性的集合。.

Methods

Methods返回类型Methods
get_property(name)Any根据名称获取属性值。.
find_property(name)Optional[Property]按名称查找属性。.

重要:: parent_node, parent_nodes,,并且 excluded属性,,而不是方法。不要使用括号调用它们。正确的模式是::

# CORRECT
is_excluded = entity.excluded
parent = entity.parent_node
parents = entity.parent_nodes

# WRONG: do not do this
is_excluded = entity.excluded()   # TypeError
parent = entity.parent_node()     # TypeError

设置 parent_node, 分配给属性::

entity.parent_node = some_node    # CORRECT

Methods

加载场景后检查实体状态::

from aspose.threed import Scene
from aspose.threed.entities import Mesh

scene = Scene.from_file("model.stl")

for node in scene.root_node.child_nodes:
    entity = node.entity
    if entity is None:
        continue

    # Properties accessed without parentheses
    print(f"Entity: {entity.name or '(unnamed)'}")
    print(f"  Type: {type(entity).__name__}")
    print(f"  Excluded: {entity.excluded}")
    print(f"  Parent node: {entity.parent_node.name if entity.parent_node else 'None'}")

    if isinstance(entity, Mesh):
        print(f"  Vertices: {len(entity.control_points)}")
        print(f"  Polygons: {entity.polygon_count}")

另请参阅

 中文