CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

相关分类

权重属性 (ActiveX)

2023-1-3 01:12| 发布者: admin| 查看: 218| 评论: 0|来自: AutoCAD

摘要: 获取样条的权重向量。

获取样条的权重向量。

支持的平台:仅窗口

签名

工 务 局:

object.Weights
对象

类型:样条

此属性适用的对象。

属性值

只读:

类型:变体(双精度的三元素数组)

样条的权重矢量。

言论

没有额外的评论。

例子

工 务 局:

Sub Example_Weights()
    ' This example creates a Spline object in model space and
    ' returns the weight 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 weightVector 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)
        
    ' Add weights to the Spline
    splineObj.SetWeight 0, 1.5
    splineObj.SetWeight 1, 2
    splineObj.SetWeight 2, 4.5
    
    ThisDrawing.Application.ZoomAll
    
    ' Display the weight vector of the new Spline
    weightVector = splineObj.Weights
    MsgBox "The weight vector of the new Spline is: " & vbCrLf & _
           weightVector(0) & vbCrLf & _
           weightVector(1) & vbCrLf & _
           weightVector(2)
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_Weights()
    ;; This example creates a Spline object in model space and
    ;; returns the weight 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)
        
    ;; Add weights to the Spline
    (vla-SetWeight splineObj 0 1.5)
    (vla-SetWeight splineObj 1 2)
    (vla-SetWeight splineObj 2 4.5)
    
    (vla-ZoomAll acadObj)
    
    ;; Display the weight vector of the new Spline
    (setq weightVector (vlax-variant-value (vla-get-Weights splineObj)))
    (alert (strcat "The weight vector of the new Spline is: "
                   "\n" (rtos (vlax-safearray-get-element weightVector 0) 2)
                   "\n" (rtos (vlax-safearray-get-element weightVector 1) 2)
                   "\n" (rtos (vlax-safearray-get-element weightVector 2) 2)))
)

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-5-11 13:00

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部