|
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
|
|