Save SOLIDWORKS drawing with detailing mode on and off
When working with large drawings it may be beneficial to employ the detailing mode. In order to properly utilize the detailing mode it is required to save the data within the document itself.
This process may decrease the saving performance.
The toggle option to enable or disable saving of the detailing mode data is driven by document preferences.
This macro allows to turn on or off the settings and perform the saving of the document.
Const ENABLE As Boolean = True 'True to save with detailing data, False to save without the detailing data
It is possible to create 2 macro buttons (one which saves with detailing data and one which saves without the detailing data).
Const ENABLE As Boolean = True Const swCommands_Save As Long = 2 Dim swApp As SldWorks.SldWorks Sub main() Set swApp = Application.SldWorks Dim swModel As SldWorks.ModelDoc2 Set swModel = swApp.ActiveDoc If Not swModel Is Nothing Then If swModel.GetType() = swDocumentTypes_e.swDocDRAWING Then Dim saveModelDataOpt As Boolean Dim includeStandardView As Boolean saveModelDataOpt = swModel.Extension.GetUserPreferenceToggle(swUserPreferenceToggle_e.swDetailingModeSaveModelData, swUserPreferenceOption_e.swDetailingNoOptionSpecified) includeStandardView = swModel.Extension.GetUserPreferenceToggle(swUserPreferenceToggle_e.swDetailingModeIncludeStandardViewsInViewPalette, swUserPreferenceOption_e.swDetailingNoOptionSpecified) swModel.Extension.SetUserPreferenceToggle swUserPreferenceToggle_e.swDetailingModeSaveModelData, swUserPreferenceOption_e.swDetailingNoOptionSpecified, ENABLE swModel.Extension.SetUserPreferenceToggle swUserPreferenceToggle_e.swDetailingModeIncludeStandardViewsInViewPalette, swUserPreferenceOption_e.swDetailingNoOptionSpecified, ENABLE swApp.RunCommand swCommands_Save, "" swModel.Extension.SetUserPreferenceToggle swUserPreferenceToggle_e.swDetailingModeSaveModelData, swUserPreferenceOption_e.swDetailingNoOptionSpecified, saveModelDataOpt swModel.Extension.SetUserPreferenceToggle swUserPreferenceToggle_e.swDetailingModeIncludeStandardViewsInViewPalette, swUserPreferenceOption_e.swDetailingNoOptionSpecified, includeStandardView Else Err.Raise vbError, "", "Only drawing documents are supported" End If Else Err.Raise vbError, "", "Open drawing document" End If End Sub