Sets the LabelRotation property for multiple CogoPoints with different values.

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

Syntax

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

Parameters

pointIds
Type: System.Collections.Generic..::..IEnumerable<(Of <(<'ObjectId>)>)>
A sequence of ObjectIds of the points you want to set the LabelRotation property for.
values
Type: System.Collections.Generic..::..IEnumerable<(Of <(<'Double>)>)>
A sequence of doubles to set the corresponding point's LabelRotation property to.

Return Value

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

Remarks

If there are fewer doubles than points, only the first n points in the list will have their LabelRotation property set, where n is the number of items in the values list.

Examples

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

See Also