|
经典图书 哪位大佬能将这个图号分离宏(带方程式)修改为遍历宏将这个宏,修改可以遍历正在打开的装配体,并对装配体下的每个零件进行遍历宏的操作。里面的“零件号”和“Description”等识别字不变。非常感谢!
下面是宏程序的代码(附件中也有宏程序可下载)
' ******************************************************************************
' 利用方程式实现图号分离.swp - By Allate, 2022-12-30
' ******************************************************************************
' 说明:
' 1. 本宏自动添加自定义属性代码以及方程式,再利用方程式进行图号分离;
' 2. 图号分离利用的符号是【空格】。
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
On Error Resume Next
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
If swModel.GetType = 1 Then
swModel.AddCustomInfo3 "", "零件号代码", swCustomInfoText, "Part.Extension.CustomPropertyManager("""").Set(""零件号"",Left(Part.GetTitle,InStr(Part.GetTitle,"" "")))"
swModel.AddCustomInfo3 "", "Description代码", swCustomInfoText, "Part.Extension.CustomPropertyManager("""").Set(""Description"",split(split(split(Part.GetTitle,"" "")(1),"".sld"")(0),"".SLD"")(0))"
swModel.AddCustomInfo3 "", "零件号", swCustomInfoText, ""
swModel.AddCustomInfo3 "", "Description", swCustomInfoText, ""
swModel.GetEquationMgr.Add2 0, "code = ""零件号代码""", True
swModel.GetEquationMgr.Add2 1, "name = ""Description代码""", True
ElseIf swModel.GetType = 2 Then
swModel.AddCustomInfo3 "", "零件号代码", swCustomInfoText, "Assembly.Extension.CustomPropertyManager("""").Set(""零件号"",Left(Assembly.GetTitle,InStr(Assembly.GetTitle,"" "")))"
swModel.AddCustomInfo3 "", "Description代码", swCustomInfoText, "Assembly.Extension.CustomPropertyManager("""").Set(""Description"",split(split(split(Assembly.GetTitle,"" "")(1),"".sld"")(0),"".SLD"")(0))"
swModel.AddCustomInfo3 "", "零件号", swCustomInfoText, ""
swModel.AddCustomInfo3 "", "Description", swCustomInfoText, ""
swModel.GetEquationMgr.Add2 0, "code = ""零件号代码""", True
swModel.GetEquationMgr.Add2 1, "name = ""Description代码""", True
End If
swModel.ForceRebuild3 False
End Sub
|
|