CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2023 开发者帮助

StartPoint 属性 (ActiveX)

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

StartPoint 属性 (ActiveX)

指定圆弧、直线或椭圆的起点。

支持的平台:仅限 Windows

签名

VBA:

object.StartPoint
对象

类型:圆弧椭圆直线

此属性应用于的对象。

属性值

只读:是,但 Line 对象除外,该对象是读写的

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

表示对象起点的 3D 坐标。

言论



圆弧、椭圆和直线的起点

不能更改圆弧或椭圆的起点。要编辑圆弧,请使用 和 属性。若要编辑椭圆,请使用 、 和 属性。EndAngleRadiusEndAngleMajorAxisRadiusRatio

例子

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

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

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-12-15 22:15

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部