NVertexCount Property (ActiveX)

Gets the vertex count in the N direction for a PolygonMesh.

Supported platforms: Windows only

Signature

VBA:

object.NVertexCount
object

Type: PolygonMesh

The object this property applies to.

Property Value

Read-only: Yes

Type: Integer

A positive integer between 2 and 256.

Remarks

This is the number of vertices that will be used to make up an N column in the PolygonMesh if the Type property is acSimpleMesh. For any other PolygonMesh type, the NDensity value will be used as the column size.

The number of vertices cannot be changed for a simple mesh.

Examples

VBA:

Sub Example_NVertexCount()
    ' This example creates a 4 X 4 polygonmesh in model space.
    ' It then finds the number of points in the 'N' 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
    
    ' Find the NVertexCount for the mesh
    Dim currVertexCount As Integer
    currVertexCount = meshObj.NVertexCount
    MsgBox "The NVertexCount for the mesh is " & meshObj.NVertexCount, , "NVertexCount Example"
    
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_NVertexCount()
    ;; This example creates a 4 X 4 polygonmesh in model space.
    ;; It then finds the number of points in the 'N' direction.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; Create the matrix of points
    (setq points (vlax-make-safearray vlax-vbDouble '(0 . 47)))
    (vlax-safearray-fill points '(0 0 0
				  2 0 1
				  4 0 0
				  6 0 1
				  0 2 0
				  2 2 1
				  4 2 0
				  6 2 1
				  0 4 0
				  2 4 1
				  4 4 0
				  6 4 0
				  0 6 0
				  2 6 1
				  4 6 0
				  6 6 0
				 )
    )
      
    (setq mSize 4
          nSize 4)
    
    ;; Create a 3Dmesh in model space
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq meshObj (vla-Add3DMesh modelSpace mSize nSize points))
    
    ;; Change the viewing direction of the viewport to better see the polymesh
    (setq NewDirection (vlax-3d-point -1 -1 1))
    (setq activeViewport (vla-get-ActiveViewport doc))
    (vla-put-Direction activeViewport NewDirection)
    (vla-put-ActiveViewport doc activeViewport)
    (vla-ZoomAll acadObj)
    
    ;; Find the NVertexCount for the mesh
    (setq currVertexCount (vla-get-NVertexCount meshObj))
    (alert (strcat "The NVertexCount for the mesh is " (itoa currVertexCount)))
)