SolidWorks机械工程师网——最大的SolidWorks学习平台

标题: 请问怎样用宏让装配体中一个零件封套 [打印本页]

作者: 下意识的残忍    时间: 2018-10-20 20:01
标题: 请问怎样用宏让装配体中一个零件封套
Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = _
Application.SldWorks

Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("抽屉3-1@装配体1", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.CompConfigProperties4(2, 0, True, True, "GCS_08E", False, True)
boolstatus = Part.EditRebuild3()
End Sub

这是录制产生后的代码,
总是
boolstatus = Part.CompConfigProperties4(2, 0, True, True, "GCS_08E", False, True)
报错,希望有大神指导一下



补充内容 (2018-10-25 21:13):
录制宏该配置也会报错,求高手指点

这是录制的封套的宏

这是录制的封套的宏

作者: zhucl2001    时间: 2018-10-23 12:30
顶一下,坐等高手!
作者: 下意识的残忍    时间: 2018-11-2 23:56
没有人会吗
作者: 巴顿2017    时间: 2022-11-20 21:08
楼主辛苦了!
作者: 沉默的人    时间: 2024-1-29 14:44
顶一下,坐等高手!
作者: tiancaiashuai    时间: 2024-1-29 20:04
你选中了要封套的实体零件了吗
作者: xieguiming1982    时间: 2024-2-1 14:36
  1. Option Explicit
  2. Dim swApp As Object
  3. Dim Part As Object
  4. Dim boolstatus As Boolean
  5. Dim longstatus As Long, longwarnings As Long

  6. Sub main()
  7. Set swApp = Application.SldWorks
  8. Set Part = swApp.ActiveDoc

  9. ' 获取用户选择的零件
  10. Dim SelMgr As Object
  11. Set SelMgr = Part.SelectionManager
  12. Dim SelectedEntity As Object
  13. Set SelectedEntity = SelMgr.GetSelectedObject6(1, -1)

  14. If Not SelectedEntity Is Nothing Then
  15. Dim SelectedPart As Object

  16. ' 封套操作
  17. boolstatus = Part.CompConfigProperties6(2, 0, True, True, "默认<按加工>", False, True, 0)

  18. ' 更新模型
  19. boolstatus = Part.EditRebuild3()
  20. End If
  21. End Sub
复制代码

作者: xieguiming1982    时间: 2024-2-1 14:38
xieguiming1982 发表于 2024-2-1 14:36

在装配体里选择的零件一键封套,可多选。
作者: 沉默的人    时间: 2024-2-2 10:30
xieguiming1982 发表于 2024-2-1 14:36

感谢大神的宏无比崇拜
作者: mrzhonghb    时间: 2024-2-2 13:28
xieguiming1982 发表于 2024-2-1 14:36

非常好,有用
作者: xieguiming1982    时间: 2024-2-3 08:29
  1. Option Explicit
  2. Dim swApp As Object
  3. Dim Part As Object
  4. Dim boolstatus As Boolean
  5. Dim longstatus As Long, longwarnings As Long

  6. Sub main解除封套()
  7. Set swApp = Application.SldWorks
  8. Set Part = swApp.ActiveDoc

  9. ' 获取用户选择的零件
  10. Dim SelMgr As Object
  11. Set SelMgr = Part.SelectionManager
  12. Dim SelectedEntity As Object
  13. Set SelectedEntity = SelMgr.GetSelectedObject6(1, -1)

  14. If Not SelectedEntity Is Nothing Then
  15. Dim SelectedPart As Object

  16. ' 解除封套操作
  17. boolstatus = Part.CompConfigProperties6(2, 0, False, True, "默认<按加工>", False, True, 0)

  18. ' 更新模型
  19. boolstatus = Part.EditRebuild3()
  20. End If
  21. End Sub
复制代码

作者: panmiao8012    时间: 2024-5-3 15:22
xieguiming1982 发表于 2024-2-3 08:29

你好这个封套和解封能做成一宏里面吗
作者: 叶落满空山    时间: 2024-5-14 16:04
顶上去,坐等大神
作者: 听见天晴    时间: 2024-6-11 20:35
xieguiming1982 发表于 2024-2-3 08:29

这个不能解除封套,是封套+隐藏零件啊
作者: 叶落满空山    时间: 2024-7-10 16:28
新手录制了一个,Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long


Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
boolstatus = Part.Extension.SelectByID2("", "FACE", 0.01561576395733, 0.007955310379032, -0.03073189585109, False, 0, Nothing, 0)
boolstatus = Part.CompConfigProperties6(2, 0, False, True, "默认", False, False, 0)
boolstatus = Part.EditRebuild3()

End Sub


作者: wangyapeng    时间: 2024-7-13 00:11
可以两个合并一起嘛?




欢迎光临 SolidWorks机械工程师网——最大的SolidWorks学习平台 (https://www.swbbsc.com/) Powered by Discuz! X3.2