StartPoint Property (ActiveX)

Specifies the start point for the arc, line, or ellipse.

Supported platforms: Windows only

Signature

VBA:

object.StartPoint
object

Type: Arc, Ellipse, Line

The objects this property applies to.

Property Value

Read-only: Yes, except the Line object which is read-write

Type: Variant (three-element array of doubles)

A 3D coordinate representing the start point of the object.

Remarks



The start point for an arc, ellipse, and line

You cannot change the start point of an arc or ellipse. To edit an arc, use the EndAngle and Radius properties. To edit an ellipse, use the EndAngle, MajorAxis, and RadiusRatio properties.

Examples

VBA:

Sub Example_StartPoint()
    ' This example creates an elliptical arc and then
    ' finds the coordinates of its start point and endpoint.
    Dim ellObj As AcadEllipse
    Dim majAxis(0 To 2) As Double
    Dim center(0 To 2) As Double
    Dim radRatio As Double
    Dim startPoint As Variant
    Dim endPoint As Variant
    
    ' Create an ellipse in model space
    center(0) = 5#: center(1) = 5#: center(2) = 0#
    majAxis(0) = 10: majAxis(1) = 20#: majAxis(2) = 0#
    radRatio = 0.3
    Set ellObj = ThisDrawing.ModelSpace.AddEllipse(center, majAxis, radRatio)
    
    ' Enter a start angle of 45 degrees, and an end angle of 270 degrees
    ellObj.startAngle = 45 * (3.14 / 180)
    ellObj.endAngle = 270 * (3.14 / 180)
    ZoomAll
    
    ' Find the start and endpoints for the ellipse
    startPoint = ellObj.startPoint
    endPoint = ellObj.endPoint
    MsgBox "This ellipse has a start point of " & _
           startPoint(0) & ", " & startPoint(1) & ", " & _
           startPoint(2) & " and an endpoint of " & _
           endPoint(0) & ", " & endPoint(1) & ", " & _
           endPoint(2), vbInformation, "StartPoint Example"
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_StartPoint()
    ;; This example creates an elliptical arc and then
    ;; finds the coordinates of its start and end points.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; Create an ellipse in model space
    (setq center (vlax-3d-point 5 5 0)
          majAxis (vlax-3d-point 10 20 0)
          radRatio 0.3)

    (setq modelSpace (vla-get-ModelSpace doc))  
    (setq ellObj (vla-AddEllipse modelSpace center majAxis radRatio))
    
    ;; Enter a start angle of 45 degrees, and an end angle of 270 degrees
    (vla-put-StartAngle ellObj (* 45 (/ 3.14 180)))
    (vla-put-EndAngle ellObj (* 270 (/ 3.14 180)))
    (vla-ZoomAll acadObj)
    
    ;; Find the start and endpoints for the ellipse
    (setq startPoint (vlax-safearray->list (vlax-variant-value (vla-get-StartPoint ellObj))))
    (setq endPoint (vlax-safearray->list (vlax-variant-value (vla-get-EndPoint ellObj))))
    (alert (strcat "This ellipse has a start point of " (rtos (nth 0 startPoint) 2) ", "
		                                        (rtos (nth 1 startPoint) 2) ", "
		                                        (rtos (nth 2 startPoint) 2) " and an endpoint of "
		                                        (rtos (nth 0 endPoint) 2) ", "
		                                        (rtos (nth 1 endPoint) 2) ", "
		                                        (rtos (nth 2 endPoint) 2)))
)