Knots Property (ActiveX)

Gets the knot vector for a spline.

Supported platforms: Windows only

Signature

VBA:

object.Knots
object

Type: Spline

The object this property applies to.

Property Value

Read-only: No

Type: Variant (three-element array of doubles)

The knots vector of the spline.

Remarks

No additional remarks.

Examples

VBA:

Sub Example_Knots()
    ' This example creates a Spline object in model space and
    ' returns the knot vector for the new Spline

    Dim splineObj As AcadSpline
    Dim startTan(0 To 2) As Double, endTan(0 To 2) As Double
    Dim fitPoints(0 To 8) As Double
    Dim knotVector As Variant

    ' Define the Spline object
    startTan(0) = 0.5: startTan(1) = 0.5: startTan(2) = 0
    endTan(0) = 0.5: endTan(1) = 0.5: endTan(2) = 0
    fitPoints(0) = 0: fitPoints(1) = 0: fitPoints(2) = 0: fitPoints(3) = 5
    fitPoints(4) = 5: fitPoints(5) = 0: fitPoints(6) = 10: fitPoints(7) = 0: fitPoints(8) = 0
    
    ' Create new Spline object
    Set splineObj = ThisDrawing.ModelSpace.AddSpline(fitPoints, startTan, endTan)
    ThisDrawing.Application.ZoomAll
    
    ' Display the knot vector of the new Spline
    knotVector = splineObj.Knots
    MsgBox "The knot vector of the new Spline is: " & vbCrLf & _
           knotVector(0) & vbCrLf & _
           knotVector(1) & vbCrLf & _
           knotVector(2)
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_Knots()
    ;; This example creates a Spline object in model space and
    ;; returns the knot vector for the new Spline
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; Define the Spline object
    (setq startTan (vlax-3d-point 0.5 0.5 0)
          endTan (vlax-3d-point 0.5 0.5 0)
          fitPoints (vlax-make-safearray vlax-vbDouble '(0 . 8)))
    (vlax-safearray-fill fitPoints '(0 0 0
				     5 5 0
				     10 0 0
				    )
    )
    
    ;; Create new Spline object
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq splineObj (vla-AddSpline modelSpace fitPoints startTan endTan))
    (vla-ZoomAll acadObj)

    ;; Display the knot vector of the new Spline
    (setq knotVector (vlax-safearray->list (vlax-variant-value (vla-get-Knots splineObj))))
    (alert (strcat "The knot vector of the new Spline is: "
                   "\n" (rtos (nth 0 knotVector) 2)
                   "\n" (rtos (nth 1 knotVector) 2)
                   "\n" (rtos (nth 2 knotVector) 2)))
)