Simplify Spline Example (VBA)
This example shows how to simplify a spline.
'-----------------------------------------------
Option Explicit
Sub DumpSketchSplineInfo ( swApp As SldWorks.SldWorks,
swModel As SldWorks.ModelDoc2, swSkSpline As SldWorks.SketchSpline )
Dim
vSplinePt As
Variant
Dim
swSkPt As
SldWorks.SketchPoint
Dim
i As
Long
'
Spline will pass through these points
vSplinePt
= swSkSpline.GetPoints2
For
i = 0 To UBound(vSplinePt)
Set
swSkPt = vSplinePt(i)
Debug.Print
" SketchSplinePt["
& i & "] = (" & _
swSkPt.x * 1000# & ", " &
_
swSkPt.y * 1000# & ", " &
_
swSkPt.z * 1000# & ") mm"
Next
i
End Sub
Sub main()
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
SldWorks.ModelDoc2
Dim
swSelMgr As
SldWorks.SelectionMgr
Dim
swSkSeg As
SldWorks.SketchSegment
Dim
swSkSpline As
SldWorks.SketchSpline
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swSelMgr = swModel.SelectionManager
Set
swSkSeg = swSelMgr.GetSelectedObject5(1)
Set
swSkSpline = swSkSeg
Debug.Print
"Before:"
DumpSketchSplineInfo
swApp, swModel, swSkSpline
Debug.Print
""
'
Must have an active sketch
'
Must have sketch spline selected
'
Tolerance value is in meters
swModel.SimplifySpline 0.1
Debug.Print
"After:"
DumpSketchSplineInfo
swApp, swModel, swSkSpline
Debug.Print
""
End Sub
'-----------------------------------------------