Axis property manager page
Axis property manager page

This VBA example demonstrates how to modify the definition and change the selection for the axis feature using SOLIDWORKS API.

  • Select the target axis feature to modify as first selection
  • Select the objects to be set as the reference for the target axis. For example 2 intersecting planes, edge, etc.

As the result the selected objects (second to the last) will be assigned to the axis (first selection).

Dim swApp As SldWorks.SldWorks

Sub main()

    Set swApp = Application.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swSelMgr As SldWorks.SelectionMgr

    Set swModel = swApp.ActiveDoc
    Set swSelMgr = swModel.SelectionManager
    Dim swFeat As SldWorks.Feature
    Set swFeat = swSelMgr.GetSelectedObject6(1, -1)
    If Not swFeat Is Nothing Then
        Dim swAxisFeatDef As SldWorks.RefAxisFeatureData
        Set swAxisFeatDef = swFeat.GetDefinition
        Dim i As Integer
        Dim swRefs() As Object
        ReDim swRefs(swSelMgr.GetSelectedObjectCount2(-1) - 2)
        For i = 2 To swSelMgr.GetSelectedObjectCount2(-1)
            Set swRefs(i - 2) = swSelMgr.GetSelectedObject6(i, -1)
        swAxisFeatDef.AccessSelections swModel, Nothing
        swAxisFeatDef.SetSelections swRefs
        swFeat.ModifyDefinition swAxisFeatDef, swModel, Nothing
    End If
End Sub