Area プロパティ(ActiveX)

円弧、円、楕円、ハッチング、ライトウェイト ポリライン、ポリライン、リージョン、平面上で閉じたスプラインの囲まれた面積を取得します。

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

構文と要素

VBA:

object.Area
object

タイプ: ArcCircleEllipseHatchLWPolylinePolylineRegionSpline

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

プロパティの値

読み込み専用: Circle オブジェクトの場合は「いいえ」、他のすべてのオブジェクトの場合は「はい」

タイプ: 倍精度浮動小数点数型

平方作図単位によるオブジェクトの面積

注意

ハッチング オブジェクト:

塗り潰しのために結合された領域の総面積。

幅のあるポリライン:

面積は幅の中心によって定義されます。

リージョン:

リージョン内のすべてのオブジェクトの結合された領域の面積と等しくなります。

開いたオブジェクト(円弧、スプライン曲線、開いたポリライン):

始点と終点が直線で接続されているものとして面積が計算されます。





VBA:

Sub Example_Area()
    ' This example creates a polyline object and
    ' then uses the area property to find the
    ' area of that polyline.
    
    Dim plineObj As AcadLWPolyline
    Dim points(0 To 5) As Double
    Dim plineArea As Double

    ' Establish the points for the Polyline
    points(0) = 3: points(1) = 7
    points(2) = 9: points(3) = 2
    points(4) = 3: points(5) = 5
    
    ' Create the polyline in model space
    Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
    
    ' Close the polyline and update display of it
    plineObj.Closed = True
    plineObj.Update
    ZoomAll
    
    ' Get the area of the polyline
    plineArea = plineObj.Area
    
    MsgBox "The area of the new Polyline is: " & plineArea, vbInformation, "Area Example"
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_Area()
    ;; This example creates a polyline object and
    ;; then uses the area property to find the
    ;; area of that polyline.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))  

    ;; Establish the points for the Polyline
    (setq points (vlax-make-safearray vlax-vbDouble '(0 . 5)))
    (vlax-safearray-fill points '(3 7
				  9 2
				  3 5
				 )
    )
    
    ;; Create the polyline in model space
    (setq modelSpace (vla-get-ModelSpace doc))  
    (setq plineObj (vla-AddLightWeightPolyline modelSpace points))
    
    ;; Close the polyline and update display of it
    (vla-put-Closed plineObj :vlax-true)
    (vla-Update plineObj)
    (vla-ZoomAll acadObj)
    
    ;; Get the area of the polyline
    (setq plineArea (vla-get-Area plineObj))
    
    (alert (strcat "The area of the new Polyline is: " (rtos plineArea 2)))
)