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_
)
Ausdruck Eine Variable, die ein Shape-Objekt darstellt.
Parameter
Name | Erforderlich/Optional | Datentyp | Beschreibung |
---|---|---|---|
Grad | 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). |
knots() | Erforderlich | Double | Ein Array von Knoten. |
Gewichte | 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 sich in internen Zeichnungseinheiten (Zoll) in Bezug auf den Koordinatenbereich des Zeichenblatts, des Masters oder der Gruppe befinden, in dem das neue Shape erstellt wird. Die xyArray-, Knoten- und Gewichtungsarrays sollten vom Typ SAFEARRAY von 8-Byte-Gleitkommawerten sein, die als Verweis übergeben werden (VT_R8| VT_ARRAY| VT_BYREF). So übergibt Microsoft Visual Basic Arrays an Automation-Objekte.
Das knots-Argument weist keine Einheit auf. Die Sequenz von knots-Argumenten sollte nicht abfallend sein. Mit anderen Worten, Knoten( i + 1) <Knoten( i ) ist nicht akzeptabel. knots( i + 1) = knots( i ) ist zulässig, und dann wird der Wert wiederholt, aber die folgenden Einschränkungen gelten
- 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 beträgt 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. Sein Wert sollte entweder null (0) oder visSpline1D (8) sein. Wenn FlagsvisSpline1D ist und der erste und letzte Punkt in xyArray nicht übereinstimmen, erzeugt die DrawNURBS-Methode eine Form mit eindimensionalem (1D)-Verhalten; Andernfalls wird eine Form mit zweidimensionalen (2D)-Verhalten 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.