ds-blue-logo
Preview  |  SOLIDWORKS USER FORUM
Use your SOLIDWORKS ID or 3DEXPERIENCE ID to log in.
NRNeal Russell13/02/2019

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