PrincipalMoments Example

Using Programming Languages other than VBA

Sub Example_PrincipalMoments()
	' This example creates a box in model space.
	' It then returns the PrincipalMoments for that box.
	
	Dim boxObj As Acad3DSolid
	Dim length As Double, width As Double, height As Double
	Dim center(0 To 2) As Double

	' Define the box
	center(0) = 5#: center(1) = 5#: center(2) = 0
	length = 5#: width = 7: height = 10#

	' Create the box (3DSolid) object in model space
	Set boxObj = ThisDrawing.ModelSpace.AddBox(center, length, width, height)

	' Change the viewing direction of the viewport to better see the box
	Dim NewDirection(0 To 2) As Double
	NewDirection(0) = -1: NewDirection(1) = -1: NewDirection(2) = 1
	ThisDrawing.ActiveViewport.direction = NewDirection
	ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport
	ZoomAll

	' Return the PrincipalMoments for the box
	Dim PrincipalMoments As Variant
	PrincipalMoments = boxObj.PrincipalMoments
	MsgBox "The PrincipalMoments for the box are " & PrincipalMoments(0) & ", " & PrincipalMoments(1) & ", " & PrincipalMoments(2), , "PrincipalMoments Example"
	
End Sub

 

   Comments?