AnsweredAssumed Answered

Help With Macro - Mirror

Question asked by Neal Russell on Feb 12, 2019
Latest reply on Feb 13, 2019 by Deepak Gupta

Hello All,

 

I'm pretty new at VBA and I wrote this macro awhile back and now want to improve it slightly.  It works great now but there is one caveat.  My mirror plane name has to always be the same.  I always want to mirror about the "Top plane"  even if it's not named that.  Here is my code below but basically it checks if it needs to make a mirror by looking for something in the file name and if it finds that it does the mirror but I'd like the select the plane without calling up it's name if it's different, or how do I get the planes name before this step?

 

Sub step_Save()

Dim SearchString As String

Dim featureMgr As SldWorks.FeatureManager

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

 

 

If swApp.ActiveDoc Is Nothing Then

MsgBox "No Open Documents"

Exit Sub

End If

 

 

search = "-01"

        'Original File Path

        FilePath = swModel.GetPathName

         

        'Save Path

        MyPath = "X:\Ready For Release\"

         

        '01 File Convert to step

        PathNoExtension = Left(swModel.GetPathName, InStrRev(swModel.GetPathName, ".") - 1) & ".step"

     

        '01 FileName

        filename = Right(PathNoExtension, Len(PathNoExtension) - InStrRev(PathNoExtension, "\"))

             

        'convert 02 file name

        mFileName = Replace(filename, search, "-02")

         

        'Full 02 file path

        newpath = MyPath & mFileName

             

'Saves LH Model

swModel.Extension.SaveAs MyPath & filename, 0, 0, Nothing, fileerrors, filewarnings

 

 

'Checks File name to see if it needs to make a RH model

If InStr(filename, "-01") > 0 Then

 

 

'Select Mirror Plane

swModel.Extension.SelectByID2 "BL 0.00", "PLANE", 0, 0, 0, False, 0, Nothing, 0

 

 

'Mirror Part

swModel.MirrorPart

 

 

'Save RH Part

swModel.Extension.SaveAs newpath, 0, 0, Nothing, fileerrors, filewarnings

 

 

'Close Files

swApp.CloseAllDocuments (True)

 

End If

 

End Sub

Outcomes