Suppress Component Feature Example (VB.NET)
This example shows how to suppress the selected component feature.
'------------------------------------------------
' Preconditions:
' 1. Assembly document is open.
' 2. Select a component feature in the FeatureManager
' design tree.
' 3. Open the Immediate window.
' 4. Run the macro.
'
' Postconditions:
' 1. Selected component feature is suppressed.
' 2. The names of the assembly and the suppressed
' component feature are printed to the
' Immediate window.
'
' NOTE: Editing a component requires that geometry on
' the component to be selected. However, not
' all features are associated with geometry.
' Therefore, it is necessary to select the component
' before attempting to edit the component.
'------------------------------------------------
Imports SolidWorks.Interop.sldworks
Imports SolidWorks.Interop.swconst
Imports System.Runtime.InteropServices
Imports System
Imports System.Diagnostics
Partial Class SolidWorksMacro
Public Sub Main()
Dim swModel As ModelDoc2
Dim swAssy As AssemblyDoc
Dim swEditModel As ModelDoc2
Dim swEditPart As PartDoc
Dim swEditAssy As AssemblyDoc
Dim swSelMgr As SelectionMgr
Dim swFeat As Feature
Dim swComp As Component2
Dim featName As String
Dim status As Integer
Dim info As Integer
Dim retVal As Boolean
swModel = swApp.ActiveDoc
swAssy = swModel
swSelMgr = swModel.SelectionManager
swFeat = swSelMgr.GetSelectedObject6(1, -1) : Debug.Assert(Not swFeat Is Nothing)
swComp = swSelMgr.GetSelectedObjectsComponent2(1) : Debug.Assert(Not swComp Is Nothing)
Debug.Print("File = " & swModel.GetPathName)
Debug.Print(" " & swFeat.Name & " <" & swFeat.GetTypeName & ">")
Debug.Print("")
featName = swFeat.Name
retVal = swComp.Select2(False, 0) : Debug.Assert(retVal)
status = swAssy.EditPart2(True, False, info) : Debug.Assert(swEditPartCommandStatus_e.swEditPartSuccessful = status)
swEditModel = swAssy.GetEditTarget
Select Case swEditModel.GetType
Case swDocumentTypes_e.swDocPART
swEditPart = swEditModel
swFeat = swEditPart.FeatureByName(featName) : Debug.Assert(Not swFeat Is Nothing)
retVal = swFeat.Select2(False, 0) : Debug.Assert(retVal)
Case swDocumentTypes_e.swDocASSEMBLY
swEditAssy = swEditModel
swFeat = swEditAssy.FeatureByName(featName) : Debug.Assert(Not swFeat Is Nothing)
retVal = swFeat.Select2(False, 0) : Debug.Assert(retVal)
Case Else
Debug.Assert(False)
End Select
' Try to suppress the selected feature;
' should not assert because feature might not be
' able to be suppressed; for example, standard reference plane or
' origin
retVal = swEditModel.EditSuppress2 : Debug.Assert(retVal)
swAssy.EditAssembly()
End Sub
''' <summary>
''' The SldWorks swApp variable is pre-assigned for you.
''' </summary>
Public swApp As SldWorks
End Class