用户通过框选得到几何实体Entity后,需要对几何体自身的属性进行操作。一般情况下,获取属性需要用到以下几个关键接口:

通过Entity获取持久化层唯一标识P3DInstanceKey,其中对应记录着当前几何实体的全部信息:

返回值:P3DInstanceKey
def get_datakey_from_entity(entityid: P3DEntityId)

通过唯一标识P3DInstanceKey获取记录几何体属性的无序字典

返回值:Noumenon
def get_noumKV_from_instancekey(instancekey: P3DInstanceKey)

使用示例:

# 初始化一个空列表来存储符合条件的key
filtered_keys=[]
for i in entitys:
    # 获取模型属性
    datakey = get_datakey_from_entity(i)
    noumenon = get_noumKV_from_instancekey(datakey)
    # 遍历noumenon字典的键  
    for string in noumenon.keys():  
        # 检查字符串中是否包含'标记'字段 
        if '标记' in string:  
            # 如果包含,则添加到filtered_keys列表中  
            filtered_keys.append(string)

这段代码的主要功能是从一个名为entitys的列表(或可迭代对象)中筛选出特定的键,并将这些键存储在一个名为filtered_keys的列表中。