NumberOfFaces Property (ActiveX)

Gets the number of faces for the PolyfaceMesh.

Supported platforms: Windows only

Signature

VBA:

object.NumberOfFaces
object

Type: PolyFaceMesh

The object this property applies to.

Property Value

Read-only: Yes

Type: Long

Number of faces for the PolyfaceMesh.

Remarks

No additional remarks.

Examples

VBA:

Sub Example_NumberOfFaces()
    ' This example creates a PolyFaceMesh and displays the number of faces it contains
    
    Dim vertexList(0 To 17) As Double
    Dim FaceList(0 To 7) As Integer
    Dim NewPolyFaceMeshObj As AcadPolyfaceMesh
    Dim direction(0 To 2) As Double
    
    'Data for new PolyFaceMesh object
    vertexList(0) = 4: vertexList(1) = 7: vertexList(2) = 0
    vertexList(3) = 5: vertexList(4) = 7: vertexList(5) = 0
    vertexList(6) = 6: vertexList(7) = 7: vertexList(8) = 0
    vertexList(9) = 4: vertexList(10) = 6: vertexList(11) = 0
    vertexList(12) = 5: vertexList(13) = 6: vertexList(14) = 0
    vertexList(15) = 6: vertexList(16) = 6: vertexList(17) = 6
    
    FaceList(0) = 1:    FaceList(1) = 2:    FaceList(2) = 5
    FaceList(3) = 4:    FaceList(4) = 2:    FaceList(5) = 3
    FaceList(6) = 6:    FaceList(7) = 5

    ' Create new PolyFaceMesh object
    Set NewPolyFaceMeshObj = ModelSpace.AddPolyfaceMesh(vertexList, FaceList)
    NewPolyFaceMeshObj.Update

    ' Change the viewing direction of the viewport to
    ' better see the polyface mesh
    direction(0) = -1: direction(1) = -1: direction(2) = 1
    ThisDrawing.ActiveViewport.direction = direction
    ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport
    ThisDrawing.Application.ZoomAll
    
    ' Display number of faces in this PolyFaceMesh
    MsgBox "The new PolyFaceMesh contains " & NewPolyFaceMeshObj.NumberOfFaces & " faces."
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_NumberOfFaces()
    ;; This example creates a PolyFaceMesh and displays the number of faces it contains
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))

    ;; Data for new PolyFaceMesh object
    (setq vertexList (vlax-make-safearray vlax-vbDouble '(0 . 17)))
    (vlax-safearray-fill vertexList '(4 7 0
				      5 7 0
				      6 7 0
				      4 6 0
				      5 6 0
				      6 6 6
				     )
    )

    (setq FaceList (vlax-make-safearray vlax-vbInteger '(0 . 7)))
    (vlax-safearray-fill FaceList '(1
				    2
				    5
				    4
				    2
				    3
				    6
				    5
				   )
    )

    ;; Create new PolyFaceMesh object
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq NewPolyFaceMeshObj (vla-AddPolyfaceMesh modelSpace vertexList FaceList))
    (vla-Update NewPolyFaceMeshObj)

    ;; Change the viewing direction of the viewport to
    ;; better see the polyface mesh
    (setq direction (vlax-3d-point -1 -1 1))
    (setq activeViewport (vla-get-ActiveViewport doc))
    (vla-put-Direction activeViewport direction)
    (vla-put-ActiveViewport doc activeViewport)
    (vla-ZoomAll acadObj)
    
    ;; Display number of faces in this PolyFaceMesh
    (alert (strcat "The new PolyFaceMesh contains " (itoa (vla-get-NumberOfFaces NewPolyFaceMeshObj)) " faces."))
)