MajorAxis プロパティ(ActiveX)

楕円の主軸の方向を指定します。

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

構文と要素

VBA:

object.MajorAxis
object

タイプ: Ellipse

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

プロパティの値

読み込み専用: いいえ

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

主軸で定義された 3D ベクトル。ベクトルの向きは楕円の中心方向です。

注意

楕円の長い方の軸を主軸と呼びます。短い方は副軸です。



VBA:

Sub Example_MajorAxis()
    ' This example creates an ellipse and finds the major axis
    ' for that ellipse. It then changes the major axis for the ellipse.
    Dim ellObj As AcadEllipse
    Dim majAxis(0 To 2) As Double
    Dim center(0 To 2) As Double
    Dim radRatio As Double
    
    ' 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)
    ellObj.Update
    MsgBox "The ellipse has a major axis of " & majAxis(0) & ", " & majAxis(1) & ", " & majAxis(2), vbInformation, "MajorAxis Example"

    ' Change the major axis of the ellipse
    majAxis(0) = 5: majAxis(1) = 5: majAxis(2) = 0
    ellObj.MajorAxis = majAxis
    ellObj.Update
    
    ' Query the major axis of an Ellipse
    Dim retMajAxis As Variant
    retMajAxis = ellObj.MajorAxis
    MsgBox "The ellipse has been udpated with the major axis " & retMajAxis(0) & ", " & retMajAxis(1) & ", " & retMajAxis(2), vbInformation, "MajorAxis Example"
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_MajorAxis()
    ;; This example creates an ellipse and finds the major axis
    ;; for that ellipse. It then changes the major axis for the ellipse.
    (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))
    (vla-ZoomAll acadObj)

    (vla-Update ellObj)
    (setq majAxis (vlax-variant-value majAxis))
    (alert (strcat "The ellipse has a major axis of " (rtos (vlax-safearray-get-element majAxis 0) 2) ", "
                                                      (rtos (vlax-safearray-get-element majAxis 1) 2) ", "
                                                      (rtos (vlax-safearray-get-element majAxis 2) 2)))

    ;; Change the major axis of the ellipse
    (setq majAxis (vlax-3d-point 5 5 0))
    (vla-put-MajorAxis ellObj majAxis)
    (vla-Update ellObj)
    
    ;; Query the major axis of an Ellipse
    (setq retMajAxis (vlax-variant-value (vla-get-MajorAxis ellObj)))
    (alert (strcat "The ellipse has been udpated with the major axis " (rtos (vlax-safearray-get-element retMajAxis 0) 2) ", "
                                                                       (rtos (vlax-safearray-get-element retMajAxis 1) 2) ", "
                                                                       (rtos (vlax-safearray-get-element retMajAxis 2) 2)))
)