NumberOfFaces プロパティ(ActiveX)

ポリメッシュの面の数を取得します。

サポートされているプラットフォーム: Windows のみ

構文と要素

VBA:

object.NumberOfFaces
object

タイプ: PolyFaceMesh

このプロパティが適用されるオブジェクト。

プロパティの値

読み込み専用: はい

タイプ: 長整数型

PolyFaceMesh の面の数。

注意

追加の注意はありません。

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."))
)