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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

好品数字
好品数字
查看: 1832|回复: 2
打印 上一主题 下一主题

批量自动图号宏自动填充流水号无图号自动增加图号

[复制链接]

11

主题

401

帖子

1152

金币

传奇

Rank: 8Rank: 8

积分
3954

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

跳转到指定楼层
楼主
 楼主| 发表于 2024-5-15 20:28:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
solidworks批量自动图号宏,可以实现批量加图号,自动填充流水号,无图号自动增加图号,修改现有图号
批量加图号并自动填充流水号:

请大侠们把这几个宏合并优化一下,制作下窗口,本人能力有限,希望大侠们帮助。


Sub AddDrawingNumber()
    Dim swApp As Object
    Dim swModel As Object
    Dim swDrawing As Object
    Dim folderPath As String
    Dim fileExt As String
    Dim fileFound As Boolean
    Dim drawingNumber As String
    Dim serialNumber As Integer
   
    ' 设置SolidWorks应用程序
    Set swApp = Application.SldWorks
   
    ' 获取当前打开的模型
    Set swModel = swApp.ActiveDoc
   
    ' 判断当前模型是否为图纸
    If swModel.GetType = swDocumentTypes_e.swDocDRAWING Then
        ' 获取图纸对象
        Set swDrawing = swModel
        
        ' 设置文件夹路径
        folderPath = "C:\YourFolderPath\"   ' 替换为你的文件夹路径
        
        ' 设置文件扩展名
        fileExt = "*.SLDDRW"
        
        ' 查找文件夹中的所有图纸文件并添加图号
        fileFound = Dir(folderPath & fileExt) <> ""
        serialNumber = 1
        
        Do While fileFound
            ' 拼接图纸文件路径
            drawingNumber = "DRAWING-" & serialNumber   ' 图号格式自定义
            swApp.OpenDoc6 folderPath & fileFound, swDocumentTypes_e.swDocDRAWING, swOpenDocOptions_e.swOpenDocOptions_Silent, "", 0, 0
            swModel = swApp.ActiveDoc
            
            ' 设置图号自定义属性
            swModel.SetCustomInfo2 "Drawing Number", drawingNumber, "Configuration1", ""
            
            ' 保存并关闭图纸
            swModel.Save
            swModel.CloseDoc
            serialNumber = serialNumber + 1
            fileFound = Dir() <> ""
        Loop
    End If
End Sub
修改现有图号:
Sub ModifyDrawingNumber()
    Dim swApp As Object
    Dim swModel As Object
    Dim swCustomPropMgr As Object
    Dim drawingNumber As String
   
    ' 设置SolidWorks应用程序
    Set swApp = Application.SldWorks
   
    ' 获取当前打开的模型
    Set swModel = swApp.ActiveDoc
   
    ' 判断当前模型是否为图纸
    If swModel.GetType = swDocumentTypes_e.swDocDRAWING Then
        ' 获取自定义属性管理器
        Set swCustomPropMgr = swModel.Extension.CustomPropertyManager("")
        
        ' 获取现有图号
        swCustomPropMgr.Get "Drawing Number", drawingNumber, ""
        
        ' 修改图号
        drawingNumber = "NEW-DRAWING-NUMBER"   ' 修改为你需要的新图号
        
        ' 设置修改后的图号
        swCustomPropMgr.Set "Drawing Number", drawingNumber
    End If
End Sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享教程|习题|模型|技巧 点赞点赞 拍砖拍砖
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

0

主题

25

帖子

32

金币

天使

Rank: 2Rank: 2

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

使用道具 举报

1

主题

18

帖子

78

金币

天使

Rank: 2Rank: 2

积分
156
QQ
板凳
发表于 2024-5-17 10:54:56 | 只看该作者
顶一下,坐等高手!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭 卷起
关闭 卷起

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

手机版|小黑屋| GMT+8, 2024-6-7 18:39 , Processed in 0.139599 second(s), 35 queries .

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

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

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