Upgrade cosmetic threads in active SOLIDWORKS part or assembly using SOLIDWORKS API

Edit ArticleEdit Article
More 'Goodies'

Upgrade cosmetic threads command
Upgrade cosmetic threads command

This macro invokes the Upgrade cosmetic thread features command in SOLIDWORKS part and assembly which may improve the performance of the document.

This macro will be beneficial to use along with task automation software such as SOLIDWORKS Task Scheduler or Batch+.

Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2

Sub main()

    Set swApp = Application.SldWorks

    Dim allowUpgrade As Boolean
    allowUpgrade = swApp.GetUserPreferenceToggle(swUserPreferenceToggle_e.swEnableAllowCosmeticThreadsUpgrade)

    On Error GoTo catch
    Set swModel = swApp.ActiveDoc
    If Not swModel Is Nothing Then
        swApp.SetUserPreferenceToggle swUserPreferenceToggle_e.swEnableAllowCosmeticThreadsUpgrade, True
        If False = swModel.Extension.UpgradeLegacyCThreads() Then
            Debug.Print "Thread is not upgraded"
        End If
        Err.Raise vbError, "", "Please open document"
    End If
    GoTo finally
    swApp.SendMsgToUser2 Err.Description, swMessageBoxIcon_e.swMbStop, swMessageBoxBtn_e.swMbOk
    swApp.SetUserPreferenceToggle swUserPreferenceToggle_e.swEnableAllowCosmeticThreadsUpgrade, allowUpgrade

End Sub

Product of Xarial Product of Xarial