Get Linearized Stress Results Example (VBA)
This example shows how to get the linearized stress results from a pressure
vessel study.
'----------------------------------------------------------------------------
' Preconditions:
' 1. Add the SOLIDWORKS Simulation as an add-in (in SOLIDWORKS, click
' Tools > Add-ins > SOLIDWORKS Simulation > OK).
' 2. Add the SOLIDWORKS Simulation type library as a reference (in the IDE,
' click Tools > References > SOLIDWORKS
Simulation version type library).
' 3. Open pubic_documents\Simulation
Examples\pressurevessel.sldprt.
' 4. Open the Immediate window.
' 5. Modify Ready-Solids and Partial-Solids to have the same fixtures and
a
' pressure load of 100psi.
' 6. Analyze Ready-Solids and Partial-Solids.
' 7. Create Pressure Vessel Design 1 study, using a linear combination of
' Ready-Solids and Partial-Solids with
Factor = 1.
' 8. Analyze Pressure Vessel Design 1.
' 9. Create a default von Mises stress plot of the results.
' 10. Create a planar section view of the von Mises stress plot:
' a. Right-click the von Mises stress plot of Pressure
Vessel Design 1 and
' click Section Clipping.
' b. In Section 1, click Plane, delete Front, and select
Top in the
' FeatureManager design tree.
' c. In Options, click Union and select the first three
check boxes.
' d. Click the green check mark to accept the settings.
'
' Postconditions:
' 1. Gets the following linearized normal stress values in the X-direction
for
' the specified points on the planar section view of
Stress1:
' * Membrane stress
' * Bending (Point 1) stress
' * Membrane stress + bending (Point 1) stress
' * Bending (Point 2) stress
' * Membrane stress + Bending (Point 2) stress
' * Peak (Point 1)
' * Peak (Point 2)
' 2. Inspect the Immediate window.
'
' NOTE: Because the model is used elsewhere, do not save any changes.
' ---------------------------------------------------------------------------
Dim SwApp As SldWorks.SldWorks
Dim COSMOSWORKS As Object
Dim CWObject As CosmosWorksLib.CwAddincallback
Dim ActDoc As CosmosWorksLib.CWModelDoc
Dim StudyMngr As CosmosWorksLib.CWStudyManager
Dim Study As CosmosWorksLib.CWStudy
Dim CWResult As CosmosWorksLib.CWResults
Dim stress As Variant
Dim errCode As Long
Dim boolCode As Boolean
Sub main()
Set SwApp = Application.SldWorks
Set CWObject =
SwApp.GetAddInObject("SldWorks.Simulation")
Set COSMOSWORKS = CWObject.COSMOSWORKS
Set ActDoc = COSMOSWORKS.ActiveDoc()
Set StudyMngr = ActDoc.StudyManager()
Set Study = StudyMngr.GetStudy(4)
StudyMngr.ActiveStudy = 4
Set CWResult = Study.Results
Dim plotNames As Variant
plotNames = CWResult.GetPlotNames
boolCode = CWResult.ActivatePlot("Stress1")
stress = CWResult.GetLinearizedStressValues(0, 0.21, 0#,
-0.206, 0.2667, 0#, -0.1303, 40, 0, errCode)
Debug.Print "Linearized normal stresses in
the X-direction:"
Debug.Print " Membrane:
" & stress(0)
Debug.Print " Bending (Point 1):
" & stress(1)
Debug.Print " Membrane + Bending (Point 1): " &
stress(2)
Debug.Print " Bending (Point 2):
" & stress(3)
Debug.Print " Membrane + Bending (Point 2): " &
stress(4)
Debug.Print " Peak (Point 1):
" & stress(5)
Debug.Print " Peak (Point 2):
" & stress(6)
End Sub