Thicken Surface and Generate Boss Example (VBA)
This example shows how to thicken a surface and then generate a boss.
'----------------------------------------------
'
' Preconditions: Model document is open and a surface
is selected.
'
' Postconditions: Thickened boss feature is created from
the selected surface.
'
'----------------------------------------------
Option Explicit
Public Enum swThickenThicknessType_e
swThickenSideOne
= 0
swThickenSideTwo
= 1
swThickenSideBoth
= 2
End Enum
Public Enum swSelectionMarkAction_e
swSelectionMarkSet
= 0
swSelectionMarkAppend
= 1
swSelectionMarkRemove
= 2
swSelectionMarkClear
= 3
End Enum
Sub main()
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
SldWorks.ModelDoc2
Dim
swSelMgr As
SldWorks.SelectionMgr
Dim
swFeatMgr As
SldWorks.FeatureManager
Dim
swFeat As
SldWorks.feature
Dim
swThicken As
SldWorks.ThickenFeatureData
Dim
bRet As
Boolean
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swSelMgr = swModel.SelectionManager
Set
swFeatMgr = swModel.FeatureManager
'
Surface must be selected in graphics area
bRet
= swSelMgr.SetSelectedObjectMark(1,
1, swSelectionMarkSet): Debug.Assert bRet
Set
swFeat = swFeatMgr.FeatureBossThicken(0.001,
swThickenSideOne, 0, False, True, True, True): Debug.Assert Not swFeat
Is Nothing
Set
swThicken = swFeat.GetDefinition:
Debug.Assert Not swThicken Is Nothing
Debug.Print
"Feature = " & swFeat.Name
Debug.Print
" AutoSelect
=
" & swThicken.AutoSelect
Debug.Print
" FeatureScope
=
" & swThicken.FeatureScope
Debug.Print
" IsBossFeature
=
" & swThicken.IsBossFeature
Debug.Print
" Merge
=
" & swThicken.Merge
Debug.Print
" FillVolume
=
" & swThicken.fillVolume
Debug.Print
" Thickness
=
" & swThicken.thickness
* 1000# & " mm"
Debug.Print
" ThicknessSide
=
" & swThicken.ThicknessSide
End Sub
'----------------------------------------------