SurfaceAnalysisGetElevationData Method |
Gets the elevation analysis data for a Surface.
Namespace: Autodesk.Civil.DatabaseServicesAssembly: AeccDbMgd (in AeccDbMgd.dll) Version: 13.8.0.292
Syntaxpublic SurfaceAnalysisElevationData[] GetElevationData()
Public Function GetElevationData As SurfaceAnalysisElevationData()
public:
array<SurfaceAnalysisElevationData^>^ GetElevationData()
Return Value
SurfaceAnalysisElevationData
An array of SurfaceAnalysisElevationData objects.
Remarks
This method returns elevation analysis data for a Surface. Data only exists if it has been generated in the
Surface Analysis tab. Elevations will appear in the GUI if the elevation component of the surface style
are set to visible, but the analysis data will be empty. Data is generated from the Analysis tab on the
Surface Properties dialog.
Use SetElevationData() to apply changes made to data returned by this method.
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