Page. DrawNURBS-Methode (Visio)Page.DrawNURBS method (Visio)

Erstellt ein neues Shape, dessen Pfad aus einem einzelnen NURBS-Segment (Nonuniform Rational B-Spline, nicht einheitlichen rationalen B-Spline) besteht.Creates a new shape whose path consists of a single NURBS (nonuniform rational B-spline) segment.

SyntaxSyntax

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

Ausdruck Eine Variable, die ein Page -Objekt darstellt.expression A variable that represents a Page object.

ParameterParameters

NameName Erforderlich/OptionalRequired/Optional DatentypData type BeschreibungDescription
Graddegree ErforderlichRequired IntegerInteger Der Grad des Splines, eine ganze Zahl zwischen 1 und 25.The spline's degree; an integer between 1 and 25.
FlagsFlags ErforderlichRequired IntegerInteger Kennzeichen, die beeinflussen, wie das Shape gezeichnet wird.Flags that influence how the shape is drawn.
xyArray ()xyArray() ErforderlichRequired DoubleDouble Ein Array von abwechselnden x -und y -Werten, mit denen die Koordinaten der Steuerpunkte definiert werden; Verwenden Sie interne Zeichnungseinheiten (Zoll).An array of alternating x and y values that define the control points coordinates; use internal drawing units (inches).
Knoten ()knots() ErforderlichRequired DoubleDouble Ein Array von Knoten.An array of knots.
Gewichtungenweights OptionalOptional VariantVariant Ein Array von Breiten.An array of weights.

RückgabewertReturn value

FormShape

BemerkungenRemarks

Die DrawNURBS -Methode erstellt ein neues Shape, dessen Pfad aus einem einzelnen NURBS-Segment besteht, wie durch die Argumente angegeben.The DrawNURBS method creates a new shape whose path consists of a single NURBS segment as specified by the arguments.

Die Steuerpunkte sollten sich in internen Zeichnungseinheiten (Zoll) in Bezug auf den Koordinatenbereich der Seite, des Masters oder der Gruppe befinden, in der das neue Shape erstellt wird.The control points should be in internal drawing units (inches) with respect to the coordinate space of the page, master, or group in which the new shape is being created. Die Arrays xyArray, _Knots_und weights sollten vom Typ SAFEARRAY des 8-Byte-Gleitkommawerts sein, der durch Verweis übergeben wird (VT_R8 | VT_ARRAY | VT_BYREF).The xyArray, knots, and weights arrays should be of type SAFEARRAY of 8-byte floating point values passed by reference (VT_R8|VT_ARRAY|VT_BYREF). So übergibt Microsoft Visual Basic Arrays an Automatisierungsobjekte.This is how Microsoft Visual Basic passes arrays to Automation objects.

Das Argument Knoten ist Unit-less.The knots argument is unit-less. Die Sequenz von knots-Argumenten sollte nicht abfallend sein.The sequence of knots should be non-decreasing. In anderen Worten: Knoten( i + 1) < Knoten( i ) sind nicht akzeptabel.In other words, knots( i + 1) < knots( i ) is not acceptable. Knoten ( i + 1) = Knoten( i ) ist zulässig, und dann wird der Wert wiederholt, aber die folgenden Einschränkungen gelten:knots( i + 1) = knots( i ) is permitted, and then the value is repeated, but the following restrictions apply:

  • Der erste Knoten darf nicht mehr als Grad + 1 Mal wiederholt werden.The first knot may not be repeated more than degree + 1 times.

  • Der letzte Knoten darf nicht wiederholt werden.The last knot may not be repeated.

  • Jeder Knoten zwischen dem ersten und dem letzten darf nicht mehr als Grad Zeiten wiederholt werden.Any knot between the first and last may not be repeated more than degree times.

  • Wenn der erste Knoten kleiner als Degree + 1 Mal wiederholt wird, ist der Spline periodisch.If the first knot is repeated less than degree + 1 times, the spline is periodic.

  • Die Liste der Breiten ist optional.The list of weights is optional. Das Fehlen signalisiert, dass der Spline _nicht rational_ist.Its absence signals that the spline is non-rational. Breiten weisen keine Einheiten auf.Weights are unit-less.

Die folgenden Regeln gelten für die Größen von Listen.The following rules apply to the sizes of the lists. Für einen Spline mit n Kontrollpunkten gilt Folgendes:For a spline with n control points:

  • Wenn der Spline periodisch ist, gilt n > 2.If the spline is periodic, n > 2. Andernfalls n > Degree.Otherwise, n > degree.

  • Die Größe von xyArray ist 2 n.The size of xyArray is 2 n.

  • Die Größe des Gewichtungs Arrays ist n (sofern vorhanden).The size of the weights array is n (if present).

  • Die Größe des Knoten Arrays ist n + 1.The size of the knots array is n + 1.

Der herkömmliche nichtperiodische Spline erfordert n + Grad + 1 Knoten, aber die Anwendung impliziert die wiederholten Knoten am Ende.The conventional non-periodic spline requires n + degree + 1 knots, but the application implies the repeated knots at the end. 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.For example, the degree 2 knot list (0,0,0,2,5,8) is interpreted in the application as the conventional knot sequence (0,0,0,2,5,8,8,8).

Der Flags -Parameter ist eine Bitmaske, die Optionen zum Zeichnen der neuen Form angibt.The Flags parameter is a bitmask that specifies options for drawing the new shape. Der Wert sollte entweder NULL (0) oder visSpline1D (8) sein.Its value should be either zero (0) or visSpline1D (8). Wenn Flags visSpline1D ist und wenn 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 (2D) Verhalten erzeugt.If Flags is visSpline1D and if the first and last points in xyArray don't coincide, the DrawNURBS method produces a shape with one-dimensional (1D) behavior; otherwise, it produces a shape with two-dimensional (2D) behavior.

Wenn die ersten und letzten Punkte in xyArray übereinstimmen, erzeugt die DrawNURBS -Methode eine ausgefüllte Form.If the first and last points in xyArray do coincide, the DrawNURBS method produces a filled shape.

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.