Loading...

Note: Support for 3D on mobile devices may vary, view the system requirements for more information.

In this sample we load a building with detailed interior information from a BIM project. The building was published as a BuildingSceneLayer from a Revit project using ArcGIS Pro.

A BuildingSceneLayer contains complex digital models of buildings and interiors. Because of the high complexity, it's important to be able to filter the data. This sample shows how to filter a BuildingSceneLayer based on the floor number.

Several filters can be set in the filters collection of a BuildingSceneLayer, but only one can be active. Each filter has an id and you can activate a filter by setting its id in BuildingSceneLayer.activeFilterId. This filter is then set on all the sublayers of the BuildingSceneLayer.

In this sample we create a slider that filters the BuildingSceneLayer for each floor:

// define a floor filter
const buildingFilter = new BuildingFilter({
  filterBlocks: [{
    // an SQL expression that filters using the BldgLevel field
    filterExpression: "BldgLevel = 3",
    filterMode: {
      type: "solid"
    }
  }]
});
// set the filter in the filters array on the layer
buildingLayer.filters = [buildingFilter];
// specify which filter is the one that should be applied
buildingLayer.activeFilterId = buildingFilter.id;

Another way to select which features should be displayed is by using the Slice widget. See the BuildingSceneLayer with Slice widget sample to understand how it works.

Sample search results

TitleSample
Loading...