ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / BuildingDisciplineSceneLayer Class / GetDiscipline Method
Example Version

GetDiscipline Method
Gets the discipline type.
Syntax
public string GetDiscipline()
Example
Get BuildingDisciplineSceneLayer Discipline
var bsl_discipline = MapView.Active.Map.GetLayersAsFlattenedList().OfType<BuildingDisciplineSceneLayer>().FirstOrDefault(l => l.Name == "Architectural");
var disciplineName = bsl_discipline.GetDiscipline();
Enumerate the Discipline Layers from a Building SceneLayer
public void QueryBuildingSceneLayer()
{
  var bldgLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<BuildingSceneLayer>().First();
  var disciplines = new Dictionary<string, BuildingDisciplineSceneLayer>();
  //A Building layer has two children - Overview and FullModel
  //Overview is a FeatureSceneLayer
  //Full Model is a BuildingDisciplineSceneLayer that contains the disciplines
  
  var fullModel = bldgLayer.FindLayers("Full Model").First() 
                                 as BuildingDisciplineSceneLayer;
  CollectDisciplineLayers(fullModel, disciplines);
  
}

internal void CollectDisciplineLayers(BuildingDisciplineSceneLayer disciplineLayer,
  Dictionary<string, BuildingDisciplineSceneLayer> disciplines)
{
  //collect information on the disciplines
  var name = disciplineLayer.Name;
  //At 2.x - var layerType =
  //      ((ISceneLayerInfo)disciplineLayer).SceneServiceLayerType.ToString();

  var discipline = disciplineLayer.GetDiscipline();
  //etc
  //TODO - use collected information

  disciplines.Add(discipline, disciplineLayer);

  //Discipline layers are composite layers too
  foreach (var childDiscipline in disciplineLayer.Layers
                      .OfType<BuildingDisciplineSceneLayer>())
  {
    //Discipline layers can also contain FeatureSceneLayers that render the
    //individual full model contents
    var content_names = string.Join(", ", childDiscipline.Layers
         .OfType<FeatureSceneLayer>().Select(fl => fl.Name));
    CollectDisciplineLayers(childDiscipline, disciplines);
  }
}
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also