Sets ScaleXY for multiple CogoPoints with different values.

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

Syntax

C#
public ObjectIdCollection SetScaleXY(
	IEnumerable<ObjectId> pointIds,
	IEnumerable<double> values
)
Visual Basic
Public Function SetScaleXY ( _
	pointIds As IEnumerable(Of ObjectId), _
	values As IEnumerable(Of Double) _
) As ObjectIdCollection
Visual C++
public:
ObjectIdCollection^ SetScaleXY(
	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 ScaleXY property for.
values
Type: System.Collections.Generic..::..IEnumerable<(Of <(<'Double>)>)>
A sequence of doubles to set the corresponding point's ScaleXY property to.

Return Value

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

Remarks

If there are fewer doubles than points, only the first n points in the list will have their ScaleXY 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 xyScaleFactor = 1.5;
 6
 7// set value for single point
 8if (cogoPoints.SetScaleXY(pointId, xyScaleFactor) == ObjectId.Null)
 9    write("SetScaleXY failed.\n");
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.SetScaleXY(pointIdList, xyScaleFactor);
18write(String.Format("SetScaleXY success for {0} of {1} points\n",
19   success.Count, pointIdList.Count));
20
21List<double> scales = new List<double>();
22for (int i = 0; i < pointIdList.Count; i++)
23    scales.Add(1 + i * 0.1);
24
25// set multiple points to multiple values
26success = cogoPoints.SetScaleXY(pointIdList, scales);
27write(String.Format("SetScaleXY 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))
 5Dim xyScaleFactor As Double = 1.5
 6
 7' set value for single point
 8If cogoPoints.SetScaleXY(pointId, xyScaleFactor) = ObjectId.Null Then
 9    write("SetScaleXY failed." & vbLf)
10End If
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.SetScaleXY(pointIdList, xyScaleFactor)
19write([String].Format("SetScaleXY success for {0} of {1} points", success.Count, pointIdList.Count))
20
21Dim scales As New List(Of Double)()
22For i As Integer = 0 To pointIdList.Count - 1
23    scales.Add(1 + i * 0.1)
24Next
25
26' set multiple points to multiple values
27success = cogoPoints.SetScaleXY(pointIdList, scales)
28write([String].Format("SetScaleXY success for {0} of {1} points", success.Count, pointIdList.Count))

See Also