This class defines a single elevation region, specified by a minimum and maximum elevation.
Namespace: Autodesk.Civil.DatabaseServicesAssembly: AeccDbMgd (in AeccDbMgd.dll) Version: 13.4.2516.0
Syntax
C# |
---|
public sealed class SurfaceAnalysisElevationData : ISurfaceAnalysis |
Visual Basic |
---|
Public NotInheritable Class SurfaceAnalysisElevationData _ Implements ISurfaceAnalysis |
Visual C++ |
---|
public ref class SurfaceAnalysisElevationData sealed : ISurfaceAnalysis |
Remarks
An elevation region defines a minimum and maximum elevation.
It also defines how the elevations in that elevation region appear (color).
A Surface elevation analysis typically contains several elevations. The Surface.Analysis.GetElevationData() method
returns an array of SurfaceAnalysisElevationData objects, one for each elevation.
Examples

1/// <summary> 2/// Calculates elevation regions for a given surface, and returns an array that can be passed 3/// to Surface.Analysis.SetElevationData() 4/// </summary> 5/// <param name="surface">A Civil 3D Surface object</param> 6/// <param name="steps">The number of elevation steps to calculate</param> 7/// <param name="startColor">The index of the start color. Each subsequent color index is incremeted by 2.</param> 8/// <returns>An array of SurfaceAnalysisElevationData objects.</returns> 9private SurfaceAnalysisElevationData[] CalculateElevationRegions(Autodesk.Civil.DatabaseServices.Surface surface, int steps, short startColor) 10{ 11 // calculate increments based on # of steps: 12 double minEle = surface.GetGeneralProperties().MinimumElevation; 13 double maxEle = surface.GetGeneralProperties().MaximumElevation; 14 double incr = (maxEle - minEle) / steps; 15 16 SurfaceAnalysisElevationData[] newData = new SurfaceAnalysisElevationData[steps]; 17 for (int i = 0; i < steps; i++) 18 { 19 Color newColor = Color.FromColorIndex(ColorMethod.ByLayer, (short)(100 + (i * 2))); 20 newData[i] = new SurfaceAnalysisElevationData(minEle + (incr * i), minEle + (incr * (i + 1)), newColor); 21 } 22 23 return newData; 24} 25 26 27/// <summary> 28/// Illustrates performing an elevation analysis 29/// </summary> 30[CommandMethod("SurfaceElevationAnalysis")] 31public void SurfaceElevationAnalysis() 32{ 33 using (Transaction ts = Application.DocumentManager.MdiActiveDocument.Database.TransactionManager.StartTransaction()) 34 { 35 // Select first TIN Surface 36 ObjectId surfaceId = doc.GetSurfaceIds()[0]; 37 TinSurface oSurface = surfaceId.GetObject(OpenMode.ForWrite) as TinSurface; 38 39 // get existing analysis, if any: 40 SurfaceAnalysisElevationData[] analysisData = oSurface.Analysis.GetElevationData(); 41 editor.WriteMessage("Existing Analysis length: {0}\n", analysisData.Length); 42 43 SurfaceAnalysisElevationData[] newData = CalculateElevationRegions(oSurface, 10, 100); 44 45 oSurface.Analysis.SetElevationData(newData); 46 47 // commit the transaction 48 ts.Commit(); 49 } 50}
Inheritance Hierarchy
System..::..Object
Autodesk.Civil.DatabaseServices..::..SurfaceAnalysisElevationData
Autodesk.Civil.DatabaseServices..::..SurfaceAnalysisElevationData