CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2024 开发者帮助

MajorAxis 属性 (ActiveX)

2024-5-18 19:08| 发布者: admin| 查看: 18| 评论: 0|原作者: admin|来自: AutoCAD

MajorAxis 属性 (ActiveX)

指定椭圆的长轴方向。

支持的平台:仅限 Windows

签名

VBA:

object.MajorAxis
对象

类型:椭圆

此属性应用于的对象。

属性值

只读:

类型:变体(双打的三元素阵列)

定义主轴的 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

可视化 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)))
)

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-6-27 15:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部