获取样条曲线的节点向量。 支持的平台:仅窗口 属性值只读:不 类型:变体(双精度的三元素数组) 样条的节点向量。 言论没有额外的评论。 例子工 务 局: 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
Visual 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)))
)
|
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-11-3 03:51
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.