Метод Shape.DrawNURBS (Visio)

Создает новую фигуру, путь которой состоит из одного сегмента NURBS (неуниформного рационального B-сплайна).

Синтаксис

выражение. DrawNURBS( _degree_ , _Flags_ , _xyArray()_ , _knots()_ , _weights_ )

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

Параметры

Имя Обязательный или необязательный Тип данных Описание
Степени Обязательный Integer Степень сплайна; целое число от 1 до 25.
Flags Обязательный Integer Флаги, влияющие на то, как рисуется фигура.
xyArray() Обязательный Double Массив чередующихся значений x и y , определяющих координаты контрольных точек; использовать внутренние единицы рисования (дюйма).
knots() Обязательный Double Массив узлов.
Веса Необязательный Variant Массив весовых значений.

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

Shape

Примечания

Метод DrawNURBS создает новую фигуру, путь которой состоит из одного сегмента NURBS, указанного аргументами.

Контрольные точки должны находиться во внутренних единицах рисования (дюймах) по отношению к координатам страницы, образца или группы, в которой создается новая фигура. Массивы xyArray, узлов и весов должны иметь тип SAFEARRAY из 8-байтовых значений с плавающей запятой, передаваемых по ссылке (VT_R8| VT_ARRAY| VT_BYREF). Таким образом Microsoft Visual Basic передает массивы в объекты службы автоматизации.

Аргумент knots меньше единицы. Последовательность узлов не должна уменьшаться. Другими словами, узлы( i +1) <knots( i ) недопустимы. knots( i + 1) = knots( i ) разрешено, а затем значение повторяется, но применяются следующие ограничения.

  • Первый узел не может повторяться более градуса +1 раз.
  • Последний узел не может быть повторен.
  • Любой узел между первым и последним не может повторяться более градусов раз.
  • Если первый узел повторяется меньше, чем градус + 1 раз, сплайн является периодическим.
  • Список весовых коэффициентов необязателен. Его отсутствие сигнализирует о том, что сплайн не является рациональным. Весовые коэффициенты без единиц измерения.

Следующие правила применяются к размерам списков. Для сплайна с n контрольных точек

  • Если сплайн является периодическим, n> 2. В противном случае — n>градуса.
  • Размер xyArray составляет 2 n.
  • Размер массива весов равен n (если он имеется).
  • Размер массива узлов равен n + 1.

Обычный не периодический сплайн требует n + градус + 1 узел, но применение подразумевает повторяющиеся узлы в конце. Например, список узлов степени 2 (0,0,0,2,5,8) интерпретируется в приложении как обычная последовательность узлов (0,0,0,2,5,8,8,8).

Параметр Flags — это битовая маска, указывающая параметры для рисования новой фигуры. Его значение должно быть равно нулю (0) или visSpline1D (8). Если flags имеет значение visSpline1D и если первая и последняя точки в xyArray не совпадают, метод DrawNURBS создает фигуру с одномерным (1D) поведением; В противном случае создается фигура с двумерным (2D) поведением.

Если первая и последняя точки в xyArray совпадают, метод DrawNURBS создает заполненную фигуру.

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

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