Modify the definition of axis feature using SOLIDWORKS API

Edit ArticleEdit Article

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


All articles and code at CodeStack are now open-source and hosted on GitHub. If you want to contribute by modifying existing articles and code snippets, submitting new ones, reporting errors and bugs etc. please follow this blog post for more information. We appreciate any contribution.

Product of Xarial Product of Xarial