Partilhar via


Método Shape.DrawNURBS (Visio)

Cria uma nova forma cujo caminho consiste em um único segmento NURBS (B-spline racional não-uniforme).

Sintaxe

expressão. DrawNURBS( _degree_ , _Flags_ , _xyArray()_ , _knots()_ , _weights_ )

Expressão Uma variável que representa um objeto Shape .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Grau Obrigatório Integer O grau da spline; um número inteiro entre 1 e 25.
Flags Obrigatório Integer Sinalizadores que influenciam a maneira como a forma é desenhada.
xyArray() Obrigatório Double Uma matriz de valores x e y alternados que definem as coordenadas dos pontos de controle; use unidades de desenho internas (polegadas).
nós() Obrigatório Double Uma matriz de nós.
Pesos Opcional Variantes Uma matriz de espessuras.

Valor de retorno

Forma

Comentários

O método DrawNURBS cria uma nova forma cujo caminho consiste em um único segmento NURBS, conforme especificado pelos argumentos.

Os pontos de controle devem estar em unidades de desenho internas (polegadas) com relação ao espaço de coordenadas da página, mestre ou grupo no qual a forma é criada. As matrizes xyArray, knots e weights devem ser do tipo SAFEARRAY de valores de ponto flutuante de 8 bytes passados por referência (VT_R8|VT_ARRAY|VT_BYREF). É assim que o Microsoft Visual Basic passa matrizes para objetos Automation.

O argumento knots não tem unidade. A sequência de knots não deve ser decrescente. Em outras palavras, nós( i + 1) <nós, i ) não são aceitáveis. nós( i + 1) = nós( i ) é permitido e, em seguida, o valor é repetido, mas as seguintes restrições se aplicam

  • O primeiro nó não pode ser repetido mais que degree + 1 vezes.
  • O último nó não pode ser repetido.
  • Qualquer nó entre o primeiro e o último não pode ser repetido mais que degree vezes.
  • Se o primeiro nó for repetido menos que degree + 1 vezes, a spline será periodic.
  • A lista de espessuras é opcional. Sua ausência sinaliza que a spline é non-rational. As espessuras não têm unidade.

As regras a seguir se aplicam aos tamanhos das listas. Para um spline com n pontos de controle

  • Se o spline for periódico, n> 2. Caso contrário, n>grau.
  • O tamanho do xyArray é de 2 n.
  • O tamanho da matriz de pesos é n (se presente).
  • O tamanho da matriz knots é n + 1.

O spline não periódico convencional requer n + grau + 1 nós, mas o aplicativo implica os nós repetidos no final. Por exemplo, a lista de dois nós de degree (0,0,0,2,5,8) é interpretada no aplicativo como a sequência de nós convencional (0,0,0,2,5,8,8,8).

O parâmetro Flags é uma bitmask que especifica opções para desenhar a nova forma. Seu valor deve ser zero (0) ou visSpline1D (8). Se Flags for visSpline1D e se os primeiros e últimos pontos no xyArray não coincidirem, o método DrawNURBS produzirá uma forma com comportamento unidimensional (1D). caso contrário, ele produz uma forma com comportamento bidimensional (2D).

Se o primeiro e o último ponto em xyArray coincidirem, o método DrawNURBS produzirá uma forma preenchida.

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.