Set Spline Tangency and Curvature Controls Example (VBA)
This example show how to set a spline's tangency and curvature controls.
'-------------------------------------------------
'
' Preconditions: Sketch of a spline is active.
'
' Postconditions: Tangency and curvature control are set
' for
the specified points.
'
'-------------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSelMgr As SldWorks.SelectionMgr
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swSpline As SldWorks.SketchSpline
Dim swSplineH1 As SldWorks.SplineHandle
Dim swSplineH2 As SldWorks.SplineHandle
Dim boolstatus As Boolean
Sub main()
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swSelMgr = swModel.SelectionManager
Set
swModelDocExt = swModel.Extension
boolstatus
= swModelDocExt.SelectByID2("Spline1",
"SKETCHSEGMENT", 0.01671371527778, 0.02415763888889, 0, False,
0, Nothing, 0)
Set
swSpline = swSelMgr.GetSelectedObject6(1,
0)
'
Set tangency control; substitute coordinates of a point in your spline
Set
swSplineH1 = swSpline.AddTangencyControl(-48.92
/ 1000, -5.07 / 1000, 0)
Debug.Print
"Spline point number: " & swSplineH1.SplinePointNumber()
'
Add curvature control; substitute coordinates of a point in your spline
Set
swSplineH2 = swSpline.AddCurvatureControl(6.3
/ 1000, 15.075 / 1000, 0)
Debug.Print
"Spline point number: " & swSplineH2.SplinePointNumber()
'
Reset all handles
'
swSpline.ResetAllHandles
'
Relax spline
'
swSpline.RelaxSpline
swModel.WindowRedraw
End Sub