StartPoint プロパティ(ActiveX)

円弧、線分、楕円の始点を指定します。

サポートされているプラットフォーム: Windows のみ

構文と要素

VBA:

object.StartPoint
object

タイプ: ArcEllipseLine

このプロパティが適用されるオブジェクト。

プロパティの値

読み込み専用:はい(読み書き可能である Line オブジェクトを除く)

タイプ: バリアント型(倍精度実数の 3 要素配列)

オブジェクトの始点を表す 3D 座標。

注意



円弧、楕円、線分の始点

円弧や楕円の始点を変更することはできません。円弧を編集するには、EndAngle および Radius プロパティを使用します。楕円を編集するには、EndAngleMajorAxis、および RadiusRatio プロパティを使用します。

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)))
)