Метод Path.Points (Visio)

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

Синтаксис

выражение. Points (Tolerance, xyArray())

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

Параметры

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

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

Отсутствует

Примечания

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

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

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

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

Пример

Этот макрос 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 и обратная связь.