Get Mass Properties of Active Document Example (VB.NET)
This example shows how to retrieve the mass
properties from an active document.
'----------------------------------------------------------------------------
' Preconditions:
' 1. Open a document with mass properties.
' 2. Open an Immediate window.
'
' Postconditions: Inspect the Immediate window for the mass properties.
'----------------------------------------------------------------------------
Imports
SolidWorks.Interop.sldworks
Imports
SolidWorks.Interop.swconst
Imports
System.Runtime.InteropServices
Imports
System
Imports
System.Diagnostics
Partial
Class
SolidWorksMacro
Public
Sub main()
Dim
swModel As
ModelDoc2
Dim
swModelExt As
ModelDocExtension
Dim
nStatus As
Integer
Dim
vMassProp As
Object
swModel = swApp.ActiveDoc
swModelExt = swModel.Extension
vMassProp = swModelExt.GetMassProperties(1, nStatus)
Debug.Print("ModelDocExtension::GetMassProperties("
+ swModel.GetPathName + ")")
Debug.Print(" Status as defined
in swMassPropertiesStatus_e = " & nStatus)
Debug.Print("")
If
vMassProp IsNot
Nothing
Then
Debug.Print(" CenterOfMassX
= " & vMassProp(0))
Debug.Print(" CenterOfMassY
= " & vMassProp(1))
Debug.Print(" CenterOfMassZ
= " & vMassProp(2))
Debug.Print(" Volume = "
& vMassProp(3))
Debug.Print(" Area = "
& vMassProp(4))
Debug.Print(" Mass = "
& vMassProp(5))
Debug.Print(" MomXX = "
& vMassProp(6))
Debug.Print(" MomYY = "
& vMassProp(7))
Debug.Print(" MomZZ = "
& vMassProp(8))
Debug.Print(" MomXY = "
& vMassProp(9))
Debug.Print(" MomZX = "
& vMassProp(10))
Debug.Print(" MomYZ = "
& vMassProp(11))
End
If
End
Sub
Public
swApp As
SldWorks
End
Class