Поделиться через


Метод Curve.Points (Visio)

Возвращает массив точек, определяющий полилиню, которая приблизительно соответствует объекту Path или Curve в пределах заданного допуска.

Синтаксис

expression. Точки (Tolerance, xyArray())

Выражение Переменная, представляющая объект Curve .

Параметры

Имя Обязательный или необязательный Тип данных Описание
Допуск Обязательный Double Указывает, насколько близко возвращаемый массив точек должен приблизить истинный путь.
xyArray() Обязательный Double Возвращает массив чередующихся значений x и y , указывающих точки вдоль хода пути или кривой.

Возвращаемое значение

Отсутствует

Примечания

Метод Points объекта Path или Curve используется для получения массива координат x,y, указывающих точки вдоль пути или кривой в пределах заданного допуска. Допустимые и возвращаемые значения x,y выражаются во внутренних единицах рисования (дюймах).

Если вы использовали свойство Paths объекта Shapes для получения запрашиваемого объекта Path или Curve , координаты выражаются в родительской системе координат. Если вы использовали свойство PathsLocal объекта Shape для получения объекта Path или Curve , координаты выражаются в локальной системе координат.

Если Microsoft Visio не может достичь запрошенного допуска, Visio приблизит точки как можно ближе к запрошенной погрешности. Вообще говоря, чем ниже допуск, тем больше точек возвращает Visio. Visio не допускает допуска нуля (0).

Возвращаемый массив содержит начальную и конечную точки пути или кривой, даже если он закрыт.

Пример

Этот макрос Microsoft Visual Basic для приложений (VBA) помещает фигуру на страницу, извлекает ее коллекцию Paths, а затем использует метод Points объекта Path для возврата массива точек, который определяет полилиню, приближенную к объекту Path.

 
Public Sub Points_Example() 
 
 Dim vsoShape As Visio.Shape 
 Dim adblXYPoints() As Double 
 Dim strPointsList As String 
 Dim intOuterLoopCounter As Integer 
 Dim intInnerLoopCounter As Integer 
 
 Set vsoShape = ActivePage.DrawOval(1, 1, 4, 4) 
 
 For intOuterLoopCounter = 1 To vsoShape.Paths.Count 
 
 vsoShape.Paths(intOuterLoopCounter).Points 0.1, adblXYPoints 
 For intInnerLoopCounter = LBound(adblXYPoints) To UBound(adblXYPoints) 
 strPointsList = strPointsList & adblXYPoints(intInnerLoopCounter) & Chr(10) 
 Next intInnerLoopCounter 
 
 Next intOuterLoopCounter 
 
 Debug.Print strPointsList 
 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.