Любой способ переименовать тела списка вырезок, используя имя файла детали - PullRequest
1 голос
/ 07 июня 2019

Я нашел макрос для 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
...