Elevates the order of the spline to the given order.
Supported platforms: Windows only
VBA:
object.ElevateOrder Order
Type: Spline
The object this method applies to.
Access: Input-only
Type: Integer
A positive value greater than the current order. The maximum order is 26.
No return value.
The order of a spline is equal to the degree of the spline plus one (+1). You can query the degree of the spline by using the Degree property.
Entering a value greater than the current value increases the number of control points uniformly across the spline for more localized control. Once a spline order has been elevated, it cannot be reduced.
When a spline is elevated, it is converted from an interpolated (fit) spline to a control point spline. This means that after elevation, the spline no longer has fit tangents and the StartTangent and EndTangent properties for the spline are no longer accessible. The only way to edit a control point spline is through the ControlPoints property, or the SetControlPoint or GetControlPoint methods.
VBA:
Sub Example_ElevateOrder() ' This example creates a spline object in model space. ' It then elevates the order of the spline. ' Create the spline Dim splineObj As AcadSpline Dim startTan(0 To 2) As Double Dim endTan(0 To 2) As Double Dim fitPoints(0 To 8) As Double startTan(0) = 0.5: startTan(1) = 0.5: startTan(2) = 0 endTan(0) = 0.5: endTan(1) = 0.5: endTan(2) = 0 fitPoints(0) = 1: fitPoints(1) = 1: fitPoints(2) = 0 fitPoints(3) = 5: fitPoints(4) = 5: fitPoints(5) = 0 fitPoints(6) = 10: fitPoints(7) = 0: fitPoints(8) = 0 Set splineObj = ThisDrawing.ModelSpace.AddSpline(fitPoints, startTan, endTan) ZoomAll MsgBox "The current order of the spline is " & splineObj.Degree + 1, , "ElevateOrder Example" ' Elevate the order of the spline splineObj.ElevateOrder (splineObj.Degree + 10) ThisDrawing.Regen True MsgBox "The order of the spline has been raised to " & splineObj.Degree + 1, , "ElevateOrder Example" End Sub
Visual LISP:
(vl-load-com) (defun c:Example_ElevateOrder() ;; This example creates a spline object in model space. ;; It then elevates the order of the spline. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Create the spline (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 '(1 1 0 5 5 0 10 0 0 ) ) ;; Create the spline (setq modelSpace (vla-get-ModelSpace doc)) (setq splineObj (vla-AddSpline modelSpace fitPoints startTan endTan)) (vla-ZoomAll acadObj) (alert (strcat "The current order of the spline is " (itoa (1+ (vla-get-Degree splineObj))))) ;; Elevate the order of the spline (vla-ElevateOrder splineObj (+ (vla-get-Degree splineObj) 10)) (vla-Regen doc :vlax-true) (alert (strcat "The order of the spline has been raised to " (itoa (1+ (vla-get-Degree splineObj))))) )