This example demonstrate different ways of disabling the model editing:
- Blocking menu - user is not able to invoke menu commands. This feature is usually used when property manager page is displayed and there should be no commands invoked
- Blocking model editing - model is a view only and cannot be changed
- Full block - editing and view manipulations are disabled
It is required to debug macro step-by-step to see the different API functions in action.
Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Sub main() Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc BlockAll UnblockAll BlockMenusAndEdit UnlockMenusAndEdit BlockMenu UnblockMenu End Sub 'Block menu, buttons and any manipulations (including model rotation) Sub BlockAll() 'get the current blocking state if it will be required to reset Dim curBlock As Integer curBlock = swModel.GetBlockingState swModel.SetBlockingState swBlockingStates_e.swSystemBlock End Sub 'Block menu, buttons and any manipulations (including model rotation) Sub UnblockAll() swModel.ResetBlockingState End Sub 'Blocks menus and edits, but allows model moving and zooming Sub BlockMenusAndEdit() swModel.Lock End Sub Sub UnlockMenusAndEdit() swModel.UnLock End Sub 'Only blocks file related menu commands (new or save) Sub BlockMenu() swApp.EnableFileMenu = False End Sub Sub UnblockMenu() swApp.EnableFileMenu = True End Sub