Sets the control point of the spline at a given index.
Supported platforms: Windows only
Signature
VBA:
object.SetControlPoint Index, Value
- object
-
Type: Spline
The object this method applies to.
- Index
-
Access: Input-only
Type: Long
The index location of the control point you wish to set. The first control point is index 0.
- Value
-
Access: Input-only
Type: Variant (three-element array of doubles)
The 3D WCS coordinates specifying the control point for the spline at the given index location.
Return Value (RetVal)
No return value.
Remarks
No additional remarks.
Examples
VBA:
Sub Example_SetControlPoint() ' This example creates a spline object in model space. ' It then finds the coordinates of the first control 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 control point Dim controlPoint As Variant controlPoint = splineObj.GetControlPoint(0) MsgBox "Control point 1 is at " & controlPoint(0) & ", " & controlPoint(1) & ", " & controlPoint(2), , "SetControlPoint Example" ' Change the coordinates of the first fit point controlPoint(0) = 0: controlPoint(1) = 3: controlPoint(2) = 0 splineObj.SetControlPoint 0, controlPoint splineObj.Update MsgBox "Control point 1 is now at " & controlPoint(0) & ", " & controlPoint(1) & ", " & controlPoint(2), , "SetControlPoint Example" End Sub
Visual LISP:
(vl-load-com) (defun c:Example_SetControlPoint() ;; This example creates a spline object in model space. ;; It then finds the coordinates of the first control 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 control point (setq controlPoint (vlax-safearray->list (vlax-variant-value (vla-GetControlPoint splineObj 0)))) (alert (strcat "Control point 1 is at " (rtos (nth 0 controlPoint) 2) ", " (rtos (nth 1 controlPoint) 2) ", " (rtos (nth 2 controlPoint) 2))) ;; Change the coordinate of the first fit point (setq controlPoint (vlax-3d-point 0 3 0)) (vla-SetControlPoint splineObj 0 controlPoint) (vla-Update splineObj) (setq controlPoint (vlax-safearray->list (vlax-variant-value (vla-GetControlPoint splineObj 0)))) (alert (strcat "Control point 1 is now at " (rtos (nth 0 controlPoint) 2) ", " (rtos (nth 1 controlPoint) 2) ", " (rtos (nth 2 controlPoint) 2))) )