Create Trimmed Surface Feature Example (VBA)
This example shows how to create a trimmed surface feature.
' ******************************************************************************
' Preconditions:
' 1. Specified part document template exists.
' 2. Run the macro.
'
' Postconditions:
' 1. Creates two intersecting surfaces.
' 2. Selects Surface-Extrude2 as the trim tool and sets the trimming options.
' 3. Trims Surface-Extrude1.
' ******************************************************************************
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSketchMgr As SldWorks.SketchManager
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swSketchSegment As SldWorks.SketchSegment
Dim swFeatureMgr As SldWorks.FeatureManager
Dim swSelMgr As SldWorks.SelectionMgr
Dim swFeat As SldWorks.Feature
Dim status As Boolean
Sub main()
Set swApp = Application.SldWorks
' Create new part document
Set swModel = swApp.NewDocument("C:\ProgramData\SolidWorks\SolidWorks 2013\templates\Part.prtdot", 0, 0, 0)
Set swSketchMgr = swModel.SketchManager
Set swModelDocExt = swModel.Extension
Set swFeatureMgr = swModel.FeatureManager
Set swSelMgr = swModel.SelectionManager
' Create two intersecting surfaces
status = swModelDocExt.SelectByID2("Right Plane", "Plane", 0, 0, 0, False, 0, Nothing, 0)
swSketchMgr.InsertSketch True
Set swSketchSegment = swSketchMgr.CreateLine(-0.068922, 0.023964, 0#, 0.042733, 0.005543, 0#)
swModel.ClearSelection2 True
status = swModelDocExt.SelectByID2("Line1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
swFeatureMgr.FeatureExtruRefSurface2 True, False, False, 0, 0, 0.06604, 0.00254, False, False, False, False, 1.74532925199433E-02, 1.74532925199433E-02, False, False, False, False, False, False, False, False
swSelMgr.EnableContourSelection = False
status = swModelDocExt.SelectByID2("Front Plane", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
swSketchMgr.InsertSketch True
Set swSketchSegment = swSketchMgr.CreateLine(-0.041529, 0.023059, 0#, -0.052625, -0.081662, 0#)
swModel.ClearSelection2 True
status = swModelDocExt.SelectByID2("Line1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
swFeatureMgr.FeatureExtruRefSurface2 False, False, False, 0, 0, 0.0889, 0.06604, False, False, False, False, 1.74532925199433E-02, 1.74532925199433E-02, False, False, False, False, False, False, False, False
swSelMgr.EnableContourSelection = False
' Set the trimming options
status = swFeatureMgr.PreTrimSurface(False, True, False, False)
' Trim the surface
status = swModelDocExt.SelectByID2("", "SURFACEBODY", 2.89416986472588E-02, 7.81827749557351E-03, 2.90635845400971E-02, True, 0, Nothing, 0)
Set swFeat = swFeatureMgr.PostTrimSurface(True)
End Sub