Get Offset Surface Data Example (VBA)
This example shows how to get data for an offset surface.
'-------------------------------------------------
'
' Preconditions:
' (1)
Model document is open.
' (2)
Surface offset feature is selected.
'
' Postconditions: None
'
'-------------------------------------------------
Option Explicit
Sub main()
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
SldWorks.ModelDoc2
Dim
swSelMgr As
SldWorks.SelectionMgr
Dim
swSelData As
SldWorks.SelectData
Dim
swOffset As
SldWorks.SurfaceOffsetFeatureData
Dim
swFeat As
SldWorks.feature
Dim
swFace As
SldWorks.face2
Dim
swEnt As
SldWorks.Entity
Dim
vFace As
Variant
Dim
i As
Long
Dim
bRet As
Boolean
Set
swApp = CreateObject("SldWorks.Application")
Set
swModel = swApp.ActiveDoc
Set
swSelMgr = swModel.SelectionManager
Set
swSelData = swSelMgr.CreateSelectData
Set
swFeat = swSelMgr.GetSelectedObject5(1)
Set
swOffset = swFeat.GetDefinition
Debug.Print
"File = " & swModel.GetPathName
Debug.Print
" "
& swFeat.Name
Debug.Print
" Distance
=
" & swOffset.Distance
* 1000# & " mm"
Debug.Print
" Flip
=
" & swOffset.Flip
Debug.Print
" FacesCount
=
" & swOffset.GetFacesCount
'
Roll back to get to faces
bRet
= swOffset.AccessSelections(swModel,
Nothing): Debug.Assert bRet
swModel.ClearSelection2 True
vFace
= swOffset.Faces
For
i = 0 To UBound(vFace)
Set
swFace = vFace(i)
Set
swEnt = swFace
bRet
= swEnt.Select4(True,swSelData):
Debug.Assert bRet
Next
i
'
Cancel rollback
swOffset.ReleaseSelectionAccess
End Sub
'-------------------------------------------------