Get Surface Type Example (VBA)
This example shows how to get the type of surface.
'----------------------------------------
'
' Preconditions:
' (1)
Part or assembly document is open.
' (2)
Surface you want identified is selected.
'
' Postconditioins: None
'
'-----------------------------------------
Option Explicit
Public Enum swSurfaceTypes_e
PLANE_TYPE
= 4001
CYLINDER_TYPE
= 4002
CONE_TYPE
= 4003
SPHERE_TYPE
= 4004
TORUS_TYPE
= 4005
BSURF_TYPE
= 4006
BLEND_TYPE
= 4007
OFFSET_TYPE
= 4008
EXTRU_TYPE
= 4009
SREV_TYPE
= 4010
End Enum
Sub main()
Dim
swSurfaceTypes(10) As
String
swSurfaceTypes(1)
= "PLANE"
swSurfaceTypes(2)
= "CYLINDER"
swSurfaceTypes(3)
= "CONE"
swSurfaceTypes(4)
= "SPHERE"
swSurfaceTypes(5)
= "TORUS"
swSurfaceTypes(6)
= "BSURF"
swSurfaceTypes(7)
= "BLEND"
swSurfaceTypes(8)
= "OFFSET"
swSurfaceTypes(9)
= "EXTRU"
swSurfaceTypes(10)
= "SREV"
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
SldWorks.ModelDoc2
Dim
swSelMgr As
SldWorks.SelectionMgr
Dim
swFace As
SldWorks.face2
Dim
swSurf As
SldWorks.surface
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swSelMgr = swModel.SelectionManager
Set
swFace = swSelMgr.GetSelectedObject5(1)
Set
swSurf = swFace.GetSurface
Debug.Print
"File = " & swModel.GetPathName
Debug.Print
" Identity
= " & swSurfaceTypes(swSurf.Identity
- 4000)
End Sub
'----------------------------------------