机械必威体育网址

找回密码
注册会员

QQ登录

只需一步,快速开始

搜索
1 2 3 4 下一页
返回列表 发新帖
楼主: 笑对人生123
打印 上一主题 下一主题

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

[复制链接]
21#
发表于 2022-6-4 11:57:32 | 只看该作者
我用的是自己写的宏,一个在sw里用,可以单个文件改名。另一个宏是配合excel用,可以批量改名。
22#
发表于 2022-6-4 22:01:57 | 只看该作者
笑对人生123 发表于 2021-9-13 23:33
以前用这个宏超级快,可以节约很多时间

大神,能分享一下这个宏吗。。。感谢!~!
23#
发表于 2022-9-12 14:42:17 | 只看该作者
咋用宏命令改名后工程图还能链接上?
24#
发表于 2022-9-12 17:14:42 | 只看该作者
凯元可以
25#
发表于 2023-1-19 15:02:49 | 只看该作者
醉生梦 发表于 2021-9-13 15:18
这个是在“常跓宏”的基础上改的,有改名动作时,检测文件同文件夹下是否有同名的工种图文件,如果有,更改 ...

您好,请问能分享一下您这个宏吗?谢谢
26#
发表于 2023-6-12 16:31:38 | 只看该作者
醉生梦 发表于 2021-9-13 15:18
这个是在“常跓宏”的基础上改的,有改名动作时,检测文件同文件夹下是否有同名的工种图文件,如果有,更改 ...

能分享一下吗?
27#
发表于 2023-7-27 08:02:52 | 只看该作者
醉生梦 发表于 2021-9-13 15:18
这个是在“常跓宏”的基础上改的,有改名动作时,检测文件同文件夹下是否有同名的工种图文件,如果有,更改 ...

求分享!!!
28#
发表于 2023-7-27 11:45:56 | 只看该作者
我想分享一下,但是上传不了怎么办.....
29#
发表于 2023-8-10 16:09:31 | 只看该作者
宏文件
30#
发表于 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


1 2 3 4 下一页
返回列表 发新帖
您需要登录后才可以回帖 登录| 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址(京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号)

GMT+8, 2024-4-26 21:26, Processed in 0.059817 second(s), 15 queries , Gzip On.

Powered byDiscuz!X3.4Licensed

? 2001-2017Comsenz Inc.

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