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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1048|回复: 8
打印 上一主题 下一主题

求教大神两个录制的宏怎么合成一个

[复制链接]

17

主题

78

帖子

149

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
315
QQ
跳转到指定楼层
楼主
发表于 2016-7-27 16:29:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

   经典图书
我想为SOLIDWORKS钣金的平板形式定制一个快捷键,分别录制了解压平板形式和压缩平板形式两个,两个作为两个快捷键,这样钣金展开和折叠要使用两个快捷键,我想一键就实现展开和压缩,但不会合并这两段,求大神帮忙。下面是两个
Sub main()
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("平板型式11", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
Part.EditSuppress2
boolstatus = Part.Extension.SelectByID2("平板型式", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
Part.ClearSelection2 True
End Sub
Sub main()
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("平板型式", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("平板型式", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("平板型式11", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
Part.EditUnsuppress2
boolstatus = Part.Extension.SelectByID2("平板型式", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
Part.ClearSelection2 True
End Sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享教程|习题|模型|技巧 点赞点赞 拍砖拍砖
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

8

主题

61

帖子

78

金币

天使

Rank: 2Rank: 2

积分
178
QQ
沙发
发表于 2016-7-28 13:01:47 | 只看该作者
试试这个,如用繁体要改名称
    Dim swApp As Object
    Dim part As Object
    Dim boolstatus As Boolean
    Dim swSelMgr  As SldWorks.SelectionMgr
    Dim swFeat    As SldWorks.Feature
    Dim vConfNameArr  As Variant
    Dim vSuppStateArr  As Variant
    Dim i As Integer
    Sub main()
    Set swApp = Application.SldWorks
    Set part = swApp.ActiveDoc
    boolstatus = part.Extension.SelectByID2("平板型式1", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
      
      Set swSelMgr = part.SelectionManager
      Set swFeat = swSelMgr.GetSelectedObject6(1, -1)
       vConfNameArr = part.GetConfigurationNames
        vSuppStateArr = swFeat.IsSuppressed2(swThisConfiguration, vConfNameArr)
      Debug.Assert 0 = UBound(vSuppStateArr)
       
       vSuppStateArr = swFeat.IsSuppressed2(swAllConfiguration, vConfNameArr)
    Debug.Assert UBound(vSuppStateArr) = UBound(vConfNameArr)
       
    vSuppStateArr = swFeat.IsSuppressed2(swSpecifyConfiguration, vConfNameArr)
    Debug.Assert UBound(vSuppStateArr) = UBound(vConfNameArr)
    For i = 0 To UBound(vConfNameArr)
            Debug.Print "    " & vConfNameArr(i) & " ---> " & vSuppStateArr(i)
        If (vSuppStateArr(i) = False) Then
        part.EditSuppress

         ElseIf (vSuppStateArr(i) = True) Then
         part.EditUnsuppress
        End If
    Next i
    part.ClearSelection2 True
    End Sub

复制代码
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

12

主题

71

帖子

152

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
323
QQ
板凳
发表于 2016-7-28 17:04:32 | 只看该作者

   经典图书
运行后26行出错
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

7

主题

71

帖子

65

金币

天使

Rank: 2Rank: 2

积分
172
QQ
地板
发表于 2016-7-30 13:42:41 | 只看该作者
"平板型式"名称不一致造成的
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

9

主题

66

帖子

43

金币

天使

Rank: 2Rank: 2

积分
160
QQ
5#
发表于 2016-7-30 21:40:32 | 只看该作者

   经典案例图书
    Dim swApp As Object
    Dim part As Object
    Dim boolstatus As Boolean
    Dim swSelMgr  As SldWorks.SelectionMgr
    Dim swFeat    As SldWorks.Feature
    Dim vConfNameArr  As Variant
    Dim vSuppStateArr  As Variant
    Dim i As Integer
    Dim ii As Integer
    Dim nn As Integer
    Sub main()
    Set swApp = Application.SldWorks
    Set part = swApp.ActiveDoc
    With part
    nn = .FeatureManager.GetFeatureCount(True)
    Set swFeat = .FirstFeature
    Debug.Print swFeat.GetTypeName
    For ii = 1 To nn - 1
    Set swFeat = swFeat.GetNextFeature
    Debug.Print swFeat.GetTypeName, swFeat.Name
    If swFeat.GetTypeName = FlatPattern Then Exit For
    Next ii
    End With
    boolstatus = part.Extension.SelectByID2(swFeat.Name, "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)    '选择平板型式特征
      Set swSelMgr = part.SelectionManager
      Set swFeat = swSelMgr.GetSelectedObject6(1, -1)
       vConfNameArr = part.GetConfigurationNames
       vSuppStateArr = swFeat.IsSuppressed2(swThisConfiguration, vConfNameArr)
      Debug.Assert 0 = UBound(vSuppStateArr)
       
       vSuppStateArr = swFeat.IsSuppressed2(swAllConfiguration, vConfNameArr)
        Debug.Assert UBound(vSuppStateArr) = UBound(vConfNameArr)
       
    vSuppStateArr = swFeat.IsSuppressed2(swSpecifyConfiguration, vConfNameArr)
    Debug.Assert UBound(vSuppStateArr) = UBound(vConfNameArr)
    For i = 0 To UBound(vConfNameArr)
        Debug.Print "    " & vConfNameArr(i) & " ---> " & vSuppStateArr(i)
        If (vSuppStateArr(i) = False) Then
        part.EditSuppress
        ElseIf (vSuppStateArr(i) = True) Then
        part.EditUnsuppress
        End If
    Next i
    part.ClearSelection2 True
    End Sub

复制代码
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

10

主题

61

帖子

110

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
210
QQ
6#
发表于 2016-7-31 19:21:49 | 只看该作者
学习一下
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

22

主题

81

帖子

113

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
295
QQ
7#
发表于 2016-7-31 22:55:34 | 只看该作者

   经典案例图书
试了一下,展开没问题,但是有些钣金零件折叠不回去,这是为什么?
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

11

主题

68

帖子

111

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
256
QQ
8#
发表于 2016-8-1 05:12:58 | 只看该作者
上part 看下
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

14

主题

78

帖子

89

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
223
QQ
9#
发表于 2016-8-1 08:50:25 | 只看该作者
做了一个简单的钣金件,试了一下五楼的代码,运行没问题。
谢谢pyczt大大共享源代码。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

SOLIDWORKS 2023 机械设计从入门到精通

手机版|小黑屋| GMT+8, 2025-5-26 04:14 , Processed in 0.180602 second(s), 24 queries , Memcache On.

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

快速回复 返回顶部 返回列表