Hide Table of Contents

Suppress Component Feature Example (VBA)

This example shows how to suppress the selected component feature.

'------------------------------------------------
' Preconditions:
' 1. Open an assembly document.
' 2. Select a component feature in the FeatureManager 
'    design tree.
' 3. Open the Immediate window.
'
' Postconditions:
' 1. Suppressed the selected component feature.
' 2. Prints the names of the assembly and the suppressed 
'    component feature to the Immediate window.
' 3. Examine the Immediate window.
'
' NOTE: Editing a component requires that geometry on
' the component be selected. However, not
' all features are associated with geometry.
' Therefore, it is necessary to select the component
' before attempting to edit the component.
'------------------------------------------------
Option Explicit
Sub main()
    Dim swApp               As SldWorks.SldWorks
    Dim swModel             As SldWorks.ModelDoc2
    Dim swAssy              As SldWorks.AssemblyDoc
    Dim swEditModel         As SldWorks.ModelDoc2
    Dim swEditPart          As SldWorks.PartDoc
    Dim swEditAssy          As SldWorks.AssemblyDoc
    Dim swSelMgr            As SldWorks.SelectionMgr
    Dim swFeat              As SldWorks.Feature
    Dim swComp              As SldWorks.Component2
    Dim featName            As String
    Dim status              As Long
    Dim info                As Long
    Dim retVal              As Boolean
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swAssy = swModel
    Set swSelMgr = swModel.SelectionManager    
    Set swFeat = swSelMgr.GetSelectedObject6(1, -1): Debug.Assert Not swFeat Is Nothing
    Set 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 swEditPartSuccessful = status
    Set swEditModel = swAssy.GetEditTarget
    Select Case swEditModel.GetType
        Case swDocPART
            Set swEditPart = swEditModel
            Set swFeat = swEditPart.FeatureByName(featName): Debug.Assert Not swFeat Is Nothing
            retVal = swFeat.Select2(False, 0): Debug.Assert retVal
        Case swDocASSEMBLY
            Set swEditAssy = swEditModel
            Set 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
    ' Suppress the selected feature
    retVal = swEditModel.EditSuppress2: Debug.Assert retVal
    swAssy.EditAssembly
End Sub


Provide feedback on this topic

SOLIDWORKS welcomes your feedback concerning the presentation, accuracy, and thoroughness of the documentation. Use the form below to send your comments and suggestions about this topic directly to our documentation team. The documentation team cannot answer technical support questions. Click here for information about technical support.

* Required

 
*Email:  
Subject:   Feedback on Help Topics
Page:   Suppress Component Feature Example (VBA)
*Comment:  
*   I acknowledge I have read and I hereby accept the privacy policy under which my Personal Data will be used by Dassault Systèmes

Print Topic

Select the scope of content to print:

x

We have detected you are using a browser version older than Internet Explorer 7. For optimized display, we suggest upgrading your browser to Internet Explorer 7 or newer.

 Never show this message again
x

Web Help Content Version: API Help (English only) 2015 SP05

To disable Web help from within SOLIDWORKS and use local help instead, click Help > Use SOLIDWORKS Web Help.

To report problems encountered with the Web help interface and search, contact your local support representative. To provide feedback on individual help topics, use the “Feedback on this topic” link on the individual topic page.