SurfaceAnalysisElevationData Class |
This class defines a single elevation region, specified by a minimum and maximum elevation.
Inheritance HierarchySystemObject
Autodesk.Civil.DatabaseServicesSurfaceAnalysisElevationData
Namespace: Autodesk.Civil.DatabaseServicesAssembly: AeccDbMgd (in AeccDbMgd.dll) Version: 13.8.0.292
Syntaxpublic sealed class SurfaceAnalysisElevationData
Public NotInheritable Class SurfaceAnalysisElevationData
public ref class SurfaceAnalysisElevationData sealed
The SurfaceAnalysisElevationData type exposes the following members.
Constructors
Properties | Name | Description |
---|
 | MaximumElevation |
Gets or sets the maximum elevation value for the elevation range.
|
 | MinimumElevation |
Gets or sets the minimum elevation value for the elevation range.
|
 | Scheme |
Gets or sets the color value for the elevation range. This is an AutoCAD Color object.
|
Top
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.
Example 1
2
3
4
5
6
7
8
9private SurfaceAnalysisElevationData[] CalculateElevationRegions(Autodesk.Civil.DatabaseServices.Surface surface, int steps, short startColor)
10{
11
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
28
29
30[CommandMethod("SurfaceElevationAnalysis")]
31public void SurfaceElevationAnalysis()
32{
33 using (Transaction ts = Application.DocumentManager.MdiActiveDocument.Database.TransactionManager.StartTransaction())
34 {
35
36 ObjectId surfaceId = doc.GetSurfaceIds()[0];
37 TinSurface oSurface = surfaceId.GetObject(OpenMode.ForWrite) as TinSurface;
38
39
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
48 ts.Commit();
49 }
50}
See Also