MDensity Example

Using Programming Languages other than VBA

Sub Example_MDensity()
	' This example creates a 4 X 4 polygonmesh in model space.
	' It then changes the type of polymesh, and finds the
	' number of points in the 'M' direction.
	Dim meshObj As AcadPolygonMesh
	Dim mSize, nSize, count As Integer
	Dim points(0 To 47) As Double

	' Create the matrix of points
	points(0) = 0: points(1) = 0: points(2) = 0
	points(3) = 2: points(4) = 0: points(5) = 1
	points(6) = 4: points(7) = 0: points(8) = 0
	points(9) = 6: points(10) = 0: points(11) = 1
	points(12) = 0: points(13) = 2: points(14) = 0
	points(15) = 2: points(16) = 2: points(17) = 1
	points(18) = 4: points(19) = 2: points(20) = 0
	points(21) = 6: points(22) = 2: points(23) = 1
	points(24) = 0: points(25) = 4: points(26) = 0
	points(27) = 2: points(28) = 4: points(29) = 1
	points(30) = 4: points(31) = 4: points(32) = 0
	points(33) = 6: points(34) = 4: points(35) = 0
	points(36) = 0: points(37) = 6: points(38) = 0
	points(39) = 2: points(40) = 6: points(41) = 1
	points(42) = 4: points(43) = 6: points(44) = 0
	points(45) = 6: points(46) = 6: points(47) = 0

	mSize = 4: nSize = 4

	' Create a 3Dmesh in model space
	Set meshObj = ThisDrawing.ModelSpace.Add3DMesh(mSize, nSize, points)

	' Change the viewing direction of the viewport to better see the polymesh
	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

	' Change the type of mesh. (MDensity is not valid for acSimpleMesh type.)
	meshObj.Type = acQuadSurfaceMesh
	meshObj.Update
	ThisDrawing.Regen acActiveViewport

	' Find the MDensity for the mesh
	Dim currDensity As Integer
	currDensity = meshObj.MDensity
	MsgBox "The MDensity for the mesh is " & meshObj.MDensity, , "MDensity Example"

End Sub

 

   Comments?