SetFitPoint Method (ActiveX)

Sets a fit point for the spline.

Supported platforms: Windows only

Signature

VBA:

object.SetFitPoint Index, Value
object

Type: Spline

The object this method applies to.

Index

Access: Input-only

Type: Long

The index location of the fit point you wish to set. The first fit point is index 0.

Value

Access: Input-only

Type: Variant (three-element array of doubles)

The 3D WCS coordinates specifying the fit point for the spline at the given index location.

Return Value (RetVal)

No return value.

Remarks

No additional remarks.

Examples

VBA:

Sub Example_SetFitPoint()
    ' This example creates a spline object in model space.
    ' It then finds the coordinates of the first fit point
    ' and changes that value.

    ' Create the spline
    Dim splineObj As AcadSpline
    Dim startTan(0 To 2) As Double
    Dim endTan(0 To 2) As Double
    Dim fitPoints(0 To 8) As Double
    
    startTan(0) = 0.5: startTan(1) = 0.5: startTan(2) = 0
    endTan(0) = 0.5: endTan(1) = 0.5: endTan(2) = 0
    fitPoints(0) = 1: fitPoints(1) = 1: fitPoints(2) = 0
    fitPoints(3) = 5: fitPoints(4) = 5: fitPoints(5) = 0
    fitPoints(6) = 10: fitPoints(7) = 0: fitPoints(8) = 0
    Set splineObj = ThisDrawing.ModelSpace.AddSpline(fitPoints, startTan, endTan)
    ZoomAll
    
    ' Display the coordinates of the first fit point
    Dim fitPoint As Variant
    fitPoint = splineObj.GetFitPoint(0)
    MsgBox "Fit point 1 is at " & fitPoint(0) & ", " & fitPoint(1) & ", " & fitPoint(2), , "SetFitPoint Example"
    
    ' Change the coordinates of the first fit point
    fitPoint(0) = 0: fitPoint(1) = 3: fitPoint(2) = 0
    splineObj.SetFitPoint 0, fitPoint
    splineObj.Update
    MsgBox "Fit point 1 is now at " & fitPoint(0) & ", " & fitPoint(1) & ", " & fitPoint(2), , "SetFitPoint Example"
    
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_SetFitPoint()
    ;; This example creates a spline object in model space.
    ;; It then finds the coordinates of the first fit point
    ;; and changes that value.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))

    ;; Create the spline
    (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 '(1 1 0
                                     5 5 0
				                                 10 0 0
				                                )
    )
    
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq splineObj (vla-AddSpline modelSpace fitPoints startTan endTan))
    (vla-ZoomAll acadObj)
    
    ;; Display the coordinates of the first fit point
    (setq fitPoint (vlax-variant-value (vla-GetFitPoint splineObj 0)))
    (alert (strcat "Fit point 1 is at " (rtos (vlax-safearray-get-element fitPoint 0) 2) ", "
                                        (rtos (vlax-safearray-get-element fitPoint 1) 2) ", "
                                        (rtos (vlax-safearray-get-element fitPoint 2) 2)))
    
    ;; Change the coordinates of the first fit point
    (setq fitPoint (vlax-3d-point 0 3 0))
    (vla-SetFitPoint splineObj 0 fitPoint)
    (vla-Update splineObj)
    (setq fitPoint (vlax-variant-value fitPoint))
    (alert (strcat "Fit point 1 is now at " (rtos (vlax-safearray-get-element fitPoint 0) 2) ", "
                                            (rtos (vlax-safearray-get-element fitPoint 1) 2) ", "
                                            (rtos (vlax-safearray-get-element fitPoint 2) 2)))
)