跳到主要内容

使用SOLIDWORKS API进行块模型编辑

该示例演示了使用SOLIDWORKS API禁用模型编辑的不同方法。 labels: [块编辑, 块模型, 示例, 锁定, 菜单, solidworks api] redirect-from:

  • /2018/03/block-model-editing.html

该示例演示了使用SOLIDWORKS API禁用模型编辑的不同方法:

  • 阻止菜单 - 用户无法调用菜单命令。通常在显示属性管理器页面时使用此功能,不应调用任何命令。
  • 阻止模型编辑 - 模型只能查看,无法更改。
  • 完全阻止 - 禁用编辑和视图操作。

需要逐步调试宏以查看不同的SOLIDWORKS API函数的操作。

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

'阻止菜单、按钮和任何操作(包括模型旋转)
Sub BlockAll()

'获取当前的阻止状态,如果需要重置
Dim curBlock As Integer
curBlock = swModel.GetBlockingState

swModel.SetBlockingState swBlockingStates_e.swSystemBlock

End Sub

'解除阻止菜单、按钮和任何操作(包括模型旋转)
Sub UnblockAll()

swModel.ResetBlockingState

End Sub

'阻止菜单和编辑,但允许模型移动和缩放
Sub BlockMenusAndEdit()

swModel.Lock

End Sub

Sub UnlockMenusAndEdit()

swModel.UnLock

End Sub

'仅阻止与文件相关的菜单命令(新建或保存)
Sub BlockMenu()

swApp.EnableFileMenu = False

End Sub

Sub UnblockMenu()

swApp.EnableFileMenu = True

End Sub