Shape.DrawNURBS-Methode (Visio)

Erstellt ein neues Shape, dessen Pfad aus einem einzelnen NURBS-Segment (Nonuniform Rational B-Spline, nicht einheitlichen rationalen B-Spline) besteht.

Syntax

Ausdruck. DrawNURBS( _degree_ , _Flags_ , _xyArray()_ , _knots()_ , _weights_ )

expression Eine Variable, die ein Shape-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
degree Erforderlich Integer Der Grad des Splines, eine ganze Zahl zwischen 1 und 25.
Flags Erforderlich Integer Kennzeichen, die beeinflussen, wie das Shape gezeichnet wird.
xyArray() Erforderlich Double Ein Array von wechselnden X- und Y-Werten, mit denen die Koordinaten der Kontrollpunkte definiert werden, in internen Zeichnungseinheiten (Zoll).
Knoten() Erforderlich Double Ein Array von Knoten.
Gewichtungen Optional Variant Ein Array von Breiten.

Rückgabewert

Form

Bemerkungen

Mit der DrawNURBS-Methode wird ein neues Shape erstellt, dessen Pfad aus einem einzigen NURBS-Segment besteht, das durch die Argumente angegeben wird.

Die Kontrollpunkte sollten in internen Zeichnungseinheiten (Zoll) unter Berücksichtigung des Koordinatenbereichs des Zeichenblatts, des Masters oder der Gruppe liegen, in dem das neue Shape erstellt wird. Die xyArray-, Knoten- und Gewichtungsarrays sollten vom Typ SAFEARRAY mit 8-Byte-Gleitkommawerten sein, die per Verweis übergeben werden (VT_R8|VT_ARRAY|VT_BYREF). So übergibt Microsoft Visual Basic Arrays an Automatisierungsobjekte.

Das knots-Argument weist keine Einheit auf. Die Sequenz von knots-Argumenten sollte nicht abfallend sein. Mit anderen Worten, Knoten( i + 1) <Knoten ( i ) sind nicht akzeptabel. knots( i + 1) = Knoten( i ) ist erlaubt, und dann wird der Wert wiederholt, aber es gelten die folgenden Einschränkungen

  • Der erste Knoten darf nicht häufiger als degree + 1-Mal wiederholt werden.
  • Der letzte Knoten darf nicht wiederholt werden.
  • Knoten zwischen dem ersten und dem letzten dürfen nicht häufiger als degree-Mal wiederholt werden.
  • Wenn der erste Knoten weniger als degree + 1-Mal wiederholt wird, ist der Spline periodisch.
  • Die Liste der Breiten ist optional. Wenn sie nicht vorhanden ist, ist der Spline nicht rational. Breiten weisen keine Einheiten auf.

Die folgenden Regeln gelten für die Größen von Listen. Für einen Spline mit n Kontrollpunkten

  • Wenn der Spline periodisch ist, n> 2. Andernfalls n>Grad.
  • Die Größe von xyArray ist 2 n.
  • Die Größe des Gewichtungsarrays ist n (falls vorhanden).
  • Die Größe des knots-Arrays ist n + 1.

Der herkömmliche nicht-periodische Spline erfordert n + Grad + 1 Knoten, aber die Anwendung impliziert die wiederholten Knoten am Ende. Beispielsweise wird die Liste degree 2 Knoten (0,0,0,2,5,8) in der Anwendung als herkömmliche Knotensequenz (0,0,0,2,5,8,8,8) interpretiert.

Der Flags-Parameter ist eine Bitmaske für die Angabe von Optionen zum Zeichnen des neuen Shapes. Der Wert sollte entweder Null (0) oder visSpline1D (8) sein. Wenn FlagsvisSpline1D ist und der erste und der letzte Punkt in xyArray nicht übereinstimmen, erzeugt die DrawNURBS-Methode eine Form mit eindimensionalem (1D) Verhalten. Andernfalls wird eine Form mit zweidimensionalem Verhalten (2D) erzeugt.

Wenn die ersten und letzten Punkte in xyArray übereinstimmen, erzeugt die DrawNURBS-Methode ein ausgefülltes Shape.

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.