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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3589|回复: 14
打印 上一主题 下一主题

求助论坛大佬!关于图号分离宏

  [复制链接]

6

主题

45

帖子

452

金币

长老

Rank: 6Rank: 6Rank: 6

积分
1037

最佳新人活跃会员宣传达人

跳转到指定楼层
楼主
 楼主| 发表于 2024-6-23 07:39:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

   经典图书
集合了一下论坛里各位大大分享的图号分离宏,做成自己需要的样子。

此宏(图号分离宏)特点:
a)不管是装配体本身还是装配体内的零、部件,都以代号+空格+名称进行分离,如果不是代号+空格+名称,则分离后,代号留空,名称为零件名
b)此宏在不是代号+空格+名称,不会有弹窗,只有最后显示的遍历窗
c)此宏分离后位置在配置特定
d) 装配体内的零件及部件,分离为代号、名称、材质(如果是部件,需要宏运行后手工删除材质一栏)、数量
e)此宏可在装配体或零件中,均可实行图号分离(注:在运行的当前装配体或零件,不会分离出数量一栏)

现在遇到问题如下:
1、在全是零件(没有子装配体)的装配体运行此宏,一切正常。如果在含有零件及子装配体运行,也能分离成功,但左侧设计树会假死,本人尝试用另一个【关闭其它窗口】的宏运行一下,不用点击确认,也可以解除假死状态,但这样麻烦。以下是用到的宏合集_V2.0的关闭其它窗口运行宏,供参考:
---------------------------------------------------
Sub main关闭其它窗口()

    Set swApp = Application.SldWorks

    Dim swModel As SldWorks.ModelDoc2

    Set swModel = swApp.ActiveDoc

    If Not swModel Is Nothing Then

        Dim vDocsWindows As Variant

        Dim swFrame As SldWorks.Frame
        Set swFrame = swApp.Frame

        vDocsWindows = swFrame.ModelWindows

        Dim i As Integer

        For i = 0 To UBound(vDocsWindows)

            Dim swDocWin As SldWorks.ModelWindow
            Set swDocWin = vDocsWindows(i)

            Dim swRefDoc As SldWorks.ModelDoc2
            Set swRefDoc = swDocWin.ModelDoc

            If Not swRefDoc Is swModel Then
                If swRefDoc.GetSaveFlag() Then
                    'display the close confirmation dialog for unsaved files
                    swApp.ActivateDoc3 swRefDoc.GetTitle, False, swRebuildOnActivation_e.swDontRebuildActiveDoc, 0
                    Const WM_COMMAND As Long = &H111
                    Const CMD_FileClose As Long = 57602
                    SendMessage swFrame.GetHWnd(), WM_COMMAND, CMD_FileClose, 0
                Else
                    swApp.CloseDoc swDocWin.ModelDoc.GetTitle
                End If

            End If
        Next

        swApp.ActivateDoc3 swModel.GetTitle, True, swRebuildOnActivation_e.swUserDecision, 0

    End If

End Sub
--------------------------------

2、分离宏时,在装配体或零件为当前界面时,只能分离出代号和名称,不能分离出数量,希望各位大大能帮忙解决此问题
3、分离宏时,如果装配体中的零件或部件,数量为1件的时候,会在零件或部件的自定义和配置特定中均有一栏数量为1,如果数量有2个及2个以上,自定义栏中的数量就不会显示。需要解决数量为1件的时候在自定义栏中产生的数量一栏.

附件宏,供参考


补充内容 (2024-6-25 17:03):
升级宏在8楼,有需要下载。

C2 批量图号分离 零件数量.rar

(15.65 KB, 下载次数: 166

评分

参与人数 1威望 +5 金币 +64 贡献 +5 收起 理由
专门设计 + 5 + 64 + 5 赞一个!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 转播转播 分享教程|习题|模型|技巧 点赞点赞 拍砖拍砖
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

2

主题

25

帖子

150

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
293
QQ
沙发
发表于 2024-6-23 15:57:06 | 只看该作者
好东西,努力学习学习!
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

6

主题

45

帖子

452

金币

长老

Rank: 6Rank: 6Rank: 6

积分
1037

最佳新人活跃会员宣传达人

板凳
 楼主| 发表于 2024-6-23 20:02:58 | 只看该作者

   经典图书
测试假死是自己电脑问题,此宏已经够用,希望有大神能解决其它两项关于数量问题
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

3

主题

1354

帖子

338

金币

传奇

Rank: 8Rank: 8

积分
4852

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

地板
发表于 2024-6-24 08:46:48 | 只看该作者
感谢楼主分享,很不错!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

37

主题

1278

帖子

1987

金币

传奇

Rank: 8Rank: 8

积分
5498

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

5#
发表于 2024-6-24 10:01:55 | 只看该作者

   经典案例图书
楼主辛苦了!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

12

帖子

162

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
309

最佳新人宣传达人

6#
发表于 2024-6-24 15:19:40 | 只看该作者
我一直用的凯元,不知道为啥都用宏什么的
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

45

帖子

452

金币

长老

Rank: 6Rank: 6Rank: 6

积分
1037

最佳新人活跃会员宣传达人

7#
 楼主| 发表于 2024-6-24 21:26:25 | 只看该作者

   经典案例图书
kaogeshishen 发表于 2024-6-24 15:19
我一直用的凯元,不知道为啥都用宏什么的

因为宏有它自身的优势,它可以按个人要求做定制,可以结合第三方软件一起用。

有些宏的功能,比第三方软件更便捷。

自己电脑用着ZTool,公司用着LiteGears,怎么说呢,第三方软件有它们自身优势,但也有宏能办到,它们办不了的地方。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

45

帖子

452

金币

长老

Rank: 6Rank: 6Rank: 6

积分
1037

最佳新人活跃会员宣传达人

8#
 楼主| 发表于 2024-6-25 17:00:19 | 只看该作者
补充,附件为A大的 遍历图号分离修改版!
分离后不会出现设计树假死

可以对零件和装配都可分离>>>
装配体分离后:包括装配体本身在配置特定里面罗列:材质、代号、名称、数量
单零件分离后:在配置特定里面罗列:材质、代号、名称

分离逻辑>>>
正常按代号+空格+名称,
如果没有空格,分离时代号为空,零件名为名称(过滤后缀)

遍历_图号分离.rar

(11.48 KB, 下载次数: 93

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

使用道具 举报

2

主题

27

帖子

89

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
248
QQ
9#
发表于 2024-6-26 18:52:29 | 只看该作者
SolidWorks机械工程师网,顶一下。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

716

帖子

169

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2175

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

10#
发表于 2024-6-27 08:23:01 | 只看该作者

   经典图书
感谢楼主分享,很不错!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

26

帖子

77

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
308

最佳新人活跃会员宣传达人

11#
发表于 2024-6-28 21:02:36 | 只看该作者
用修改版时会出现错误


补充内容 (2024-6-28 21:49):
提示,未找到库(2015版sw)
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

45

帖子

452

金币

长老

Rank: 6Rank: 6Rank: 6

积分
1037

最佳新人活跃会员宣传达人

12#
 楼主| 发表于 2024-6-28 22:00:47 | 只看该作者
peiyj 发表于 2024-6-28 21:02
用修改版时会出现错误

solidworks2017版及以下,论坛中有些宏运行有问题,可以的话,solidworks版本升级升级
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

74

帖子

201

金币

堂主

Rank: 4

积分
689

最佳新人活跃会员热心会员宣传达人

13#
发表于 2024-7-1 11:22:54 | 只看该作者
设计树假死的问题也困扰我很久,这个确实不会。研究研究
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

26

帖子

77

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
308

最佳新人活跃会员宣传达人

14#
发表于 2024-7-5 21:28:58 | 只看该作者
有些文件的名称中含有空格,进行图名分离时老是从名称中的空格开始分离,怎么解决?谢谢楼主!
(如:BCD-01-01 真空发生器 主体,会被分离成:代号是“BCD-01-01 真空发生器”,名称是“主体”)
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

45

帖子

452

金币

长老

Rank: 6Rank: 6Rank: 6

积分
1037

最佳新人活跃会员宣传达人

15#
 楼主| 发表于 2024-7-6 06:46:08 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

peiyj 发表于 2024-7-5 21:28
有些文件的名称中含有空格,进行图名分离时老是从名称中的空格开始分离,怎么解决?谢谢楼主!
(如:BCD- ...

可以的话,你把文件名改成   BCD-01-01 真空发生器_主体   
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭 卷起
关闭 卷起

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

手机版|小黑屋| GMT+8, 2024-10-26 17:33 , Processed in 0.179682 second(s), 25 queries , Memcache On.

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

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

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