Hide Table of Contents

Create and Modify Dome Feature Example (VBA)

This example shows how to create and modify a dome feature.

'---------------------------------------------------------
' Preconditions:
' 1. Verify that the part document to open exists.
' 2. Open the Immediate window.
'
' Postconditions:
' 1. Opens the specified part document.
' 2. Edits Sketch1, sketches an ellipse, and creates a boss feature.
' 3. Selects a face on the boss feature and
'    inserts a dome feature.
' 4. Prints to the Immediate window some
'    dome feature data.
' 5. Reverses the direction of the dome feature.
' 6. Examine the Immediate window, graphics area,
'    and FeatureManager design tree.
'
' NOTE: Because the part is used elsewhere, do not
' save changes.
'----------------------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swSketchMgr As SldWorks.SketchManager
Dim swSketchSegment As SldWorks.SketchSegment
Dim swFeature As SldWorks.Feature
Dim swSelectionMgr As SldWorks.SelectionMgr
Dim swDomeFeatureData As SldWorks.DomeFeatureData2
Dim faces As Variant
Dim aFace As Variant
Dim swFace As SldWorks.Face2
Dim oneBody As SldWorks.Body2
Dim fileName As String
Dim status As Boolean
Dim errors As Long
Dim warnings As Long
Sub main()
    Set swApp = Application.SldWorks    
    'Open model document to which to add a dome feature
    fileName = "C:\Users\Public\Documents\SOLIDWORKS\SOLIDWORKS 2017\tutorial\api\box.sldprt"
    Set swModel = swApp.OpenDoc6(fileName, swDocumentTypes_e.swDocPART, swOpenDocOptions_e.swOpenDocOptions_Silent, "", errors, warnings)    
    'Open sketch to which to add a sketch of an ellipse
    Set swModelDocExt = swModel.Extension
    status = swModelDocExt.SelectByID2("Sketch1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
    swModel.EditSketch
    swModel.ClearSelection2 True    
    'Sketch an ellipse
    swModel.ShowNamedView2 "*Top", 5
    Set swSketchMgr = swModel.SketchManager
    Set swSketchSegment = swSketchMgr.CreateEllipse(-7.61501034873036E-02, 4.90523248480422E-02, 0, -5.13492425103863E-02, 4.90523248480422E-02, 0, -7.61501034873036E-02, 5.45451329838695E-02, 0)
    swModel.ClearSelection2 True
    swSketchMgr.InsertSketch True
    swModel.ViewZoomtofit2
    swModel.ShowNamedView2 "*Dimetric", 9
    'Insert dome feature
    status = swModelDocExt.SelectByID2("", "FACE", -9.30732824141103E-02, 2.99999999999727E-02, -4.82299571224303E-02, True, 0, Nothing, 0)
    swModel.ClearSelection2 True
    status = swModelDocExt.SelectByID2("", "FACE", -9.30732824141103E-02, 2.99999999999727E-02, -4.82299571224303E-02, False, 1, Nothing, 0)
    swModel.InsertDome 0.01, False, True    
    'Get and modify dome feature data
    status = swModelDocExt.SelectByID2("Dome1", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
    Set swSelectionMgr = swModel.SelectionManager
    Set swFeature = swSelectionMgr.GetSelectedObject6(1, -1)
    Set swDomeFeatureData = swFeature.GetDefinition
    status = swDomeFeatureData.AccessSelections(swModel, Nothing)
        Debug.Print "Is dome feature elliptical? " & swDomeFeatureData.Elliptical
        Debug.Print "Height of dome: " & swDomeFeatureData.Height
        Debug.Print "Number of faces on dome feature: " & swDomeFeatureData.GetFaceCount
        faces = swDomeFeatureData.faces
        For Each aFace In faces
            Set swFace = aFace
            Set oneBody = swFace.GetBody
            Debug.Print "Name of body for this dome feature face: " & oneBody.Name
        Next
        'Change direction of dome feature to concave
        swDomeFeatureData.ReverseDir = True        
   status = swFeature.ModifyDefinition(swDomeFeatureData, swModel, Nothing)    
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:   Create and Modify Dome 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) 2017 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.