Hello all.
I´m a new on this forum and 1 year user of SW2016.
I have, I think, quite easy problem, for you here and that is:
I would like a macro that will rename a part into a new name where new name consist a value of Properties in the CUSTOM tab and a value from Configuration Specific Tab where configuration is not allways default, so I need to read a name of active configuration and use it, but I don´t know how.
I was able to get so far but it dosn´t work and I don´t know whay:
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swConfig As SldWorks.Configuration
Dim swComp As SldWorks.Component2
Dim swCompConfig As String
Dim configName As String
Dim partnumber As String
Dim imekosa As String
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swConfig = swModel.GetActiveConfiguration
'Get configuration name
Set swCompConfig = swModel.ReferencedConfiguration
'Use this....To Get the value from the Properties in the CUSTOM tab
partnumber = swModel.GetCustomInfoValue(swCompConfig, "NumberNomenc")
imekosa = swModel.CustomInfo("FileNoProj")
'Or this....To Get the value from the Configuration Specific Tab
'partnumber = SWmoddoc.GetCustomInfoValue("Default", "Number")
PathName = swModel.GetPathName 'this gets the full path of the current open document (including filename)
FilePath = Left(PathName, InStrRev(PathName, "\")) 'uses to full pathname to get the folder path, to be added to the save as file name
If (swModel.GetType = swDocASSEMBLY) Then
swModel.SaveAs (FilePath + partnumber + ".sldasm")
ElseIf (swModel.GetType = swDocPART) Then
swModel.SaveAs (FilePath + partnumber + "_" + imekosa + ".sldprt")
End If
End Sub
I started from this macro wich I allready modified and it works, but only if active configuration is default.
Sub main()
Dim swApp As SldWorks.SldWorks
Dim SWmoddoc As SldWorks.ModelDoc2
Dim partnumber As String
Dim imekosa As String
Set swApp = Application.SldWorks
Set SWmoddoc = swApp.ActiveDoc
'Use this....To Get the value from the Properties in the CUSTOM tab
partnumber = SWmoddoc.GetCustomInfoValue("Default", "NumberNomenc")
imekosa = SWmoddoc.CustomInfo("FileNoProj")
'Or this....To Get the value from the Configuration Specific Tab
'partnumber = SWmoddoc.GetCustomInfoValue("Default", "Number")
PathName = SWmoddoc.GetPathName 'this gets the full path of the current open document (including filename)
FilePath = Left(PathName, InStrRev(PathName, "\")) 'uses to full pathname to get the folder path, to be added to the save as file name
If (SWmoddoc.GetType = swDocASSEMBLY) Then
SWmoddoc.SaveAs (FilePath + partnumber + ".sldasm")
ElseIf (SWmoddoc.GetType = swDocPART) Then
SWmoddoc.SaveAs (FilePath + partnumber + "_" + imekosa + ".sldprt")
End If
End Sub
Please help,
Jernej
Sorry, this line
should be