CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2023 开发者帮助

Knots 属性 (ActiveX)

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

Knots 属性 (ActiveX)

获取样条曲线的结向量。

支持的平台:仅限 Windows

签名

VBA:

object.Knots
对象

类型:样条曲线

此属性应用于的对象。

属性值

只读:

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

样条曲线的结向量。

言论

没有其他评论。

例子

VBA:

Sub Example_Knots()
    ' This example creates a Spline object in model space and
    ' returns the knot vector for the new Spline

    Dim splineObj As AcadSpline
    Dim startTan(0 To 2) As Double, endTan(0 To 2) As Double
    Dim fitPoints(0 To 8) As Double
    Dim knotVector As Variant

    ' Define the Spline object
    startTan(0) = 0.5: startTan(1) = 0.5: startTan(2) = 0
    endTan(0) = 0.5: endTan(1) = 0.5: endTan(2) = 0
    fitPoints(0) = 0: fitPoints(1) = 0: fitPoints(2) = 0: fitPoints(3) = 5
    fitPoints(4) = 5: fitPoints(5) = 0: fitPoints(6) = 10: fitPoints(7) = 0: fitPoints(8) = 0
    
    ' Create new Spline object
    Set splineObj = ThisDrawing.ModelSpace.AddSpline(fitPoints, startTan, endTan)
    ThisDrawing.Application.ZoomAll
    
    ' Display the knot vector of the new Spline
    knotVector = splineObj.Knots
    MsgBox "The knot vector of the new Spline is: " & vbCrLf & _
           knotVector(0) & vbCrLf & _
           knotVector(1) & vbCrLf & _
           knotVector(2)
End Sub

可视化 LISP:

(vl-load-com)
(defun c:Example_Knots()
    ;; This example creates a Spline object in model space and
    ;; returns the knot vector for the new Spline
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; Define the Spline object
    (setq startTan (vlax-3d-point 0.5 0.5 0)
          endTan (vlax-3d-point 0.5 0.5 0)
          fitPoints (vlax-make-safearray vlax-vbDouble '(0 . 8)))
    (vlax-safearray-fill fitPoints '(0 0 0
				     5 5 0
				     10 0 0
				    )
    )
    
    ;; Create new Spline object
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq splineObj (vla-AddSpline modelSpace fitPoints startTan endTan))
    (vla-ZoomAll acadObj)

    ;; Display the knot vector of the new Spline
    (setq knotVector (vlax-safearray->list (vlax-variant-value (vla-get-Knots splineObj))))
    (alert (strcat "The knot vector of the new Spline is: "
                   "\n" (rtos (nth 0 knotVector) 2)
                   "\n" (rtos (nth 1 knotVector) 2)
                   "\n" (rtos (nth 2 knotVector) 2)))
)

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2025-3-5 17:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部