public MedinaSiteSectorBuilder CategorizeObjects() { foreach (var obj in Objects) { var layerName = File.AllLayers.FindIndex(obj.Attributes.LayerIndex).Name; //Console.WriteLine(layerName); var geo = obj.Geometry as Brep; var pt = Point3d.Unset; if (geo == null) { if (layerName != "ruins__points") { if (layerName == "mass__object--building") { //Console.WriteLine(obj.Geometry.ObjectType); var extrusion = obj.Geometry as Extrusion; geo = extrusion.ToBrep(); } else { continue; } } else { var ptRef = obj.Geometry as Point; if (ptRef != null) { RuinPoints.Add(ptRef.Location); continue; } continue; } } switch (layerName) { case "base": Base = geo; break; case "datum__ground--footprints": Footprints.Add(geo); break; case "datum__ground--courtyard": Courtyards.Add(geo); break; case "datum_ground--public": Plazas.Add(geo); break; case "datum__floor": Floors.Add(geo); break; case "datum__roof": Roofs.Add(geo); break; case "datum__balcony": Balconies.Add(geo); break; case "mass__object--building": Massing.Add(geo); break; case "mass__space--openings": Windows.Add(geo); break; case "mass__space--doors": Doors.Add(geo); break; default: break; } } return(this); }