如何按条件筛选构件?_文档_BIMFACE_BIM应用二次开发平台

如何按条件筛选构件?

Viewer3D提供了多个按条件筛选构件的Method,以便于对构件进行隐藏、隔离、获取构件列表等操作,用户在不同的Method中可利用相应的字段来实现筛选。
另外,筛选条件支持两种情况:交集、并集:
1)交集:即满足条件A,又满足条件B;
2)并集:满足条件C,或者满足条件D。

示例(构件隐藏、隔离等)

以下是一个构件(Component)的详细信息

{
    "objectId":"924639232728032.45851200",
    "fileId":"924639232728032",
    "elementId":"45851200",
    "objectData":{
        "categoryId":-2001340,
        "levelName":"F01",
        "specialty":"AR"
    },
    "boundingBox":{
        "min": {
            "x": 20174.197245435877,
            "y": 60867.47840650141,
            "z": 2946.249999999989
            },
        "max": {        
            "x": 20824.197245435877,        
            "y": 61517.47840650142,        
            "z": 3046.249999999989    
        }
    }
}

objectData 有5个字段:categoryId、levelName、specialty、family、famliytype
如果要隔离出 categoryId = -2001340,且 levelName = “F01” 的构件(交集),则条件输入如下:

{
    "categoryId":-2001340,
    "levelName":"F01"
}

如果要隔离出 categoryId = -2001340,且 levelName = “F01” 的构件(交集),或者 levelName = “F02” 的构件(并集),则条件输入如下:

[
    {
        "categoryId":-2001340,
        "levelName":"F01"
    },
    {
        "levelName":"F02"
    }
]

综上:交集的条件是一个Json对象中的多个字段,而并集的条件是多个Json对象的数组。