Sets Elevation for multiple CogoPoints with different elevation values.

Namespace: Autodesk.Civil.DatabaseServices
Assembly: AeccDbMgd (in AeccDbMgd.dll) Version: 10.3.488.0

Syntax

C#
public ObjectIdCollection SetElevationByOffset(
	IEnumerable<ObjectId> pointIds,
	IEnumerable<double> offsets
)
Visual Basic
Public Function SetElevationByOffset ( _
	pointIds As IEnumerable(Of ObjectId), _
	offsets As IEnumerable(Of Double) _
) As ObjectIdCollection
Visual C++
public:
ObjectIdCollection^ SetElevationByOffset(
	IEnumerable<ObjectId>^ pointIds, 
	IEnumerable<double>^ offsets
)

Parameters

pointIds
Type: System.Collections.Generic..::..IEnumerable<(Of <(<'ObjectId>)>)>
A sequence of ObjectIds of the points you want to set the elevation for.
offsets
Type: System.Collections.Generic..::..IEnumerable<(Of <(<'Double>)>)>
A sequence of offset values to apply to each corresponding point's current elevation.

Return Value

An ObjectIdCollection containing the CogoPoints for which the elevation has been set successfully.

Remarks

If there are fewer offsets than points, only the first n points in the list will have their elevation set, where n is the number of offsets specified.

Examples

CopyC#
 1// _civildoc is the active CivilDocument instance.
 2// 
 3CogoPointCollection cogoPoints = _civildoc.CogoPoints;
 4ObjectId pointId = cogoPoints.Add(new Point3d(100, 100, 50));
 5
 6// set value for single point
 7if (cogoPoints.SetElevationByOffset(pointId, -10) == ObjectId.Null)
 8    write("SetElevationByOffset failed.\n");
 9
10Point3dCollection points = new Point3dCollection();
11points.Add(new Point3d(50, 50, 25));
12points.Add(new Point3d(200, 200, 15));
13ObjectIdCollection pointIds = cogoPoints.Add(points);
14List<ObjectId> pointIdList = GetListFromCollection(pointIds);
15
16// set multiple points to a single value
17ObjectIdCollection success = cogoPoints.SetElevationByOffset(pointIdList, -15);
18write(String.Format("SetElevationByOffset success for {0} of {1} points\n",
19  success.Count, pointIdList.Count));
20
21List<double> offsets = new List<double>();
22for (int i = 0; i < pointIdList.Count; i++)
23    offsets.Add(i * -10);
24
25// set multiple points to multiple values
26success = cogoPoints.SetElevationByOffset(pointIdList, offsets);
27write(String.Format("SetElevationByOffset success for {0} of {1} points\n",
28  success.Count, pointIdList.Count));
CopyVB.NET
 1' _civildoc is the active CivilDocument instance.
 2'
 3Dim cogoPoints As CogoPointCollection = _civildoc.CogoPoints
 4Dim pointId As ObjectId = cogoPoints.Add(New Point3d(100, 100, 50))
 5
 6' set value for single point
 7If cogoPoints.SetElevationByOffset(pointId, -10) = ObjectId.Null Then
 8    write("SetElevationByOffset failed." & vbLf)
 9End If
10
11Dim points As New Point3dCollection()
12points.Add(New Point3d(50, 50, 25))
13points.Add(New Point3d(200, 200, 15))
14Dim pointIds As ObjectIdCollection = cogoPoints.Add(points)
15Dim pointIdList As List(Of ObjectId) = GetListFromCollection(pointIds)
16
17' set multiple points to a single value
18Dim success As ObjectIdCollection = cogoPoints.SetElevationByOffset(pointIdList, -15)
19write([String].Format("SetElevationByOffset success for {0} of {1} points", success.Count, pointIdList.Count))
20
21Dim offsets As New List(Of Double)()
22For i As Integer = 0 To pointIdList.Count - 1
23    offsets.Add(i * -10)
24Next
25
26' set multiple points to multiple values
27success = cogoPoints.SetElevationByOffset(pointIdList, offsets)
28write([String].Format("SetElevationByOffset success for {0} of {1} points", success.Count, pointIdList.Count))

See Also