使用零件文件名重命名切割清单实体的任何方法

时间:2019-06-07 07:35:55

标签: rename filenames solidworks

我已经找到了针对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

1 个答案:

答案 0 :(得分:1)

我不知道您是否已经解决了问题,但是其他人也可能需要它。

您可以使用

prefixName = swModel.GetPathName

我已经测试了您的代码,并且在SolidWorks 2017上都可以正常工作。它也应该在更高版本上工作。

您可能希望摆脱文件的完整路径和扩展名。这是stackoverflow上的链接,显示了如何执行此操作: how to remove path and extension