Я нашел макрос для SolidWorks, который работает для отдельной детали, но мне придется (и остальной офис) придется каждый раз менять имя, занятое телами списка вырезов.
есть ли способ взять имя файла из части (мы работаем с многотельными частями) и применить его к телам списка вырезов +1 для каждого последовательного тела?
Как упоминалось ранее, этот макрос переименовывает тела, было бы абсолютно звездно, если бы оно взяло имя из имени файла детали, поскольку это соответствует нашему стандарту.
код:
Dim swApp As Object
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swPart As SldWorks.PartDoc
Dim vBodyArr As Variant
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swPart = swModel
swModel.ClearSelection2 True
vBodyArr = swPart.GetBodies2(0, False)
RenameBodies swModel, vBodyArr
End Sub
Sub RenameBodies(swModel As SldWorks.ModelDoc2, vBodyArr As Variant)
Dim vBody As Variant
Dim swBody As SldWorks.Body2
Dim prefixName As String
Dim bodycount As Integer
bodycount = 1
If IsEmpty(vBodyArr) Then Exit Sub
prefixName = "Set swCustPropMgr = TheModel.Extension.CustomPropertyManager"
For Each vBody In vBodyArr
vBody.Name = prefixName & bodycount
bodycount = bodycount + 1
Next vBody
swModel.EditRebuild3
End Sub