ControlPoints Пример

Sub Example_ControlPoints()
   ' Этот пример создает объект Spline в пространстве модели, читает
   ' контрольные точки Spline и затем изменяет контрольные точки 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 UserMessage As String
    Dim ControlPoints As Variant
    Dim iCount As Long, iPoint As Integer
    
    ' Определите объект Spline
    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
    
    ' Создайте новый объект Spline
    Set splineObj = ThisDrawing.ModelSpace.AddSpline(fitPoints, startTan, endTan)
    ThisDrawing.Application.ZoomAll
    
    ' Контрольные точки отображения для этого Spline
    GoSub DISPLAYPOINTS
    
    ' Измените контрольные точки для этого Spline
    ControlPoints(0) = 3
    splineObj.ControlPoints = ControlPoints
    ThisDrawing.Application.ZoomAll
        
    ' Покажите новые контрольные точки для этого Spline
    GoSub DISPLAYPOINTS
        
    Exit Sub
    
DISPLAYPOINTS:
    ControlPoints = splineObj.ControlPoints
    
    ' Отображение в группах по три
    UserMessage = ""
    iPoint = 0
    For iCount = 0 To UBound(ControlPoints) Step 3
        iPoint = iPoint + 1
        UserMessage = UserMessage & iPoint & ")" & vbTab
        UserMessage = UserMessage & ControlPoints(iCount)
        UserMessage = UserMessage & ", " & ControlPoints(iCount + 1)
        UserMessage = UserMessage & ", " & ControlPoints(iCount + 2)
        UserMessage = UserMessage & vbCrLf
    Next
    
    MsgBox splineObj.NumberOfControlPoints & " контрольные точки Spline: " & vbCrLf & vbCrLf & UserMessage
    
    Return
End Sub
Сайт управляется системой uCoz