如何在Visual Basic宏中获取SolidWorks Simulation名称以自动保存FEA截图
SolidWorks宏:获取Simulation研究名称与结果类型
获取当前激活的研究名称
通过SolidWorks的Simulation API,可直接获取当前激活的研究名称:
Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swSim As SldWorks.Simulation Dim swStudy As SldWorks.SimulationStudy Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc Set swSim = swModel.GetSimulation Set swStudy = swSim.ActiveStudy Dim studyName As String studyName = swStudy.Name ' 得到当前研究的名称
获取当前显示的结果类型名称
针对应力、位移、安全系数这类结果,获取当前激活的结果对象名称:
Dim swResult As SldWorks.SimulationResult Dim resultName As String Set swResult = swStudy.GetLastActiveResultObject If Not swResult Is Nothing Then resultName = swResult.Name ' 得到结果类型名称,如"Stress"、"Displacement"等 End If
整合到截图保存命名
把获取到的名称拼接到文件名中,示例如下(结合你已有的保存逻辑):
' 假设你已定义好保存路径savePath Dim saveFileName As String saveFileName = savePath & "\" & studyName & "_" & resultName & ".png" ' 调用你已有的截图保存代码,例如: ' swModel.SaveAs saveFileName, swSaveAsPNG, swSaveAsOptions_Silent, Nothing
内容的提问来源于stack exchange,提问作者Josiah Nine
相关产品推荐
相关产品推荐

