Share

CogoPointCollection.SetMarkerRotation(ObjectId, Double) Method

Sets the MarkerRotation property for a single CogoPoint.



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

Syntax

C#

public ObjectId SetMarkerRotation(
	ObjectId pointId,
	double rotation
)

VB

Public Function SetMarkerRotation ( 
	pointId As ObjectId,
	rotation As Double
) As ObjectId

C++

public:
ObjectId SetMarkerRotation(
	ObjectId pointId, 
	double rotation
)

Parameters

pointId  ObjectId
The ObjectId of the point you want to set the MarkerRotation property for.
rotation  Double
The new MarkerRotation value.

Return Value

ObjectId
If the method succeeds, it returns the same ObjectId pointId passed in. If the method fails, it returns ObjectId.Null.

Example

C#

 1// _civildoc is the active CivilDocument instance.
 2// 
 3CogoPointCollection cogoPoints = _civildoc.CogoPoints;
 4ObjectId pointId = cogoPoints.Add(new Point3d(100, 100, 50), false);
 5double rotationAngle = 0.785398163; // 45 degres in rads
 6
 7// set value for single point
 8if (cogoPoints.SetMarkerRotation(pointId, rotationAngle) == ObjectId.Null)
 9    write("SetMarkerRotation 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, false);
15List<ObjectId> pointIdList = GetListFromCollection(pointIds);
16
17// set multiple points to a single value
18ObjectIdCollection success = cogoPoints.SetMarkerRotation(pointIdList, rotationAngle);
19write(String.Format("SetMarkerRotation 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.SetMarkerRotation(pointIdList, angles);
28write(String.Format("SetMarkerRotation success for {0} of {1} points\n",
29    success.Count, pointIdList.Count));

VB

 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), False)
 5Dim rotationAngle As Double = 0.785398163
 6' 45 degres in rads
 7' set value for single point
 8If cogoPoints.SetMarkerRotation(pointId, rotationAngle) = ObjectId.Null Then
 9    write("SetMarkerRotation 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, False)
16Dim pointIdList As List(Of ObjectId) = GetListFromCollection(pointIds)
17
18' set multiple points to a single value
19Dim success As ObjectIdCollection = cogoPoints.SetMarkerRotation(pointIdList, rotationAngle)
20write([String].Format("SetMarkerRotation 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.SetMarkerRotation(pointIdList, angles)
29write([String].Format("SetMarkerRotation success for {0} of {1} points", success.Count, pointIdList.Count))

See Also

Reference

Was this information helpful?