机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
楼主: 笑对人生123

SW宏命令的运用,你们都是怎么进行重命名的?

[复制链接]
发表于 2022-6-4 11:57:32 | 显示全部楼层
我用的是自己写的宏,一个在sw里用,可以单个文件改名。另一个宏是配合excel用,可以批量改名。
回复 支持 反对

使用道具 举报

发表于 2022-6-4 22:01:57 | 显示全部楼层
笑对人生123 发表于 2021-9-13 23:33
以前用这个宏超级快,可以节约很多时间

大神,能分享一下这个宏吗。。。感谢!~!
回复 支持 反对

使用道具 举报

发表于 2022-9-12 14:42:17 | 显示全部楼层
咋用宏命令改名后工程图还能链接上?
回复 支持 反对

使用道具 举报

发表于 2022-9-12 17:14:42 | 显示全部楼层
凯元可以
回复

使用道具 举报

发表于 2023-1-19 15:02:49 | 显示全部楼层
醉生梦 发表于 2021-9-13 15:18
这个是在“常跓宏”的基础上改的,有改名动作时,检测文件同文件夹下是否有同名的工种图文件,如果有,更改 ...

您好,请问能分享一下您这个宏吗?谢谢
回复 支持 反对

使用道具 举报

发表于 2023-6-12 16:31:38 | 显示全部楼层
醉生梦 发表于 2021-9-13 15:18
这个是在“常跓宏”的基础上改的,有改名动作时,检测文件同文件夹下是否有同名的工种图文件,如果有,更改 ...

能分享一下吗?
回复 支持 反对

使用道具 举报

发表于 2023-7-27 08:02:52 | 显示全部楼层
醉生梦 发表于 2021-9-13 15:18
这个是在“常跓宏”的基础上改的,有改名动作时,检测文件同文件夹下是否有同名的工种图文件,如果有,更改 ...

求分享!!!
回复 支持 反对

使用道具 举报

发表于 2023-7-27 11:45:56 | 显示全部楼层
我想分享一下,但是上传不了怎么办.....
回复 支持 反对

使用道具 举报

发表于 2023-8-10 16:09:31 | 显示全部楼层
宏文件
回复

使用道具 举报

发表于 2023-8-10 16:20:47 | 显示全部楼层
Dim swApp As Object
Dim swAssy As SldWorks.AssemblyDoc
Dim swAssyEvents As Class1
Dim swprt As SldWorks.PartDoc
Dim swprtEvents As Class2

Sub main()
    Set swApp = Application.SldWorks
    Set prt = swApp.GetFirstDocument
   If Not prt Is Nothing Then
   Set prt = swApp.ActiveDoc
    If prt.GetType = 2 Then
   Set swAssy = prt
    Set swAssyEvents = New Class1
    Set swAssyEvents.swAssy = swApp.ActiveDoc
    ElseIf prt.GetType = 1 Then
     Set swprt = prt
     Set swprtEvents = New Class2
     Set swprtEvents.swprt = swApp.ActiveDoc
         End If
   End If
End Sub


//////////////////////////////////
Class1
//////////////////////////////////
Public WithEvents swAssy As SldWorks.AssemblyDoc

Public Function swAssy_RenameItemNotify(ByVal entType As Long, ByVal oldName As String, ByVal NewName As String) As Long
   Set swApp = Application.SldWorks
   Set Part = swApp.ActiveDoc
  If InStrRev(oldName, "\") <> 0 Then
  Path = Left(oldName, InStrRev(oldName, "\"))
  nfi = Left(NewName, InStrRev(NewName, ".") - 1)
   tmpfi = Dir(Path & "*.SLDDRW")
   Do Until tmpfi = ""
    vDepend = swApp.GetDocumentDependencies(Path & tmpfi, False, False)
    If Mid(vDepend(1), InStrRev(vDepend(1), "\") + 1) = Right(oldName, Len(oldName) - InStrRev(oldName, "\")) Then
     Name Path & tmpfi As nfi & ".SLDDRW"
    bl = swApp.ReplaceReferencedDocument(nfi & ".SLDDRW", vDepend(1), NewName)
     Exit Do
    End If
   tmpfi = Dir
   Loop
    Part.Save
Else
  Set swSelMgr = Part.SelectionManager
   Set swComp = swSelMgr.GetSelectedObject(1)
   mip = swComp.GetPathName
   oldn = Left(oldName, InStrRev(oldName, "-") - 1)
Path = Left(mip, InStrRev(mip, "\"))
ntype = Mid(mip, InStrRev(mip, "."))
    If mip <> "" Then
  tmpfi = Dir(Path & "*.SLDDRW")
  Do Until tmpfi = ""
    vDepend = swApp.GetDocumentDependencies(Path & tmpfi, False, False)
    If Mid(vDepend(1), InStrRev(vDepend(1), "\") + 1) = (oldn & ntype) Then
     Name Path & tmpfi As Left(mip, InStrRev(mip, ".") - 1) & ".SLDDRW"
    bln = swApp.ReplaceReferencedDocument(Left(mip, InStrRev(mip, ".") - 1) & ".SLDDRW", vDepend(1), mip)
     Exit Do
    End If
    tmpfi = Dir
   Loop
   End If
End If
Set Part = Nothing
End Function

//////////////////////////////////
Class2
//////////////////////////////////
Public WithEvents swprt As SldWorks.PartDoc

Public Function swprt_RenameItemNotify(ByVal entType As Long, ByVal oldName As String, ByVal NewName As String) As Long

   Set swApp = Application.SldWorks
   Set Part = swApp.ActiveDoc
  Path = Left(oldName, InStrRev(oldName, "\"))
  nfi = Left(NewName, InStrRev(NewName, ".") - 1)
   tmpfi = Dir(Path & "*.SLDDRW")
   Do Until tmpfi = ""
    vDepend = swApp.GetDocumentDependencies(Path & tmpfi, False, False)
    If Mid(vDepend(1), InStrRev(vDepend(1), "\") + 1) = Right(oldName, Len(oldName) - InStrRev(oldName, "\")) Then
     Name Path & tmpfi As nfi & ".SLDDRW"
    bl = swApp.ReplaceReferencedDocument(nfi & ".SLDDRW", vDepend(1), NewName)
     Exit Do
    End If
   tmpfi = Dir
   Loop
    Part.Save
End Function


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2024-11-25 16:01 , Processed in 0.051529 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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